From e24201912f98b572664385484763073540a0eab3 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:06 +0100 Subject: gnu: Add LV2. * gnu/packages/audio.scm (lv2): New variable. --- gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 9227367dcd..f83c5d2680 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -158,3 +158,33 @@ synchronous execution of all clients, and low latency operation.") "liblo is a lightweight library that provides an easy to use implementation of the Open Sound Control (OSC) protocol.") (license license:lgpl2.1+))) + +(define-public lv2 + (package + (name "lv2") + (version "1.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://lv2plug.in/spec/lv2-" + version + ".tar.bz2")) + (sha256 + (base32 + "1md41x9snrp4mcfyli7lyfpvcfa78nfy6xkdy84kppnl8m5qw378")))) + (build-system waf-build-system) + (arguments + `(#:tests? #f ; no check target + #:configure-flags '("--lv2-system"))) + (inputs + ;; Leaving off cairo and gtk+-2.0 which are needed for example plugins + `(("libsndfile" ,libsndfile))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://lv2plug.in/") + (synopsis "LV2 audio plugin specification") + (description + "LV2 is an open specification for audio plugins and host applications. +At its core, LV2 is a simple stable interface, accompanied by extensions which +add functionality to support the needs of increasingly powerful audio +software.") + (license license:isc))) -- cgit 1.4.1 From f65784d50ec7911590b5cee264934dcdf6eb62cb Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Feb 2015 10:07:57 +0100 Subject: gnu: Add serd. * gnu/packages/rdf.scm (serd): New variable. --- gnu/packages/rdf.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index ff74b2f08b..dde883ba5f 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -19,12 +19,13 @@ (define-module (gnu packages rdf) #:use-module ((guix licenses) - #:select (bsd-style gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+)) + #:select (bsd-style isc gpl2 lgpl2.0+ lgpl2.1 lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system waf) #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages databases) @@ -228,6 +229,31 @@ Turtle/N3 and read them in SPARQL XML, RDF/XML and Turtle/N3.") and triple stores.") (license lgpl2.1+))) ; or any choice of gpl2+ or asl2.0 +(define-public serd + (package + (name "serd") + (version "0.20.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/serd-" + version + ".tar.bz2")) + (sha256 + (base32 + "1gxbzqsm212wmn8qkdd3lbl6wbv7fwmaf9qh2nxa4yxjbr7mylb4")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (home-page "http://drobilla.net/software/serd/") + (synopsis "Library for RDF syntax supporting Turtle and NTriples") + (description + "Serd is a lightweight C library for RDF syntax which supports reading +and writing Turtle and NTriples. Serd is not intended to be a swiss-army +knife of RDF syntax, but rather is suited to resource limited or performance +critical applications (e.g. converting many gigabytes of NTriples to Turtle), +or situations where a simple reader/writer with minimal dependencies is +ideal (e.g. in LV2 implementations or embedded applications).") + (license isc))) + (define-public soprano (package (name "soprano") -- cgit 1.4.1 From a035e6ffef2551655a32048bd2c59e79fede6742 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Feb 2015 10:09:39 +0100 Subject: gnu: Add sord. * gnu/packages/rdf.scm (sord): New variable. --- gnu/packages/rdf.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index dde883ba5f..588a4b7c33 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -254,6 +254,30 @@ or situations where a simple reader/writer with minimal dependencies is ideal (e.g. in LV2 implementations or embedded applications).") (license isc))) +(define-public sord + (package + (name "sord") + (version "0.12.2") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/sord-" + version + ".tar.bz2")) + (sha256 + (base32 + "0rq7vafdv4vsxi6xk9zf5shr59w3kppdhqbj78185rz5gp9kh1dx")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("serd" ,serd))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/sord/") + (synopsis "C library for storing RDF data in memory") + (description + "Sord is a lightweight C library for storing RDF data in memory.") + (license isc))) + (define-public soprano (package (name "soprano") -- cgit 1.4.1 From 5279eb6fceb56019e279514c9e5495c11afd194b Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Feb 2015 10:21:30 +0100 Subject: gnu: Add sratom. * gnu/packages/audio.scm (sratom): New variable. --- gnu/packages/audio.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index f83c5d2680..1105ec2eec 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate #:use-module (gnu packages python) + #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages xiph) #:use-module (gnu packages xml)) @@ -188,3 +189,30 @@ At its core, LV2 is a simple stable interface, accompanied by extensions which add functionality to support the needs of increasingly powerful audio software.") (license license:isc))) + +(define-public sratom + (package + (name "sratom") + (version "0.4.6") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/sratom-" + version + ".tar.bz2")) + (sha256 + (base32 + "080jjiyxjnj7hf25844hd9rb01grvzz1rk8mxcdnakywmspbxfd4")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("lv2" ,lv2) + ("serd" ,serd) + ("sord" ,sord))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/sratom/") + (synopsis "Library for serialising LV2 atoms to/from RDF") + (description + "Sratom is a library for serialising LV2 atoms to/from RDF, particularly +the Turtle syntax.") + (license license:isc))) -- cgit 1.4.1 From 332aad1b0038d30db7e80af225e9079629fd061f Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:30 +0100 Subject: gnu: Add lilv. * gnu/packages/audio.scm (lilv): New variable. --- gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 1105ec2eec..8a782c1ca9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -160,6 +160,35 @@ synchronous execution of all clients, and low latency operation.") implementation of the Open Sound Control (OSC) protocol.") (license license:lgpl2.1+))) +(define-public lilv + (package + (name "lilv") + (version "0.20.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/lilv-" + version + ".tar.bz2")) + (sha256 + (base32 + "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("lv2" ,lv2) + ("serd" ,serd) + ("sord" ,sord) + ("sratom" ,sratom))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/lilv/") + (synopsis "Library to simplify use of LV2 plugins in applications") + (description + "Lilv is a C library to make the use of LV2 plugins as simple as possible +for applications. Lilv is the successor to SLV2, rewritten to be +significantly faster and have minimal dependencies.") + (license license:isc))) + (define-public lv2 (package (name "lv2") -- cgit 1.4.1 From f3ab6ad3d125687b465aaec4d8f0d79de20b2a18 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:35 +0100 Subject: gnu: Add suil. * gnu/packages/audio.scm (suil): New variable. --- gnu/packages/audio.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 8a782c1ca9..8815a9c8ee 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -27,6 +27,8 @@ #:use-module (gnu packages algebra) #:use-module (gnu packages databases) #:use-module (gnu packages glib) ;dbus + #:use-module (gnu packages gtk) + #:use-module (gnu packages qt) #:use-module (gnu packages linux) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate @@ -245,3 +247,36 @@ software.") "Sratom is a library for serialising LV2 atoms to/from RDF, particularly the Turtle syntax.") (license license:isc))) + +(define-public suil + (package + (name "suil") + (version "0.8.2") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/suil-" + version + ".tar.bz2")) + (sha256 + (base32 + "1s3adyiw7sa5gfvm5wasa61qa23629kprxyv6w8hbxdiwp0hhxkq")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("lv2" ,lv2) + ("gtk+-2" ,gtk+-2) + ("qt-4" ,qt-4))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/suil/") + (synopsis "Library for loading and wrapping LV2 plugin UIs") + (description + "Suil is a lightweight C library for loading and wrapping LV2 plugin UIs. + +Suil makes it possible to load a UI of a toolkit in a host using another +toolkit. The API is designed such that hosts do not need to explicitly +support specific toolkits – if Suil supports a particular toolkit, then UIs in +that toolkit will work in all hosts that use Suil automatically. + +Suil currently supports every combination of Gtk 2, Qt 4, and X11.") + (license license:isc))) -- cgit 1.4.1 From db46f2fcf4dd515b86c8a3259f4527f1c0280d5c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:41 +0100 Subject: gnu: Add Vamp SDK. * gnu/packages/audio.scm (vamp): New variable. --- gnu/packages/audio.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 8815a9c8ee..e157a9c176 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -280,3 +280,33 @@ that toolkit will work in all hosts that use Suil automatically. Suil currently supports every combination of Gtk 2, Qt 4, and X11.") (license license:isc))) + +(define-public vamp + (package + (name "vamp") + (version "2.5") + (source (origin + (method url-fetch) + (uri (string-append + "https://code.soundsoftware.ac.uk" + "/attachments/download/690/vamp-plugin-sdk-" + version + ".tar.gz")) + (sha256 + (base32 + "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv")))) + (build-system gnu-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("libsndfile" ,libsndfile))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://vamp-plugins.org") + (synopsis "Modular and extensible audio processing system") + (description + "Vamp is an audio processing plugin system for plugins that extract +descriptive information from audio data — typically referred to as audio +analysis plugins or audio feature extraction plugins.") + (license + (license:x11-style + "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING")))) -- cgit 1.4.1 From 2cc7ce317bfcd01a7b9f66b5c7be6172d7ae1bda Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:45 +0100 Subject: gnu: Add LADSPA. * gnu/packages/audio.scm (ladspa): New variable. --- gnu/packages/audio.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e157a9c176..9b8aeabed3 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -137,6 +137,43 @@ synchronous execution of all clients, and low latency operation.") ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+ (license (list license:gpl2+ license:lgpl2.1+)))) +(define-public ladspa + (package + (name "ladspa") + (version "1.13") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.ladspa.org/download/ladspa_sdk_" + version + ".tgz")) + (sha256 + (base32 + "0srh5n2l63354bc0srcrv58rzjkn4gv8qjqzg8dnq3rs4m7kzvdm")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; the "test" target is a listening test only + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + (chdir "src") + (let ((out (assoc-ref outputs "out"))) + (substitute* "makefile" + (("/usr/lib/ladspa/") (string-append out "/lib/ladspa/")) + (("/usr/include/") (string-append out "/include/")) + (("/usr/bin/") (string-append out "/bin/")) + (("-mkdirhier") "mkdir -p") + (("^CC.*") "CC = gcc\n") + (("^CPP.*") "CPP = g++\n")))) + (alist-delete 'build %standard-phases)))) + (home-page "http://ladspa.org") + (synopsis "Linux Audio Developer's Simple Plugin API (LADSPA)") + (description + "LADSPA is a standard that allows software audio processors and effects +to be plugged into a wide range of audio synthesis and recording packages.") + (license license:lgpl2.1+))) + (define-public liblo (package (name "liblo") -- cgit 1.4.1 From 57238ff2b478ce3b08badc55f605282d87ef7765 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Feb 2015 10:22:37 +0100 Subject: gnu: Add rubberband. * gnu/packages/audio.scm (rubberband): New variable. --- gnu/packages/audio.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 9b8aeabed3..a1bf4382be 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -258,6 +258,34 @@ add functionality to support the needs of increasingly powerful audio software.") (license license:isc))) +(define-public rubberband + (package + (name "rubberband") + (version "1.8.1") + (source (origin + (method url-fetch) + (uri + (string-append "https://bitbucket.org/breakfastquay/rubberband/get/v" + version + ".tar.bz2")) + (sha256 + (base32 + "05amrbrxx0da3w7m237q51799r8xgs4ffqabi2qv06hq8dpcj386")))) + (build-system gnu-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("ladspa" ,ladspa) + ("libsamplerate" ,libsamplerate) + ("vamp" ,vamp))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://breakfastquay.com/rubberband/") + (synopsis "Audio time-stretching and pitch-shifting library") + (description + "Rubber Band is a library and utility program that permits changing the +tempo and pitch of an audio recording independently of one another.") + (license license:gpl2+))) + (define-public sratom (package (name "sratom") -- cgit 1.4.1 From eadc734e3089df68b06ea6ac8defa5f87bd27c46 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 5 Feb 2015 22:40:54 +0100 Subject: gnu: Add libgnomecanvasmm. * gnu/packages/gnome.scm (libgnomecanvasmm): New variable. --- gnu/packages/gnome.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index c42092d28e..663912bf3c 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -994,6 +994,28 @@ high-quality vector-based 2D library with antialiasing and alpha composition.") creating interactive structured graphics.") (license license:lgpl2.0+))) +(define-public libgnomecanvasmm + (package + (name "libgnomecanvasmm") + (version "2.26.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0679hcnpam2gkag2i63sm0wdm35gwvzafnz1354mg6j5gzwpfrcr")))) + (build-system gnu-build-system) + (propagated-inputs `(("libgnomecanvas" ,libgnomecanvas))) + (native-inputs + `(("gtkmm-2" ,gtkmm-2) + ("pkg-config" ,pkg-config))) + (home-page "http://gtkmm.org") + (synopsis "C++ bindings to the GNOME Canvas library") + (description "C++ bindings to the GNOME Canvas library.") + (license license:lgpl2.0+))) + (define-public libgnomeui (package (name "libgnomeui") -- cgit 1.4.1 From 88efb2c327e1f155aa0182c46d5b8ae4f9ddef0e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 10 Feb 2015 10:26:17 +0100 Subject: gnu: Add ardour. * gnu/packages/audio.scm (ardour): New variable. --- gnu/packages/audio.scm | 80 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 79 insertions(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a1bf4382be..4f83db8d6a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -25,11 +25,16 @@ #:use-module (guix build-system waf) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages boost) + #:use-module (gnu packages curl) #:use-module (gnu packages databases) - #:use-module (gnu packages glib) ;dbus + #:use-module (gnu packages glib) #:use-module (gnu packages gtk) + #:use-module (gnu packages gnome) #:use-module (gnu packages qt) #:use-module (gnu packages linux) + #:use-module (gnu packages mp3) ;taglib + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) ;libsndfile, libsamplerate #:use-module (gnu packages python) @@ -77,6 +82,79 @@ attacks, performing pitch detection, tapping the beat and producing MIDI streams from live audio.") (license license:gpl3+))) +(define-public ardour + (package + (name "ardour") + (version "3.5.403") + (source (origin + ;; The project only provides tarballs upon individual request + ;; (or after payment) so we take the code from git. + (method git-fetch) + (uri (git-reference + (url "git://git.ardour.org/ardour/ardour.git") + (commit version))) + (snippet + '(call-with-output-file + "libs/ardour/revision.cc" + (lambda (port) + (format port "#include \"ardour/revision.h\" +namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) + (sha256 + (base32 + "01b0wxh0wlxjfz5j8gcwwqhxc6q2kn4njz2fcmzv9fr3xaya5dbp")) + (file-name (string-append name "-" version)))) + (build-system waf-build-system) + (arguments + `(#:tests? #f ; no check target + #:python ,python-2)) + (inputs + `(("alsa-lib" ,alsa-lib) + ("aubio" ,aubio) + ("lrdf" ,lrdf) + ("boost" ,boost) + ("atkmm" ,atkmm) + ("cairomm" ,cairomm) + ("gtkmm" ,gtkmm-2) + ("glibmm" ,glibmm) + ("libart-lgpl" ,libart-lgpl) + ("libgnomecanvasmm" ,libgnomecanvasmm) + ("pangomm" ,pangomm) + ("liblo" ,liblo) + ("libsndfile" ,libsndfile) + ("libsamplerate" ,libsamplerate) + ("libxml2" ,libxml2) + ("libogg" ,libogg) + ("libvorbis" ,libvorbis) + ("flac" ,flac) + ("lv2" ,lv2) + ("vamp" ,vamp) + ("curl" ,curl) + ("libuuid" ,util-linux) + ("fftw" ,fftw) + ("fftwf" ,fftwf) + ("jack" ,jack-1) + ("serd" ,serd) + ("sord" ,sord) + ("sratom" ,sratom) + ("suil" ,suil) + ("lilv" ,lilv) + ("rasqal" ,rasqal) + ("raptor2" ,raptor2) + ("redland" ,redland) + ("rubberband" ,rubberband) + ("taglib" ,taglib) + ("python-rdflib" ,python-rdflib))) + (native-inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config))) + (home-page "http://ardour.org") + (synopsis "Digital audio workstation") + (description + "Ardour is a multi-channel digital audio workstation, allowing users to +record, edit, mix and master audio and MIDI projects. It is targeted at audio +engineers, musicians, soundtrack editors and composers.") + (license license:gpl2+))) + (define-public jack-1 (package (name "jack") -- cgit 1.4.1 From 7c3e60fbe6d99b3361553d3c943f38037607b3f3 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 12 Feb 2015 14:16:44 +0800 Subject: gnu: sdl-image: Don't use dlopen for shared object loading. * gnu/packages/sdl.scm (sdl-image)[arguments]: New field. --- gnu/packages/sdl.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index ee18c1b5d0..764e9854f3 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -158,6 +158,12 @@ other supporting functions for SDL.") (base32 "16an9slbb8ci7d89wakkmyfvp7c0cval8xw4hkg0842nhhlp540b")))) (build-system gnu-build-system) + (arguments + ;; Explicitly link against shared libraries instead of dlopening them. + '(#:configure-flags '("--disable-jpg-shared" + "--disable-png-shared" + "--disable-tif-shared" + "--disable-webp-shared"))) (native-inputs `(("pkg-config" ,pkg-config))) ;; FIXME: Add webp ;; -- cgit 1.4.1 From 3ff733901a474e0173f9498cfb293115c24b9bf6 Mon Sep 17 00:00:00 2001 From: 宋文武 Date: Thu, 12 Feb 2015 14:21:40 +0800 Subject: gnu: sdl-mixer: Don't use dlopen for shared object loading. * gnu/packages/sdl.scm (sdl-mixer)[arguments]<#:configure-flags>: Add --disable-music-mod-shared --disable-music-fluidsynth-shared --disable-music-ogg-shared --disable-music-flac-shared --disable-music-mp3-shared. --- gnu/packages/sdl.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 764e9854f3..c9b82f4b62 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -197,8 +197,14 @@ WEBP, XCF, XPM, and XV.") (build-system gnu-build-system) ;; no check target ;; use libmad instead of smpeg + ;; explicitly link against shared libraries instead of dlopening them (arguments `(#:tests? #f - #:configure-flags '("--enable-music-mp3-mad-gpl"))) + #:configure-flags '("--enable-music-mp3-mad-gpl" + "--disable-music-mod-shared" + "--disable-music-fluidsynth-shared" + "--disable-music-ogg-shared" + "--disable-music-flac-shared" + "--disable-music-mp3-shared"))) (inputs `(("libvorbis" ,libvorbis) ("libflac" ,flac) ("libmad" ,libmad) -- cgit 1.4.1 From e58d01faf5780db0efa54f0b40f63acd18e1b30c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 12 Feb 2015 11:58:40 +0100 Subject: gnu: hisat: fix build on non-x86_64. * gnu/packages/bioinformatics.scm (hisat): Add "POPCNT_CAPABILITY=0" to make-flags on architectures other than x86_64. --- gnu/packages/bioinformatics.scm | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1766855c93..75837923e2 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -197,8 +197,15 @@ Illumina, Roche 454, and the SOLiD platform.") "1k381ydranqxp09yf2y7w1d0chz5d59vb6jchi89hbb0prq19lk5")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ;no check target - #:make-flags '("allall") + `(#:tests? #f ;no check target + #:make-flags '("allall" + ;; Disable unsupported `popcnt' instructions on + ;; architectures other than x86_64 + ,@(if (string-prefix? "x86_64" + (or (%current-target-system) + (%current-system))) + '() + '("POPCNT_CAPABILITY=0"))) #:phases (alist-replace 'unpack -- cgit 1.4.1 From a6ac8332be8ef2a275419a185ba4efae01973253 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Feb 2015 20:19:31 +0100 Subject: gnu: Add python-apsw. * gnu/packages/python.scm (python-apsw, python2-apsw): New variables. --- gnu/packages/python.scm | 38 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 36acfc0ed3..cc67dd0680 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2947,3 +2947,41 @@ implementation of D-Bus.") ;; FIXME: on Python 2, the test_utf8 fails with: ;; "ValueError: unichr() arg not in range(0x10000) (narrow Python build)" (arguments `(#:tests? #f)))) + +(define-public python-apsw + (package + (name "python-apsw") + (version "3.8.7.3-r1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/a/apsw/apsw-" + version + ".tar.gz")) + (sha256 + (base32 + "1rgxdypg7hym0qny15rx5khrghx9fkppfgsfa2s8lg917924mv7l")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools) + ("sqlite" ,sqlite))) + (arguments + `(#:phases + ;; swap check and install phases + (alist-cons-after + 'install 'check + (assoc-ref %standard-phases 'check) + (alist-delete + 'check + %standard-phases)))) + (home-page "https://github.com/rogerbinns/apsw/") + (synopsis "Another Python SQLite Wrapper") + (description "APSW is a Python wrapper for the SQLite +embedded relational database engine. In contrast to other wrappers such as +pysqlite it focuses on being a minimal layer over SQLite attempting just to +translate the complete SQLite API into Python.") + (license zlib))) + +(define-public python2-apsw + (package-with-python2 python-apsw)) -- cgit 1.4.1 From bd3fa66676eb43c65690f57d779708ad6afb4e5b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Feb 2015 21:07:14 +0100 Subject: gnu: python: Prefix expat license by "license:" to avoid conflicts with expat from the xml module. * gnu/packages/python.scm: Prefix expat license imported from (guix licenses). * gnu/packages/python.scm (python-lockfile, python-mock, python-pysam, python-extras, python-mimeparse, python-py, python-pytest, python-scripttest, python-jsonschema, python-pyjwt, python-virtualenv, python-sphinx-rtd-theme, python-pyparsing, python-cffi, python-xcffib, python-html5lib, python-dbus): Adapt license field. --- gnu/packages/python.scm | 38 +++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cc67dd0680..2ba359a7f2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -26,10 +26,10 @@ (define-module (gnu packages python) #:use-module ((guix licenses) - #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style + #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 x11 x11-style gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ psfl public-domain)) - #:use-module ((guix licenses) #:select (zlib) #:prefix license:) + #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) #:use-module (gnu packages gdbm) @@ -343,7 +343,7 @@ etc. ") (description "The lockfile package exports a LockFile class which provides a simple API for locking files.") - (license expat))) + (license license:expat))) (define-public python2-lockfile (package-with-python2 python-lockfile)) @@ -368,7 +368,7 @@ API for locking files.") "Mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they have been used.") - (license expat))) + (license license:expat))) (define-public python2-mock (package-with-python2 python-mock)) @@ -655,7 +655,7 @@ under several distributions that's hard or impossible to figure out.") "Pysam is a Python module for reading and manipulating files in the SAM/BAM format. Pysam is a lightweight wrapper of the SAMtools C API. It also includes an interface for tabix.") - (license expat))) + (license license:expat))) (define-public python2-pysam (package-with-python2 python-pysam)) @@ -1025,7 +1025,7 @@ software.") (synopsis "Useful extensions to the Python standard library") (description "Extras is a set of extensions to the Python standard library.") - (license expat))) + (license license:expat))) (define-public python2-extras (package-with-python2 python-extras)) @@ -1054,7 +1054,7 @@ software.") (description "Mimeparse provides basic functions for parsing MIME type names and matching them against a list of media-ranges.") - (license expat))) + (license license:expat))) (define-public python2-mimeparse (package-with-python2 python-mimeparse)) @@ -1149,7 +1149,7 @@ standard library.") (description "Py is a Python library for file name parsing, .ini file parsing, I/O, code introspection, and logging.") - (license expat))) + (license license:expat))) (define-public python2-py (package-with-python2 python-py)) @@ -1185,7 +1185,7 @@ code introspection, and logging.") "Pytest is a testing tool that provides auto-discovery of test modules and functions, detailed info on failing assert statements, modular fixtures, and many external plugins.") - (license expat))) + (license license:expat))) (define-public python2-pytest (package-with-python2 python-pytest)) @@ -1212,7 +1212,7 @@ and many external plugins.") (description "Scripttest is a Python helper library for testing interactive command-line applications. With it you can run a script in a subprocess and see the output as well as any file modifications.") - (license expat))) + (license license:expat))) (define-public python2-scripttest (package-with-python2 python-scripttest)) @@ -1600,7 +1600,7 @@ than Python’s urllib2 library.") (synopsis "Implementation of JSON Schema for Python") (description "Jsonschema is an implementation of JSON Schema for Python.") - (license expat))) + (license license:expat))) (define-public python2-jsonschema (package-with-python2 python-jsonschema)) @@ -1656,7 +1656,7 @@ somewhat intelligeble.") (synopsis "JSON Web Token implementation in Python") (description "PyJWT is a JSON Web Token implementation written in Python.") - (license expat))) + (license license:expat))) (define-public python2-pyjwt (package-with-python2 python-pyjwt)) @@ -1755,7 +1755,7 @@ environments and back.") (synopsis "Virtual Python environment builder") (description "Virtualenv is a tool to create isolated Python environments.") - (license expat))) + (license license:expat))) (define-public python2-virtualenv (package-with-python2 python-virtualenv)) @@ -1926,7 +1926,7 @@ sources.") (home-page "https://github.com/snide/sphinx_rtd_theme/") (synopsis "ReadTheDocs.org theme for Sphinx") (description "A theme for Sphinx used by ReadTheDocs.org.") - (license expat))) + (license license:expat))) (define-public python2-sphinx-rtd-theme (package-with-python2 python-sphinx-rtd-theme)) @@ -2141,7 +2141,7 @@ capabilities.") executing simple grammars, vs. the traditional lex/yacc approach, or the use of regular expressions. The pyparsing module provides a library of classes that client code uses to construct the grammar directly in Python code.") - (license expat))) + (license license:expat))) (define-public python2-pyparsing (package-with-python2 python-pyparsing)) @@ -2637,7 +2637,7 @@ a front-end for C compilers or analysis tools.") (synopsis "Foreign function interface for Python") (description "Foreign Function Interface for Python calling C code.") - (license expat))) + (license license:expat))) (define-public python2-cffi (package-with-python2 python-cffi)) @@ -2678,7 +2678,7 @@ a front-end for C compilers or analysis tools.") (description "Xcffib is a replacement for xpyb, an XCB Python bindings. It adds support for Python 3 and PyPy. It is based on cffi.") - (license expat))) + (license license:expat))) (define-public python2-xcffib (package-with-python2 python-xcffib)) @@ -2881,7 +2881,7 @@ ISO 8601 dates, time and duration.") (description "Html5lib is an HTML parser based on the WHATWG HTML specifcation and written in Python.") - (license expat))) + (license license:expat))) (define-public python2-html5lib (package-with-python2 python-html5lib)) @@ -2935,7 +2935,7 @@ features useful for text console applications.") (description "python-dbus provides bindings for libdbus, the reference implementation of D-Bus.") (home-page "http://www.freedesktop.org/wiki/Software/DBusBindings/") - (license expat))) + (license license:expat))) (define-public python2-dbus (package (inherit python-dbus) -- cgit 1.4.1 From 26b307e2cc96147efd80b379a7d1b27e764f5c31 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 12 Feb 2015 21:14:38 +0100 Subject: gnu: Add python-lxml. * gnu/packages/python.scm (python-lxml, python2-lxml): New variables. --- gnu/packages/python.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2ba359a7f2..158c1ac1f9 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -54,6 +54,7 @@ #:use-module (gnu packages fontutils) #:use-module (gnu packages which) #:use-module (gnu packages perl) + #:use-module (gnu packages xml) #:use-module (gnu packages xorg) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) @@ -2985,3 +2986,33 @@ translate the complete SQLite API into Python.") (define-public python2-apsw (package-with-python2 python-apsw)) + +(define-public python-lxml + (package + (name "python-lxml") + (version "3.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/l/lxml/lxml-" + version + ".tar.gz")) + (sha256 + (base32 + "0pd23qz8vms1mgm41p96h4vac5y91igs4wr9640gnvxgk019kmf7")))) + (build-system python-build-system) + (inputs + `(("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("python-setuptools" ,python-setuptools))) + (home-page "http://lxml.de/") + (synopsis + "Python XML processing library") + (description + "The lxml XML toolkit is a Pythonic binding for the C libraries +libxml2 and libxslt.") + (license bsd-3))) ; and a few more, see LICENSES.txt + +(define-public python2-lxml + (package-with-python2 python-lxml)) -- cgit 1.4.1 From 00ab945823261f039dd6e654ff2c79621fbd96cf Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Thu, 12 Feb 2015 00:15:02 +0100 Subject: gnu: Add ECL. * gnu/packages/lisp.scm (ecl): New variable. --- gnu/packages/lisp.scm | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 0bacac47bf..cdf09123c2 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 John Darrington +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +27,11 @@ #:use-module (gnu packages m4) #:use-module (guix download) #:use-module (guix utils) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages which) + #:use-module (gnu packages multiprecision) + #:use-module (gnu packages bdw-gc) + #:use-module (gnu packages libffi)) (define-public gcl (package @@ -81,3 +86,52 @@ stratified garbage collection strategy, a source-level debugger and a built-in interface to the Tk widget system.") (license license:lgpl2.0+))) +(define-public ecl + (package + (name "ecl") + (version "13.5.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/ecls/ecls/" + (version-major+minor version) + "/ecl-" version ".tgz")) + (sha256 + (base32 "18ic8w9sdl0dh3kmyc9lsrafikrd9cg1jkhhr25p9saz0v75f77r")))) + (build-system gnu-build-system) + (native-inputs `(("which" ,which))) + (inputs `(("gmp" ,gmp) + ("libatomic-ops" ,libatomic-ops) + ("libgc" ,libgc) + ("libffi" ,libffi))) + (arguments + '(#:phases + ;; The test-suite seems to assume that ECL is installed. So re-order + ;; the phases, then reference the installed executable. + (let* ((check-phase (assq-ref %standard-phases 'check)) + (rearranged-phases + (alist-cons-after 'install 'check check-phase + (alist-delete 'check %standard-phases)))) + (alist-cons-before + 'check 'pre-check + (lambda* (#:key outputs #:allow-other-keys) + (substitute* '("build/tests/Makefile") + (("ECL=ecl") + (string-append + "ECL=" (assoc-ref outputs "out") "/bin/ecl")))) + rearranged-phases)) + ;; Parallel builds explicitly not supported: + ;; http://sourceforge.net/p/ecls/bugs/98/ + #:parallel-build? #f + #:parallel-tests? #f)) + (home-page "http://ecls.sourceforge.net/") + (synopsis "Embeddable Common Lisp") + (description "ECL is an implementation of the Common Lisp language as +defined by the ANSI X3J13 specification. Its most relevant features are: a +bytecode compiler and interpreter, being able to compile Common Lisp with any +C/C++ compiler, being able to build standalone executables and libraries, and +supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") + ;; Note that the file "Copyright" points to some files and directories + ;; which aren't under the lgpl2.0+ and instead contain many different, + ;; non-copyleft licenses. + (license license:lgpl2.0+))) -- cgit 1.4.1 From ad3729536ab4fe233b32017ac889f026a4bad43e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 11 Feb 2015 22:58:53 +0100 Subject: store: Add optional 'references' parameter to 'text-file'. * guix/store.scm (text-file): Add optional 'references' parameter. Pass it to 'add-text-to-store'. * doc/guix.texi (The Store Monad): Adjust accordingly. --- doc/guix.texi | 5 +++-- guix/store.scm | 8 +++++--- 2 files changed, 8 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 0c6b1e4384..04b9b4aaae 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2358,9 +2358,10 @@ Run @var{mval}, a monadic value in the store monad, in @var{store}, an open store connection. @end deffn -@deffn {Monadic Procedure} text-file @var{name} @var{text} +@deffn {Monadic Procedure} text-file @var{name} @var{text} [@var{references}] Return as a monadic value the absolute file name in the store of the file -containing @var{text}, a string. +containing @var{text}, a string. @var{references} is a list of store items that the +resulting text file refers to; it defaults to the empty list. @end deffn @deffn {Monadic Procedure} interned-file @var{file} [@var{name}] @ diff --git a/guix/store.scm b/guix/store.scm index 02d84eb517..d88fb3ea54 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -890,11 +890,13 @@ taking the store as its first argument." ;; Store monad operators. ;; -(define* (text-file name text) +(define* (text-file name text + #:optional (references '())) "Return as a monadic value the absolute file name in the store of the file -containing TEXT, a string." +containing TEXT, a string. REFERENCES is a list of store items that the +resulting text file refers to; it defaults to the empty list." (lambda (store) - (values (add-text-to-store store name text '()) + (values (add-text-to-store store name text references) store))) (define* (interned-file file #:optional name -- cgit 1.4.1 From 9c09760a780d741ce39df984fc30ef728adf4d5b Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 12 Feb 2015 23:42:29 +0100 Subject: artwork: Update snapshot to GuixSD branding. * gnu/artwork.scm (%artwork-repository): Update to new "GuixSD" branding. * gnu/system/grub.scm (%background-image, %default-theme): Adjust accordingly. --- gnu/artwork.scm | 6 +++--- gnu/system/grub.scm | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/artwork.scm b/gnu/artwork.scm index d14fda44bd..155865f44a 100644 --- a/gnu/artwork.scm +++ b/gnu/artwork.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -32,9 +32,9 @@ (method git-fetch) (uri (git-reference (url "git://git.savannah.gnu.org/guix/guix-artwork.git") - (commit "94e6111"))) + (commit "3236581"))) (sha256 (base32 - "0aax85mygpq4lbyn8sriafikyg54yss3lisin6pwkvlvp23a3v1j")))) + "0ayg0693agck8zkcxfymph5ccc3y44cdf9i4y0qvxajhac8rkcaj")))) ;;; artwork.scm ends here diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index ecffee3112..17b08aa9b7 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -80,13 +80,13 @@ (define %background-image (grub-image (aspect-ratio 4/3) - (file #~(string-append #$%artwork-repository "/grub/guix-4-3.svg")))) + (file #~(string-append #$%artwork-repository "/grub/GuixSD-4-3.svg")))) (define %default-theme ;; Default theme contributed by Felipe López. (grub-theme (images (list %background-image)) - (color-highlight '((fg . cyan) (bg . black))) ;XXX: fg should be #x3bb7f5 + (color-highlight '((fg . yellow) (bg . black))) (color-normal '((fg . light-gray) (bg . black))))) ;XXX: #x303030 (define-record-type* -- cgit 1.4.1 From 96c232ba8f79d334e35ea8c10d1a8731fff858ef Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 11 Feb 2015 22:04:35 -0500 Subject: gnu: ruby: Update to 2.2.0. * gnu/packages/ruby.scm (ruby): Update to 2.2.0. --- gnu/packages/ruby.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ruby.scm b/gnu/packages/ruby.scm index f8276db698..7fc799311c 100644 --- a/gnu/packages/ruby.scm +++ b/gnu/packages/ruby.scm @@ -37,7 +37,7 @@ (define-public ruby (package (name "ruby") - (version "2.1.5") + (version "2.2.0") (source (origin (method url-fetch) @@ -46,7 +46,7 @@ "/ruby-" version ".tar.xz")) (sha256 (base32 - "18z9mwhzgh4gqc0c6ydbjg0a87jc0j38sha10mzfvjbmsjw1xfi2")))) + "1jpq7r48pmkll5lfw933013ijv750sr61c63p96v8pzwh3i191w4")))) (build-system gnu-build-system) (arguments `(#:test-target "test" -- cgit 1.4.1 From 44e10a4d4c0b06bd30dcc34b749447a06f8b0618 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Wed, 11 Feb 2015 22:13:30 -0500 Subject: gnu: node: Update to 0.12.0. * gnu/packages/node.scm (node): Update to 0.12.0. --- gnu/packages/node.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/node.scm b/gnu/packages/node.scm index be4f44ddfb..e8b834c3c9 100644 --- a/gnu/packages/node.scm +++ b/gnu/packages/node.scm @@ -35,14 +35,14 @@ (define-public node (package (name "node") - (version "0.10.36") + (version "0.12.0") (source (origin (method url-fetch) (uri (string-append "http://nodejs.org/dist/v" version "/node-v" version ".tar.gz")) (sha256 (base32 - "10cc2yglmrp8i2l4lm4pnm1pf7jvzjk5v80kddl4dkjb578d3mxr")))) + "0cifd2qhpyrbxx71a4hsagzk24qas8m5zvwcyhx69cz9yhxf404p")))) (native-inputs `(("python" ,python-2) ("perl" ,perl) ("gcc" ,gcc-4.9) -- cgit 1.4.1 From cf053a4f0664e2bc2d8a7ba894c6e571f82e37d9 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 9 Feb 2015 19:26:35 +0100 Subject: gnu: Add certdata2pem Python script. * gnu/packages/certs.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/certs.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 gnu/packages/certs.scm diff --git a/gnu-system.am b/gnu-system.am index 1a68b8bfa2..218361d4fa 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -55,6 +55,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/calcurse.scm \ gnu/packages/ccache.scm \ gnu/packages/cdrom.scm \ + gnu/packages/certs.scm \ gnu/packages/cflow.scm \ gnu/packages/check.scm \ gnu/packages/cmake.scm \ diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm new file mode 100644 index 0000000000..1d06ab1933 --- /dev/null +++ b/gnu/packages/certs.scm @@ -0,0 +1,65 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages certs) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system trivial) + #:use-module (gnu packages) + #:use-module (gnu packages python)) + +(define certdata2pem + (package + (name "certdata2pem") + (version "2013") + (source + (origin + (method url-fetch) + (uri + "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/plain/certdata2pem.py?id=053dde8a2f5901e97028a58bf54e7d0ef8095a54") + (sha256 + (base32 + "0zscrm41gnsf14zvlkxhy00h3dmgidyz645ldpda3y3vabnwv8dx")))) + (build-system trivial-build-system) + (inputs + `(("python" ,python-2))) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + (let ((bin (string-append %output "/bin"))) + (copy-file (assoc-ref %build-inputs "source") "certdata2pem.py") + (chmod "certdata2pem.py" #o555) + (substitute* "certdata2pem.py" + (("/usr/bin/python") + (string-append (assoc-ref %build-inputs "python") + "/bin/python")) + ;; Use the file extension .pem instead of .crt. + (("crt") "pem")) + (mkdir-p bin) + (copy-file "certdata2pem.py" + (string-append bin "/certdata2pem.py")))))) + (synopsis "Python script to extract .pem data from certificate collection") + (description + "certdata2pem.py is a Python script to transform X.509 certificate +\"source code\" as contained, for example, in the Mozilla sources, into +.pem formatted certificates.") + (license license:gpl2+) + (home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/"))) -- cgit 1.4.1 From 6e6e241409aa8cf072df3aca7d012186feb81972 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 10 Feb 2015 20:55:53 +0100 Subject: gnu: Add nss-certs, certificates extracted from nss. * gnu/packages/certs.scm (nss-certs): New variable. --- gnu/packages/certs.scm | 53 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/certs.scm b/gnu/packages/certs.scm index 1d06ab1933..ab46143202 100644 --- a/gnu/packages/certs.scm +++ b/gnu/packages/certs.scm @@ -20,8 +20,11 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system gnu) #:use-module (guix build-system trivial) #:use-module (gnu packages) + #:use-module (gnu packages gnuzilla) + #:use-module (gnu packages openssl) #:use-module (gnu packages python)) (define certdata2pem @@ -63,3 +66,53 @@ .pem formatted certificates.") (license license:gpl2+) (home-page "http://pkgs.fedoraproject.org/cgit/ca-certificates.git/"))) + +(define-public nss-certs + (package (inherit nss) ; to reuse the source, version and some metadata + (name "nss-certs") + (build-system gnu-build-system) + (outputs '("out")) + (native-inputs + `(("certdata2pem" ,certdata2pem) + ("openssl" ,openssl))) + (inputs '()) + (propagated-inputs '()) + (arguments + `(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-26)) + #:imported-modules ((guix build gnu-build-system) + (guix build utils)) + #:phases + (alist-cons-after + 'unpack 'install + (lambda _ + (let ((certsdir (string-append %output "/etc/ssl/certs/"))) + (mkdir-p certsdir) + (with-directory-excursion "nss/lib/ckfw/builtins/" + ;; extract single certificates from blob + (system* "certdata2pem.py" "certdata.txt") + ;; copy the .pem files into the output + (for-each + (lambda (file) + (copy-file file (string-append certsdir file))) + ;; FIXME: Some of the file names are UTF8 (?) and cause an + ;; error message such as + ;; find-files: + ;; ./EBG_Elektronik_Sertifika_Hizmet_Sa??lay??c??s??:2.8.76.175.115.66.28.142.116.2.pem: + ;; No such file or directory + (find-files "." ".*\\.pem"))) + (with-directory-excursion certsdir + ;; create symbolic links for and by openssl + ;; Strangely, the call (system* "c_rehash" certsdir) + ;; from inside the build dir fails with + ;; "Usage error; try -help." + ;; This looks like a bug in openssl-1.0.2, but we can also + ;; switch into the target directory. + (system* "c_rehash" ".")))) + (map (cut assq <> %standard-phases) + '(set-paths unpack))))) + (synopsis "CA certificates from Mozilla") + (description + "This package provides certificates for Certification Authorities (CA) +taken from the NSS package and thus ultimately from the Mozilla project."))) -- cgit 1.4.1 From 148cb1c270c38c23d4a627496577defb8e4790ef Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 10 Feb 2015 21:02:59 +0100 Subject: gnu: openssl: Add search path definition for root certificates. * gnu/packages/openssl.scm (openssl)[native-search-paths]: New property. --- gnu/packages/openssl.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/packages/openssl.scm b/gnu/packages/openssl.scm index 4f7526d755..90dea4956d 100644 --- a/gnu/packages/openssl.scm +++ b/gnu/packages/openssl.scm @@ -63,6 +63,10 @@ (("/bin/rm") "rm")))) %standard-phases)))) + (native-search-paths + (list (search-path-specification + (variable "SSL_CERT_DIR") + (files '("etc/ssl/certs"))))) (synopsis "SSL/TLS implementation") (description "OpenSSL is an implementation of SSL/TLS") -- cgit 1.4.1 From 560f51d060a04b502bf6407309366d907a10aaf5 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Thu, 12 Feb 2015 22:19:52 +0100 Subject: gnu: Add CLISP. * gnu/packages/lisp.scm (clisp): New variable. --- gnu/packages/lisp.scm | 55 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 54 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index cdf09123c2..26914a69ed 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -31,7 +31,10 @@ #:use-module (gnu packages which) #:use-module (gnu packages multiprecision) #:use-module (gnu packages bdw-gc) - #:use-module (gnu packages libffi)) + #:use-module (gnu packages libffi) + #:use-module (gnu packages libffcall) + #:use-module (gnu packages readline) + #:use-module (gnu packages libsigsegv)) (define-public gcl (package @@ -135,3 +138,53 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") ;; which aren't under the lgpl2.0+ and instead contain many different, ;; non-copyleft licenses. (license license:lgpl2.0+))) + +(define-public clisp + (package + (name "clisp") + (version "2.49") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/clisp/release/" version + "/clisp-" version ".tar.gz")) + (sha256 + (base32 "0rp82nqp5362isl9i34rwgg04cidz7izljd9d85pqcw1qr964bxx")))) + (build-system gnu-build-system) + (inputs `(("libffcall" ,libffcall) + ("readline" ,readline) + ("libsigsegv" ,libsigsegv))) + (arguments + '(#:phases + (alist-cons-after + 'unpack 'patch-sh-and-pwd + (lambda _ + ;; The package is very messy with its references to "/bin/sh" and + ;; some other absolute paths to traditional tools. These appear in + ;; many places where our automatic patching misses them. Therefore + ;; we do the following, in this early (post-unpack) phase, to solve + ;; the problem from its root. + (substitute* (find-files "." "configure|Makefile") + (("/bin/sh") "sh")) + (substitute* '("src/clisp-link.in") + (("/bin/pwd") "pwd"))) + (alist-cons-before + 'build 'chdir-to-source + (lambda _ + ;; We are supposed to call make under the src sub-directory. + (chdir "src")) + %standard-phases)) + ;; Makefiles seem to have race conditions. + #:parallel-build? #f)) + (home-page "http://www.clisp.org/") + (synopsis "Common Lisp implementation") + (description "GNU CLISP is an implementation of ANSI Common Lisp, with +many extensions. It includes an interpreter, compiler, debugger, CLOS, MOP, +an FFI, i18n, POSIX and Perl regular expressions, a socket interface, fast +bignums, arbitrary precision floats, and more. An X11 interface is available +through CLX, Garnet and CLUE/CLIO. Command line editing is provided by +readline.") + ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have + ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such + ;; as CLX by Texas Instruments.) In that case gpl3+ wins out. + (license license:gpl3+))) -- cgit 1.4.1 From 11447a792740a2a28ffbbaa073053c2a7ccf2d17 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 11 Feb 2015 22:20:00 +0300 Subject: gnu: Add xosd. * gnu/packages/xdisorg.scm (xosd): New variable. --- gnu/packages/xdisorg.scm | 30 +++++++++++++++++++++++++++++- 1 file changed, 29 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index b48563227c..d0c983dc78 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Eric Bavier -;;; Copyright © 2014 Alex Kost +;;; Copyright © 2014, 2015 Alex Kost ;;; Copyright © 2013, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -392,3 +392,31 @@ X Window System.") (license (license:bsd-style #f "See xlock.c.") ;; + GPLv2 in modes/glx/biof.c. ))) + +(define-public xosd + (package + (name "xosd") + (version "2.2.14") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/libxosd/xosd-" + version ".tar.gz")) + (sha256 + (base32 + "025m7ha89q29swkc7s38knnbn8ysl24g2h5s7imfxflm91psj7sg")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--mandir=" %output "/share/man")))) + (inputs + `(("libx11" ,libx11) + ("libxt" ,libxt) + ("libxext" ,libxext) + ("libxinerama" ,libxinerama))) + (home-page "http://sourceforge.net/projects/libxosd/") + (synopsis "X On Screen Display") + (description + "XOSD provides a C library and a simple utility (osd_cat) for displaying +transparent text on your screen.") + (license license:gpl2+))) -- cgit 1.4.1 From 8dd4ff1133a332eb731911e2f6ba6fa8a7ff022c Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Feb 2015 16:55:33 +0100 Subject: gnu: Add bedops. * gnu/packages/bioinformatics.scm (bedops): New variable. --- gnu/packages/bioinformatics.scm | 57 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 75837923e2..5bd668ee14 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -34,6 +34,63 @@ #:use-module (gnu packages vim) #:use-module (gnu packages zip)) +(define-public bedops + (package + (name "bedops") + (version "2.4.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bedops/bedops/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0wmg6j0icimlrnsidaxrzf3hfgjvlkkcwvpdg7n4gg7hdv2m9ni5")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:make-flags (list (string-append "BINDIR=" %output "/bin")) + #:phases + (alist-cons-after + 'unpack 'unpack-tarballs + (lambda _ + ;; FIXME: Bedops includes tarballs of minimally patched upstream + ;; libraries jansson, zlib, and bzip2. We cannot just use stock + ;; libraries because at least one of the libraries (zlib) is + ;; patched to add a C++ function definition (deflateInit2cpp). + ;; Until the Bedops developers offer a way to link against system + ;; libraries we have to build the in-tree copies of these three + ;; libraries. + + ;; See upstream discussion: + ;; https://github.com/bedops/bedops/issues/124 + + ;; Unpack the tarballs to benefit from shebang patching. + (with-directory-excursion "third-party" + (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) + (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) + (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2")))) + ;; Disable unpacking of tarballs in Makefile. + (substitute* "system.mk/Makefile.linux" + (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") + (("\\./configure") "CONFIG_SHELL=bash ./configure")) + (substitute* "third-party/zlib-1.2.7/Makefile.in" + (("^SHELL=.*$") "SHELL=bash\n"))) + (alist-delete 'configure %standard-phases)))) + (home-page "https://github.com/bedops/bedops") + (synopsis "Tools for high-performance genomic feature operations") + (description + "BEDOPS is a suite of tools to address common questions raised in genomic +studies---mostly with regard to overlap and proximity relationships between +data sets. It aims to be scalable and flexible, facilitating the efficient +and accurate analysis and management of large-scale genomic data. + +BEDOPS provides tools that perform highly efficient and scalable Boolean and +other set operations, statistical calculations, archiving, conversion and +other management of genomic data of arbitrary scale. Tasks can be easily +split by chromosome for distributing whole-genome analyses across a +computational cluster.") + (license license:gpl2+))) + (define-public bedtools (package (name "bedtools") -- cgit 1.4.1 From 5deea4fcc9ec25816ff869ae840ed225a93b1c21 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Feb 2015 12:35:52 +0100 Subject: gnu: nss: Update to 3.17.4. * gnu/packages/gnuzilla.scm (nss): Update to 3.17.4. --- gnu/packages/gnuzilla.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index a1a0bf040d..06cf90a7ee 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015 Sou Bunnbu @@ -122,15 +122,15 @@ in the Mozilla clients.") (define-public nss (package (name "nss") - (version "3.17.3") + (version "3.17.4") (source (origin (method url-fetch) (uri (string-append "ftp://ftp.mozilla.org/pub/mozilla.org/security/nss/" - "releases/NSS_3_17_3_RTM/src/nss-3.17.3.tar.gz")) + "releases/NSS_3_17_4_RTM/src/nss-3.17.4.tar.gz")) (sha256 (base32 - "1m91z80x4zh1mxgf53bl33lp43gn1wxxx0y26mgz511gb81ykmgl")) + "0ycxzybgn4bq0i6j5zjdjl70n3s8a742yixyik4pw8x4h4cav60x")) ;; Create nss.pc and nss-config. (patches (list (search-patch "nss-pkgconfig.patch"))))) (build-system gnu-build-system) -- cgit 1.4.1 From 57a516d3ec6e6166490ce2892b0e767c5199d060 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 11:24:00 +0100 Subject: gnu: Add acpid. * gnu/packages/linux.scm (acpid): New variable. --- gnu/packages/linux.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index de3e6cb496..99adda92c9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1837,3 +1837,24 @@ thanks to the use of namespaces.") is for enabling irq-unmasking and IDE multiplemode.") (license (bsd-style "file://LICENSE.TXT")))) +(define-public acpid + (package + (name "acpid") + (version "2.0.23") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/acpid2/acpid-" + version ".tar.xz")) + (sha256 + (base32 + "1vl7c6vc724v4jwki17czgj6lnrknnj1a6llm8gkl32i2gnam5j3")))) + (build-system gnu-build-system) + (home-page "http://sourceforge.net/projects/acpid2/") + (synopsis "Daemon for delivering ACPI events to user-space programs") + (description + "acpid is designed to notify user-space programs of Advanced +Configuration and Power Interface (ACPI) events. acpid should be started +during the system boot, and will run as a background process. When an ACPI +event is received from the kernel, acpid will examine the list of rules +specified in /etc/acpi/events and execute the rules that match the event.") + (license gpl2+))) -- cgit 1.4.1 From aa72d9afdfe2d65e73c426c280667323181ae592 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 17:23:17 +0100 Subject: gexp: Implement 'imported-modules' & co. using 'gexp->derivation'. * guix/derivations.scm (imported-files): Keep private. (%imported-modules, %compiled-modules, build-expression->derivation): Mark as deprecated. (imported-modules, compiled-modules): Remove. * guix/gexp.scm (%mkdir-p-definition): New variable. (imported-files, search-path*, imported-modules, compiled-modules): New procedures. * tests/derivations.scm ("imported-files"): Remove. * tests/gexp.scm ("imported-files", "gexp->derivation #:modules"): New tests. --- guix/derivations.scm | 19 ++---- guix/gexp.scm | 158 +++++++++++++++++++++++++++++++++++++++++++++++++- tests/derivations.scm | 17 ------ tests/gexp.scm | 34 +++++++++++ 4 files changed, 195 insertions(+), 33 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 678550a39e..e5922365a0 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -96,11 +96,8 @@ build-derivations built-derivations - imported-modules - compiled-modules - build-expression->derivation - imported-files) + build-expression->derivation) ;; Re-export it from here for backward compatibility. #:re-export (%guile-for-build)) @@ -942,7 +939,7 @@ recursively." (remove (cut string=? <> ".") (string-tokenize (dirname file-name) not-slash)))))) -(define* (imported-files store files +(define* (imported-files store files ;deprecated #:key (name "file-import") (system (%current-system)) (guile (%guile-for-build))) @@ -982,7 +979,7 @@ system, imported, and appears under FINAL-PATH in the resulting store path." ;; up looking for the same files over and over again. (memoize search-path)) -(define* (%imported-modules store modules +(define* (%imported-modules store modules ;deprecated #:key (name "module-import") (system (%current-system)) (guile (%guile-for-build)) @@ -1001,7 +998,7 @@ search path." (imported-files store files #:name name #:system system #:guile guile))) -(define* (%compiled-modules store modules +(define* (%compiled-modules store modules ;deprecated #:key (name "module-import-compiled") (system (%current-system)) (guile (%guile-for-build)) @@ -1124,7 +1121,7 @@ applied." #:outputs output-names #:local-build? #t))))) -(define* (build-expression->derivation store name exp +(define* (build-expression->derivation store name exp ;deprecated #:key (system (%current-system)) (inputs '()) @@ -1290,9 +1287,3 @@ ALLOWED-REFERENCES, and LOCAL-BUILD?." (define built-derivations (store-lift build-derivations)) - -(define imported-modules - (store-lift %imported-modules)) - -(define compiled-modules - (store-lift %compiled-modules)) diff --git a/guix/gexp.scm b/guix/gexp.scm index fa712a8b9b..0620683078 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -21,6 +21,7 @@ #:use-module (guix monads) #:use-module (guix derivations) #:use-module (guix packages) + #:use-module (guix utils) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-9 gnu) @@ -31,7 +32,10 @@ gexp->derivation gexp->file gexp->script - text-file*)) + text-file* + imported-files + imported-modules + compiled-modules)) ;;; Commentary: ;;; @@ -500,6 +504,157 @@ package/derivation references." (lambda #,formals #,sexp))))))) + +;;; +;;; Module handling. +;;; + +(define %mkdir-p-definition + ;; The code for 'mkdir-p' is copied from (guix build utils). We use it in + ;; derivations that cannot use the #:modules argument of 'gexp->derivation' + ;; precisely because they implement that functionality. + (gexp + (define (mkdir-p dir) + (define absolute? + (string-prefix? "/" dir)) + + (define not-slash + (char-set-complement (char-set #\/))) + + (let loop ((components (string-tokenize dir not-slash)) + (root (if absolute? "" "."))) + (match components + ((head tail ...) + (let ((path (string-append root "/" head))) + (catch 'system-error + (lambda () + (mkdir path) + (loop tail path)) + (lambda args + (if (= EEXIST (system-error-errno args)) + (loop tail path) + (apply throw args)))))) + (() #t)))))) + +(define* (imported-files files + #:key (name "file-import") + (system (%current-system)) + (guile (%guile-for-build))) + "Return a derivation that imports FILES into STORE. FILES must be a list +of (FINAL-PATH . FILE-NAME) pairs; each FILE-NAME is read from the file +system, imported, and appears under FINAL-PATH in the resulting store path." + (define file-pair + (match-lambda + ((final-path . file-name) + (mlet %store-monad ((file (interned-file file-name + (basename final-path)))) + (return (list final-path file)))))) + + (mlet %store-monad ((files (sequence %store-monad + (map file-pair files)))) + (define build + (gexp + (begin + (use-modules (ice-9 match)) + + (ungexp %mkdir-p-definition) + + (mkdir (ungexp output)) (chdir (ungexp output)) + (for-each (match-lambda + ((final-path store-path) + (mkdir-p (dirname final-path)) + (symlink store-path final-path))) + '(ungexp files))))) + + ;; TODO: Pass FILES as an environment variable so that BUILD remains + ;; exactly the same regardless of FILES: less disk space, and fewer + ;; 'add-to-store' RPCs. + (gexp->derivation name build + #:system system + #:guile-for-build guile + #:local-build? #t))) + +(define search-path* + ;; A memoizing version of 'search-path' so 'imported-modules' does not end + ;; up looking for the same files over and over again. + (memoize search-path)) + +(define* (imported-modules modules + #:key (name "module-import") + (system (%current-system)) + (guile (%guile-for-build)) + (module-path %load-path)) + "Return a derivation that contains the source files of MODULES, a list of +module names such as `(ice-9 q)'. All of MODULES must be in the MODULE-PATH +search path." + ;; TODO: Determine the closure of MODULES, build the `.go' files, + ;; canonicalize the source files through read/write, etc. + (let ((files (map (lambda (m) + (let ((f (string-append + (string-join (map symbol->string m) "/") + ".scm"))) + (cons f (search-path* module-path f)))) + modules))) + (imported-files files #:name name #:system system + #:guile guile))) + +(define* (compiled-modules modules + #:key (name "module-import-compiled") + (system (%current-system)) + (guile (%guile-for-build)) + (module-path %load-path)) + "Return a derivation that builds a tree containing the `.go' files +corresponding to MODULES. All the MODULES are built in a context where +they can refer to each other." + (mlet %store-monad ((modules (imported-modules modules + #:system system + #:guile guile + #:module-path + module-path))) + (define build + (gexp + (begin + (use-modules (ice-9 ftw) + (ice-9 match) + (srfi srfi-26) + (system base compile)) + + (ungexp %mkdir-p-definition) + + (define (regular? file) + (not (member file '("." "..")))) + + (define (process-directory directory output) + (let ((entries (map (cut string-append directory "/" <>) + (scandir directory regular?)))) + (for-each (lambda (entry) + (if (file-is-directory? entry) + (let ((output (string-append output "/" + (basename entry)))) + (mkdir-p output) + (process-directory entry output)) + (let* ((base (string-drop-right + (basename entry) + 4)) ;.scm + (output (string-append output "/" base + ".go"))) + (compile-file entry + #:output-file output + #:opts + %auto-compilation-options)))) + entries))) + + (set! %load-path (cons (ungexp modules) %load-path)) + (mkdir (ungexp output)) + (chdir (ungexp modules)) + (process-directory "." (ungexp output))))) + + ;; TODO: Pass MODULES as an environment variable. + (gexp->derivation name build + #:system system + #:guile-for-build guile + #:local-build? #t))) + ;;; ;;; Convenience procedures. @@ -562,7 +717,6 @@ and store file names; the resulting store file holds references to all these." (gexp->derivation name builder)) - ;;; ;;; Syntactic sugar. diff --git a/tests/derivations.scm b/tests/derivations.scm index 80aabad3a8..e23bdeed77 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -670,23 +670,6 @@ (let ((p (derivation->output-path drv))) (string-contains (call-with-input-file p read-line) "GNU"))))) -(test-assert "imported-files" - (let* ((files `(("x" . ,(search-path %load-path "ice-9/q.scm")) - ("a/b/c" . ,(search-path %load-path - "guix/derivations.scm")) - ("p/q" . ,(search-path %load-path "guix.scm")) - ("p/z" . ,(search-path %load-path "guix/store.scm")))) - (drv (imported-files %store files))) - (and (build-derivations %store (list drv)) - (let ((dir (derivation->output-path drv))) - (every (match-lambda - ((path . source) - (equal? (call-with-input-file (string-append dir "/" path) - get-bytevector-all) - (call-with-input-file source - get-bytevector-all)))) - files))))) - (test-assert "build-expression->derivation with modules" (let* ((builder `(begin (use-modules (guix build utils)) diff --git a/tests/gexp.scm b/tests/gexp.scm index 03722e4669..68c470d3b6 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -360,6 +360,40 @@ (string=? (readlink (string-append out "/" two "/one")) one))))))) +(test-assertm "imported-files" + (mlet* %store-monad + ((files -> `(("x" . ,(search-path %load-path "ice-9/q.scm")) + ("a/b/c" . ,(search-path %load-path + "guix/derivations.scm")) + ("p/q" . ,(search-path %load-path "guix.scm")) + ("p/z" . ,(search-path %load-path "guix/store.scm")))) + (drv (imported-files files))) + (mbegin %store-monad + (built-derivations (list drv)) + (let ((dir (derivation->output-path drv))) + (return + (every (match-lambda + ((path . source) + (equal? (call-with-input-file (string-append dir "/" path) + get-bytevector-all) + (call-with-input-file source + get-bytevector-all)))) + files)))))) + +(test-assertm "gexp->derivation #:modules" + (mlet* %store-monad + ((build -> #~(begin + (use-modules (guix build utils)) + (mkdir-p (string-append #$output "/guile/guix/nix")) + #t)) + (drv (gexp->derivation "test-with-modules" build + #:modules '((guix build utils))))) + (mbegin %store-monad + (built-derivations (list drv)) + (let* ((p (derivation->output-path drv)) + (s (stat (string-append p "/guile/guix/nix")))) + (return (eq? (stat:type s) 'directory)))))) + (test-assertm "gexp->derivation #:references-graphs" (mlet* %store-monad ((one (text-file "one" "hello, world")) -- cgit 1.4.1 From 80393eeda23db166e2c3fde8fa884089b0e8dad4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 20:27:38 +0100 Subject: gnu: procps: Remove the 'kill' and 'uptime' commands. * gnu/packages/linux.scm (procps)[arguments]: Add #:modules. : Remove kill* and uptime*. --- gnu/packages/linux.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 99adda92c9..fc95a0b896 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -446,7 +446,11 @@ providing the system administrator with some help in common tasks.") (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses))) (arguments - '(#:phases (alist-replace + '(#:modules ((guix build utils) + (guix build gnu-build-system) + (srfi srfi-1) + (srfi srfi-26)) + #:phases (alist-replace 'configure (lambda* (#:key outputs #:allow-other-keys) ;; No `configure', just a single Makefile. @@ -468,6 +472,13 @@ providing the system administrator with some help in common tasks.") (system* "make" "install" (string-append "DESTDIR=" out))) + ;; Remove commands and man pages redundant with + ;; Coreutils. + (let ((dup (append-map (cut find-files out <>) + '("^kill" "^uptime")))) + (for-each delete-file dup) + #t) + ;; Sanity check. (zero? (system* (string-append out "/bin/ps") -- cgit 1.4.1 From c9e0a44eec12a1e673b518264a7cbc0883670cf5 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 20:37:56 +0100 Subject: gnu: net-tools: Remove the 'hostname' and *domainname commands. * gnu/packages/linux.scm (net-tools)[arguments]: Add #:modules. Add 'remove-redundant-commands' phase. --- gnu/packages/linux.scm | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index fc95a0b896..0999b57329 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -877,7 +877,11 @@ manpages.") (list (search-patch "net-tools-bitrot.patch"))))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-after + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1) + (srfi srfi-26)) + #:phases (alist-cons-after 'unpack 'patch (lambda* (#:key inputs #:allow-other-keys) (define (apply-patch file) @@ -888,7 +892,6 @@ manpages.") (format #t "applying Debian patch set '~a'...~%" patch.gz) (system (string-append "gunzip < " patch.gz " > the-patch")) - (pk 'here) (and (apply-patch "the-patch") (for-each apply-patch (find-files "debian/patches" @@ -907,7 +910,18 @@ manpages.") ;; definition. (substitute* '("config.make" "config.h") (("^.*HAVE_AFDECnet.*$") "")))) - %standard-phases)) + (alist-cons-after + 'install 'remove-redundant-commands + (lambda* (#:key outputs #:allow-other-keys) + ;; Remove commands and man pages redundant with + ;; Inetutils. + (let* ((out (assoc-ref outputs "out")) + (dup (append-map (cut find-files out <>) + '("^hostname" + "^(yp|nis|dns)?domainname")))) + (for-each delete-file dup) + #t)) + %standard-phases))) ;; Binaries that depend on libnet-tools.a don't declare that ;; dependency, making it parallel-unsafe. -- cgit 1.4.1 From 4ed206639bb59949466af8d8bee63e189f8eb08b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 13 Feb 2015 21:02:47 +0100 Subject: gnu: Add python-pillow. * gnu/packages/python.scm (python-pillow, python2-pillow): New variables. --- gnu/packages/python.scm | 67 +++++++++++++++++++++++++++++++++++++------------ 1 file changed, 51 insertions(+), 16 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 158c1ac1f9..a353062b9b 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -28,37 +28,35 @@ #:use-module ((guix licenses) #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 x11 x11-style gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ - psfl public-domain)) + psfl public-domain x11-style)) #:use-module ((guix licenses) #:select (expat zlib) #:prefix license:) #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages elf) + #:use-module (gnu packages fontutils) #:use-module (gnu packages gdbm) + #:use-module (gnu packages gcc) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) + #:use-module (gnu packages imagemagick) #:use-module (gnu packages libffi) - #:use-module (gnu packages readline) - #:use-module (gnu packages openssl) - #:use-module (gnu packages elf) #:use-module (gnu packages maths) + #:use-module (gnu packages multiprecision) #:use-module (gnu packages ncurses) - #:use-module (gnu packages gcc) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages databases) - #:use-module (gnu packages zip) - #:use-module (gnu packages ghostscript) - #:use-module (gnu packages multiprecision) + #:use-module (gnu packages readline) #:use-module (gnu packages texlive) #:use-module (gnu packages texinfo) - #:use-module (gnu packages image) - #:use-module (gnu packages imagemagick) - #:use-module (gnu packages fontutils) #:use-module (gnu packages which) - #:use-module (gnu packages perl) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages glib) - #:use-module (gnu packages gtk) - #:use-module (gnu packages pkg-config) + #:use-module (gnu packages zip) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix git-download) @@ -3016,3 +3014,40 @@ libxml2 and libxslt.") (define-public python2-lxml (package-with-python2 python-lxml)) + +(define-public python-pillow + (package + (name "python-pillow") + (version "2.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/P/Pillow/Pillow-" + version + ".tar.gz")) + (sha256 + (base32 + "1y0rysgd7vqpl5lh0lsra7j2k30azwxqlh5jnqk1i0pmfc735s96")))) + (build-system python-build-system) + (inputs + `(("freetype" ,freetype) + ("lcms" ,lcms) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("openjpeg" ,openjpeg) + ("python-setuptools" ,python-setuptools) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f)) ; no check target + (home-page "http://python-pillow.github.io/") + (synopsis "Pillow fork of Python Imaging Library") + (description "Pillow is a fork of the Python Imaging Library (PIL).") + ;; PIL license, see + ;; http://www.pythonware.com/products/pil/license.htm + (license (x11-style + "file://PKG-INFO" + "See http://www.pythonware.com/products/pil/license.htm")))) + +(define-public python2-pillow + (package-with-python2 python-pillow)) -- cgit 1.4.1 From c1718190d5c4c72a7f68d6f855cd6d86f96f54fc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Feb 2015 21:11:53 +0100 Subject: gnu: Add lvtk. * gnu/packages/audio.scm (lvtk): New variable. --- gnu/packages/audio.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4f83db8d6a..92ed2ac34f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -336,6 +336,39 @@ add functionality to support the needs of increasingly powerful audio software.") (license license:isc))) +(define-public lvtk + (package + (name "lvtk") + (version "1.2.0") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/lvtk/lvtk/archive/" + version + ".tar.gz")) + (sha256 + (base32 + "03nbj2cqcklqwh50zj2gwm07crh5iwqbpxbpzwbg5hvgl4k4rnjd")))) + (build-system waf-build-system) + (arguments + `(#:tests? #f ; no check target + #:python ,python-2 + #:configure-flags + (list (string-append "--boost-includes=" + (assoc-ref %build-inputs "boost") + "/include")))) + (inputs + `(("boost" ,boost) + ("lv2" ,lv2))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "https://github.com/lvtk/lvtk") + (synopsis "C++ libraries for LV2 plugins") + (description + "The LV2 Toolkit (LVTK) contains libraries that wrap the LV2 C API and +extensions into easy to use C++ classes. It is the successor of +lv2-c++-tools.") + (license license:gpl3+))) + (define-public rubberband (package (name "rubberband") -- cgit 1.4.1 From 2f9ae82f4b9b034e0497e146a229131dbd53d003 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Feb 2015 23:14:58 +0100 Subject: gnu: jack: build ALSA backend. * gnu/packages/audio.scm (jack): Add missing inputs to build ALSA backend. --- gnu/packages/audio.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 92ed2ac34f..e1603dbe55 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -170,8 +170,12 @@ engineers, musicians, soundtrack editors and composers.") "1mk1wnx33anp6haxfjjkfhwbaknfblsvj35nxvz0hvspcmhdyhpb")))) (build-system gnu-build-system) (inputs - `(("bdb" ,bdb) + `(("alsa-lib" ,alsa-lib) + ("bdb" ,bdb) + ("readline" ,readline) ("libuuid" ,util-linux))) + (native-inputs + `(("pkg-config" ,pkg-config))) (home-page "http://jackaudio.org/") (synopsis "JACK audio connection kit") (description -- cgit 1.4.1 From 314275c776d7e3286880bdf70f2c2ce062668655 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Feb 2015 23:16:46 +0100 Subject: gnu: JACK2: rename package to "jack2". * gnu/packages/audio.scm (jack-2): Change package name to "jack2" to distinguish from JACK1. --- gnu/packages/audio.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e1603dbe55..36f29f7c73 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -191,7 +191,7 @@ synchronous execution of all clients, and low latency operation.") (define-public jack-2 (package (inherit jack-1) - (name "jack") + (name "jack2") (version "1.9.10") (source (origin (method url-fetch) -- cgit 1.4.1 From 2bba832f88b579ab466c0c19c9ec5503d1878d26 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 22:58:13 +0100 Subject: tests: Add missing import. * guix/tests.scm: Add missing import, needed by 'dummy-package'. --- guix/tests.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/tests.scm b/guix/tests.scm index 451c1ba4bb..1171bb4dfb 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -23,6 +23,7 @@ #:use-module (guix base32) #:use-module (guix serialization) #:use-module (guix hash) + #:use-module (guix build-system gnu) #:use-module (gnu packages bootstrap) #:use-module (srfi srfi-34) #:use-module (rnrs bytevectors) -- cgit 1.4.1 From b8bedf6051200b0c8eb6ddf4ac1b155466caa3ec Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 23:07:11 +0100 Subject: packages: Add 'set-grafting' procedure. * guix/packages.scm (set-grafting): New procedure. --- guix/packages.scm | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/guix/packages.scm b/guix/packages.scm index 96f3adfc32..5b686a122f 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -114,6 +114,7 @@ default-guile set-guile-for-build + set-grafting package-file package->derivation package->cross-derivation @@ -906,6 +907,12 @@ code of derivations to GUILE, a package object." (let ((guile (package-derivation store guile))) (values (%guile-for-build guile) store)))) +(define (set-grafting enable?) + "This monadic procedure enables grafting when ENABLE? is true, and disables +it otherwise. It returns the previous setting." + (lambda (store) + (values (%graft? enable?) store))) + (define* (package-file package #:optional file #:key -- cgit 1.4.1 From ce45eb4c385e3b473bc6746a8b58452865f69977 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Fri, 13 Feb 2015 23:14:05 +0100 Subject: gexp: Add #:graft? parameter to 'gexp->derivation'. * guix/gexp.scm (gexp->derivation): Add #:graft? parameter and honor it. * tests/gexp.scm ("gexp->derivation vs. grafts"): New test. * doc/guix.texi (G-Expressions): Update 'gexp->derivation' documentation. --- doc/guix.texi | 11 +++++++---- guix/gexp.scm | 62 ++++++++++++++++++++++++++++++++-------------------------- tests/gexp.scm | 17 ++++++++++++++++ 3 files changed, 58 insertions(+), 32 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 04b9b4aaae..50a7084fec 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2580,7 +2580,7 @@ below allow you to do that (@pxref{The Store Monad}, for more information about monads.) @deffn {Monadic Procedure} gexp->derivation @var{name} @var{exp} @ - [#:system (%current-system)] [#:target #f] [#:inputs '()] @ + [#:system (%current-system)] [#:target #f] [#:graft? #t] @ [#:hash #f] [#:hash-algo #f] @ [#:recursive? #f] [#:env-vars '()] [#:modules '()] @ [#:module-path @var{%load-path}] @ @@ -2591,12 +2591,15 @@ Return a derivation @var{name} that runs @var{exp} (a gexp) with is true, it is used as the cross-compilation target triplet for packages referred to by @var{exp}. -Make @var{modules} available in the evaluation context of @var{EXP}; -@var{MODULES} is a list of names of Guile modules searched in -@var{MODULE-PATH} to be copied in the store, compiled, and made available in +Make @var{modules} available in the evaluation context of @var{exp}; +@var{modules} is a list of names of Guile modules searched in +@var{module-path} to be copied in the store, compiled, and made available in the load path during the execution of @var{exp}---e.g., @code{((guix build utils) (guix build gnu-build-system))}. +@var{graft?} determines whether packages referred to by @var{exp} should be grafted when +applicable. + When @var{references-graphs} is true, it must be a list of tuples of one of the following forms: diff --git a/guix/gexp.scm b/guix/gexp.scm index 0620683078..a8349c7d6e 100644 --- a/guix/gexp.scm +++ b/guix/gexp.scm @@ -153,6 +153,7 @@ names and file names suitable for the #:allowed-references argument to (modules '()) (module-path %load-path) (guile-for-build (%guile-for-build)) + (graft? (%graft?)) references-graphs allowed-references local-build?) @@ -165,6 +166,9 @@ names of Guile modules searched in MODULE-PATH to be copied in the store, compiled, and made available in the load path during the execution of EXP---e.g., '((guix build utils) (guix build gnu-build-system)). +GRAFT? determines whether packages referred to by EXP should be grafted when +applicable. + When REFERENCES-GRAPHS is true, it must be a list of tuples of one of the following forms: @@ -198,10 +202,10 @@ The other arguments are as for 'derivation'." (cons file-name thing))) graphs)) - (mlet* %store-monad (;; The following binding is here to force - ;; '%current-system' and '%current-target-system' to be - ;; looked up at >>= time. - (unused (return #f)) + (mlet* %store-monad (;; The following binding forces '%current-system' and + ;; '%current-target-system' to be looked up at >>= + ;; time. + (graft? (set-grafting graft?)) (system -> (or system (%current-system))) (target -> (if (eq? target 'current) @@ -245,30 +249,32 @@ The other arguments are as for 'derivation'." (return guile-for-build) (package->derivation (default-guile) system)))) - (raw-derivation name - (string-append (derivation->output-path guile) - "/bin/guile") - `("--no-auto-compile" - ,@(if (pair? %modules) - `("-L" ,(derivation->output-path modules) - "-C" ,(derivation->output-path compiled)) - '()) - ,builder) - #:outputs outputs - #:env-vars env-vars - #:system system - #:inputs `((,guile) - (,builder) - ,@(if modules - `((,modules) (,compiled) ,@inputs) - inputs) - ,@(match graphs - (((_ . inputs) ...) inputs) - (_ '()))) - #:hash hash #:hash-algo hash-algo #:recursive? recursive? - #:references-graphs (and=> graphs graphs-file-names) - #:allowed-references allowed - #:local-build? local-build?))) + (mbegin %store-monad + (set-grafting graft?) ;restore the initial setting + (raw-derivation name + (string-append (derivation->output-path guile) + "/bin/guile") + `("--no-auto-compile" + ,@(if (pair? %modules) + `("-L" ,(derivation->output-path modules) + "-C" ,(derivation->output-path compiled)) + '()) + ,builder) + #:outputs outputs + #:env-vars env-vars + #:system system + #:inputs `((,guile) + (,builder) + ,@(if modules + `((,modules) (,compiled) ,@inputs) + inputs) + ,@(match graphs + (((_ . inputs) ...) inputs) + (_ '()))) + #:hash hash #:hash-algo hash-algo #:recursive? recursive? + #:references-graphs (and=> graphs graphs-file-names) + #:allowed-references allowed + #:local-build? local-build?)))) (define* (gexp-inputs exp #:optional (references gexp-references)) "Return the input list for EXP, using REFERENCES to get its list of diff --git a/tests/gexp.scm b/tests/gexp.scm index 68c470d3b6..0b189b570b 100644 --- a/tests/gexp.scm +++ b/tests/gexp.scm @@ -249,6 +249,23 @@ (equal? refs (list (dirname (dirname guile)))) (equal? refs2 (list file)))))) +(test-assertm "gexp->derivation vs. grafts" + (mlet* %store-monad ((p0 -> (dummy-package "dummy" + (arguments + '(#:implicit-inputs? #f)))) + (r -> (package (inherit p0) (name "DuMMY"))) + (p1 -> (package (inherit p0) (replacement r))) + (exp0 -> (gexp (frob (ungexp p0) (ungexp output)))) + (exp1 -> (gexp (frob (ungexp p1) (ungexp output)))) + (void (set-guile-for-build %bootstrap-guile)) + (drv0 (gexp->derivation "t" exp0)) + (drv1 (gexp->derivation "t" exp1)) + (drv1* (gexp->derivation "t" exp1 #:graft? #f))) + (return (and (not (string=? (derivation->output-path drv0) + (derivation->output-path drv1))) + (string=? (derivation->output-path drv0) + (derivation->output-path drv1*)))))) + (test-assertm "gexp->derivation, composed gexps" (mlet* %store-monad ((exp0 -> (gexp (begin (mkdir (ungexp output)) -- cgit 1.4.1 From abde5f375fe6929828e23cc5d77707d63c986de9 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Sat, 14 Feb 2015 00:43:41 +0100 Subject: gnu: python-apsw: Fix license. * gnu/packages/python.scm (python-apsw)[license]: Change to LICENSE:ZLIB. --- gnu/packages/python.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index a353062b9b..6de1ed2907 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2980,7 +2980,7 @@ implementation of D-Bus.") embedded relational database engine. In contrast to other wrappers such as pysqlite it focuses on being a minimal layer over SQLite attempting just to translate the complete SQLite API into Python.") - (license zlib))) + (license license:zlib))) (define-public python2-apsw (package-with-python2 python-apsw)) -- cgit 1.4.1 From da49086a59fb38475f5e4122164c937e25eca925 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 13 Feb 2015 23:20:00 +0100 Subject: gnu: Add lash. * gnu/packages/audio.scm (lash): New variable. --- gnu/packages/audio.scm | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 36f29f7c73..4e87fef7b3 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -41,7 +41,8 @@ #:use-module (gnu packages rdf) #:use-module (gnu packages readline) #:use-module (gnu packages xiph) - #:use-module (gnu packages xml)) + #:use-module (gnu packages xml) + #:use-module (srfi srfi-1)) (define-public aubio (package @@ -256,6 +257,47 @@ synchronous execution of all clients, and low latency operation.") to be plugged into a wide range of audio synthesis and recording packages.") (license license:lgpl2.1+))) +(define-public lash + (package + (name "lash") + (version "0.6.0-rc2") + (source (origin + (method url-fetch) + ;; The tilde is not permitted in the builder name, but is used + ;; in the tarball. + (uri (string-append + "mirror://savannah/lash/lash-" + (string-join (string-split version #\-) "~") + ".tar.bz2")) + (file-name (string-append name "-" version ".tar.bz2")) + (sha256 + (base32 + "12z1vx3krrzsfccpah9xjs68900xvr7bw92wx8np5871i2yv47iw")))) + (build-system gnu-build-system) + (inputs + `(("bdb" ,bdb) + ("gtk" ,gtk+-2) + ("jack" ,jack-1) + ("libuuid" ,util-linux) + ("readline" ,readline) + ("python" ,python-2))) + ;; According to pkg-config, packages depending on lash also need to have + ;; at least the following packages declared as inputs. + (propagated-inputs + `(("alsa-lib" ,alsa-lib) + ("dbus" ,dbus) + ("libxml2" ,libxml2))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.nongnu.org/lash/") + (synopsis "Audio application session manager") + (description + "LASH is a session management system for audio applications. It allows +you to save and restore audio sessions consisting of multiple interconneced +applications, restoring program state (i.e. loaded patches) and the +connections between them.") + (license license:gpl2+))) + (define-public liblo (package (name "liblo") -- cgit 1.4.1 From 8d872ae00127462b78df0bf0e8de3c3ca06bf046 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Sun, 1 Feb 2015 02:21:11 +0100 Subject: gnu: Add moreutils. * gnu/packages/moreutils.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/moreutils.scm | 68 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/moreutils.scm diff --git a/gnu-system.am b/gnu-system.am index 218361d4fa..b2ddbf5972 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/miscfiles.scm \ gnu/packages/mit-krb5.scm \ gnu/packages/moe.scm \ + gnu/packages/moreutils.scm \ gnu/packages/mpd.scm \ gnu/packages/mp3.scm \ gnu/packages/mpi.scm \ diff --git a/gnu/packages/moreutils.scm b/gnu/packages/moreutils.scm new file mode 100644 index 0000000000..4ea6df3dcc --- /dev/null +++ b/gnu/packages/moreutils.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages moreutils) + #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl) + #:use-module (gnu packages xml) + #:use-module (gnu packages docbook)) + +(define-public moreutils + (package + (name "moreutils") + (version "0.55") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://debian/pool/main/m/moreutils/moreutils_" + version ".orig.tar.gz")) + (sha256 + (base32 + "1dcah2jx8dbznn8966xl7sf1jrld2qfh6l6xcmx9dsnf8p8mr7fs")))) + (build-system gnu-build-system) + (inputs `(("perl" ,perl) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("docbook-xml" ,docbook-xml-4.4) + ("docbook-xsl" ,docbook-xsl))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys) + (use-modules (srfi srfi-1)) + (substitute* "Makefile" + (("/usr/share/xml/.*/docbook.xsl") + (let* ((docbook-xsl (assoc-ref inputs "docbook-xsl")) + (files (find-files docbook-xsl "^docbook\\.xsl$"))) + (find (lambda (file) + (string-suffix? "/manpages/docbook.xsl" file)) + files))))) + %standard-phases) + #:make-flags + (list (string-append "PREFIX=" (assoc-ref %outputs "out")) + "CC=gcc"))) + (home-page "http://joeyh.name/code/moreutils/") + (synopsis "Miscellaneous general-purpose command-line tools") + (description + "Moreutils is a collection of general-purpose command-line tools to +augment the traditional Unix toolbox.") + (license l:gpl2+))) -- cgit 1.4.1 From a48ba458a31f03f5bb9c1878c4fc1275bbc8541f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 14 Feb 2015 00:40:38 -0500 Subject: Revert "gnu: linux-libre: Update to 3.19" Linux-libre 3.19 doesn't work on the Libreboot X60. This reverts commit 1f4edec4fd9b4bc6f4eda8c196647eea5215f040. --- gnu/packages/linux-libre-i686.conf | 209 ++++++++++----------------------- gnu/packages/linux-libre-x86_64.conf | 217 +++++++++++------------------------ gnu/packages/linux.scm | 4 +- 3 files changed, 126 insertions(+), 304 deletions(-) diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf index 2274ea2879..3c82b91614 100644 --- a/gnu/packages/linux-libre-i686.conf +++ b/gnu/packages/linux-libre-i686.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.19.0-gnu Kernel Configuration +# Linux/x86 3.18.4-gnu Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y @@ -88,7 +88,6 @@ CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y -CONFIG_GENERIC_MSI_IRQ=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y @@ -128,6 +127,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # RCU Subsystem # CONFIG_TREE_RCU=y +# CONFIG_PREEMPT_RCU is not set # CONFIG_TASKS_RCU is not set CONFIG_RCU_STALL_COMMON=y CONFIG_RCU_FANOUT=32 @@ -148,7 +148,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y -CONFIG_PAGE_COUNTER=y +CONFIG_RESOURCE_COUNTERS=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y # CONFIG_MEMCG_SWAP_ENABLED is not set @@ -179,7 +179,6 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y -CONFIG_INIT_FALLBACK=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y @@ -283,7 +282,6 @@ CONFIG_OLD_SIGACTION=y # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y CONFIG_HAVE_GENERIC_DMA_COHERENT=y CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y @@ -295,11 +293,6 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set -# CONFIG_MODULE_SIG_SHA1 is not set -# CONFIG_MODULE_SIG_SHA224 is not set -# CONFIG_MODULE_SIG_SHA256 is not set -# CONFIG_MODULE_SIG_SHA384 is not set -# CONFIG_MODULE_SIG_SHA512 is not set # CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y @@ -457,7 +450,6 @@ CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set -CONFIG_X86_UP_APIC_MSI=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -553,7 +545,6 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y -# CONFIG_X86_INTEL_MPX is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_SECCOMP=y @@ -594,6 +585,7 @@ CONFIG_PM_SLEEP_SMP=y CONFIG_PM_WAKELOCKS=y CONFIG_PM_WAKELOCKS_LIMIT=100 CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_RUNTIME=y CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y @@ -642,7 +634,6 @@ CONFIG_ACPI_APEI_PCIEAER=y CONFIG_ACPI_APEI_EINJ=m # CONFIG_ACPI_APEI_ERST_DEBUG is not set CONFIG_ACPI_EXTLOG=m -# CONFIG_PMIC_OPREGION is not set CONFIG_SFI=y CONFIG_X86_APM_BOOT=y CONFIG_APM=m @@ -671,7 +662,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # -# CPU frequency scaling drivers +# x86 CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y @@ -743,6 +734,7 @@ CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y # @@ -864,7 +856,6 @@ CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m CONFIG_NET_FOU=m -CONFIG_NET_FOU_IP_TUNNELS=y CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m @@ -976,7 +967,6 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m CONFIG_NETFILTER_SYNPROXY=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=m @@ -989,7 +979,6 @@ CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m -CONFIG_NFT_REDIR=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1158,7 +1147,6 @@ CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m CONFIG_NF_NAT_MASQUERADE_IPV4=m CONFIG_NFT_MASQ_IPV4=m -CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1199,7 +1187,6 @@ CONFIG_NF_NAT_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m CONFIG_NF_NAT_MASQUERADE_IPV6=m CONFIG_NFT_MASQ_IPV6=m -CONFIG_NFT_REDIR_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1299,7 +1286,6 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m -CONFIG_NET_DSA_HWMON=y CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y @@ -1395,7 +1381,6 @@ CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_ACT_CSUM=m -CONFIG_NET_ACT_VLAN=m # CONFIG_NET_CLS_IND is not set CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y @@ -1407,16 +1392,15 @@ CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_GRE=m -CONFIG_OPENVSWITCH_VXLAN=m -CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=y +CONFIG_OPENVSWITCH_VXLAN=y +CONFIG_OPENVSWITCH_GENEVE=y CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_NETLINK_MMAP=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_HSR=m -# CONFIG_NET_SWITCHDEV is not set CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y @@ -1565,7 +1549,7 @@ CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m -CONFIG_BT_BREDR=y +CONFIG_BT_6LOWPAN=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m @@ -1573,8 +1557,6 @@ CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=m CONFIG_BT_HIDP=m -CONFIG_BT_LE=y -CONFIG_BT_6LOWPAN=m # # Bluetooth device drivers @@ -1627,7 +1609,6 @@ CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL_HT=y -CONFIG_MAC80211_RC_MINSTREL_VHT=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" CONFIG_MAC80211_MESH=y @@ -1679,8 +1660,7 @@ CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m -CONFIG_NFC_ST21NFCB=m -CONFIG_NFC_ST21NFCB_I2C=m +# CONFIG_NFC_ST21NFCB is not set # # Device Drivers @@ -1700,9 +1680,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y -CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1711,7 +1689,6 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y -CONFIG_REGMAP_SPMI=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y @@ -2173,7 +2150,7 @@ CONFIG_SCSI_LPFC=m CONFIG_SCSI_SIM710=m CONFIG_SCSI_SYM53C416=m CONFIG_SCSI_DC395x=m -CONFIG_SCSI_AM53C974=m +CONFIG_SCSI_DC390T=m CONFIG_SCSI_T128=m CONFIG_SCSI_U14_34F=m CONFIG_SCSI_U14_34F_TAGGED_QUEUE=y @@ -2181,7 +2158,6 @@ CONFIG_SCSI_U14_34F_LINKED_COMMANDS=y CONFIG_SCSI_U14_34F_MAX_TAGS=8 CONFIG_SCSI_ULTRASTOR=m CONFIG_SCSI_NSP32=m -CONFIG_SCSI_WD719X=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_PMCRAID=m CONFIG_SCSI_PM8001=m @@ -2398,7 +2374,6 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_LOADBALANCE=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -CONFIG_IPVLAN=m CONFIG_VXLAN=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y @@ -2478,7 +2453,6 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=m CONFIG_NET_DSA_MV88E6123_61_65=m CONFIG_NET_DSA_MV88E6171=m -CONFIG_NET_DSA_MV88E6352=m CONFIG_NET_DSA_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m @@ -2516,7 +2490,6 @@ CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y -CONFIG_BCMGENET=m CONFIG_BNX2=m CONFIG_CNIC=m CONFIG_TIGON3=m @@ -2583,7 +2556,7 @@ CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y -CONFIG_I40E_FCOE=y +# CONFIG_I40E_FCOE is not set CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y @@ -2655,7 +2628,6 @@ CONFIG_8139TOO_8129=y CONFIG_R8169=m CONFIG_NET_VENDOR_RDC=y CONFIG_R6040=m -CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SAMSUNG=y CONFIG_SXGBE_ETH=m CONFIG_NET_VENDOR_SEEQ=y @@ -2677,8 +2649,10 @@ CONFIG_SMSC911X=m CONFIG_SMSC9420=m CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=m +CONFIG_STMMAC_PLATFORM=y # CONFIG_STMMAC_PCI is not set +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m @@ -2833,7 +2807,6 @@ CONFIG_ATH9K_STATION_STATISTICS=y CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y CONFIG_ATH9K_CHANNEL_CONTEXT=y -CONFIG_ATH9K_PCOEM=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2920,7 +2893,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set -# CONFIG_IWLWIFI_UAPSD is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -3064,6 +3037,7 @@ CONFIG_X25_ASY=m CONFIG_SBNI=m # CONFIG_SBNI_MULTILINE is not set CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_MRF24J40=m @@ -3285,9 +3259,6 @@ CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m CONFIG_MOUSE_CYAPA=m -CONFIG_MOUSE_ELAN_I2C=m -CONFIG_MOUSE_ELAN_I2C_I2C=y -CONFIG_MOUSE_ELAN_I2C_SMBUS=y # CONFIG_MOUSE_INPORT is not set CONFIG_MOUSE_LOGIBM=m CONFIG_MOUSE_PC110PAD=m @@ -3356,10 +3327,8 @@ CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_ILI210X=m CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_WACOM_I2C=m @@ -3588,7 +3557,6 @@ CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_SI_PROBE_DEFAULTS=y -CONFIG_IPMI_SSIF=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y @@ -3709,7 +3677,6 @@ CONFIG_I2C_XILINX=m # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=m -CONFIG_I2C_DLN2=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m @@ -3724,7 +3691,6 @@ CONFIG_I2C_PCA_ISA=m CONFIG_I2C_CROS_EC_TUNNEL=m CONFIG_SCx200_ACB=m CONFIG_I2C_STUB=m -# CONFIG_I2C_SLAVE is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -3803,12 +3769,8 @@ CONFIG_PINCTRL=y # # Pin controllers # -CONFIG_PINMUX=y -CONFIG_PINCONF=y -CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_BAYTRAIL=y -CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y CONFIG_GPIO_DEVRES=y @@ -3825,6 +3787,7 @@ CONFIG_GPIO_MAX730X=m # Memory mapped GPIO drivers: # CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_DWAPB=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_F7188X=m CONFIG_GPIO_SCH311X=m @@ -3896,7 +3859,6 @@ CONFIG_GPIO_MSIC=y # USB GPIO expanders: # CONFIG_GPIO_VIPERBOARD=m -CONFIG_GPIO_DLN2=m CONFIG_W1=m CONFIG_W1_CON=y @@ -4022,7 +3984,6 @@ CONFIG_SENSORS_HIH6130=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m -CONFIG_SENSORS_I5500=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_JC42=m @@ -4069,14 +4030,12 @@ CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NCT6683=m CONFIG_SENSORS_NCT6775=m -CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m @@ -4282,7 +4241,6 @@ CONFIG_MFD_DA9052_SPI=y CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_DA9055=y CONFIG_MFD_DA9063=y -CONFIG_MFD_DLN2=m CONFIG_MFD_MC13XXX=m CONFIG_MFD_MC13XXX_SPI=m CONFIG_MFD_MC13XXX_I2C=m @@ -4363,7 +4321,7 @@ CONFIG_MFD_WM831X_I2C=y CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y -CONFIG_MFD_WM8994=m +CONFIG_MFD_WM8994=y CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=m @@ -4504,9 +4462,16 @@ CONFIG_IR_NUVOTON=m CONFIG_IR_REDRAT3=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m -CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m +CONFIG_IR_IMG=m +# CONFIG_IR_IMG_RAW is not set +CONFIG_IR_IMG_HW=y +CONFIG_IR_IMG_NEC=y +CONFIG_IR_IMG_JVC=y +CONFIG_IR_IMG_SONY=y +CONFIG_IR_IMG_SHARP=y +CONFIG_IR_IMG_SANYO=y CONFIG_RC_LOOPBACK=m CONFIG_IR_GPIO_CIR=m CONFIG_MEDIA_USB_SUPPORT=y @@ -4582,6 +4547,7 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_USBVISION=m CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160_AC97=y @@ -4744,7 +4710,6 @@ CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m CONFIG_DVB_NGENE=m CONFIG_DVB_DDBRIDGE=m -CONFIG_DVB_SMIPCIE=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_VIA_CAMERA=m @@ -4756,12 +4721,17 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_VIM2M=m +CONFIG_VIDEO_MEM2MEM_TESTDEV=m # # Supported MMC/SDIO adapters # CONFIG_SMS_SDIO_DRV=m +CONFIG_MEDIA_PARPORT_SUPPORT=y +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_PMS=m +CONFIG_VIDEO_W9966=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m CONFIG_RADIO_SI470X=y @@ -4963,7 +4933,6 @@ CONFIG_MEDIA_TUNER_TDA18212=m CONFIG_MEDIA_TUNER_E4000=m CONFIG_MEDIA_TUNER_FC2580=m CONFIG_MEDIA_TUNER_M88TS2022=m -CONFIG_MEDIA_TUNER_M88RS6000T=m CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m @@ -5075,10 +5044,6 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m - -# -# ISDB-S (satellite) & ISDB-T (terrestrial) frontends -# CONFIG_DVB_TC90522=m # @@ -5098,7 +5063,6 @@ CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m CONFIG_DVB_A8293=m -CONFIG_DVB_SP2=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m @@ -5142,7 +5106,6 @@ CONFIG_DRM_TTM=m # # I2C encoder or helper chips # -CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m CONFIG_DRM_I2C_NXP_TDA998X=m @@ -5560,7 +5523,7 @@ CONFIG_SND_BCD2000=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWIRE_LIB=m CONFIG_SND_DICE=m -CONFIG_SND_OXFW=m +CONFIG_SND_FIREWIRE_SPEAKERS=m CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m @@ -5588,9 +5551,6 @@ CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_IMX_AUDMUX=m CONFIG_SND_MFLD_MACHINE=m CONFIG_SND_SST_MFLD_PLATFORM=m -CONFIG_SND_SST_IPC=m -CONFIG_SND_SST_IPC_PCI=m -CONFIG_SND_SST_IPC_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_HASWELL=m @@ -5599,8 +5559,6 @@ CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m -CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_I2C_AND_SPI=m # @@ -5613,16 +5571,12 @@ CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m CONFIG_SND_SOC_CS35L32=m -CONFIG_SND_SOC_CS42L51=m -CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m CONFIG_SND_SOC_CS4271=m -CONFIG_SND_SOC_CS4271_I2C=m -CONFIG_SND_SOC_CS4271_SPI=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m @@ -5635,10 +5589,7 @@ CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x_SPI=m CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RT286=m -CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m -CONFIG_SND_SOC_RT5670=m -# CONFIG_SND_SOC_RT5677_SPI is not set CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SI476X=m CONFIG_SND_SOC_SIGMADSP=m @@ -5653,13 +5604,8 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m -CONFIG_SND_SOC_TFA9879=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC23_I2C=m -CONFIG_SND_SOC_TLV320AIC23_SPI=m CONFIG_SND_SOC_TLV320AIC31XX=m CONFIG_SND_SOC_TLV320AIC3X=m -CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m CONFIG_SND_SOC_WM8580=m @@ -5685,7 +5631,6 @@ CONFIG_AC97_BUS=m # HID support # CONFIG_HID=m -CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=m @@ -5727,7 +5672,6 @@ CONFIG_HID_LCPOWER=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_LOGITECH_HIDPP=m CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y @@ -5748,7 +5692,6 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y -CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m @@ -5895,10 +5838,9 @@ CONFIG_USB_MUSB_HDRC=m # CONFIG_USB_MUSB_HOST is not set # CONFIG_USB_MUSB_GADGET is not set CONFIG_USB_MUSB_DUAL_ROLE=y - -# -# Platform Glue Layer -# +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_MUSB_UX500=m +# CONFIG_USB_UX500_DMA is not set CONFIG_MUSB_PIO_ONLY=y CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_HOST is not set @@ -5916,13 +5858,14 @@ CONFIG_USB_DWC3_PCI=m # CONFIG_USB_DWC3_DEBUG is not set CONFIG_DWC3_HOST_USB3_LPM_ENABLE=y CONFIG_USB_DWC2=y -CONFIG_USB_DWC2_HOST=y +CONFIG_USB_DWC2_HOST=m +CONFIG_USB_DWC2_PLATFORM=y +CONFIG_USB_DWC2_PCI=y # -# Gadget/Dual-role mode requires USB Gadget support to be enabled +# Gadget mode requires USB Gadget support to be enabled # -CONFIG_USB_DWC2_PLATFORM=y -CONFIG_USB_DWC2_PCI=y +CONFIG_USB_DWC2_PERIPHERAL=m # CONFIG_USB_DWC2_DEBUG is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set CONFIG_USB_CHIPIDEA=m @@ -6061,12 +6004,6 @@ CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m # CONFIG_USB_M66592 is not set -CONFIG_USB_BDC_UDC=m - -# -# Platform Support -# -CONFIG_USB_BDC_PCI=m CONFIG_USB_AMD5536UDC=m CONFIG_USB_NET2272=m CONFIG_USB_NET2272_DMA=y @@ -6090,10 +6027,7 @@ CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m CONFIG_USB_F_UAC1=m -CONFIG_USB_F_UAC2=m CONFIG_USB_F_UVC=m -CONFIG_USB_F_MIDI=m -CONFIG_USB_F_HID=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -6107,10 +6041,6 @@ CONFIG_USB_CONFIGFS_PHONET=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_UAC1=y -CONFIG_USB_CONFIGFS_F_UAC2=y -CONFIG_USB_CONFIGFS_F_MIDI=y -CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_ZERO=m CONFIG_USB_AUDIO=m CONFIG_GADGET_UAC1=y @@ -6175,7 +6105,6 @@ CONFIG_MMC_USHC=m CONFIG_MMC_USDHI6ROL0=m CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_TOSHIBA_PCI=m CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set @@ -6216,7 +6145,6 @@ CONFIG_LEDS_LP5523=m CONFIG_LEDS_LP5562=m CONFIG_LEDS_LP8501=m CONFIG_LEDS_LP8788=m -CONFIG_LEDS_LP8860=m CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA963X=m @@ -6266,7 +6194,6 @@ CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y -CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m # CONFIG_INFINIBAND_MTHCA_DEBUG is not set @@ -6294,8 +6221,6 @@ CONFIG_EDAC=y CONFIG_EDAC_DECODE_MCE=m CONFIG_EDAC_MCE_INJ=m CONFIG_EDAC_MM_EDAC=m -CONFIG_EDAC_AMD64=m -# CONFIG_EDAC_AMD64_ERROR_INJECTION is not set CONFIG_EDAC_AMD76X=m CONFIG_EDAC_E7XXX=m CONFIG_EDAC_E752X=m @@ -6335,7 +6260,6 @@ CONFIG_RTC_DRV_88PM860X=m CONFIG_RTC_DRV_88PM80X=m CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1374_WDT=y CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_LP8788=m @@ -6469,8 +6393,6 @@ CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_VGA=y -CONFIG_VFIO_PCI_MMAP=y -CONFIG_VFIO_PCI_INTX=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=y @@ -6571,9 +6493,10 @@ CONFIG_COMEDI_PCMMIO=m CONFIG_COMEDI_PCMUIO=m CONFIG_COMEDI_MULTIQ3=m CONFIG_COMEDI_S526=m -CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCI_DRIVERS=y CONFIG_COMEDI_8255_PCI=m CONFIG_COMEDI_ADDI_WATCHDOG=m +CONFIG_COMEDI_ADDI_APCI_035=m CONFIG_COMEDI_ADDI_APCI_1032=m CONFIG_COMEDI_ADDI_APCI_1500=m CONFIG_COMEDI_ADDI_APCI_1516=m @@ -6626,7 +6549,7 @@ CONFIG_COMEDI_RTD520=m CONFIG_COMEDI_S626=m CONFIG_COMEDI_MITE=m CONFIG_COMEDI_NI_TIOCMD=m -CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMCIA_DRIVERS=y CONFIG_COMEDI_CB_DAS16_CS=m CONFIG_COMEDI_DAS08_CS=m CONFIG_COMEDI_NI_DAQ_700_CS=m @@ -6634,7 +6557,7 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m CONFIG_COMEDI_NI_LABPC_CS=m CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m -CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m @@ -6769,6 +6692,7 @@ CONFIG_IIO_SIMPLE_DUMMY=m # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set CONFIG_FB_XGI=m +CONFIG_BCM_WIMAX=m CONFIG_FT1000=m CONFIG_FT1000_USB=m CONFIG_FT1000_PCMCIA=m @@ -6800,17 +6724,10 @@ CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m # CONFIG_DT3155_CCIR is not set CONFIG_DT3155_STREAMING=y -CONFIG_VIDEO_TLG2300=m -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m -CONFIG_MEDIA_PARPORT_SUPPORT=y -CONFIG_VIDEO_BWQCAM=m -CONFIG_VIDEO_CQCAM=m -CONFIG_VIDEO_PMS=m -CONFIG_VIDEO_W9966=m -CONFIG_VIDEO_SAA7191=m +# CONFIG_VIDEO_TCM825X is not set CONFIG_LIRC_STAGING=y CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m CONFIG_LIRC_IMON=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SASEM=m @@ -6822,6 +6739,7 @@ CONFIG_LIRC_ZILOG=m # # Android # +# CONFIG_ANDROID is not set CONFIG_USB_WPAN_HCD=m CONFIG_WIMAX_GDM72XX=m CONFIG_WIMAX_GDM72XX_QOS=y @@ -6908,6 +6826,11 @@ CONFIG_PVPANIC=m CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m + +# +# SOC (System On Chip) specific Drivers +# +CONFIG_SOC_TI=y CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -6943,7 +6866,6 @@ CONFIG_DW_APB_TIMER=y # CONFIG_SH_TIMER_TMU is not set # CONFIG_EM_TIMER_STI is not set CONFIG_MAILBOX=y -CONFIG_PCC=y CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y CONFIG_DMAR_TABLE=y @@ -6964,7 +6886,6 @@ CONFIG_STE_MODEM_RPROC=m # # SOC (System On Chip) specific Drivers # -CONFIG_SOC_TI=y CONFIG_PM_DEVFREQ=y # @@ -7027,7 +6948,6 @@ CONFIG_AD7793=m CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD799X=m -CONFIG_AXP288_ADC=m CONFIG_LP8788_ADC=m CONFIG_MAX1027=m CONFIG_MAX1363=m @@ -7035,7 +6955,6 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m -CONFIG_QCOM_SPMI_IADC=m CONFIG_TI_ADC081C=m CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m @@ -7111,7 +7030,6 @@ CONFIG_ITG3200=m # CONFIG_DHT11=m CONFIG_SI7005=m -CONFIG_SI7020=m # # Inertial measurement units @@ -7168,7 +7086,6 @@ CONFIG_IIO_SYSFS_TRIGGER=m # # Pressure sensors # -CONFIG_BMP280=m CONFIG_HID_SENSOR_PRESS=m CONFIG_MPL115=m CONFIG_MPL3115=m @@ -7240,11 +7157,6 @@ CONFIG_MCB_PCI=m CONFIG_RAS=y CONFIG_THUNDERBOLT=m -# -# Android -# -# CONFIG_ANDROID is not set - # # Firmware Drivers # @@ -7430,7 +7342,6 @@ CONFIG_SQUASHFS_FILE_DIRECT=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set @@ -7615,7 +7526,6 @@ CONFIG_FRAME_WARN=1024 # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_READABLE_ASM is not set CONFIG_UNUSED_SYMBOLS=y -# CONFIG_PAGE_OWNER is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set @@ -7629,7 +7539,6 @@ CONFIG_DEBUG_KERNEL=y # # Memory Debugging # -# CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set @@ -7666,7 +7575,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y -CONFIG_SCHED_STACK_END_CHECK=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7783,7 +7692,6 @@ CONFIG_KGDB_SERIAL_CONSOLE=y # CONFIG_KGDB_TESTS is not set CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y -CONFIG_KDB_DEFAULT_ENABLE=0x1 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_STRICT_DEVMEM=y @@ -7873,7 +7781,6 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y -# CONFIG_IMA_LOAD_X509 is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf index cf4cd766c0..0b865808ab 100644 --- a/gnu/packages/linux-libre-x86_64.conf +++ b/gnu/packages/linux-libre-x86_64.conf @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.19.0-gnu Kernel Configuration +# Linux/x86 3.18.4-gnu Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y @@ -89,7 +89,6 @@ CONFIG_GENERIC_IRQ_LEGACY_ALLOC_HWIRQ=y CONFIG_GENERIC_PENDING_IRQ=y CONFIG_GENERIC_IRQ_CHIP=y CONFIG_IRQ_DOMAIN=y -CONFIG_GENERIC_MSI_IRQ=y # CONFIG_IRQ_DOMAIN_DEBUG is not set CONFIG_IRQ_FORCED_THREADING=y CONFIG_SPARSE_IRQ=y @@ -109,17 +108,19 @@ CONFIG_GENERIC_CMOS_UPDATE=y CONFIG_TICK_ONESHOT=y CONFIG_NO_HZ_COMMON=y # CONFIG_HZ_PERIODIC is not set -CONFIG_NO_HZ_IDLE=y -# CONFIG_NO_HZ_FULL is not set +# CONFIG_NO_HZ_IDLE is not set +CONFIG_NO_HZ_FULL=y +# CONFIG_NO_HZ_FULL_ALL is not set +CONFIG_NO_HZ_FULL_SYSIDLE=y +CONFIG_NO_HZ_FULL_SYSIDLE_SMALL=8 CONFIG_NO_HZ=y CONFIG_HIGH_RES_TIMERS=y # # CPU/Task time and stats accounting # -CONFIG_TICK_CPU_ACCOUNTING=y -# CONFIG_VIRT_CPU_ACCOUNTING_GEN is not set -# CONFIG_IRQ_TIME_ACCOUNTING is not set +CONFIG_VIRT_CPU_ACCOUNTING=y +CONFIG_VIRT_CPU_ACCOUNTING_GEN=y CONFIG_BSD_PROCESS_ACCT=y CONFIG_BSD_PROCESS_ACCT_V3=y CONFIG_TASKSTATS=y @@ -131,6 +132,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # RCU Subsystem # CONFIG_TREE_RCU=y +# CONFIG_PREEMPT_RCU is not set # CONFIG_TASKS_RCU is not set CONFIG_RCU_STALL_COMMON=y CONFIG_CONTEXT_TRACKING=y @@ -152,8 +154,8 @@ CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y CONFIG_ARCH_SUPPORTS_NUMA_BALANCING=y CONFIG_ARCH_SUPPORTS_INT128=y -CONFIG_NUMA_BALANCING=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y +CONFIG_NUMA_BALANCING=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_FREEZER=y @@ -161,7 +163,7 @@ CONFIG_CGROUP_DEVICE=y CONFIG_CPUSETS=y CONFIG_PROC_PID_CPUSET=y CONFIG_CGROUP_CPUACCT=y -CONFIG_PAGE_COUNTER=y +CONFIG_RESOURCE_COUNTERS=y CONFIG_MEMCG=y CONFIG_MEMCG_SWAP=y # CONFIG_MEMCG_SWAP_ENABLED is not set @@ -192,7 +194,6 @@ CONFIG_RD_LZMA=y CONFIG_RD_XZ=y CONFIG_RD_LZO=y CONFIG_RD_LZ4=y -CONFIG_INIT_FALLBACK=y # CONFIG_CC_OPTIMIZE_FOR_SIZE is not set CONFIG_SYSCTL=y CONFIG_ANON_INODES=y @@ -300,7 +301,6 @@ CONFIG_COMPAT_OLD_SIGACTION=y # GCOV-based kernel profiling # # CONFIG_GCOV_KERNEL is not set -CONFIG_ARCH_HAS_GCOV_PROFILE_ALL=y # CONFIG_HAVE_GENERIC_DMA_COHERENT is not set CONFIG_SLABINFO=y CONFIG_RT_MUTEXES=y @@ -451,7 +451,6 @@ CONFIG_SCHED_MC=y # CONFIG_PREEMPT_NONE is not set CONFIG_PREEMPT_VOLUNTARY=y # CONFIG_PREEMPT is not set -CONFIG_X86_UP_APIC_MSI=y CONFIG_X86_LOCAL_APIC=y CONFIG_X86_IO_APIC=y CONFIG_X86_REROUTE_FOR_BROKEN_BOOT_IRQS=y @@ -463,7 +462,6 @@ CONFIG_X86_MCE_INJECT=m CONFIG_X86_THERMAL_VECTOR=y CONFIG_X86_16BIT=y CONFIG_X86_ESPFIX64=y -CONFIG_X86_VSYSCALL_EMULATION=y CONFIG_I8K=m CONFIG_MICROCODE=y CONFIG_MICROCODE_INTEL=y @@ -551,7 +549,6 @@ CONFIG_X86_PAT=y CONFIG_ARCH_USES_PG_UNCACHED=y CONFIG_ARCH_RANDOM=y CONFIG_X86_SMAP=y -# CONFIG_X86_INTEL_MPX is not set CONFIG_EFI=y CONFIG_EFI_STUB=y CONFIG_EFI_MIXED=y @@ -597,6 +594,7 @@ CONFIG_PM_SLEEP_SMP=y CONFIG_PM_WAKELOCKS=y CONFIG_PM_WAKELOCKS_LIMIT=100 CONFIG_PM_WAKELOCKS_GC=y +CONFIG_PM_RUNTIME=y CONFIG_PM=y CONFIG_PM_DEBUG=y CONFIG_PM_ADVANCED_DEBUG=y @@ -647,7 +645,6 @@ CONFIG_ACPI_APEI_MEMORY_FAILURE=y CONFIG_ACPI_APEI_EINJ=m # CONFIG_ACPI_APEI_ERST_DEBUG is not set CONFIG_ACPI_EXTLOG=m -# CONFIG_PMIC_OPREGION is not set CONFIG_SFI=y # @@ -669,7 +666,7 @@ CONFIG_CPU_FREQ_GOV_ONDEMAND=y CONFIG_CPU_FREQ_GOV_CONSERVATIVE=y # -# CPU frequency scaling drivers +# x86 CPU frequency scaling drivers # CONFIG_X86_INTEL_PSTATE=y CONFIG_X86_PCC_CPUFREQ=y @@ -730,6 +727,7 @@ CONFIG_PCI_ATS=y CONFIG_PCI_IOV=y CONFIG_PCI_PRI=y CONFIG_PCI_PASID=y +CONFIG_PCI_IOAPIC=y CONFIG_PCI_LABEL=y # @@ -842,7 +840,6 @@ CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m CONFIG_NET_FOU=m -CONFIG_NET_FOU_IP_TUNNELS=y CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m @@ -954,7 +951,6 @@ CONFIG_NF_NAT_FTP=m CONFIG_NF_NAT_IRC=m CONFIG_NF_NAT_SIP=m CONFIG_NF_NAT_TFTP=m -CONFIG_NF_NAT_REDIRECT=m CONFIG_NETFILTER_SYNPROXY=m CONFIG_NF_TABLES=m CONFIG_NF_TABLES_INET=m @@ -967,7 +963,6 @@ CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m CONFIG_NFT_MASQ=m -CONFIG_NFT_REDIR=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1136,7 +1131,6 @@ CONFIG_NF_NAT_IPV4=m CONFIG_NFT_CHAIN_NAT_IPV4=m CONFIG_NF_NAT_MASQUERADE_IPV4=m CONFIG_NFT_MASQ_IPV4=m -CONFIG_NFT_REDIR_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1177,7 +1171,6 @@ CONFIG_NF_NAT_IPV6=m CONFIG_NFT_CHAIN_NAT_IPV6=m CONFIG_NF_NAT_MASQUERADE_IPV6=m CONFIG_NFT_MASQ_IPV6=m -CONFIG_NFT_REDIR_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1277,7 +1270,6 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m -CONFIG_NET_DSA_HWMON=y CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y @@ -1369,7 +1361,6 @@ CONFIG_NET_ACT_PEDIT=m CONFIG_NET_ACT_SIMP=m CONFIG_NET_ACT_SKBEDIT=m CONFIG_NET_ACT_CSUM=m -CONFIG_NET_ACT_VLAN=m # CONFIG_NET_CLS_IND is not set CONFIG_NET_SCH_FIFO=y CONFIG_DCB=y @@ -1381,16 +1372,15 @@ CONFIG_BATMAN_ADV_NC=y CONFIG_BATMAN_ADV_MCAST=y # CONFIG_BATMAN_ADV_DEBUG is not set CONFIG_OPENVSWITCH=m -CONFIG_OPENVSWITCH_GRE=m -CONFIG_OPENVSWITCH_VXLAN=m -CONFIG_OPENVSWITCH_GENEVE=m +CONFIG_OPENVSWITCH_GRE=y +CONFIG_OPENVSWITCH_VXLAN=y +CONFIG_OPENVSWITCH_GENEVE=y CONFIG_VSOCKETS=m CONFIG_VMWARE_VMCI_VSOCKETS=m CONFIG_NETLINK_MMAP=y CONFIG_NETLINK_DIAG=m CONFIG_NET_MPLS_GSO=m CONFIG_HSR=m -# CONFIG_NET_SWITCHDEV is not set CONFIG_RPS=y CONFIG_RFS_ACCEL=y CONFIG_XPS=y @@ -1533,7 +1523,7 @@ CONFIG_VLSI_FIR=m CONFIG_VIA_FIR=m CONFIG_MCS_FIR=m CONFIG_BT=m -CONFIG_BT_BREDR=y +CONFIG_BT_6LOWPAN=m CONFIG_BT_RFCOMM=m CONFIG_BT_RFCOMM_TTY=y CONFIG_BT_BNEP=m @@ -1541,8 +1531,6 @@ CONFIG_BT_BNEP_MC_FILTER=y CONFIG_BT_BNEP_PROTO_FILTER=y CONFIG_BT_CMTP=m CONFIG_BT_HIDP=m -CONFIG_BT_LE=y -CONFIG_BT_6LOWPAN=m # # Bluetooth device drivers @@ -1595,7 +1583,6 @@ CONFIG_MAC80211=m CONFIG_MAC80211_HAS_RC=y CONFIG_MAC80211_RC_MINSTREL=y CONFIG_MAC80211_RC_MINSTREL_HT=y -CONFIG_MAC80211_RC_MINSTREL_VHT=y CONFIG_MAC80211_RC_DEFAULT_MINSTREL=y CONFIG_MAC80211_RC_DEFAULT="minstrel_ht" CONFIG_MAC80211_MESH=y @@ -1647,8 +1634,7 @@ CONFIG_NFC_MRVL=m CONFIG_NFC_MRVL_USB=m CONFIG_NFC_ST21NFCA=m CONFIG_NFC_ST21NFCA_I2C=m -CONFIG_NFC_ST21NFCB=m -CONFIG_NFC_ST21NFCB_I2C=m +# CONFIG_NFC_ST21NFCB is not set CONFIG_HAVE_BPF_JIT=y # @@ -1669,9 +1655,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y # CONFIG_FW_LOADER_USER_HELPER_FALLBACK is not set -CONFIG_WANT_DEV_COREDUMP=y CONFIG_ALLOW_DEV_COREDUMP=y -CONFIG_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1680,7 +1664,6 @@ CONFIG_GENERIC_CPU_AUTOPROBE=y CONFIG_REGMAP=y CONFIG_REGMAP_I2C=y CONFIG_REGMAP_SPI=y -CONFIG_REGMAP_SPMI=m CONFIG_REGMAP_MMIO=y CONFIG_REGMAP_IRQ=y CONFIG_DMA_SHARED_BUFFER=y @@ -2125,8 +2108,7 @@ CONFIG_SCSI_QLA_ISCSI=m CONFIG_SCSI_LPFC=m # CONFIG_SCSI_LPFC_DEBUG_FS is not set CONFIG_SCSI_DC395x=m -CONFIG_SCSI_AM53C974=m -CONFIG_SCSI_WD719X=m +CONFIG_SCSI_DC390T=m CONFIG_SCSI_DEBUG=m CONFIG_SCSI_PMCRAID=m CONFIG_SCSI_PM8001=m @@ -2334,7 +2316,6 @@ CONFIG_NET_TEAM_MODE_ACTIVEBACKUP=m CONFIG_NET_TEAM_MODE_LOADBALANCE=m CONFIG_MACVLAN=m CONFIG_MACVTAP=m -CONFIG_IPVLAN=m CONFIG_VXLAN=m CONFIG_NETCONSOLE=m CONFIG_NETCONSOLE_DYNAMIC=y @@ -2413,7 +2394,6 @@ CONFIG_NET_DSA_MV88E6XXX_NEED_PPU=y CONFIG_NET_DSA_MV88E6131=m CONFIG_NET_DSA_MV88E6123_61_65=m CONFIG_NET_DSA_MV88E6171=m -CONFIG_NET_DSA_MV88E6352=m CONFIG_NET_DSA_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m @@ -2447,7 +2427,6 @@ CONFIG_B44=m CONFIG_B44_PCI_AUTOSELECT=y CONFIG_B44_PCICORE_AUTOSELECT=y CONFIG_B44_PCI=y -CONFIG_BCMGENET=m CONFIG_BNX2=m CONFIG_CNIC=m CONFIG_TIGON3=m @@ -2511,7 +2490,7 @@ CONFIG_IXGBEVF=m CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y -CONFIG_I40E_FCOE=y +# CONFIG_I40E_FCOE is not set CONFIG_I40EVF=m CONFIG_FM10K=m CONFIG_FM10K_VXLAN=y @@ -2579,7 +2558,6 @@ CONFIG_8139TOO_8129=y CONFIG_R8169=m CONFIG_NET_VENDOR_RDC=y CONFIG_R6040=m -CONFIG_NET_VENDOR_ROCKER=y CONFIG_NET_VENDOR_SAMSUNG=y CONFIG_SXGBE_ETH=m CONFIG_NET_VENDOR_SEEQ=y @@ -2600,8 +2578,10 @@ CONFIG_SMSC911X=m CONFIG_SMSC9420=m CONFIG_NET_VENDOR_STMICRO=y CONFIG_STMMAC_ETH=m -CONFIG_STMMAC_PLATFORM=m +CONFIG_STMMAC_PLATFORM=y # CONFIG_STMMAC_PCI is not set +# CONFIG_STMMAC_DEBUG_FS is not set +# CONFIG_STMMAC_DA is not set CONFIG_NET_VENDOR_SUN=y CONFIG_HAPPYMEAL=m CONFIG_SUNGEM=m @@ -2756,7 +2736,6 @@ CONFIG_ATH9K_STATION_STATISTICS=y CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y CONFIG_ATH9K_CHANNEL_CONTEXT=y -CONFIG_ATH9K_PCOEM=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2843,7 +2822,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set -# CONFIG_IWLWIFI_UAPSD is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -2981,6 +2960,7 @@ CONFIG_X25_ASY=m CONFIG_SBNI=m # CONFIG_SBNI_MULTILINE is not set CONFIG_IEEE802154_DRIVERS=m +# CONFIG_IEEE802154_FAKEHARD is not set CONFIG_IEEE802154_FAKELB=m CONFIG_IEEE802154_AT86RF230=m CONFIG_IEEE802154_MRF24J40=m @@ -3186,9 +3166,6 @@ CONFIG_MOUSE_SERIAL=m CONFIG_MOUSE_APPLETOUCH=m CONFIG_MOUSE_BCM5974=m CONFIG_MOUSE_CYAPA=m -CONFIG_MOUSE_ELAN_I2C=m -CONFIG_MOUSE_ELAN_I2C_I2C=y -CONFIG_MOUSE_ELAN_I2C_SMBUS=y CONFIG_MOUSE_VSXXXAA=m CONFIG_MOUSE_GPIO=m CONFIG_MOUSE_SYNAPTICS_I2C=m @@ -3254,10 +3231,8 @@ CONFIG_TOUCHSCREEN_DYNAPRO=m CONFIG_TOUCHSCREEN_HAMPSHIRE=m CONFIG_TOUCHSCREEN_EETI=m CONFIG_TOUCHSCREEN_FUJITSU=m -CONFIG_TOUCHSCREEN_GOODIX=m CONFIG_TOUCHSCREEN_ILI210X=m CONFIG_TOUCHSCREEN_GUNZE=m -CONFIG_TOUCHSCREEN_ELAN=m CONFIG_TOUCHSCREEN_ELO=m CONFIG_TOUCHSCREEN_WACOM_W8001=m CONFIG_TOUCHSCREEN_WACOM_I2C=m @@ -3475,7 +3450,6 @@ CONFIG_IPMI_HANDLER=m CONFIG_IPMI_DEVICE_INTERFACE=m CONFIG_IPMI_SI=m CONFIG_IPMI_SI_PROBE_DEFAULTS=y -CONFIG_IPMI_SSIF=m CONFIG_IPMI_WATCHDOG=m CONFIG_IPMI_POWEROFF=m CONFIG_HW_RANDOM=y @@ -3589,7 +3563,6 @@ CONFIG_I2C_XILINX=m # External I2C/SMBus adapter drivers # CONFIG_I2C_DIOLAN_U2C=m -CONFIG_I2C_DLN2=m CONFIG_I2C_PARPORT=m CONFIG_I2C_PARPORT_LIGHT=m CONFIG_I2C_ROBOTFUZZ_OSIF=m @@ -3602,7 +3575,6 @@ CONFIG_I2C_VIPERBOARD=m # CONFIG_I2C_CROS_EC_TUNNEL=m CONFIG_I2C_STUB=m -# CONFIG_I2C_SLAVE is not set # CONFIG_I2C_DEBUG_CORE is not set # CONFIG_I2C_DEBUG_ALGO is not set # CONFIG_I2C_DEBUG_BUS is not set @@ -3679,12 +3651,8 @@ CONFIG_PINCTRL=y # # Pin controllers # -CONFIG_PINMUX=y -CONFIG_PINCONF=y -CONFIG_GENERIC_PINCONF=y # CONFIG_DEBUG_PINCTRL is not set CONFIG_PINCTRL_BAYTRAIL=y -CONFIG_PINCTRL_CHERRYVIEW=m CONFIG_ARCH_WANT_OPTIONAL_GPIOLIB=y CONFIG_GPIOLIB=y CONFIG_GPIO_DEVRES=y @@ -3701,6 +3669,7 @@ CONFIG_GPIO_MAX730X=m # Memory mapped GPIO drivers: # CONFIG_GPIO_GENERIC_PLATFORM=m +CONFIG_GPIO_DWAPB=m CONFIG_GPIO_IT8761E=m CONFIG_GPIO_F7188X=m CONFIG_GPIO_SCH311X=m @@ -3768,7 +3737,6 @@ CONFIG_GPIO_TPS65910=y # USB GPIO expanders: # CONFIG_GPIO_VIPERBOARD=m -CONFIG_GPIO_DLN2=m CONFIG_W1=m CONFIG_W1_CON=y @@ -3893,7 +3861,6 @@ CONFIG_SENSORS_HIH6130=m CONFIG_SENSORS_IBMAEM=m CONFIG_SENSORS_IBMPEX=m CONFIG_SENSORS_IIO_HWMON=m -CONFIG_SENSORS_I5500=m CONFIG_SENSORS_CORETEMP=m CONFIG_SENSORS_IT87=m CONFIG_SENSORS_JC42=m @@ -3940,14 +3907,12 @@ CONFIG_SENSORS_PC87427=m CONFIG_SENSORS_NTC_THERMISTOR=m CONFIG_SENSORS_NCT6683=m CONFIG_SENSORS_NCT6775=m -CONFIG_SENSORS_NCT7802=m CONFIG_SENSORS_PCF8591=m CONFIG_PMBUS=m CONFIG_SENSORS_PMBUS=m CONFIG_SENSORS_ADM1275=m CONFIG_SENSORS_LM25066=m CONFIG_SENSORS_LTC2978=m -CONFIG_SENSORS_LTC2978_REGULATOR=y CONFIG_SENSORS_MAX16064=m CONFIG_SENSORS_MAX34440=m CONFIG_SENSORS_MAX8688=m @@ -4140,7 +4105,6 @@ CONFIG_MFD_DA9052_SPI=y CONFIG_MFD_DA9052_I2C=y CONFIG_MFD_DA9055=y CONFIG_MFD_DA9063=y -CONFIG_MFD_DLN2=m CONFIG_MFD_MC13XXX=m CONFIG_MFD_MC13XXX_SPI=m CONFIG_MFD_MC13XXX_I2C=m @@ -4219,7 +4183,7 @@ CONFIG_MFD_WM831X_I2C=y CONFIG_MFD_WM831X_SPI=y CONFIG_MFD_WM8350=y CONFIG_MFD_WM8350_I2C=y -CONFIG_MFD_WM8994=m +CONFIG_MFD_WM8994=y CONFIG_REGULATOR=y # CONFIG_REGULATOR_DEBUG is not set CONFIG_REGULATOR_FIXED_VOLTAGE=m @@ -4359,9 +4323,16 @@ CONFIG_IR_NUVOTON=m CONFIG_IR_REDRAT3=m CONFIG_IR_STREAMZAP=m CONFIG_IR_WINBOND_CIR=m -CONFIG_IR_IGORPLUGUSB=m CONFIG_IR_IGUANA=m CONFIG_IR_TTUSBIR=m +CONFIG_IR_IMG=m +# CONFIG_IR_IMG_RAW is not set +CONFIG_IR_IMG_HW=y +CONFIG_IR_IMG_NEC=y +CONFIG_IR_IMG_JVC=y +CONFIG_IR_IMG_SONY=y +CONFIG_IR_IMG_SHARP=y +CONFIG_IR_IMG_SANYO=y CONFIG_RC_LOOPBACK=m CONFIG_IR_GPIO_CIR=m CONFIG_MEDIA_USB_SUPPORT=y @@ -4437,6 +4408,7 @@ CONFIG_VIDEO_PVRUSB2_SYSFS=y CONFIG_VIDEO_PVRUSB2_DVB=y # CONFIG_VIDEO_PVRUSB2_DEBUGIFC is not set CONFIG_VIDEO_HDPVR=m +CONFIG_VIDEO_TLG2300=m CONFIG_VIDEO_USBVISION=m CONFIG_VIDEO_STK1160_COMMON=m CONFIG_VIDEO_STK1160_AC97=y @@ -4599,7 +4571,6 @@ CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m CONFIG_DVB_NGENE=m CONFIG_DVB_DDBRIDGE=m -CONFIG_DVB_SMIPCIE=m CONFIG_V4L_PLATFORM_DRIVERS=y CONFIG_VIDEO_CAFE_CCIC=m CONFIG_VIDEO_VIA_CAMERA=m @@ -4610,12 +4581,16 @@ CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m CONFIG_V4L_TEST_DRIVERS=y CONFIG_VIDEO_VIVID=m -CONFIG_VIDEO_VIM2M=m +CONFIG_VIDEO_MEM2MEM_TESTDEV=m # # Supported MMC/SDIO adapters # CONFIG_SMS_SDIO_DRV=m +CONFIG_MEDIA_PARPORT_SUPPORT=y +CONFIG_VIDEO_BWQCAM=m +CONFIG_VIDEO_CQCAM=m +CONFIG_VIDEO_W9966=m CONFIG_RADIO_ADAPTERS=y CONFIG_RADIO_TEA575X=m CONFIG_RADIO_SI470X=y @@ -4801,7 +4776,6 @@ CONFIG_MEDIA_TUNER_TDA18212=m CONFIG_MEDIA_TUNER_E4000=m CONFIG_MEDIA_TUNER_FC2580=m CONFIG_MEDIA_TUNER_M88TS2022=m -CONFIG_MEDIA_TUNER_M88RS6000T=m CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m @@ -4913,10 +4887,6 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m - -# -# ISDB-S (satellite) & ISDB-T (terrestrial) frontends -# CONFIG_DVB_TC90522=m # @@ -4936,7 +4906,6 @@ CONFIG_DVB_ISL6405=m CONFIG_DVB_ISL6421=m CONFIG_DVB_ISL6423=m CONFIG_DVB_A8293=m -CONFIG_DVB_SP2=m CONFIG_DVB_LGS8GXX=m CONFIG_DVB_ATBM8830=m CONFIG_DVB_TDA665x=m @@ -4974,7 +4943,6 @@ CONFIG_DRM_TTM=m # # I2C encoder or helper chips # -CONFIG_DRM_I2C_ADV7511=m CONFIG_DRM_I2C_CH7006=m CONFIG_DRM_I2C_SIL164=m CONFIG_DRM_I2C_NXP_TDA998X=m @@ -5007,7 +4975,6 @@ CONFIG_DRM_AST=m CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_QXL=m # CONFIG_DRM_BOCHS is not set -CONFIG_HSA_AMD=m # # Frame buffer Devices @@ -5344,7 +5311,7 @@ CONFIG_SND_BCD2000=m CONFIG_SND_FIREWIRE=y CONFIG_SND_FIREWIRE_LIB=m CONFIG_SND_DICE=m -CONFIG_SND_OXFW=m +CONFIG_SND_FIREWIRE_SPEAKERS=m CONFIG_SND_ISIGHT=m CONFIG_SND_SCS1X=m CONFIG_SND_FIREWORKS=m @@ -5370,9 +5337,6 @@ CONFIG_SND_SOC_FSL_SSI=m CONFIG_SND_SOC_FSL_SPDIF=m CONFIG_SND_SOC_FSL_ESAI=m CONFIG_SND_SOC_IMX_AUDMUX=m -CONFIG_SND_SST_MFLD_PLATFORM=m -CONFIG_SND_SST_IPC=m -CONFIG_SND_SST_IPC_ACPI=m CONFIG_SND_SOC_INTEL_SST=m CONFIG_SND_SOC_INTEL_SST_ACPI=m CONFIG_SND_SOC_INTEL_HASWELL=m @@ -5381,8 +5345,6 @@ CONFIG_SND_SOC_INTEL_HASWELL_MACH=m CONFIG_SND_SOC_INTEL_BYT_RT5640_MACH=m CONFIG_SND_SOC_INTEL_BYT_MAX98090_MACH=m CONFIG_SND_SOC_INTEL_BROADWELL_MACH=m -CONFIG_SND_SOC_INTEL_BYTCR_RT5640_MACH=m -CONFIG_SND_SOC_INTEL_CHT_BSW_RT5672_MACH=m CONFIG_SND_SOC_I2C_AND_SPI=m # @@ -5395,16 +5357,12 @@ CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m CONFIG_SND_SOC_CS35L32=m -CONFIG_SND_SOC_CS42L51=m -CONFIG_SND_SOC_CS42L51_I2C=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m CONFIG_SND_SOC_CS4265=m CONFIG_SND_SOC_CS4270=m CONFIG_SND_SOC_CS4271=m -CONFIG_SND_SOC_CS4271_I2C=m -CONFIG_SND_SOC_CS4271_SPI=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m @@ -5417,10 +5375,7 @@ CONFIG_SND_SOC_PCM512x_I2C=m CONFIG_SND_SOC_PCM512x_SPI=m CONFIG_SND_SOC_RL6231=m CONFIG_SND_SOC_RT286=m -CONFIG_SND_SOC_RT5631=m CONFIG_SND_SOC_RT5640=m -CONFIG_SND_SOC_RT5670=m -# CONFIG_SND_SOC_RT5677_SPI is not set CONFIG_SND_SOC_SGTL5000=m CONFIG_SND_SOC_SI476X=m CONFIG_SND_SOC_SIGMADSP=m @@ -5434,13 +5389,8 @@ CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m -CONFIG_SND_SOC_TFA9879=m -CONFIG_SND_SOC_TLV320AIC23=m -CONFIG_SND_SOC_TLV320AIC23_I2C=m -CONFIG_SND_SOC_TLV320AIC23_SPI=m CONFIG_SND_SOC_TLV320AIC31XX=m CONFIG_SND_SOC_TLV320AIC3X=m -CONFIG_SND_SOC_TS3A227E=m CONFIG_SND_SOC_WM8510=m CONFIG_SND_SOC_WM8523=m CONFIG_SND_SOC_WM8580=m @@ -5466,7 +5416,6 @@ CONFIG_AC97_BUS=m # HID support # CONFIG_HID=m -CONFIG_HID_BATTERY_STRENGTH=y CONFIG_HIDRAW=y CONFIG_UHID=m CONFIG_HID_GENERIC=m @@ -5508,7 +5457,6 @@ CONFIG_HID_LCPOWER=m CONFIG_HID_LENOVO=m CONFIG_HID_LOGITECH=m CONFIG_HID_LOGITECH_DJ=m -CONFIG_HID_LOGITECH_HIDPP=m CONFIG_LOGITECH_FF=y CONFIG_LOGIRUMBLEPAD2_FF=y CONFIG_LOGIG940_FF=y @@ -5529,7 +5477,6 @@ CONFIG_HID_PICOLCD_BACKLIGHT=y CONFIG_HID_PICOLCD_LCD=y CONFIG_HID_PICOLCD_LEDS=y CONFIG_HID_PICOLCD_CIR=y -CONFIG_HID_PLANTRONICS=m CONFIG_HID_PRIMAX=m CONFIG_HID_ROCCAT=m CONFIG_HID_SAITEK=m @@ -5676,10 +5623,9 @@ CONFIG_USB_MUSB_HDRC=m # CONFIG_USB_MUSB_HOST is not set # CONFIG_USB_MUSB_GADGET is not set CONFIG_USB_MUSB_DUAL_ROLE=y - -# -# Platform Glue Layer -# +CONFIG_USB_MUSB_TUSB6010=m +CONFIG_USB_MUSB_UX500=m +# CONFIG_USB_UX500_DMA is not set CONFIG_MUSB_PIO_ONLY=y CONFIG_USB_DWC3=m # CONFIG_USB_DWC3_HOST is not set @@ -5697,13 +5643,14 @@ CONFIG_USB_DWC3_PCI=m # CONFIG_USB_DWC3_DEBUG is not set CONFIG_DWC3_HOST_USB3_LPM_ENABLE=y CONFIG_USB_DWC2=y -CONFIG_USB_DWC2_HOST=y +CONFIG_USB_DWC2_HOST=m +CONFIG_USB_DWC2_PLATFORM=y +CONFIG_USB_DWC2_PCI=y # -# Gadget/Dual-role mode requires USB Gadget support to be enabled +# Gadget mode requires USB Gadget support to be enabled # -CONFIG_USB_DWC2_PLATFORM=y -CONFIG_USB_DWC2_PCI=y +CONFIG_USB_DWC2_PERIPHERAL=m # CONFIG_USB_DWC2_DEBUG is not set # CONFIG_USB_DWC2_TRACK_MISSED_SOFS is not set CONFIG_USB_CHIPIDEA=m @@ -5842,12 +5789,6 @@ CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m # CONFIG_USB_M66592 is not set -CONFIG_USB_BDC_UDC=m - -# -# Platform Support -# -CONFIG_USB_BDC_PCI=m CONFIG_USB_AMD5536UDC=m CONFIG_USB_NET2272=m CONFIG_USB_NET2272_DMA=y @@ -5871,10 +5812,7 @@ CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m CONFIG_USB_F_UAC1=m -CONFIG_USB_F_UAC2=m CONFIG_USB_F_UVC=m -CONFIG_USB_F_MIDI=m -CONFIG_USB_F_HID=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5888,10 +5826,6 @@ CONFIG_USB_CONFIGFS_PHONET=y CONFIG_USB_CONFIGFS_MASS_STORAGE=y CONFIG_USB_CONFIGFS_F_LB_SS=y CONFIG_USB_CONFIGFS_F_FS=y -CONFIG_USB_CONFIGFS_F_UAC1=y -CONFIG_USB_CONFIGFS_F_UAC2=y -CONFIG_USB_CONFIGFS_F_MIDI=y -CONFIG_USB_CONFIGFS_F_HID=y CONFIG_USB_ZERO=m CONFIG_USB_AUDIO=m CONFIG_GADGET_UAC1=y @@ -5957,7 +5891,6 @@ CONFIG_MMC_USHC=m CONFIG_MMC_USDHI6ROL0=m CONFIG_MMC_REALTEK_PCI=m CONFIG_MMC_REALTEK_USB=m -CONFIG_MMC_TOSHIBA_PCI=m CONFIG_MEMSTICK=m # CONFIG_MEMSTICK_DEBUG is not set @@ -5996,7 +5929,6 @@ CONFIG_LEDS_LP5523=m CONFIG_LEDS_LP5562=m CONFIG_LEDS_LP8501=m CONFIG_LEDS_LP8788=m -CONFIG_LEDS_LP8860=m CONFIG_LEDS_CLEVO_MAIL=m CONFIG_LEDS_PCA955X=m CONFIG_LEDS_PCA963X=m @@ -6045,7 +5977,6 @@ CONFIG_INFINIBAND=m CONFIG_INFINIBAND_USER_MAD=m CONFIG_INFINIBAND_USER_ACCESS=m CONFIG_INFINIBAND_USER_MEM=y -CONFIG_INFINIBAND_ON_DEMAND_PAGING=y CONFIG_INFINIBAND_ADDR_TRANS=y CONFIG_INFINIBAND_MTHCA=m # CONFIG_INFINIBAND_MTHCA_DEBUG is not set @@ -6113,7 +6044,6 @@ CONFIG_RTC_DRV_88PM860X=m CONFIG_RTC_DRV_88PM80X=m CONFIG_RTC_DRV_DS1307=m CONFIG_RTC_DRV_DS1374=m -CONFIG_RTC_DRV_DS1374_WDT=y CONFIG_RTC_DRV_DS1672=m CONFIG_RTC_DRV_DS3232=m CONFIG_RTC_DRV_LP8788=m @@ -6245,8 +6175,6 @@ CONFIG_VFIO_IOMMU_TYPE1=m CONFIG_VFIO=m CONFIG_VFIO_PCI=m CONFIG_VFIO_PCI_VGA=y -CONFIG_VFIO_PCI_MMAP=y -CONFIG_VFIO_PCI_INTX=y CONFIG_VIRT_DRIVERS=y CONFIG_VIRTIO=y @@ -6348,9 +6276,10 @@ CONFIG_COMEDI_PCMMIO=m CONFIG_COMEDI_PCMUIO=m CONFIG_COMEDI_MULTIQ3=m CONFIG_COMEDI_S526=m -CONFIG_COMEDI_PCI_DRIVERS=m +CONFIG_COMEDI_PCI_DRIVERS=y CONFIG_COMEDI_8255_PCI=m CONFIG_COMEDI_ADDI_WATCHDOG=m +CONFIG_COMEDI_ADDI_APCI_035=m CONFIG_COMEDI_ADDI_APCI_1032=m CONFIG_COMEDI_ADDI_APCI_1500=m CONFIG_COMEDI_ADDI_APCI_1516=m @@ -6403,7 +6332,7 @@ CONFIG_COMEDI_RTD520=m CONFIG_COMEDI_S626=m CONFIG_COMEDI_MITE=m CONFIG_COMEDI_NI_TIOCMD=m -CONFIG_COMEDI_PCMCIA_DRIVERS=m +CONFIG_COMEDI_PCMCIA_DRIVERS=y CONFIG_COMEDI_CB_DAS16_CS=m CONFIG_COMEDI_DAS08_CS=m CONFIG_COMEDI_NI_DAQ_700_CS=m @@ -6411,7 +6340,7 @@ CONFIG_COMEDI_NI_DAQ_DIO24_CS=m CONFIG_COMEDI_NI_LABPC_CS=m CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m -CONFIG_COMEDI_USB_DRIVERS=m +CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m @@ -6546,6 +6475,7 @@ CONFIG_IIO_SIMPLE_DUMMY=m # CONFIG_IIO_SIMPLE_DUMMY_EVENTS is not set # CONFIG_IIO_SIMPLE_DUMMY_BUFFER is not set CONFIG_FB_XGI=m +CONFIG_BCM_WIMAX=m CONFIG_FT1000=m CONFIG_FT1000_USB=m CONFIG_FT1000_PCMCIA=m @@ -6573,16 +6503,10 @@ CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m # CONFIG_DT3155_CCIR is not set CONFIG_DT3155_STREAMING=y -CONFIG_VIDEO_TLG2300=m -CONFIG_DVB_MN88472=m -CONFIG_DVB_MN88473=m -CONFIG_MEDIA_PARPORT_SUPPORT=y -CONFIG_VIDEO_BWQCAM=m -CONFIG_VIDEO_CQCAM=m -CONFIG_VIDEO_W9966=m -CONFIG_VIDEO_SAA7191=m +# CONFIG_VIDEO_TCM825X is not set CONFIG_LIRC_STAGING=y CONFIG_LIRC_BT829=m +CONFIG_LIRC_IGORPLUGUSB=m CONFIG_LIRC_IMON=m CONFIG_LIRC_PARALLEL=m CONFIG_LIRC_SASEM=m @@ -6594,6 +6518,7 @@ CONFIG_LIRC_ZILOG=m # # Android # +# CONFIG_ANDROID is not set CONFIG_USB_WPAN_HCD=m CONFIG_WIMAX_GDM72XX=m CONFIG_WIMAX_GDM72XX_QOS=y @@ -6620,6 +6545,7 @@ CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m CONFIG_CRYPTO_SKEIN=y +CONFIG_CRYPTO_THREEFISH=y CONFIG_UNISYSSPAR=y CONFIG_UNISYS_VISORUTIL=m CONFIG_UNISYS_VISORCHANNEL=m @@ -6683,6 +6609,11 @@ CONFIG_PVPANIC=m CONFIG_CHROME_PLATFORMS=y CONFIG_CHROMEOS_LAPTOP=m CONFIG_CHROMEOS_PSTORE=m + +# +# SOC (System On Chip) specific Drivers +# +CONFIG_SOC_TI=y CONFIG_CLKDEV_LOOKUP=y CONFIG_HAVE_CLK_PREPARE=y CONFIG_COMMON_CLK=y @@ -6716,7 +6647,6 @@ CONFIG_CLKBLD_I8253=y # CONFIG_SH_TIMER_TMU is not set # CONFIG_EM_TIMER_STI is not set CONFIG_MAILBOX=y -CONFIG_PCC=y CONFIG_IOMMU_API=y CONFIG_IOMMU_SUPPORT=y CONFIG_AMD_IOMMU=y @@ -6741,7 +6671,6 @@ CONFIG_STE_MODEM_RPROC=m # # SOC (System On Chip) specific Drivers # -CONFIG_SOC_TI=y CONFIG_PM_DEVFREQ=y # @@ -6804,7 +6733,6 @@ CONFIG_AD7793=m CONFIG_AD7887=m CONFIG_AD7923=m CONFIG_AD799X=m -CONFIG_AXP288_ADC=m CONFIG_LP8788_ADC=m CONFIG_MAX1027=m CONFIG_MAX1363=m @@ -6812,7 +6740,6 @@ CONFIG_MCP320X=m CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m -CONFIG_QCOM_SPMI_IADC=m CONFIG_TI_ADC081C=m CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m @@ -6888,7 +6815,6 @@ CONFIG_ITG3200=m # CONFIG_DHT11=m CONFIG_SI7005=m -CONFIG_SI7020=m # # Inertial measurement units @@ -6945,7 +6871,6 @@ CONFIG_IIO_SYSFS_TRIGGER=m # # Pressure sensors # -CONFIG_BMP280=m CONFIG_HID_SENSOR_PRESS=m CONFIG_MPL115=m CONFIG_MPL3115=m @@ -7017,11 +6942,6 @@ CONFIG_MCB_PCI=m CONFIG_RAS=y CONFIG_THUNDERBOLT=m -# -# Android -# -# CONFIG_ANDROID is not set - # # Firmware Drivers # @@ -7208,7 +7128,6 @@ CONFIG_SQUASHFS_FILE_DIRECT=y CONFIG_SQUASHFS_DECOMP_MULTI_PERCPU=y CONFIG_SQUASHFS_XATTR=y CONFIG_SQUASHFS_ZLIB=y -# CONFIG_SQUASHFS_LZ4 is not set CONFIG_SQUASHFS_LZO=y CONFIG_SQUASHFS_XZ=y # CONFIG_SQUASHFS_4K_DEVBLK_SIZE is not set @@ -7393,7 +7312,6 @@ CONFIG_FRAME_WARN=1024 # CONFIG_STRIP_ASM_SYMS is not set # CONFIG_READABLE_ASM is not set CONFIG_UNUSED_SYMBOLS=y -# CONFIG_PAGE_OWNER is not set CONFIG_DEBUG_FS=y # CONFIG_HEADERS_CHECK is not set # CONFIG_DEBUG_SECTION_MISMATCH is not set @@ -7407,7 +7325,6 @@ CONFIG_DEBUG_KERNEL=y # # Memory Debugging # -# CONFIG_PAGE_EXTENSION is not set # CONFIG_DEBUG_PAGEALLOC is not set # CONFIG_DEBUG_OBJECTS is not set # CONFIG_SLUB_DEBUG_ON is not set @@ -7443,7 +7360,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y -CONFIG_SCHED_STACK_END_CHECK=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7561,7 +7478,6 @@ CONFIG_KGDB_SERIAL_CONSOLE=y # CONFIG_KGDB_TESTS is not set CONFIG_KGDB_LOW_LEVEL_TRAP=y CONFIG_KGDB_KDB=y -CONFIG_KDB_DEFAULT_ENABLE=0x1 CONFIG_KDB_KEYBOARD=y CONFIG_KDB_CONTINUE_CATASTROPHIC=0 CONFIG_STRICT_DEVMEM=y @@ -7651,7 +7567,6 @@ CONFIG_IMA_DEFAULT_HASH_SHA1=y CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y -# CONFIG_IMA_LOAD_X509 is not set CONFIG_EVM=y CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0999b57329..d1f3a4ffd5 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.19") + (let* ((version "3.18.6") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1ndrflzalkcyy61im6kcm8z681yaq2hwqgn6zbd7r3j9mscyqq1a")))) + "1mqy91q4291pikximwj542rx2mgrinn57df3403s3rkf8ix97bdw")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) -- cgit 1.4.1 From 8722166cfad2cea889800abd6bbca36573ccec11 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 14 Feb 2015 09:45:20 -0500 Subject: gnu: linux-libre: Update to 3.18.7. * gnu/packages/linux.scm (linux-libre): Update to 3.18.7. --- 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 d1f3a4ffd5..3bda6f2bb3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -198,7 +198,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.18.6") + (let* ((version "3.18.7") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -271,7 +271,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1mqy91q4291pikximwj542rx2mgrinn57df3403s3rkf8ix97bdw")))) + "113r2dzmiwlchp5b3hyjyx91jysx5j4hhxjw45gaky5nj9pax2rh")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) -- cgit 1.4.1 From bec07a7c083406b6691cd8162ab020e27d908b5c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Feb 2015 18:50:53 +0100 Subject: gnu: Add python2-pil. * gnu/packages/python.scm (python2-pil): New variable. --- gnu/packages/python.scm | 54 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 54 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6de1ed2907..697c832aac 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3051,3 +3051,57 @@ libxml2 and libxslt.") (define-public python2-pillow (package-with-python2 python-pillow)) + +(define-public python2-pil + (package + (name "python2-pil") + (version "1.1.7") + (source + (origin + (method url-fetch) + (uri (string-append + "http://effbot.org/downloads/Imaging-" + version ".tar.gz")) + (sha256 + (base32 + "04aj80jhfbmxqzvmq40zfi4z3cw6vi01m3wkk6diz3lc971cfnw9")))) + (build-system python-build-system) + (inputs + `(("freetype" ,freetype) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("python-setuptools" ,python-setuptools) + ("zlib" ,zlib))) + (arguments + ;; Only the fork python-pillow works with Python 3. + `(#:python ,python-2 + #:tests? #f ; no check target + #:phases + (alist-cons-before + 'build 'configure + ;; According to README and setup.py, manual configuration is + ;; the preferred way of "searching" for inputs. + ;; lcms is not found, TCL_ROOT refers to the unavailable tkinter. + (lambda* (#:key inputs #:allow-other-keys) + (let ((jpeg (assoc-ref inputs "libjpeg")) + (zlib (assoc-ref inputs "zlib")) + (tiff (assoc-ref inputs "libtiff")) + (freetype (assoc-ref inputs "freetype"))) + (substitute* "setup.py" + (("JPEG_ROOT = None") + (string-append "JPEG_ROOT = libinclude(\"" jpeg "\")")) + (("ZLIB_ROOT = None") + (string-append "ZLIB_ROOT = libinclude(\"" zlib "\")")) + (("TIFF_ROOT = None") + (string-append "TIFF_ROOT = libinclude(\"" tiff "\")")) + (("FREETYPE_ROOT = None") + (string-append "FREETYPE_ROOT = libinclude(\"" + freetype "\")"))))) + %standard-phases))) + (home-page "http://www.pythonware.com/products/pil/") + (synopsis "Python Imaging Library") + (description "The Python Imaging Library (PIL) adds image processing +capabilities to the Python interpreter.") + (license (x11-style + "file://README" + "See 'README' in the distribution.")))) -- cgit 1.4.1 From 092e86f54f5be0481fbe7bd42432e34fe6d7b1df Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Feb 2015 19:25:55 +0100 Subject: gnu: Add python2-cssutils. * gnu/packages/python.scm (python2-cssutils): New variable. --- gnu/packages/python.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 697c832aac..bd2e497c0d 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3105,3 +3105,42 @@ capabilities to the Python interpreter.") (license (x11-style "file://README" "See 'README' in the distribution.")))) + +(define-public python2-cssutils + (package + (name "python2-cssutils") + (version "1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/c/cssutils/cssutils-" + version + ".zip")) + (sha256 + (base32 + "1bwim1353r4hqiir73sn4sc43y7ymh09qx0kly7vj048blppc125")))) + (build-system python-build-system) + (native-inputs + `(("python2-mock" ,python2-mock) ; for the tests + ("unzip" ,unzip))) ; for unpacking the source + (inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + `(#:python ,python-2 ; Otherwise tests fail with a syntax error. + #:tests? #f ; The tests apparently download an external URL. + #:phases + (alist-replace + 'unpack + (lambda* (#:key source #:allow-other-keys) + (and (zero? (system* "unzip" source)) + (chdir "cssutils-1.0"))) + %standard-phases))) + (home-page "http://cthedot.de/cssutils/") + (synopsis + "CSS Cascading Style Sheets library for Python") + (description + "Cssutils is a Python package for parsing and building CSS +Cascading Style Sheets. Currently it provides a DOM only and no rendering +options.") + (license lgpl3+))) -- cgit 1.4.1 From 880ff77c17918b9cf3cb0432e70a8391b9942ec2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Feb 2015 19:37:56 +0100 Subject: gnu: Add python-cssselect. * gnu/packages/python.scm (python-cssselect, python2-cssselect): New variables. --- gnu/packages/python.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index bd2e497c0d..4bc023a9f6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3144,3 +3144,37 @@ capabilities to the Python interpreter.") Cascading Style Sheets. Currently it provides a DOM only and no rendering options.") (license lgpl3+))) + +(define-public python-cssselect + (package + (name "python-cssselect") + (version "0.9.1") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/c/cssselect/cssselect-" + version + ".tar.gz")) + (sha256 + (base32 + "10h623qnp6dp1191jri7lvgmnd4yfkl36k9smqklp1qlf3iafd85")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (arguments + ;; tests fail with message + ;; AttributeError: 'module' object has no attribute 'tests' + `(#:tests? #f)) + (home-page + "https://pythonhosted.org/cssselect/") + (synopsis + "CSS3 selector parser and translator to XPath 1.0") + (description + "Cssselect ia a Python module that parses CSS3 Selectors and translates +them to XPath 1.0 expressions. Such expressions can be used in lxml or +another XPath engine to find the matching elements in an XML or HTML document.") + (license bsd-3))) + +(define-public python2-cssselect + (package-with-python2 python-cssselect)) -- cgit 1.4.1 From 0b0e11a9d8c366ebb345eb59209a7fbf5a1db397 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 14 Feb 2015 19:57:23 +0100 Subject: gnu: Add xdg-utils. * gnu/packages/freedesktop.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/freedesktop.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+) create mode 100644 gnu/packages/freedesktop.scm diff --git a/gnu-system.am b/gnu-system.am index b2ddbf5972..04e93452ba 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -98,6 +98,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/fltk.scm \ gnu/packages/fonts.scm \ gnu/packages/fontutils.scm \ + gnu/packages/freedesktop.scm \ gnu/packages/freeipmi.scm \ gnu/packages/ftp.scm \ gnu/packages/fribidi.scm \ diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm new file mode 100644 index 0000000000..0ee639d20a --- /dev/null +++ b/gnu/packages/freedesktop.scm @@ -0,0 +1,46 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages freedesktop) + #:use-module ((guix licenses) #:select (expat)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu)) + +(define-public xdg-utils + (package + (name "xdg-utils") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://portland.freedesktop.org/download/xdg-utils-" + version ".tgz")) + (sha256 + (base32 + "1b019d3r1379b60p33d6z44kx589xjgga62ijz9vha95dg8vgbi1")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f)) ; no check target + (home-page "http://portland.freedesktop.org/") + (synopsis "Freedesktop.org scripts for desktop integration") + (description "The xdg-utils package is a set of simple scripts that +provide basic desktop integration functions in the framework of the +freedesktop.org project.") + (license expat))) \ No newline at end of file -- cgit 1.4.1 From 60357f99c4ca24e50c94c70406e2e015c369d63e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 15 Feb 2015 10:45:17 +0100 Subject: gnu: Add python-netifaces. * gnu/packages/python.scm (python-netifaces, python2-netifaces): New variables. --- gnu/packages/python.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 4bc023a9f6..984ec9a458 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -3178,3 +3178,32 @@ another XPath engine to find the matching elements in an XML or HTML document.") (define-public python2-cssselect (package-with-python2 python-cssselect)) + +(define-public python-netifaces + (package + (name "python-netifaces") + (version "0.10.4") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/n/netifaces/netifaces-" + version + ".tar.gz")) + (sha256 + (base32 + "1plw237a4zib4z8s62g0mrs8gm3kjfrp5sxh6bbk9nl3rdls2mln")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools))) + (home-page + "https://bitbucket.org/al45tair/netifaces") + (synopsis + "Python module for portable network interface information") + (description + "Netifaces is a Python module providing information on network +interfaces in an easy and portable manner.") + (license license:expat))) + +(define-public python2-netifaces + (package-with-python2 python-netifaces)) -- cgit 1.4.1 From be6bfa7d82cd9b56a2259b0e2746926854e88149 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 15 Feb 2015 11:41:58 +0100 Subject: gnu: httpd: Update to 2.4.12. * gnu/packages/web.scm (httpd): Update to 2.4.12. --- gnu/packages/web.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 419e531fb6..308434f27f 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Aljosha Papsch ;;; Copyright © 2014, 2015 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver @@ -49,14 +49,14 @@ (define-public httpd (package (name "httpd") - (version "2.4.6") + (version "2.4.12") (source (origin (method url-fetch) (uri (string-append "mirror://apache/httpd/httpd-" version ".tar.bz2")) (sha256 (base32 - "1sig08xxq1kqxr2a42ndwr9g4mm6zdqnxldhxraym2y0xcjkd7yw")))) + "1r7a63ka41vlswrqbb21vall6sc7svwgd497kb6dh8a6zvnkjvdd")))) (build-system gnu-build-system) (inputs `(("apr" ,apr) ("apr-util" ,apr-util) -- cgit 1.4.1 From b702b52de35cb328b72237756517338919da52a9 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Sat, 14 Feb 2015 19:04:12 +0100 Subject: gnu: Add SBCL. * gnu/packages/lisp.scm (sbcl): New variable. --- gnu/packages/lisp.scm | 92 ++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 91 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 26914a69ed..fe9cdabc4e 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -34,7 +34,9 @@ #:use-module (gnu packages libffi) #:use-module (gnu packages libffcall) #:use-module (gnu packages readline) - #:use-module (gnu packages libsigsegv)) + #:use-module (gnu packages libsigsegv) + #:use-module (gnu packages admin) + #:use-module (gnu packages ed)) (define-public gcl (package @@ -188,3 +190,91 @@ readline.") ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such ;; as CLX by Texas Instruments.) In that case gpl3+ wins out. (license license:gpl3+))) + +(define-public sbcl + (package + (name "sbcl") + (version "1.2.8") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/sbcl/sbcl/" version "/sbcl-" + version "-source.tar.bz2")) + (sha256 + (base32 "0ab9lw056yf6y0rjmx3iirn5n59pmssqxf00fbmpyl6qsnpaja1d")))) + (build-system gnu-build-system) + ;; Bootstrap with CLISP. + (native-inputs + `(("clisp" ,clisp) + ("which" ,which) + ("inetutils" ,inetutils) ;for hostname(1) + ("ed" ,ed))) + (arguments + '(#:phases + (alist-delete + 'configure + (alist-cons-before + 'build 'patch-unix-tool-paths + (lambda* (#:key outputs inputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (bash (assoc-ref inputs "bash")) + (coreutils (assoc-ref inputs "coreutils")) + (ed (assoc-ref inputs "ed"))) + (define (quoted-path input path) + (string-append "\"" input path "\"")) + ;; Patch absolute paths in string literals. Note that this + ;; occurs in some .sh files too (which contain Lisp code). + (substitute* (find-files "." "\\.(lisp|sh)$") + (("\"/bin/sh\"") (quoted-path bash "/bin/sh")) + (("\"/usr/bin/env\"") (quoted-path coreutils "/usr/bin/env")) + (("\"/bin/cat\"") (quoted-path coreutils "/bin/cat")) + (("\"/bin/ed\"") (quoted-path ed "/bin/ed")) + (("\"/bin/echo\"") (quoted-path coreutils "/bin/echo")) + (("\"/bin/uname\"") (quoted-path coreutils "/bin/uname"))) + ;; This one script has a non-string occurrence of /bin/sh. + (substitute* '("tests/foreign.test.sh") + ;; Leave whitespace so we don't match the shebang. + ((" /bin/sh ") " sh ")) + ;; This file contains a module that can create executable files + ;; which depend on the presence of SBCL. It generates shell + ;; scripts doing "exec sbcl ..." to achieve this. We patch both + ;; the shebang and the reference to "sbcl", tying the generated + ;; executables to the exact SBCL package that generated them. + (substitute* '("contrib/sb-executable/sb-executable.lisp") + (("/bin/sh") (string-append bash "/bin/sh")) + (("exec sbcl") (string-append "exec " out "/bin/sbcl"))) + ;; Disable some tests that fail in our build environment. + (substitute* '("contrib/sb-bsd-sockets/tests.lisp") + ;; This requires /etc/protocols. + (("\\(deftest get-protocol-by-name/error" all) + (string-append "#+nil ;disabled by Guix\n" all))) + (substitute* '("contrib/sb-posix/posix-tests.lisp") + ;; These assume some users/groups which we don't have. + (("\\(deftest pwent\\.[12]" all) + (string-append "#+nil ;disabled by Guix\n" all)) + (("\\(deftest grent\\.[12]" all) + (string-append "#+nil ;disabled by Guix\n" all))))) + (alist-replace + 'build + (lambda* (#:key outputs #:allow-other-keys) + (setenv "CC" "gcc") + (zero? (system* "sh" "make.sh" "clisp" + (string-append "--prefix=" + (assoc-ref outputs "out"))))) + (alist-replace + 'install + (lambda _ + (zero? (system* "sh" "install.sh"))) + %standard-phases)))) + ;; No 'check' target, though "make.sh" (build phase) runs tests. + #:tests? #f)) + (home-page "http://www.sbcl.org/") + (synopsis "Common Lisp implementation") + (description "Steel Bank Common Lisp (SBCL) is a high performance Common +Lisp compiler. In addition to the compiler and runtime system for ANSI Common +Lisp, it provides an interactive environment including a debugger, a +statistical profiler, a code coverage tool, and many other extensions.") + ;; Public domain in jurisdictions that allow it, bsd-2 otherwise. MIT + ;; loop macro has its own license. See COPYING file for further notes. + (license (list license:public-domain license:bsd-2 + (license:x11-style "file://src/code/loop.lisp"))))) -- cgit 1.4.1 From 0565587c54bf61f75012fcccb599a592f1e32440 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 15 Feb 2015 20:47:07 +0100 Subject: gnu: xboard: Update to 4.8.0. * gnu/packages/games.scm (xboard): Update to 4.8.0. --- gnu/packages/games.scm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index a9c4d6bd11..9b8983e848 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -7,6 +7,7 @@ ;;; Copyright © 2014 Ludovic Courtès ;;; Copyright © 2014, 2015 Sou Bunnbu ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -398,7 +399,7 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" (define-public xboard (package (name "xboard") - (version "4.7.3") + (version "4.8.0") (source (origin (method url-fetch) @@ -406,17 +407,8 @@ exec ~a/bin/freedink -refdir ~a/share/dink\n" ".tar.gz")) (sha256 (base32 - "1amy9krr0qkvcc7gnp3i9x9ma91fc5cq8hy3gdc7rmfsaczv1l3z")))) + "05rdj0nyirc4g1qi5hhrjy45y52ihp1j3ldq2c5bwrz0gzy4i3y8")))) (build-system gnu-build-system) - (arguments - '(#:phases - (alist-cons-before - 'configure 'pre-conf - ;; This is GNU. So use gnuchess as the first choice of engine - (lambda _ - (substitute* "xboard.conf.in" - (("-firstChessProgram fairymax") "-firstChessProgram gnuchess"))) - %standard-phases))) (inputs `(("cairo" ,cairo) ("librsvg" ,librsvg) ("libxt" ,libxt) -- cgit 1.4.1 From 431d32e688b8b38ec17dbcc5ad38e793fcd4b2e2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 15 Feb 2015 20:51:22 +0100 Subject: gnu: complexity: Update to 1.2. * gnu/packages/complexity.scm (complexity): Update to 1.2. --- gnu/packages/complexity.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/complexity.scm b/gnu/packages/complexity.scm index 5216b7e39c..f0cd11e245 100644 --- a/gnu/packages/complexity.scm +++ b/gnu/packages/complexity.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,14 +28,14 @@ (define-public complexity (package (name "complexity") - (version "1.1") + (version "1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/complexity/complexity-" version ".tar.gz")) (sha256 (base32 - "1aad7n35ymxbj5dlpvm64dcd71b6i7hbmps0g7nkf47vj53l6y2j")))) + "0pmlhlj1chl4caaqffvn1cy9z8gwmjbx97syi7pdfa0vqygkql6d")))) (build-system gnu-build-system) (native-inputs `(("texinfo" ,texinfo) -- cgit 1.4.1 From d3d656c5fbd9345e7f9d62564a06d1672300625c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 15 Feb 2015 23:10:58 +0100 Subject: gnu: python-setuptools: Update to 12.1. * gnu/packages/python.scm (python-setuptools, python2-setuptools): Update to 12.1. --- gnu/packages/python.scm | 10 ++++------ 1 file changed, 4 insertions(+), 6 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 984ec9a458..6fe524e83a 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -376,7 +376,7 @@ have been used.") (define-public python-setuptools (package (name "python-setuptools") - (version "1.1.4") + (version "12.1") (source (origin (method url-fetch) @@ -384,14 +384,12 @@ have been used.") version ".tar.gz")) (sha256 (base32 - "0hl9sa5xr9bi2ifq51wy1bawsjv5nzvpbac7m9z1ciz778874csf")))) + "04bfk7si1pwj3b5k2b1x9b1zkiclybmzpw6alrs5bciri56lg9zs")))) (build-system python-build-system) + ;; FIXME: Tests require pytest, which itself relies on setuptools. + ;; One could bootstrap with an internal untested setuptools. (arguments `(#:tests? #f)) - ;;FIXME: test_sdist_with_utf8_encoded_filename fails in - ;; /tmp/nix-build-python2-setuptools-1.1.4.drv-0/setuptools-1.1.4/setuptools/tests/test_sdist.py" - ;; line 354 - ;; The tests pass with Python 2.7.5. (home-page "https://pypi.python.org/pypi/setuptools") (synopsis "Library designed to facilitate packaging Python projects") -- cgit 1.4.1 From cb7e486797df42bb971178918e84741ced3e6528 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 12 Feb 2015 12:58:11 +0100 Subject: gnu: Add R. * gnu/packages/statistics.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it * guix/download.scm (%mirrors): Add CRAN mirrors. --- gnu-system.am | 1 + gnu/packages/statistics.scm | 108 ++++++++++++++++++++++++++++++++++++++++++++ guix/download.scm | 10 ++++ 3 files changed, 119 insertions(+) create mode 100644 gnu/packages/statistics.scm diff --git a/gnu-system.am b/gnu-system.am index 04e93452ba..73c3771f73 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -260,6 +260,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/socat.scm \ gnu/packages/ssh.scm \ gnu/packages/stalonetray.scm \ + gnu/packages/statistics.scm \ gnu/packages/swig.scm \ gnu/packages/sxiv.scm \ gnu/packages/synergy.scm \ diff --git a/gnu/packages/statistics.scm b/gnu/packages/statistics.scm new file mode 100644 index 0000000000..acf7b7851d --- /dev/null +++ b/gnu/packages/statistics.scm @@ -0,0 +1,108 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Ricardo Wurmus +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages statistics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages gcc) + #:use-module (gnu packages gtk) + #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) + #:use-module (gnu packages java) + #:use-module (gnu packages maths) + #:use-module (gnu packages pcre) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages readline) + #:use-module (gnu packages texlive) + #:use-module (gnu packages texinfo) + #:use-module (gnu packages which) + #:use-module (gnu packages xorg)) + +(define-public r + (package + (name "r") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cran/src/base/R-" + (version-prefix version 1) "/R-" + version ".tar.gz")) + (sha256 + (base32 + "0ypsm11c7n49pgh2ricyhhpfhas3famscdazzdp2zq70rapm1ldw")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-before + 'check 'set-timezone + ;; Some tests require the timezone to be set. + (lambda _ (setenv "TZ" "UTC")) + %standard-phases) + #:configure-flags + '("--with-blas" + "--with-lapack" + "--with-cairo" + "--with-libpng" + "--with-jpeglib" + "--with-libtiff" + "--with-ICU" + "--enable-R-shlib" + "--enable-BLAS-shlib" + "--with-system-zlib" + "--with-system-bzlib" + "--with-system-pcre" + "--with-system-tre" + "--with-system-xz"))) + (native-inputs + `(("bzip2" ,bzip2) + ("perl" ,perl) + ("pkg-config" ,pkg-config) + ("texlive" ,texlive) ; needed to make vignettes + ("texinfo" ,texinfo) ; for building HTML manuals + ("which" ,which) ; for tests/Examples/base-Ex.R + ("xz" ,xz))) + (inputs + `(("atlas" ,atlas) ; --with-blas + ("cairo" ,cairo) + ("gfortran" ,gfortran-4.8) + ("icu4c" ,icu4c) + ("icedtea6" ,icedtea6) + ("lapack" ,lapack) + ("libjpeg" ,libjpeg) + ("libpng" ,libpng) + ("libtiff" ,libtiff) + ("libxt" ,libxt) + ("pcre" ,pcre) + ("readline" ,readline) + ("zlib" ,zlib))) + (home-page "http://www.r-project.org/") + (synopsis "Environment for statistical computing and graphics") + (description + "R is a language and environment for statistical computing and graphics. +It provides a variety of statistical techniques, such as linear and nonlinear +modeling, classical statistical tests, time-series analysis, classification +and clustering. It also provides robust support for producing +publication-quality data plots. A large amount of 3rd-party packages are +available, greatly increasing its breadth and scope.") + (license license:gpl3+))) diff --git a/guix/download.scm b/guix/download.scm index 9a1897525b..d87d02e2af 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -164,6 +164,16 @@ "ftp://ftp.nara.wide.ad.jp/pub/CPAN/" "http://mirrors.163.com/cpan/" "ftp://cpan.mirror.ac.za/") + (cran + ;; Arbitrary mirrors from http://cran.r-project.org/mirrors.html + ;; This one automatically redirects to servers worldwide + "http://cran.rstudio.com/" + "http://cran.univ-lyon1.fr/" + "http://cran.r-mirror.de/" + "http://cran.ism.ac.jp/" + "http://cran.stat.auckland.ac.nz/" + "http://cran.mirror.ac.za/" + "http://cran.csie.ntu.edu.tw/") (imagemagick ;; from http://www.imagemagick.org/script/download.php ;; (without mirrors that are unavailable or not up to date) -- cgit 1.4.1 From e926ba716e96f22fb6c3afa97340b38f89127315 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 15 Feb 2015 21:45:54 +0100 Subject: gnu: Add ganv. * gnu/packages/gtk.scm (ganv): New variable. --- gnu/packages/gtk.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index da39047196..a5022ba116 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -27,6 +27,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system waf) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) @@ -209,6 +210,33 @@ longer provided by recent pango releases. pangox-compat provides the functions which were removed.") (license license:lgpl2.0+))) +(define-public ganv + (package + (name "ganv") + (version "1.4.2") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/ganv-" + version + ".tar.bz2")) + (sha256 + (base32 + "0g7s5mp14qgbfjdql0k1s8464r21g47ssn5dws6jazsnw6njhl0l")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("gtk" ,gtk+-2) + ("gtkmm" ,gtkmm-2))) + (native-inputs + `(("glib" ,glib "bin") ; for glib-genmarshal, etc. + ("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/ganv/") + (synopsis "GTK+ widget for interactive graph-like environments") + (description + "Ganv is an interactive GTK+ widget for interactive “boxes and lines” or +graph-like environments, e.g. modular synths or finite state machine +diagrams.") + (license license:gpl3+))) (define-public gtksourceview (package -- cgit 1.4.1 From 4443bb8da3ddaa13ec86b4b0b75e739d4ca09b03 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 15 Feb 2015 21:43:01 +0100 Subject: gnu: Add patchage. * gnu/packages/audio.scm (patchage): New variable. --- gnu/packages/audio.scm | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 4e87fef7b3..eba08530f8 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -415,6 +415,40 @@ extensions into easy to use C++ classes. It is the successor of lv2-c++-tools.") (license license:gpl3+))) +(define-public patchage + (package + (name "patchage") + (version "1.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/patchage-" + version + ".tar.bz2")) + (sha256 + (base32 + "1agdpwwi42176l4mxj0c4fsvdiv1ig56bfnnx0msckxmy57df8bb")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("alsa-lib" ,alsa-lib) + ("boost" ,boost) + ("jack" ,jack-1) + ("libuuid" ,util-linux) + ("ganv" ,ganv) + ("glib" ,glib) + ("glibmm" ,glibmm) + ("gtkmm" ,gtkmm-2) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/patchage/") + (synopsis "Modular patch bay for audio and MIDI systems") + (description + "Patchage is a modular patch bay for audio and MIDI systems based on JACK +and ALSA.") + (license license:gpl3+))) + (define-public rubberband (package (name "rubberband") -- cgit 1.4.1 From 3e291958b0c0288f7a7c1b47eb4a81face06e645 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 16 Feb 2015 21:15:24 +0100 Subject: gnu: Add PyQt for Qt-4. * gnu/packages/qt.scm (python-pyqt-4, python2-pyqt-4): New variables. --- gnu/packages/qt.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 51 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index cb7e367c5a..725ac8a2fa 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -18,7 +18,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages qt) - #:use-module ((guix licenses) #:select (gpl3 lgpl2.1 x11-style)) + #:use-module ((guix licenses) #:select (gpl2 gpl3 lgpl2.1 x11-style)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build utils) @@ -398,3 +398,53 @@ contain over 620 classes.") ("qt" ,qt))) (inputs `(("python" ,python-2))))) + +(define-public python-pyqt-4 + (package (inherit python-pyqt) + (name "python-pyqt") + (version "4.11.3") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/pyqt/PyQt4/" + "PyQt-" version "/PyQt-x11-gpl-" + version ".tar.gz")) + (sha256 + (base32 + "11jnfjw79s0b0qdd9s6kd69w87vf16dhagbhbmwbmrp2vgf80dw5")))) + (native-inputs + `(("python-sip" ,python-sip) + ("qt" ,qt-4))) + (arguments + `(#:tests? #f ; no check target + #:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (sip (string-append out "/share/sip")) + (python-version + (string-take + (string-take-right (assoc-ref inputs "python") 5) + 3)) + (lib (string-append out "/lib/python" + python-version + "/site-packages"))) + (zero? (system* "python" "configure.py" + "--confirm-license" + "--bindir" bin + "--destdir" lib + "--sipdir" sip)))) + %standard-phases))) + (license (list gpl2 gpl3)))) ; choice of either license + +(define-public python2-pyqt-4 + (package (inherit python-pyqt-4) + (name "python2-pyqt") + (native-inputs + `(("python-sip" ,python2-sip) + ("qt" ,qt-4))) + (inputs + `(("python" ,python-2))))) -- cgit 1.4.1 From 5078e98a61a4e149f8470fcae4673e1e03ac1a3a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 16 Feb 2015 21:52:58 +0100 Subject: gnu: Add aarddict. * gnu/packages/aarddict.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/aarddict.scm | 69 +++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 70 insertions(+) create mode 100644 gnu/packages/aarddict.scm diff --git a/gnu-system.am b/gnu-system.am index 73c3771f73..eeadd8fdc6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -25,6 +25,7 @@ GNU_SYSTEM_MODULES = \ gnu.scm \ gnu/artwork.scm \ gnu/packages.scm \ + gnu/packages/aarddict.scm \ gnu/packages/abiword.scm \ gnu/packages/acct.scm \ gnu/packages/acl.scm \ diff --git a/gnu/packages/aarddict.scm b/gnu/packages/aarddict.scm new file mode 100644 index 0000000000..33bd7b4ac9 --- /dev/null +++ b/gnu/packages/aarddict.scm @@ -0,0 +1,69 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages aarddict) + #:use-module ((guix licenses) #:select (gpl3)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages python) + #:use-module (gnu packages qt)) + +(define-public aarddict + (package + (name "aarddict") + (version "0.9.3") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/aarddict/desktop/archive/" + version ".tar.gz")) + (sha256 + (base32 + "12h7m0z7nd7rg8avpi9syd265k0rhh4vbdh464nq0jzdg8m9p28c")))) + (build-system python-build-system) + (inputs + `(("python2-pyicu" ,python2-pyicu) + ("python2-pyqt-4" ,python2-pyqt-4) + ("python2-setuptools" ,python2-setuptools) + ("python2-simplejson" ,python2-simplejson) + ("python2-sip" ,python2-sip))) + (arguments + `(#:python ,python-2 ; incompatible with Python 3 + #:phases + (alist-cons-before + 'build 'configure + ;; Force data into the output instead of the python package. + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "setup.py" + (("sys.prefix") (string-append "'" out "'"))))) + %standard-phases))) + (home-page "http://aarddict.org/index.html") + (synopsis + "Dictionary program and offline Wikipedia reader") + (description + "Aard Dictionary is a free, fast, easy to use word lookup program that +looks up words fast even with huge dictionaries like English Wikipedia; +looks up words in multiple dictionaries in multiple languages without +switching; +works great as offline Wikipedia reader; +is keyboard navigation friendly; +has efficient, highly compressed dictionary data storage format with +ability to verify data integrity built-in.") + (license gpl3))) -- cgit 1.4.1 From 497e9a82bdb8ef8329478ff9a5f9dd11a70a8832 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 15 Feb 2015 20:53:26 +0100 Subject: gnu: Add AZR-3. * gnu/packages/audio.scm (azr3): New variable. --- gnu/packages/audio.scm | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index eba08530f8..97d446c9ac 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -156,6 +156,43 @@ record, edit, mix and master audio and MIDI projects. It is targeted at audio engineers, musicians, soundtrack editors and composers.") (license license:gpl2+))) +(define-public azr3 + (package + (name "azr3") + (version "1.2.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/ll-plugins/azr3-jack-" + version + ".tar.bz2")) + (sha256 + (base32 + "18mdw6nc0vgj6k9rsy0x8w64wvzld0frqshrxxbxfj9qi9843vlc")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no check target + #:make-flags + (list "LV2PEG=ttl2c" + (string-append "prefix=" %output) + (string-append "pkgdatadir=" %output "/share/azr3-jack")))) + (inputs + `(("gtkmm" ,gtkmm-2) + ("lvtk" ,lvtk) + ("jack" ,jack-1) + ("lash" ,lash) + ("libuuid" ,util-linux))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://ll-plugins.nongnu.org/azr3/") + (synopsis "Tonewheel organ synthesizer") + (description + "AZR-3 is a port of the free VST plugin AZR-3. It is a tonewheel organ +with drawbars, distortion and rotating speakers. The organ has three +sections, two polyphonic sections with nine drawbars each and one monophonic +bass section with five drawbars. A standalone JACK application and LV2 +plugins are provided.") + (license license:gpl2))) + (define-public jack-1 (package (name "jack") -- cgit 1.4.1 From 07f4aef0783e2e74499432d4cd9adce9cd084487 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 16 Feb 2015 13:29:36 +0100 Subject: gnu: Add gambit-c. * gnu/packages/scheme.scm (gambit-c): New variable. --- gnu/packages/scheme.scm | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 46 insertions(+) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 8afc0ab425..a41647520d 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -21,6 +22,7 @@ #:use-module (guix licenses) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (gnu packages m4) #:use-module (gnu packages multiprecision) @@ -428,3 +430,47 @@ R6RS) and related languages, such as Typed Racket. It features a compiler and a virtual machine with just-in-time native compilation, as well as a large set of libraries.") (license lgpl2.0+))) + +(define-public gambit-c + (package + (name "gambit-c") + (version "4.7.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.iro.umontreal.ca/~gambit/download/gambit/v" + (version-major+minor version) "/source/gambc-v" + (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) + ".tgz")) + (sha256 + (base32 "0y2pklh4k65yrmxv63ass76xckrk9wqimbdad2gha35v2mi7blhs")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + ;; According to the ./configure script, this makes the build slower and + ;; use >= 1 GB memory, but makes Gambit much faster. + '("--enable-single-host") + #:phases + (alist-cons-before + 'check 'fix-tests + (lambda _ + (substitute* '("tests/makefile") + ;; '-:' is how run-time options are set. 'tl' sets some terminal + ;; option, which makes it fail in our build environment. It + ;; recommends using 'd-' as a solution, which sets the REPL + ;; interaction channel to stdin/stdout. + (("gsi -:tl") "gsi -:d-,tl"))) + %standard-phases))) + (home-page "http://www.iro.umontreal.ca/~gambit/") + (synopsis "Efficient Scheme interpreter and compiler") + (description + "Gambit consists of two main programs: gsi, the Gambit Scheme +interpreter, and gsc, the Gambit Scheme compiler. The interpreter contains +the complete execution and debugging environment. The compiler is the +interpreter extended with the capability of generating executable files. The +compiler can produce standalone executables or compiled modules which can be +loaded at run time. Interpreted code and compiled code can be freely +mixed.") + ;; Dual license. + (license (list lgpl2.1+ asl2.0)))) -- cgit 1.4.1 From 3e92f4f945e271ea3cf20ea756e9b6f223f75f60 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 16 Feb 2015 21:58:36 +0100 Subject: gnu: Add chibi-scheme. * gnu/packages/scheme.scm (chibi-scheme): New variable. --- gnu/packages/scheme.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index a41647520d..4d759fa11a 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -474,3 +474,38 @@ loaded at run time. Interpreted code and compiled code can be freely mixed.") ;; Dual license. (license (list lgpl2.1+ asl2.0)))) + +(define-public chibi-scheme + (package + (name "chibi-scheme") + (version "0.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://abrek.synthcode.com/chibi-scheme-" version ".tgz")) + (sha256 + (base32 "0h6k2gdb4xk2pzhdipffcg2w3kfr4zh1va556k1hvng2did6prds")))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-delete + 'configure + (alist-cons-before + 'build 'set-cc + (lambda _ + (setenv "CC" "gcc")) + %standard-phases)) + #:make-flags (let ((out (assoc-ref %outputs "out"))) + (list (string-append "PREFIX=" out) + (string-append "LDFLAGS=-Wl,-rpath=" out "/lib"))) + #:test-target "test")) + (home-page "https://code.google.com/p/chibi-scheme/") + (synopsis "Small embeddable Scheme implementation") + (description + "Chibi-Scheme is a very small library with no external dependencies +intended for use as an extension and scripting language in C programs. In +addition to support for lightweight VM-based threads, each VM itself runs in +an isolated heap allowing multiple VMs to run simultaneously in different OS +threads.") + (license bsd-3))) -- cgit 1.4.1 From 447ce59195db8516bc06fdc7118bac16e4567748 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Feb 2015 00:09:07 -0500 Subject: gnu: isc-dhcp: Update to 4.3.1. * gnu/packages/admin.scm (isc-dhcp): Update to 4.3.1. --- gnu/packages/admin.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 6244a87f94..63c16f0850 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -375,14 +375,14 @@ connection alive.") (define-public isc-dhcp (package (name "isc-dhcp") - (version "4.3.0") + (version "4.3.1") (source (origin (method url-fetch) (uri (string-append "http://ftp.isc.org/isc/dhcp/" version "/dhcp-" version ".tar.gz")) (sha256 (base32 - "12mydvj6x3zcl3gla06bywfkkrgg03g66fijs94mwb7kbiym3dm7")))) + "1w4s7sni1m9223ya8m2a64lr62845c6xlraprjf8zfx6lylbqv16")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after @@ -409,9 +409,9 @@ connection alive.") (system* "tar" "xf" "bind.tar.gz") (for-each patch-shebang - (find-files "bind-9.9.5" ".*")) + (find-files "bind-9.9.5-P1" ".*")) (zero? (system* "tar" "cf" "bind.tar.gz" - "bind-9.9.5")))) + "bind-9.9.5-P1")))) (alist-cons-after 'install 'post-install (lambda* (#:key inputs outputs #:allow-other-keys) -- cgit 1.4.1 From 5d95e30b482f8708e0ca93ed3211a0ece0dd45ae Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Feb 2015 17:54:04 +0100 Subject: gnu: jack: propagate input "util-linux" * gnu/packages/audio.scm (jack-1): Move input "util-linux" to `propagated-inputs'. --- gnu/packages/audio.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 97d446c9ac..a0e4bf4543 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -210,8 +210,10 @@ plugins are provided.") (inputs `(("alsa-lib" ,alsa-lib) ("bdb" ,bdb) - ("readline" ,readline) - ("libuuid" ,util-linux))) + ("readline" ,readline))) + ;; uuid.h is included in the JACK type headers + (propagated-inputs + `(("libuuid" ,util-linux))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://jackaudio.org/") -- cgit 1.4.1 From f753846b7ad30ce269f6027d3cd029a07ea3c421 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Feb 2015 17:54:40 +0100 Subject: gnu: remove "util-linux" from inputs * gnu/packages/audio.scm (aubio, ardour, azr3, lash, patchage): Remove "util-linux" from `inputs'. --- gnu/packages/audio.scm | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a0e4bf4543..6e7ebf17c0 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -68,7 +68,6 @@ #:python ,python-2)) (inputs `(("jack" ,jack-1) - ("libuuid" ,util-linux) ("libsndfile" ,libsndfile) ("libsamplerate" ,libsamplerate) ("fftwf" ,fftwf))) @@ -130,7 +129,6 @@ namespace ARDOUR { const char* revision = \"3.5-403-gec2cb31\" ; }")))) ("lv2" ,lv2) ("vamp" ,vamp) ("curl" ,curl) - ("libuuid" ,util-linux) ("fftw" ,fftw) ("fftwf" ,fftwf) ("jack" ,jack-1) @@ -179,8 +177,7 @@ engineers, musicians, soundtrack editors and composers.") `(("gtkmm" ,gtkmm-2) ("lvtk" ,lvtk) ("jack" ,jack-1) - ("lash" ,lash) - ("libuuid" ,util-linux))) + ("lash" ,lash))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://ll-plugins.nongnu.org/azr3/") @@ -317,7 +314,6 @@ to be plugged into a wide range of audio synthesis and recording packages.") `(("bdb" ,bdb) ("gtk" ,gtk+-2) ("jack" ,jack-1) - ("libuuid" ,util-linux) ("readline" ,readline) ("python" ,python-2))) ;; According to pkg-config, packages depending on lash also need to have @@ -472,7 +468,6 @@ lv2-c++-tools.") `(("alsa-lib" ,alsa-lib) ("boost" ,boost) ("jack" ,jack-1) - ("libuuid" ,util-linux) ("ganv" ,ganv) ("glib" ,glib) ("glibmm" ,glibmm) -- cgit 1.4.1 From 0f3d643b0b47dd065af13ecf7f820458cfb6d9ef Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Feb 2015 03:37:39 -0500 Subject: gnu: xorg-server: Update to 1.16.4. * gnu/packages/xorg.scm (xorg-server): Update to 1.16.4. --- 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 10801fe52c..2f5d59a54e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4451,7 +4451,7 @@ graphics cards.") (define-public xorg-server (package (name "xorg-server") - (version "1.16.3") + (version "1.16.4") (source (origin (method url-fetch) @@ -4460,7 +4460,7 @@ graphics cards.") name "-" version ".tar.bz2")) (sha256 (base32 - "1yxhc3aw2cadf77w48d2glc5j6w6hairiskfiys7h45g70r483sy")))) + "0wf8xykcjhvpk9ppjcixvf60p6kkyrpmfj0z29d93a8kjb6f3dmb")))) (build-system gnu-build-system) (propagated-inputs `(("dri2proto" ,dri2proto) -- cgit 1.4.1 From 2d2a53fc24a3feb723772dfc45bb438256de41f9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 22 Jan 2015 23:18:57 -0600 Subject: build-system/perl: Use Build.PL for builds if present. * guix/build/perl-build-system.scm (configure): Use Build.PL if present. (build, check, install): New procedures. (%standard-phases): Replace build, check, and install phases. * guix/build-system/perl (perl-build): Add make-maker? and module-build-flags arguments. * doc/guix.texi (Build Systems)[perl-build-system]: Document behavior rsp. Build.PL and new arguments. --- doc/guix.texi | 20 ++++++++++---- guix/build-system/perl.scm | 4 +++ guix/build/perl-build-system.scm | 59 ++++++++++++++++++++++++++++++++-------- 3 files changed, 65 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 50a7084fec..ccb87c9443 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1894,12 +1894,20 @@ parameter. @defvr {Scheme Variable} perl-build-system This variable is exported by @code{(guix build-system perl)}. It -implements the standard build procedure for Perl packages, which -consists in running @code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, -followed by @code{make} and @code{make install}. - -The initial @code{perl Makefile.PL} invocation passes flags specified by -the @code{#:make-maker-flags} parameter. +implements the standard build procedure for Perl packages, which either +consists in running @code{perl Build.PL --prefix=/gnu/store/@dots{}}, +followed by @code{Build} and @code{Build install}; or in running +@code{perl Makefile.PL PREFIX=/gnu/store/@dots{}}, followed by +@code{make} and @code{make install}; depending on which of +@code{Build.PL} or @code{Makefile.PL} is present in the package +distribution. Preference is given to the former if both @code{Build.PL} +and @code{Makefile.PL} exist in the package distribution. This +preference can be reversed by specifying @code{#t} for the +@code{#:make-maker?} parameter. + +The initial @code{perl Makefile.PL} or @code{perl Build.PL} invocation +passes flags specified by the @code{#:make-maker-flags} or +@code{#:module-build-flags} parameter, respectively. Which Perl package is used can be specified with @code{#:perl}. @end defvr diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index c488adb500..e0f86438a8 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -75,7 +75,9 @@ (tests? #t) (parallel-build? #t) (parallel-tests? #t) + (make-maker? #f) (make-maker-flags ''()) + (module-build-flags ''()) (phases '(@ (guix build perl-build-system) %standard-phases)) (outputs '("out")) @@ -101,7 +103,9 @@ provides a `Makefile.PL' file as its build system." source)) #:search-paths ',(map search-path-specification->sexp search-paths) + #:make-maker? ,make-maker? #:make-maker-flags ,make-maker-flags + #:module-build-flags ,module-build-flags #:phases ,phases #:system ,system #:test-target "test" diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm index 904daf7ac2..7eb944ccd1 100644 --- a/guix/build/perl-build-system.scm +++ b/guix/build/perl-build-system.scm @@ -29,22 +29,57 @@ ;; ;; Code: -(define* (configure #:key outputs (make-maker-flags '()) +(define* (configure #:key outputs make-maker? + (make-maker-flags '()) (module-build-flags '()) #:allow-other-keys) "Configure the given Perl package." - (let ((out (assoc-ref outputs "out"))) - (if (file-exists? "Makefile.PL") - (let ((args `("Makefile.PL" ,(string-append "PREFIX=" out) - "INSTALLDIRS=site" ,@make-maker-flags))) - (format #t "running `perl' with arguments ~s~%" args) - (zero? (apply system* "perl" args))) - (error "no Makefile.PL found")))) + (let* ((out (assoc-ref outputs "out")) + (args (cond + ;; Prefer to use Module::Build unless otherwise told + ((and (file-exists? "Build.PL") + (not make-maker?)) + `("Build.PL" ,(string-append "--prefix=" out) + "--installdirs=site" ,@module-build-flags)) + ((file-exists? "Makefile.PL") + `("Makefile.PL" ,(string-append "PREFIX=" out) + "INSTALLDIRS=site" ,@make-maker-flags)) + (else (error "no Build.PL or Makefile.PL found"))))) + (format #t "running `perl' with arguments ~s~%" args) + (zero? (apply system* "perl" args)))) + +(define-syntax-rule (define-w/gnu-fallback* (name args ...) body ...) + (define* (name args ... #:rest rest) + (if (access? "Build" X_OK) + (begin body ...) + (apply (assoc-ref gnu:%standard-phases 'name) rest)))) + +(define-w/gnu-fallback* (build) + (zero? (system* "./Build"))) + +(define-w/gnu-fallback* (check #:key target + (tests? (not target)) (test-flags '()) + #:allow-other-keys) + (if tests? + (zero? (apply system* "./Build" "test" test-flags)) + (begin + (format #t "test suite not run~%") + #t))) + +(define-w/gnu-fallback* (install) + (zero? (system* "./Build" "install"))) (define %standard-phases - ;; Everything is as with the GNU Build System except for the `configure' - ;; phase. - (alist-replace 'configure configure - gnu:%standard-phases)) + ;; Everything is as with the GNU Build System except for the `configure', + ;; `build', `check', and `install' phases. + (alist-replace + 'configure configure + (alist-replace + 'build build + (alist-replace + 'check check + (alist-replace + 'install install + gnu:%standard-phases))))) (define* (perl-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) -- cgit 1.4.1 From f8e366230d33c0ef5176ef9bc0f648869a59d06c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 27 Jan 2015 22:43:21 -0600 Subject: guix: licenses: Add Artistic 2.0 license. * guix/licenses.scm (artistic2.0): New variable. --- guix/licenses.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/licenses.scm b/guix/licenses.scm index 86f3ae4e82..ef3f446212 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -28,7 +28,7 @@ cc0 cddl1.0 cecill-c - clarified-artistic + artistic2.0 clarified-artistic cpl1.0 epl1.0 expat @@ -129,6 +129,11 @@ which may be a file:// URI pointing the package's tree." "http://www.cecill.info/licences/Licence_CeCILL-C_V1-en.html" "https://www.gnu.org/licenses/license-list.html#CeCILL")) +(define artistic2.0 + (license "Artistic License 2.0" + "http://www.perlfoundation.org/artistic_license_2_0" + "http://www.gnu.org/licenses/license-list.html#ArtisticLicense2")) + (define clarified-artistic (license "Clarified Artistic" ;; http://directory.fsf.org/wiki/User:Jgay/license-categorization#Clarified_Artistic_License -- cgit 1.4.1 From 66392e475d4fa89760ec64d62c5d0c203e853866 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 12 Feb 2015 08:39:09 -0600 Subject: import: cpan: Use corelist to filter dependencies. * guix/import/cpan.scm (%corelist): New variable. (module->dist-name, core-module?): New procedures. (cpan-module->sexp)[convert-inputs]: Use them. Include "test" dependencies in converted inputs. * doc/guix.texi (Invoking guix import)[cpan]: Mention corelist filtering. --- doc/guix.texi | 7 ++++--- guix/import/cpan.scm | 50 ++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 44 insertions(+), 13 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index ccb87c9443..81b9353f1d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3089,9 +3089,10 @@ guix import pypi itsdangerous Import meta-data from @uref{https://www.metacpan.org/, MetaCPAN}. Information is taken from the JSON-formatted meta-data provided through @uref{https://api.metacpan.org/, MetaCPAN's API} and includes most -relevant information. License information should be checked closely. -Package dependencies are included but may in some cases needlessly -include core Perl modules. +relevant information, such as module dependencies. License information +should be checked closely. If Perl is available in the store, then the +@code{corelist} utility will be used to filter core modules out of the +list of dependencies. The command command below imports meta-data for the @code{Acme::Boolean} Perl module: diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 5f4602a8d2..c1b0006e8c 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -19,6 +19,8 @@ (define-module (guix import cpan) #:use-module (ice-9 match) #:use-module (ice-9 regex) + #:use-module ((ice-9 popen) #:select (open-pipe* close-pipe)) + #:use-module ((ice-9 rdelim) #:select (read-line)) #:use-module (srfi srfi-1) #:use-module (json) #:use-module (guix hash) @@ -27,6 +29,9 @@ #:use-module ((guix download) #:select (download-to-store)) #:use-module (guix import utils) #:use-module (guix import json) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (gnu packages perl) #:export (cpan->guix-package)) ;;; Commentary: @@ -71,6 +76,14 @@ "Transform a 'module' name into a 'release' name" (regexp-substitute/global #f "::" module 'pre "-" 'post)) +(define (module->dist-name module) + "Return the base distribution module for a given module. E.g. the 'ok' +module is distributed with 'Test::Simple', so (module->dist-name \"ok\") would +return \"Test-Simple\"" + (assoc-ref (json-fetch (string-append "http://api.metacpan.org/module/" + module)) + "distribution")) + (define (cpan-fetch module) "Return an alist representation of the CPAN metadata for the perl module MODULE, or #f on failure. MODULE should be e.g. \"Test::Script\"" @@ -84,6 +97,14 @@ or #f on failure. MODULE should be e.g. \"Test::Script\"" (define (cpan-home name) (string-append "http://search.cpan.org/dist/" name)) +(define %corelist + (let* ((perl (with-store store + (derivation->output-path + (package-derivation store perl)))) + (core (string-append perl "/bin/corelist"))) + (and (access? core X_OK) + core))) + (define (cpan-module->sexp meta) "Return the `package' s-expression for a CPAN module from the metadata in META." @@ -98,6 +119,17 @@ META." (define version (assoc-ref meta "version")) + (define (core-module? name) + (and %corelist + (parameterize ((current-error-port (%make-void-port "w"))) + (let* ((corelist (open-pipe* OPEN_READ %corelist name))) + (let loop ((line (read-line corelist))) + (if (eof-object? line) + (begin (close-pipe corelist) #f) + (if (string-contains line "first released with perl") + (begin (close-pipe corelist) #t) + (loop (read-line corelist))))))))) + (define (convert-inputs phases) ;; Convert phase dependencies into a list of name/variable pairs. (match (flatten @@ -112,15 +144,13 @@ META." (delete-duplicates ;; Listed dependencies may include core modules. Filter those out. (filter-map (match-lambda - ((or (module . "0") ("perl" . _)) - ;; TODO: A stronger test might to run MODULE through - ;; `corelist' from our perl package. This current test - ;; seems to be only a loose convention. + (("perl" . _) ;implicit dependency #f) ((module . _) - (let ((name (guix-name (module->name module)))) - (list name - (list 'unquote (string->symbol name)))))) + (and (not (core-module? module)) + (let ((name (guix-name (module->dist-name module)))) + (list name + (list 'unquote (string->symbol name))))))) inputs))))) (define (maybe-inputs guix-name inputs) @@ -147,12 +177,12 @@ META." ,(bytevector->nix-base32-string (file-sha256 tarball)))))) (build-system perl-build-system) ,@(maybe-inputs 'native-inputs - ;; "runtime" and "test" may also be needed here. See + ;; "runtime" may also be needed here. See ;; https://metacpan.org/pod/CPAN::Meta::Spec#Phases, ;; which says they are required during building. We ;; have not yet had a need for cross-compiled perl - ;; modules, however, so we leave them out. - (convert-inputs '("configure" "build"))) + ;; modules, however, so we leave it out. + (convert-inputs '("configure" "build" "test"))) ,@(maybe-inputs 'inputs (convert-inputs '("runtime"))) (home-page ,(string-append "http://search.cpan.org/dist/" name)) -- cgit 1.4.1 From 2491d58962b67c7397147a75a005e78ba6312ec4 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Feb 2015 21:33:02 -0600 Subject: import: cpan: Adjust licenses. * guix/import/cpan.scm (string->license): Add artistic2.0. Use '(package-license perl) for "perl_5" as is our convention. --- guix/import/cpan.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index c1b0006e8c..307681b6ce 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -49,7 +49,7 @@ ;; apache_1_1 ("apache_2_0" 'asl2.0) ;; artistic_1_0 - ;; artistic_2_0 + ("artistic_2_0" 'artistic2.0) ("bsd" 'bsd-3) ("freebsd" 'bsd-2) ;; gfdl_1_2 @@ -63,7 +63,7 @@ ;; mozilla_1_0 ("mozilla_1_1" 'mpl1.1) ("openssl" 'openssl) - ("perl_5" 'gpl1+) ;and Artistic 1 + ("perl_5" '(package-license perl)) ;GPL1+ and Artistic 1 ("qpl_1_0" 'qpl) ;; ssleay ;; sun -- cgit 1.4.1 From a0c2c4b45bb9c7b77f2b9a1562e791f1124cf93c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 13 Feb 2015 21:34:40 -0600 Subject: import: cpan: Sort inputs. * guix/import/cpan.scm (cpan-module->sexp)[convert-inputs]: Sort returned list of inputs. --- guix/import/cpan.scm | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 307681b6ce..bd48c44b1a 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -141,17 +141,22 @@ META." (#f '()) ((inputs ...) - (delete-duplicates - ;; Listed dependencies may include core modules. Filter those out. - (filter-map (match-lambda - (("perl" . _) ;implicit dependency - #f) - ((module . _) - (and (not (core-module? module)) - (let ((name (guix-name (module->dist-name module)))) - (list name - (list 'unquote (string->symbol name))))))) - inputs))))) + (sort + (delete-duplicates + ;; Listed dependencies may include core modules. Filter those out. + (filter-map (match-lambda + (("perl" . _) ;implicit dependency + #f) + ((module . _) + (and (not (core-module? module)) + (let ((name (guix-name (module->dist-name module)))) + (list name + (list 'unquote (string->symbol name))))))) + inputs)) + (lambda args + (match args + (((a _ ...) (b _ ...)) + (string Date: Fri, 13 Feb 2015 21:35:48 -0600 Subject: import: cpan: Use cpan mirror url. * guix/import/cpan.scm (cpan-module->sexp)[source-url]: Substitute cpan mirror url. --- guix/import/cpan.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index bd48c44b1a..3dc6edab51 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -167,7 +167,9 @@ META." (list 'quasiquote inputs)))))) (define source-url - (assoc-ref meta "download_url")) + (regexp-substitute/global #f "http://cpan.metacpan.org" + (assoc-ref meta "download_url") + 'pre "mirror://cpan" 'post)) (let ((tarball (with-store store (download-to-store store source-url)))) -- cgit 1.4.1 From 04dec194d8e460831ec0695a944d9c7313affea2 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 18 Feb 2015 19:33:10 -0500 Subject: download: Handle HTTP redirects to relative URI references. Fixes . Reported by Ricardo Wurmus . * guix/build/download.scm: On Guile 2.0.11 or earlier, redefine the http "Location" header to accept relative URIs. (resolve-uri-reference): New exported procedure. (http-fetch): Use 'resolve-uri-reference' to resolve redirections. * guix/http-client.scm (http-fetch): Use 'resolve-uri-reference' --- guix/build/download.scm | 82 ++++++++++++++++++++++++++++++++++++++++++++++++- guix/http-client.scm | 4 ++- 2 files changed, 84 insertions(+), 2 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 5928ccd154..16afb1dce1 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -29,6 +30,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 format) #:export (open-connection-for-uri + resolve-uri-reference maybe-expand-mirrors url-fetch progress-proc @@ -204,6 +206,84 @@ which is not available during bootstrap." (module-define! (resolve-module '(web client)) 'shutdown (const #f)) +;; XXX: Work around , present in Guile +;; up to 2.0.11. +(unless (or (> (string->number (major-version)) 2) + (> (string->number (minor-version)) 0) + (> (string->number (micro-version)) 11)) + (let ((declare-relative-uri-header! + (module-ref (resolve-module '(web http)) + 'declare-relative-uri-header!))) + (declare-relative-uri-header! "Location"))) + +(define (resolve-uri-reference ref base) + "Resolve the URI reference REF, interpreted relative to the BASE URI, into a +target URI, according to the algorithm specified in RFC 3986 section 5.2.2. +Return the resulting target URI." + + (define (merge-paths base-path rel-path) + (let* ((base-components (string-split base-path #\/)) + (base-directory-components (match base-components + ((components ... last) components) + (() '()))) + (base-directory (string-join base-directory-components "/"))) + (string-append base-directory "/" rel-path))) + + (define (remove-dot-segments path) + (let loop ((in + ;; Drop leading "." and ".." components from a relative path. + ;; (absolute paths will start with a "" component) + (drop-while (match-lambda + ((or "." "..") #t) + (_ #f)) + (string-split path #\/))) + (out '())) + (match in + (("." . rest) + (loop rest out)) + ((".." . rest) + (match out + ((or () ("")) + (error "remove-dot-segments: too many '..' components" path)) + (_ + (loop rest (cdr out))))) + ((component . rest) + (loop rest (cons component out))) + (() + (string-join (reverse out) "/"))))) + + (cond ((or (uri-scheme ref) + (uri-host ref)) + (build-uri (or (uri-scheme ref) + (uri-scheme base)) + #:userinfo (uri-userinfo ref) + #:host (uri-host ref) + #:port (uri-port ref) + #:path (remove-dot-segments (uri-path ref)) + #:query (uri-query ref) + #:fragment (uri-fragment ref))) + ((string-null? (uri-path ref)) + (build-uri (uri-scheme base) + #:userinfo (uri-userinfo base) + #:host (uri-host base) + #:port (uri-port base) + #:path (remove-dot-segments (uri-path base)) + #:query (or (uri-query ref) + (uri-query base)) + #:fragment (uri-fragment ref))) + (else + (build-uri (uri-scheme base) + #:userinfo (uri-userinfo base) + #:host (uri-host base) + #:port (uri-port base) + #:path (remove-dot-segments + (if (string-prefix? "/" (uri-path ref)) + (uri-path ref) + (merge-paths (uri-path base) + (uri-path ref)))) + #:query (uri-query ref) + #:fragment (uri-fragment ref))))) + (define (http-fetch uri file) "Fetch data from URI and write it to FILE. Return FILE on success." @@ -260,7 +340,7 @@ which is not available during bootstrap." file)) ((301 ; moved permanently 302) ; found (redirection) - (let ((uri (response-location resp))) + (let ((uri (resolve-uri-reference (response-location resp) uri))) (format #t "following redirection to `~a'...~%" (uri->string uri)) (close connection) diff --git a/guix/http-client.scm b/guix/http-client.scm index 4770628e45..aad7656e19 100644 --- a/guix/http-client.scm +++ b/guix/http-client.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2012 Free Software Foundation, Inc. ;;; ;;; This file is part of GNU Guix. @@ -29,6 +30,7 @@ #:use-module (rnrs bytevectors) #:use-module (guix ui) #:use-module (guix utils) + #:use-module ((guix build download) #:select (resolve-uri-reference)) #:export (&http-get-error http-get-error? http-get-error-uri @@ -227,7 +229,7 @@ Raise an '&http-get-error' condition if downloading fails." (values data len))))) ((301 ; moved permanently 302) ; found (redirection) - (let ((uri (response-location resp))) + (let ((uri (resolve-uri-reference (response-location resp) uri))) (close-port port) (format #t (_ "following redirection to `~a'...~%") (uri->string uri)) -- cgit 1.4.1 From 8622a07280bc3c6f7b3f4a57fb496be8934f2a14 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Feb 2015 15:00:04 +0100 Subject: gnu: Add RSeQC. * gnu/packages/bioinformatics.scm (rseqc): New variable. --- gnu/packages/bioinformatics.scm | 44 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 44 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 5bd668ee14..c13e6499b7 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -22,6 +22,7 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) + #:use-module (guix build-system python) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages base) @@ -310,6 +311,49 @@ several alignment strategies enable effective alignment of RNA-seq reads, in particular, reads spanning multiple exons.") (license license:gpl3+))) +(define-public rseqc + (package + (name "rseqc") + (version "2.6.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/rseqc/" + version "/RSeQC-" version ".tar.gz")) + (sha256 + (base32 "09rf0x9d6apjja5l01cgprj7vigpw6kiqhy34ibwwlxil0db0ri4")) + (modules '((guix build utils))) + (snippet + '(begin + ;; remove bundled copy of pysam + (delete-file-recursively "lib/pysam") + (substitute* "setup.py" + ;; remove dependency on outdated "distribute" module + (("^from distribute_setup import use_setuptools") "") + (("^use_setuptools\\(\\)") "") + ;; do not use bundled copy of pysam + (("^have_pysam = False") "have_pysam = True")))))) + (build-system python-build-system) + (arguments `(#:python ,python-2)) + (inputs + `(("python-cython" ,python2-cython) + ("python-pysam" ,python2-pysam) + ("python-numpy" ,python2-numpy) + ("python-setuptools" ,python2-setuptools) + ("zlib" ,zlib))) + (native-inputs + `(("python-nose" ,python2-nose))) + (home-page "http://rseqc.sourceforge.net/") + (synopsis "RNA-seq quality control package") + (description + "RSeQC provides a number of modules that can comprehensively evaluate +high throughput sequence data, especially RNA-seq data. Some basic modules +inspect sequence quality, nucleotide composition bias, PCR bias and GC bias, +while RNA-seq specific modules evaluate sequencing saturation, mapped reads +distribution, coverage uniformity, strand specificity, etc.") + (license license:gpl3+))) + (define-public samtools (package (name "samtools") -- cgit 1.4.1 From 9953fa7602a0f59e28cc67f8f38ab4b311040e74 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 30 Jan 2015 16:57:13 +0100 Subject: gnu: Add Ant. * gnu/packages/java.scm (ant): New variable. --- gnu/packages/java.scm | 52 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 4a86f63bdb..c486742c14 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -48,6 +48,58 @@ #:use-module (gnu packages zip) #:use-module (gnu packages texinfo)) +(define-public ant + (package + (name "ant") + (version "1.9.4") + (source (origin + (method url-fetch) + (uri (string-append + "https://www.apache.org/dist/ant/source/apache-ant-" + version "-src.tar.gz")) + (sha256 + (base32 + "09kf5s1ir0rdrclsy174bsvbdcbajza9fja490w4mmvcpkw3zpak")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no "check" target + #:phases + (alist-cons-after + 'unpack 'remove-scripts + ;; Remove bat / cmd scripts for DOS as well as the antRun and runant + ;; wrappers. + (lambda _ + (for-each delete-file + (find-files "src/script" + "(.*\\.(bat|cmd)|runant.*|antRun.*)"))) + (alist-replace + 'build + (lambda _ + (setenv "JAVA_HOME" + (assoc-ref %build-inputs "icedtea6")) + ;; Disable tests to avoid dependency on hamcrest-core, which needs + ;; Ant to build. This is necessary in addition to disabling the + ;; "check" phase, because the dependency on "test-jar" would always + ;; result in the tests to be run. + (substitute* "build.xml" + (("depends=\"jars,test-jar\"") "depends=\"jars\"")) + (zero? (system* "bash" "bootstrap.sh" + (string-append "-Ddist.dir=" + (assoc-ref %outputs "out"))))) + (alist-delete + 'configure + (alist-delete 'install %standard-phases)))))) + (native-inputs + `(("icedtea6" ,icedtea6))) + (home-page "http://ant.apache.org") + (synopsis "Build tool for Java") + (description + "Ant is a platform-independent build tool for Java. It is similar to +make but is implemented using the Java language, requires the Java platform, +and is best suited to building Java projects. Ant uses XML to describe the +build process and its dependencies, whereas Make uses Makefile format.") + (license license:asl2.0))) + (define-public icedtea6 (package (name "icedtea6") -- cgit 1.4.1 From fc936b65d351f0a73af066f1c9874ed8b08cef7c Mon Sep 17 00:00:00 2001 From: David Hashe Date: Thu, 19 Feb 2015 18:47:55 -0600 Subject: gnu: Add gnugo. * gnu/packages/games.scm (gnugo): New variable. --- gnu/packages/games.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 9b8983e848..687e037526 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -8,6 +8,7 @@ ;;; Copyright © 2014, 2015 Sou Bunnbu ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2015 Andreas Enge +;;; Copyright © 2015 David Hashe ;;; ;;; This file is part of GNU Guix. ;;; @@ -834,3 +835,27 @@ straight into any libretro-compatible frontend. RetroArch is the official reference frontend for the libretro API, currently used by most as a modular multi-system game/emulator system.") (license license:gpl3+))) + +(define-public gnugo + (package + (name "gnugo") + (version "3.8") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gnugo/gnugo-" version + ".tar.gz")) + (sha256 + (base32 + "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s")))) + (build-system gnu-build-system) + (inputs `(("readline" ,readline))) + (synopsis "Go game") + (description "GNU Go is a program that plays the game of Go, in which +players place stones on a grid to form territory or capture other stones. +While it can be played directly from the terminal, rendered in ASCII +characters, it is also possible to play GNU Go with 3rd party graphical +interfaces or even in Emacs. It supports the standard game storage format +(SGF, Smart Game Format) and inter-process communication format (GMP, Go +Modem Protocol).") + (home-page "http://www.gnu.org/software/gnugo/") + (license license:gpl3+))) -- cgit 1.4.1 From 66cc3ab218217c5a0e457ec67cab5872ede0d29d Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 9 Feb 2015 23:17:36 +0100 Subject: gnu: Add exim. * gnu/packages/mail.scm (exim): New variable. --- gnu/packages/mail.scm | 87 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 87 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 62f86ef839..dc33c8cbd3 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu ;;; Copyright © 2014 Julien Lepiller +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -46,6 +47,7 @@ #:use-module (gnu packages databases) #:use-module (gnu packages ncurses) #:use-module (gnu packages openssl) + #:use-module (gnu packages pcre) #:use-module (gnu packages perl) #:use-module (gnu packages python) #:use-module (gnu packages readline) @@ -529,4 +531,89 @@ an SMTP server (for example at a free mail provider) which takes care of further delivery.") (license gpl3+))) +(define-public exim + (package + (name "exim") + (version "4.85") + (source + (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.exim.org/pub/exim/exim4/exim-" version ".tar.bz2")) + (sha256 + (base32 "195a3ll5ck9viazf9pvgcyc0sziln5g0ggmlm6ax002lphmiy88k")))) + (build-system gnu-build-system) + (inputs + `(("bdb" ,bdb) + ("gnutls" ,gnutls) + ("gzip" ,gzip) + ("bzip2" ,bzip2) + ("xz" ,xz) + ("pcre" ,pcre) + ("perl" ,perl) + ("libxt" ,libxt) + ("libxaw" ,libxaw))) + (native-inputs + `(("perl" ,perl))) + (arguments + '(#:phases + (alist-replace + 'configure + ;; We'd use #:make-flags but the top-level Makefile calls others + ;; recursively, so just set all variables this way. + (lambda* (#:key outputs inputs #:allow-other-keys) + (substitute* '("Makefile" "OS/Makefile-Default") + (("(RM_COMMAND=).*" all var) + (string-append var "rm\n"))) + (copy-file "src/EDITME" "Local/Makefile") + (copy-file "exim_monitor/EDITME" "Local/eximon.conf") + (let ((out (assoc-ref outputs "out")) + (gzip (assoc-ref inputs "gzip")) + (bzip2 (assoc-ref inputs "bzip2")) + (xz (assoc-ref inputs "xz"))) + (substitute* '("Local/Makefile") + (("(BIN_DIRECTORY=).*" all var) + (string-append var out "/bin\n")) + (("(CONFIGURE_FILE=).*" all var) + (string-append var out "/etc/exim.conf\n")) + (("(EXIM_USER=).*" all var) + (string-append var "nobody\n")) + (("(FIXED_NEVER_USERS=).*" all var) + (string-append var "\n")) ;XXX no root in build environment + (("(COMPRESS_COMMAND=).*" all var) + (string-append var gzip "/bin/gzip\n")) + (("(ZCAT_COMMAND=).*" all var) + (string-append var gzip "/bin/zcat\n"))) + ;; This file has hardcoded names for tools despite the zcat + ;; configuration above. + (substitute* '("src/exigrep.src") + (("'zcat'") (string-append "'" gzip "/bin/zcat'")) + (("'bzcat'") (string-append "'" bzip2 "/bin/bzcat'")) + (("'xzcat'") (string-append "'" xz "/bin/xzcat'")) + (("'lzma'") (string-append "'" xz "/bin/lzma'"))))) + (alist-cons-before + 'build 'fix-sh-paths + (lambda* (#:key inputs #:allow-other-keys) + (substitute* '("scripts/lookups-Makefile" "scripts/reversion") + (("SHELL=/bin/sh") "SHELL=sh")) + (substitute* '("scripts/Configure-config.h") + (("\\| /bin/sh") "| sh")) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* '("scripts/Configure-eximon") + (("#!/bin/sh") (string-append "#!" bash "/bin/sh"))))) + %standard-phases)) + #:make-flags '("INSTALL_ARG=-no_chown") + ;; No 'check' target. + #:tests? #f)) + (home-page "http://www.exim.org/") + (synopsis + "Message Transfer Agent (MTA) developed at the University of Cambridge") + (description + "Exim is a message transfer agent (MTA) developed at the University of +Cambridge for use on Unix systems connected to the Internet. In style it is +similar to Smail 3, but its facilities are more general. There is a great +deal of flexibility in the way mail can be routed, and there are extensive +facilities for checking incoming mail.") + (license gpl2+))) + ;;; mail.scm ends here -- cgit 1.4.1 From 76aae0f96f3aed10e842b1726ffc19848600c04d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 20 Feb 2015 10:14:23 +0100 Subject: Add David Hashe to 'AUTHORS'. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index c156186378..47eb50c1a7 100644 --- a/AUTHORS +++ b/AUTHORS @@ -20,6 +20,7 @@ alphabetical order): Alírio Eyng Joshua Grant Raimon Grau + David Hashe Nikita Karetnikov Julien Lepiller Aljosha Papsch -- cgit 1.4.1 From 6754032f0c908f09cb1fc9577133b712651aec69 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Feb 2015 11:47:40 +0100 Subject: gnu: matplotlib: install UTF-8 locale. * gnu/packages/python.scm (python-matplotlib): Install en_US.UTF-8 locale in install-doc phase to avoid encoding error. --- gnu/packages/python.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 6fe524e83a..7dc7435b20 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2259,7 +2259,11 @@ backend = GTK3Agg~%"))))) (info (string-append data "/info")) (html (string-append doc "/html"))) (with-directory-excursion "doc" - ;; Without setting this variable we get an encoding error. + ;; Install and set UTF-8 locale to avoid an encoding error. + (setenv "LOCPATH" (getcwd)) + (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "UTF-8" "./en_US.UTF-8") (setenv "LANG" "en_US.UTF-8") ;; Produce pdf in 'A4' format. (substitute* (find-files "." "conf\\.py") -- cgit 1.4.1 From f18f8b73835f0f24d245d29acb3f0e034170c502 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Feb 2015 12:19:38 +0100 Subject: gnu: python-scipy: install UTF-8 locale. * gnu/packages/python.scm (python-scipy): Install en_US.UTF-8 locale in install-doc phase to avoid encoding error. --- gnu/packages/python.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7dc7435b20..cb25419881 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2357,7 +2357,11 @@ toolkits.") (html (string-append doc "/html")) (pyver ,(string-append "PYVER="))) (with-directory-excursion "doc" - ;; Without setting this variable we get an encoding error. + ;; Install and set UTF-8 locale to avoid an encoding error. + (setenv "LOCPATH" (getcwd)) + (system* "localedef" "--no-archive" + "--prefix" (getcwd) "-i" "en_US" + "-f" "UTF-8" "./en_US.UTF-8") (setenv "LANG" "en_US.UTF-8") ;; Fix generation of images for mathematical expressions. (substitute* (find-files "source" "conf\\.py") -- cgit 1.4.1 From 865a69ddc82b13c6b5c4473f1d9cf798d5786514 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 18 Feb 2015 16:08:33 +0100 Subject: gnu: Add arpack-ng. * gnu/packages/maths.scm (arpack-ng): New variable. --- gnu/packages/maths.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index c3cf30c7a7..8c4eb3bd2f 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -5,6 +5,7 @@ ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014 Federico Beffa ;;; Copyright © 2014 Mathieu Lirzin +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -212,6 +213,30 @@ can be imported from spreadsheets, text files and database sources and it can be output in text, PostScript, PDF or HTML.") (license license:gpl3+))) +(define-public arpack-ng + (package + (name "arpack-ng") + (version "3.2.0") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/opencollab/arpack-ng/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1fwch6vipms1ispzg2djvbzv5wag36f1dmmr3xs3mbp6imfyhvff")))) + (build-system gnu-build-system) + (home-page "https://github.com/opencollab/arpack-ng") + (inputs + `(("lapack" ,lapack) + ("fortran" ,gfortran-4.8))) + (synopsis "Fortran subroutines for solving eigenvalue problems") + (description + "ARPACK-NG is a collection of Fortran77 subroutines designed to solve +large scale eigenvalue problems.") + (license (license:bsd-style "file://COPYING" + "See COPYING in the distribution.")))) + (define-public lapack (package (name "lapack") -- cgit 1.4.1 From f78c66aacc6057ffb83c53631686dc1f0798c472 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 20 Feb 2015 16:46:26 +0100 Subject: gnu: pari-gp: Update to 2.7.3. * gnu/packages/algebra.scm (pari-gp): Update to 2.7.3. --- gnu/packages/algebra.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index fb59928e02..2fe26a4878 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -84,22 +84,23 @@ solve the shortest vector problem.") (define-public pari-gp (package (name "pari-gp") - (version "2.7.2") + (version "2.7.3") (source (origin (method url-fetch) (uri (string-append "http://pari.math.u-bordeaux.fr/pub/pari/unix/pari-" version ".tar.gz")) - (sha256 (base32 - "1b0hzyhafpxhmiljyhnsh6c27ydsvb2599fshwq2fjfm96awjxmc")))) + (sha256 + (base32 + "02k54m7p47r54lgxqanxvf7pdrss17n8if1qwk5wx0j1px22j0rq")))) (build-system gnu-build-system) (inputs `(("gmp" ,gmp) ("perl" ,perl) ("readline" ,readline))) (arguments '(#:make-flags '("gp") - ;; FIXME: building the documentation requires tex; once this is available, - ;; replace "gp" by "all" + ;; FIXME: building the documentation requires tex; once this is + ;; available, replace "gp" by "all" #:test-target "dobench" #:phases (alist-replace -- cgit 1.4.1 From 5eb86b64d19ea1afeb1f6f21994a29ebbd9005b8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Feb 2015 17:35:09 +0100 Subject: gnu: Add libyaml. * gnu/packages/web.scm (libyaml): New variable. --- gnu/packages/web.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 308434f27f..5296c43c53 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -799,3 +799,23 @@ select or poll.") server). It was primarily designed to be used by one person or a small group of people.") (license l:expat))) + +(define-public libyaml + (package + (name "libyaml") + (version "0.1.5") + (source + (origin + (method url-fetch) + (uri (string-append + "http://pyyaml.org/download/libyaml/yaml-" + version ".tar.gz")) + (sha256 + (base32 + "1vrv5ly58bkmcyc049ad180f2m8iav6l9h3v8l2fqdmrny7yx1zs")))) + (build-system gnu-build-system) + (home-page "http://pyyaml.org/wiki/LibYAML") + (synopsis "YAML 1.1 parser and emitter written in C") + (description + "LibYAML is a YAML 1.1 parser and emitter written in C.") + (license l:expat))) -- cgit 1.4.1 From 85652f599a7a9574a26aefc4bdd36f6b6710a7c0 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Feb 2015 16:41:50 +0100 Subject: gnu: Add HTSeq. * gnu/packages/bioinformatics.scm (htseq): New variable. --- gnu/packages/bioinformatics.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c13e6499b7..b64dab73cd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -311,6 +311,30 @@ several alignment strategies enable effective alignment of RNA-seq reads, in particular, reads spanning multiple exons.") (license license:gpl3+))) +(define-public htseq + (package + (name "htseq") + (version "0.6.1") + (source (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/H/HTSeq/HTSeq-" + version ".tar.gz")) + (sha256 + (base32 + "1i85ppf2j2lj12m0x690qq5nn17xxk23pbbx2c83r8ayb5wngzwv")))) + (build-system python-build-system) + (arguments `(#:python ,python-2)) ; only Python 2 is supported + (inputs + `(("python-numpy" ,python2-numpy) + ("python-setuptools" ,python2-setuptools))) + (home-page "http://www-huber.embl.de/users/anders/HTSeq/") + (synopsis "Analysing high-throughput sequencing data with Python") + (description + "HTSeq is a Python package that provides infrastructure to process data +from high-throughput sequencing assays.") + (license license:gpl3+))) + (define-public rseqc (package (name "rseqc") -- cgit 1.4.1 From ff7df27d4bdcc31835427713bfae62adc3a592a1 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Feb 2015 21:56:51 +0100 Subject: gnu: lilv: propagate inputs serd, sord and sratom. * gnu/packages/audio.scm (lilv): move serd, sord and sratom to propagated inputs. --- gnu/packages/audio.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 6e7ebf17c0..f6fb236a0a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -372,11 +372,13 @@ implementation of the Open Sound Control (OSC) protocol.") "0aj2plkx56iar8vzjbq2l7hi7sp0ml99m0h44rgwai2x4vqkk2j2")))) (build-system waf-build-system) (arguments `(#:tests? #f)) ; no check target - (inputs - `(("lv2" ,lv2) - ("serd" ,serd) + ;; required by lilv-0.pc + (propagated-inputs + `(("serd" ,serd) ("sord" ,sord) ("sratom" ,sratom))) + (inputs + `(("lv2" ,lv2))) (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://drobilla.net/software/lilv/") -- cgit 1.4.1 From 2f4646b6f6028e095c3e03898df0fea4d98c1afc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Fri, 20 Feb 2015 22:05:37 +0100 Subject: gnu: Add jalv. * gnu/packages/audio.scm (jalv): New variable. --- gnu/packages/audio.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index f6fb236a0a..900d061c6a 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -256,6 +256,37 @@ synchronous execution of all clients, and low latency operation.") ;; Most files are under GPLv2+, but some headers are under LGPLv2.1+ (license (list license:gpl2+ license:lgpl2.1+)))) +(define-public jalv + (package + (name "jalv") + (version "1.4.6") + (source (origin + (method url-fetch) + (uri (string-append "http://download.drobilla.net/jalv-" + version ".tar.bz2")) + (sha256 + (base32 + "1f1hcq74n3ziw8bk97mn5a1vgw028dxikv3fchaxd430pbbhqgl9")))) + (build-system waf-build-system) + (arguments `(#:tests? #f)) ; no check target + (inputs + `(("lv2" ,lv2) + ("lilv" ,lilv) + ("suil" ,suil) + ("gtk" ,gtk+-2) + ("gtkmm" ,gtkmm-2) + ("qt" ,qt-4) + ("jack" ,jack-1))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://drobilla.net/software/jalv/") + (synopsis "Simple LV2 host for JACK") + (description + "Jalv is a simple but fully featured LV2 host for JACK. It runs LV2 +plugins and exposes their ports as JACK ports, essentially making any LV2 +plugin function as a JACK application.") + (license license:isc))) + (define-public ladspa (package (name "ladspa") -- cgit 1.4.1 From 431b28d9dc6767b4ecc14d6c7aac9d3fe56673f8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Fri, 20 Feb 2015 16:20:38 -0500 Subject: import: cpan: Change %corelist into a promise. Fixes compilation failures in 'guix pull'. * guix/import/cpan.scm (%corelist): Change it to a promise by wrapping it with 'delay'. (cpan-module->sexp): Adapt uses of %corelist by wrapping with 'force'. --- guix/import/cpan.scm | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/guix/import/cpan.scm b/guix/import/cpan.scm index 3dc6edab51..37dd3b162c 100644 --- a/guix/import/cpan.scm +++ b/guix/import/cpan.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -98,12 +99,13 @@ or #f on failure. MODULE should be e.g. \"Test::Script\"" (string-append "http://search.cpan.org/dist/" name)) (define %corelist - (let* ((perl (with-store store - (derivation->output-path - (package-derivation store perl)))) - (core (string-append perl "/bin/corelist"))) - (and (access? core X_OK) - core))) + (delay + (let* ((perl (with-store store + (derivation->output-path + (package-derivation store perl)))) + (core (string-append perl "/bin/corelist"))) + (and (access? core X_OK) + core)))) (define (cpan-module->sexp meta) "Return the `package' s-expression for a CPAN module from the metadata in @@ -120,9 +122,9 @@ META." (assoc-ref meta "version")) (define (core-module? name) - (and %corelist + (and (force %corelist) (parameterize ((current-error-port (%make-void-port "w"))) - (let* ((corelist (open-pipe* OPEN_READ %corelist name))) + (let* ((corelist (open-pipe* OPEN_READ (force %corelist) name))) (let loop ((line (read-line corelist))) (if (eof-object? line) (begin (close-pipe corelist) #f) -- cgit 1.4.1 From cc9b70d3ea708e4364b0a090d8a6efebabd8c0e9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Fri, 20 Feb 2015 16:02:43 -0600 Subject: import: cpan: Update tests for dependency handling. * tests/cpan.scm (test-json): Remove core module dependencies. [cpan->guix-package]: Add mock url handling for module api. Adjust expected native-inputs and license. --- tests/cpan.scm | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/tests/cpan.scm b/tests/cpan.scm index af7b36e684..2f9513519e 100644 --- a/tests/cpan.scm +++ b/tests/cpan.scm @@ -28,15 +28,8 @@ "{ \"metadata\" : { \"prereqs\" : { - \"configure\" : { - \"requires\" : { - \"ExtUtils::MakeMaker\" : \"0\", - \"Module::Build\" : \"0.28\" - } - }, \"runtime\" : { \"requires\" : { - \"Getopt::Std\" : \"0\", \"Test::Script\" : \"1.05\", } } @@ -70,6 +63,8 @@ (match url ("http://api.metacpan.org/release/Foo-Bar" test-json) + ("http://api.metacpan.org/module/Test::Script" + "{ \"distribution\" : \"Test-Script\" }") ("http://example.com/Foo-Bar-0.1.tar.gz" test-source) (_ (error "Unexpected URL: " url)))))))) @@ -85,16 +80,13 @@ ('base32 (? string? hash))))) ('build-system 'perl-build-system) - ('native-inputs - ('quasiquote - (("perl-module-build" ('unquote 'perl-module-build))))) ('inputs ('quasiquote (("perl-test-script" ('unquote 'perl-test-script))))) ('home-page "http://search.cpan.org/dist/Foo-Bar") ('synopsis "Fizzle Fuzz") ('description 'fill-in-yourself!) - ('license 'gpl1+)) + ('license (package-license perl))) (string=? (bytevector->nix-base32-string (call-with-input-string test-source port-sha256)) hash)) -- cgit 1.4.1 From a34816ef6e0abc91530701afe9d112da54edd499 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 20 Feb 2015 21:53:07 +0100 Subject: gnu: chmlib: Patch for compilation on mips. * gnu/packages/patches/chmlib-inttypes.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. * gnu/packages/ebook.scm (chmlib): Apply patch. --- gnu-system.am | 3 +- gnu/packages/ebook.scm | 6 ++- gnu/packages/patches/chmlib-inttypes.patch | 60 ++++++++++++++++++++++++++++++ 3 files changed, 66 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/chmlib-inttypes.patch diff --git a/gnu-system.am b/gnu-system.am index eeadd8fdc6..71697be181 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -1,6 +1,6 @@ # GNU Guix --- Functional package management for GNU # Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès -# Copyright © 2013, 2014 Andreas Enge +# Copyright © 2013, 2014, 2015 Andreas Enge # Copyright © 2013, 2014, 2015 Mark H Weaver # # This file is part of GNU Guix. @@ -362,6 +362,7 @@ dist_patch_DATA = \ gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-loongson-workaround.patch \ gnu/packages/patches/cdparanoia-fpic.patch \ + gnu/packages/patches/chmlib-inttypes.patch \ gnu/packages/patches/clucene-pkgconfig.patch \ gnu/packages/patches/cmake-fix-tests.patch \ gnu/packages/patches/coreutils-dummy-man.patch \ diff --git a/gnu/packages/ebook.scm b/gnu/packages/ebook.scm index f34966c762..e4d609aaf2 100644 --- a/gnu/packages/ebook.scm +++ b/gnu/packages/ebook.scm @@ -20,7 +20,8 @@ #:use-module ((guix licenses) #:select (lgpl2.1+)) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (gnu packages)) (define-public chmlib (package @@ -32,7 +33,8 @@ version ".tar.bz2")) (sha256 (base32 - "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l")))) + "18zzb4x3z0d7fjh1x5439bs62dmgsi4c1pg3qyr7h5gp1i5xcj9l")) + (patches (list (search-patch "chmlib-inttypes.patch"))))) (build-system gnu-build-system) (home-page "http://www.jedrea.com/chmlib/") (synopsis "Library for CHM files") diff --git a/gnu/packages/patches/chmlib-inttypes.patch b/gnu/packages/patches/chmlib-inttypes.patch new file mode 100644 index 0000000000..033e808792 --- /dev/null +++ b/gnu/packages/patches/chmlib-inttypes.patch @@ -0,0 +1,60 @@ +Taken from Debian, necessary for compilation on mips. + +Patch to fix integer types problem by Goswin von Brederlow + (#258444) +--- chmlib-0.39.orig/src/chm_lib.c ++++ chmlib-0.39/src/chm_lib.c +@@ -56,6 +56,7 @@ + + #include "lzx.h" + ++#include + #include + #include + #ifdef CHM_DEBUG +@@ -149,22 +150,9 @@ + typedef __int64 Int64; + typedef unsigned __int64 UInt64; + +-/* I386, 32-bit, non-Windows */ +-/* Sparc */ +-/* MIPS */ +-/* PPC */ +-#elif __i386__ || __sun || __sgi || __ppc__ +-typedef unsigned char UChar; +-typedef short Int16; +-typedef unsigned short UInt16; +-typedef long Int32; +-typedef unsigned long UInt32; +-typedef long long Int64; +-typedef unsigned long long UInt64; +- + /* x86-64 */ + /* Note that these may be appropriate for other 64-bit machines. */ +-#elif __x86_64__ || __ia64__ ++#elif defined(__LP64__) + typedef unsigned char UChar; + typedef short Int16; + typedef unsigned short UInt16; +@@ -173,10 +161,18 @@ + typedef long Int64; + typedef unsigned long UInt64; + ++/* I386, 32-bit, non-Windows */ ++/* Sparc */ ++/* MIPS */ ++/* PPC */ + #else +- +-/* yielding an error is preferable to yielding incorrect behavior */ +-#error "Please define the sized types for your platform in chm_lib.c" ++typedef unsigned char UChar; ++typedef short Int16; ++typedef unsigned short UInt16; ++typedef long Int32; ++typedef unsigned long UInt32; ++typedef long long Int64; ++typedef unsigned long long UInt64; + #endif + + /* GCC */ -- cgit 1.4.1 From 94c43007200ba97879004db546dfc6bd8473da0d Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sat, 21 Feb 2015 08:25:38 -0500 Subject: gnu: isc-dhcp: Add inetutils to inputs. * gnu/packages/admin.scm (isc-dhcp): Add inetutils to inputs, and add it to the PATH set by the wrapper around 'dhclient-script'. --- gnu/packages/admin.scm | 17 ++++++++++------- 1 file changed, 10 insertions(+), 7 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 63c16f0850..c779ade2b4 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -420,6 +420,7 @@ connection alive.") (let* ((out (assoc-ref outputs "out")) (libexec (string-append out "/libexec")) (coreutils (assoc-ref inputs "coreutils")) + (inetutils (assoc-ref inputs "inetutils")) (net-tools (assoc-ref inputs "net-tools")) (sed (assoc-ref inputs "sed"))) (substitute* "client/scripts/linux" @@ -431,17 +432,19 @@ connection alive.") (copy-file "client/scripts/linux" (string-append libexec "/dhclient-script")) - (wrap-program (string-append libexec "/dhclient-script") - `("PATH" ":" prefix - ,(map (lambda (dir) - (string-append dir "/bin:" - dir "/sbin")) - (list net-tools coreutils sed)))))) + (wrap-program + (string-append libexec "/dhclient-script") + `("PATH" ":" prefix + ,(map (lambda (dir) + (string-append dir "/bin:" + dir "/sbin")) + (list inetutils net-tools coreutils sed)))))) %standard-phases)))) (native-inputs `(("perl" ,perl))) - (inputs `(("net-tools" ,net-tools) + (inputs `(("inetutils" ,inetutils) + ("net-tools" ,net-tools) ("iproute" ,iproute) ;; When cross-compiling, we need the cross Coreutils and sed. -- cgit 1.4.1 From 8cc91fa04131e1b37339bd08c48b117f1c32aa29 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 21 Feb 2015 19:24:54 +0100 Subject: gnu: Add weex. * gnu/packages/ftp.scm (weex): New variable. * gnu/packages/patches/weex-vacopy.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. --- gnu-system.am | 1 + gnu/packages/ftp.scm | 46 +++++++++++++++++++++++++++++++--- gnu/packages/patches/weex-vacopy.patch | 13 ++++++++++ 3 files changed, 57 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/weex-vacopy.patch diff --git a/gnu-system.am b/gnu-system.am index 71697be181..24c5dc1a91 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -504,6 +504,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/weex-vacopy.patch \ gnu/packages/patches/wicd-urwid-1.3.patch \ gnu/packages/patches/wmctrl-64-fix.patch \ gnu/packages/patches/xf86-video-ark-remove-mibstore.patch \ diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index c5649812c0..f002122bb6 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2015 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -17,10 +18,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages ftp) - #:use-module ((guix licenses) #:select (gpl3+ clarified-artistic)) - #:use-module (guix packages) - #:use-module (guix download) + #:use-module ((guix licenses) #:select (gpl2+ gpl3+ clarified-artistic)) #:use-module (guix build-system gnu) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (gnu packages) #:use-module (gnu packages ncurses) #:use-module (gnu packages readline) #:use-module (gnu packages pkg-config) @@ -103,3 +105,41 @@ File Transfer Protocol (FTP) servers. This includes 'ncftp', an interactive FTP browser, as well as non-interactive commands such as 'ncftpput' and 'ncftpget'.") (license clarified-artistic))) + + +(define-public weex + (package + (name "weex") + (version "2.6.1.5") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/weex/weex/" version + "/weex-" version ".tar.gz")) + (sha256 + (base32 + "0f5cj5p852wkm24mzy2sxgxyahv2p9rk4wlq21j310pi7wlhgwyl")) + (patches (list (search-patch "weex-vacopy.patch"))))) + (build-system gnu-build-system) + (arguments + `(#:phases + (alist-replace 'configure + ;; configure does not work followed by both "SHELL=..." and + ;; "CONFIG_SHELL=..."; set environment variables instead + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bash (which "bash"))) + (setenv "SHELL" bash) + (setenv "CONFIG_SHELL" bash) + (zero? (system* bash "./configure" + (string-append "--prefix=" out))))) + %standard-phases))) + (home-page "http://weex.sourceforge.net/") + (synopsis "Non-interactive client for FTP synchronization") + (description + "Weex is a utility designed to automate the task of remotely +maintaining a web page or other FTP archive. It synchronizes a set of +local files to a remote server by performing uploads and remote deletes +as required.") + (license gpl2+))) diff --git a/gnu/packages/patches/weex-vacopy.patch b/gnu/packages/patches/weex-vacopy.patch new file mode 100644 index 0000000000..f593e86c08 --- /dev/null +++ b/gnu/packages/patches/weex-vacopy.patch @@ -0,0 +1,13 @@ +Taken from the Debian 2.8.0 package. + +--- weex-2.6.1.5/src/strlib.c 2003-08-18 11:52:38.000000000 +0200 ++++ weex-2.8.0/src/strlib.c 2007-12-04 14:22:02.000000000 +0100 +@@ -42,6 +42,8 @@ + # define G_VA_COPY(ap1, ap2) (*(ap1) = *(ap2)) + # elif defined (G_VA_COPY_AS_ARRAY) + # define G_VA_COPY(ap1, ap2) g_memmove ((ap1), (ap2), sizeof (va_list)) ++# elif defined (__x86_64__) ++# define G_VA_COPY(ap1, ap2) memmove ((ap1), (ap2), sizeof (va_list)) + # else /* va_list is a pointer */ + # define G_VA_COPY(ap1, ap2) ((ap1) = (ap2)) + # endif /* va_list is a pointer */ -- cgit 1.4.1 From 9002e17c5ab64bc833e46bad2952df1e8ea9e46f Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Sat, 21 Feb 2015 16:37:46 +0100 Subject: gnu: vamp: Delete broken files from output. See . * gnu/packages/audio.scm (vamp): Delete "/lib/libvamp-sdk.la" and "/lib/libvamp-hostsdk.la" from the output directory after the install phase. --- gnu/packages/audio.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 900d061c6a..e1ad44a27c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -615,11 +615,23 @@ Suil currently supports every combination of Gtk 2, Qt 4, and X11.") "/attachments/download/690/vamp-plugin-sdk-" version ".tar.gz")) - (sha256 - (base32 - "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv")))) + (sha256 + (base32 + "178kfgq08cmgdzv7g8dwyjp4adwx8q04riimncq4nqkm8ng9ywbv")))) (build-system gnu-build-system) - (arguments `(#:tests? #f)) ; no check target + (arguments + `(#:tests? #f ; no check target + #:phases + (alist-cons-after + 'install 'remove-libvamp-hostsdk.la + (lambda* (#:key outputs #:allow-other-keys) + ;; https://bugs.launchpad.net/ubuntu/+source/vamp-plugin-sdk/+bug/1253656 + (for-each delete-file + (let ((out (assoc-ref outputs "out"))) + (list (string-append out "/lib/libvamp-sdk.la") + (string-append out "/lib/libvamp-hostsdk.la")))) + #t) + %standard-phases))) (inputs `(("libsndfile" ,libsndfile))) (native-inputs -- cgit 1.4.1 From 27f76fe6aa98efe0259258e81065b1020c5b2290 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 15:13:34 +0100 Subject: gnu: Add libmspack. * gnu/packages/compression.scm (libmspack): New variable. --- gnu/packages/compression.scm | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index cda1984f6a..47a0361488 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -324,3 +325,21 @@ processed by a Bourne-type shell to unpack the original collection of files. This package is mostly for compatibility and historical interest.") (license license:gpl3+))) +(define-public libmspack + (package + (name "libmspack") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.cabextract.org.uk/libmspack/libmspack-" + version "alpha.tar.gz")) + (sha256 + (base32 "04413hynb7zizxnkgy9riik3612dwirkpr6fcjrnfl2za9sz4rw9")))) + (build-system gnu-build-system) + (home-page "http://www.cabextract.org.uk/libmspack/") + (synopsis "Compression tools for some formats used by Microsoft") + (description + "The purpose of libmspack is to provide both compression and +decompression of some loosely related file formats used by Microsoft.") + (license license:lgpl2.1+))) -- cgit 1.4.1 From f5b2a53dab26fb9daea0603a7efae4fb588d5089 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:22:23 +0100 Subject: gnu: Add i2c-tools. * gnu/packages/linux.scm (i2c-tools): New variable. --- gnu/packages/linux.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 3bda6f2bb3..f88be6d74c 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1724,6 +1724,34 @@ you to access information from temperature, voltage, and fan speed sensors. It works with most newer systems.") (license gpl2+))) +(define-public i2c-tools + (package + (name "i2c-tools") + (version "3.1.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://dl.lm-sensors.org/i2c-tools/releases/i2c-tools-" + version ".tar.bz2")) + (sha256 + (base32 + "000pvg995qy1b15ks59gd0klri55hb33kqpg5czy84hw1pbdgm0l")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; no 'check' target + #:make-flags (list (string-append "prefix=" %output) + "CC=gcc") + ;; no configure script + #:phases (alist-delete 'configure %standard-phases))) + (home-page "http://www.lm-sensors.org/wiki/I2CTools") + (synopsis "I2C tools for Linux") + (description + "The i2c-tools package contains a heterogeneous set of I2C tools for +Linux: a bus probing tool, a chip dumper, register-level SMBus access helpers, +EEPROM decoding scripts, EEPROM programming tools, and a python module for +SMBus access.") + (license gpl2+))) + (define-public xsensors (package (name "xsensors") -- cgit 1.4.1 From bccf27cb3b39245a1059d4c80a3d1edf28e0c056 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sun, 22 Feb 2015 18:50:13 +0100 Subject: gnu: i2c-tools: Add perl to inputs. * gnu/packages/linux.scm (i2c-tools): Add perl to inputs. --- gnu/packages/linux.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index f88be6d74c..1558d09031 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1743,6 +1743,8 @@ It works with most newer systems.") "CC=gcc") ;; no configure script #:phases (alist-delete 'configure %standard-phases))) + (inputs + `(("perl" ,perl))) (home-page "http://www.lm-sensors.org/wiki/I2CTools") (synopsis "I2C tools for Linux") (description -- cgit 1.4.1 From 89b5c60ef9f75cb747608f4ead8f3a2fe1cb1136 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 23 Feb 2015 18:41:10 +0100 Subject: gnu: python2-oauthlib: Drop inherited fields. * gnu/packages/python.scm (python2-oauthlib): Drop inherited fields. --- gnu/packages/python.scm | 87 +++++++++++++++++++++---------------------------- 1 file changed, 38 insertions(+), 49 deletions(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index cb25419881..2e4341ce85 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1689,17 +1689,6 @@ OAuth request-signing logic.") (let ((base (package-with-python2 python-oauthlib))) (package (inherit base) - (name "python2-oauthlib") - (version "0.6.3") - (source (origin - (method url-fetch) - (uri - (string-append - "https://pypi.python.org/packages/source/o/oauthlib/oauthlib-" - version ".tar.gz")) - (sha256 - (base32 - "1yaj3j64la4arwsbhbfmpnickzh3jpg9nlpyg409v8pp24isn48a")))) (inputs (append (package-inputs base) `(("python2-unittest2" ,python2-unittest2))))))) @@ -1994,25 +1983,25 @@ writing C extensions for Python as easy as Python itself.") 'build 'set-environment-variables (lambda* (#:key inputs #:allow-other-keys) (let* ((atlas-threaded - (string-append (assoc-ref inputs "atlas") + (string-append (assoc-ref inputs "atlas") "/lib/libtatlas.so")) ;; On single core CPUs only the serial library is created. (atlas-lib (if (file-exists? atlas-threaded) atlas-threaded - (string-append (assoc-ref inputs "atlas") + (string-append (assoc-ref inputs "atlas") "/lib/libsatlas.so")))) (setenv "ATLAS" atlas-lib))) ;; Tests can only be run after the library has been installed and not ;; within the source directory. (alist-cons-after 'install 'check - (lambda _ + (lambda _ (with-directory-excursion "/tmp" - (zero? (system* "python" "-c" + (zero? (system* "python" "-c" "import numpy; numpy.test(verbose=2)")))) - (alist-delete - 'check + (alist-delete + 'check %standard-phases))))) (home-page "http://www.numpy.org/") (synopsis "Fundamental package for scientific computing with Python") @@ -2030,7 +2019,7 @@ capabilities.") (package (inherit python-numpy-bootstrap) (name "python-numpy") (outputs '("out" "doc")) - (inputs + (inputs `(("which" ,which) ("python-setuptools" ,python-setuptools) ("python-matplotlib" ,python-matplotlib) @@ -2045,15 +2034,15 @@ capabilities.") ("perl" ,perl) ,@(package-native-inputs python-numpy-bootstrap))) (arguments - `(,@(substitute-keyword-arguments + `(,@(substitute-keyword-arguments (package-arguments python-numpy-bootstrap) ((#:phases phases) `(alist-cons-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) - (doc (string-append - data "/doc/" ,name "-" + (doc (string-append + data "/doc/" ,name "-" ,(package-version python-numpy-bootstrap))) (info (string-append data "/info")) (html (string-append doc "/html")) @@ -2062,7 +2051,7 @@ capabilities.") (mkdir-p html) (system* "make" "html" pyver) (system* "make" "latex" "PAPER=a4" pyver) - (system* "make" "-C" "build/latex" + (system* "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver) ;; FIXME: Generation of the info file fails. ;; (system* "make" "info" pyver) @@ -2091,7 +2080,7 @@ capabilities.") ;; import the right version of 'matplotlib' as well. (inputs `(("python2-numpydoc" ,python2-numpydoc) ("python2-matplotlib" ,python2-matplotlib) - ,@(alist-delete "python-numpydoc" + ,@(alist-delete "python-numpydoc" (alist-delete "python-matplotlib" (package-inputs numpy)))))))) @@ -2117,15 +2106,15 @@ capabilities.") (alist-cons-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) - (let* ((doc (string-append (assoc-ref outputs "doc") + (let* ((doc (string-append (assoc-ref outputs "doc") "/share/doc/" ,name "-" ,version)) (html-doc (string-append doc "/html")) (examples (string-append doc "/examples"))) (mkdir-p html-doc) (mkdir-p examples) - (for-each + (for-each (lambda (dir tgt) - (map (lambda (file) + (map (lambda (file) (copy-file file (string-append tgt "/" (basename file)))) (find-files dir ".*"))) (list "docs" "htmldoc" "examples") @@ -2150,7 +2139,7 @@ that client code uses to construct the grammar directly in Python code.") (source (origin (method url-fetch) - (uri (string-append + (uri (string-append "https://pypi.python.org/packages/source/n/numpydoc/numpydoc-" version ".tar.gz")) (sha256 @@ -2170,7 +2159,7 @@ that client code uses to construct the grammar directly in Python code.") (license bsd-2))) (define-public python2-numpydoc - (package + (package (inherit (package-with-python2 python-numpydoc)) ;; With python-2 1 test (out of 30) fails because it doesn't find ;; matplotlib. With python-3 it seems to detect at run-time the absence @@ -2297,16 +2286,16 @@ toolkits.") (package (inherit matplotlib) ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is ;; customized for Python 2. - (propagated-inputs + (propagated-inputs `(("python2-py2cairo" ,python2-py2cairo) ("python2-pygobject-2" ,python2-pygobject-2) ,@(alist-delete "python-pycairo" (alist-delete "python-pygobject" - (package-propagated-inputs + (package-propagated-inputs matplotlib))))) - (inputs + (inputs `(("python2-numpydoc" ,python2-numpydoc) - ,@(alist-delete "python-numpydoc" + ,@(alist-delete "python-numpydoc" (package-inputs matplotlib))))))) (define-public python-scipy @@ -2340,13 +2329,13 @@ toolkits.") 'build 'set-environment-variables (lambda* (#:key inputs #:allow-other-keys) (let* ((atlas-threaded - (string-append (assoc-ref inputs "atlas") + (string-append (assoc-ref inputs "atlas") "/lib/libtatlas.so")) ;; On single core CPUs only the serial library is created. (atlas-lib (if (file-exists? atlas-threaded) atlas-threaded - (string-append (assoc-ref inputs "atlas") + (string-append (assoc-ref inputs "atlas") "/lib/libsatlas.so")))) (setenv "ATLAS" atlas-lib))) (alist-cons-after @@ -2385,11 +2374,11 @@ toolkits.") ;; within the source directory. (alist-cons-after 'install 'check - (lambda _ + (lambda _ (with-directory-excursion "/tmp" (zero? (system* "python" "-c" "import scipy; scipy.test()")))) - (alist-delete - 'check + (alist-delete + 'check %standard-phases)))))) (home-page "http://www.scipy.org/") (synopsis "The Scipy library provides efficient numerical routines") @@ -2404,8 +2393,8 @@ routines such as routines for numerical integration and optimization.") ;; Use packages customized for python-2. (inputs `(("python2-matplotlib" ,python2-matplotlib) ("python2-numpy" ,python2-numpy) - ,@(alist-delete "python-matplotlib" - (alist-delete "python-numpy" + ,@(alist-delete "python-matplotlib" + (alist-delete "python-numpy" (package-inputs scipy)))))))) (define-public python-sqlalchemy @@ -2572,7 +2561,7 @@ a general image processing tool.") `(("pkg-config" ,pkg-config) ("python-setuptools" ,python-setuptools))) (arguments - `(#:phases + `(#:phases (alist-replace 'check (lambda _ @@ -2611,7 +2600,7 @@ a front-end for C compilers or analysis tools.") (method url-fetch) (uri (string-append "https://pypi.python.org/packages/source/c/" "cffi/cffi-" version ".tar.gz")) - (sha256 + (sha256 (base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5")))) (build-system python-build-system) (outputs '("out" "doc")) @@ -2625,7 +2614,7 @@ a front-end for C compilers or analysis tools.") ("python-setuptools" ,python-setuptools))) (arguments `(#:tests? #f ; FIXME: requires pytest - #:phases + #:phases (alist-cons-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) @@ -2668,7 +2657,7 @@ a front-end for C compilers or analysis tools.") (propagated-inputs `(("python-cffi" ,python-cffi))) ; used at run time (arguments - `(#:phases + `(#:phases (alist-cons-after 'install 'install-doc (lambda* (#:key outputs #:allow-other-keys) @@ -2714,14 +2703,14 @@ support for Python 3 and PyPy. It is based on cffi.") (propagated-inputs `(("python-xcffib" ,python-xcffib))) ; used at run time (arguments - `(#:phases + `(#:phases (alist-cons-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) (let* ((data (string-append (assoc-ref outputs "doc") "/share")) (doc (string-append data "/doc/" ,name "-" ,version)) (html (string-append doc "/html"))) - (setenv "LD_LIBRARY_PATH" + (setenv "LD_LIBRARY_PATH" (string-append (assoc-ref inputs "cairo") "/lib" ":" (assoc-ref inputs "gdk-pixbuf") "/lib")) (setenv "LANG" "en_US.UTF-8") @@ -2772,7 +2761,7 @@ PNG, PostScript, PDF, and SVG file output.") ("texinfo" ,texinfo) ("python-setuptools" ,python-setuptools))) (arguments - `(#:phases + `(#:phases (alist-cons-after 'install 'install-doc (lambda* (#:key inputs outputs #:allow-other-keys) @@ -2808,8 +2797,8 @@ PNG, PostScript, PDF, and SVG file output.") ;; (zero? (system* (string-append (assoc-ref outputs "out") ;; "/bin/iptest")))) #t) - (alist-delete - 'check + (alist-delete + 'check %standard-phases))))) (home-page "http://ipython.org") (synopsis "IPython is a tool for interactive computing in Python") @@ -2824,7 +2813,7 @@ computing.") (let ((ipython (package-with-python2 python-ipython))) (package (inherit ipython) ;; Make sure we use custom python2-NAME packages. - (inputs + (inputs `(("python2-numpydoc" ,python2-numpydoc) ("python2-matplotlib" ,python2-matplotlib) ,@(alist-delete "python-numpydoc" -- cgit 1.4.1 From 927b6728f0129d625892e69f1fff6dd7e3324c66 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 15:15:12 +0100 Subject: gnu: Add wxwidgets. * gnu/packages/wxwidgets.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/wxwidgets.scm | 97 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 98 insertions(+) create mode 100644 gnu/packages/wxwidgets.scm diff --git a/gnu-system.am b/gnu-system.am index 24c5dc1a91..3eb7893481 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -294,6 +294,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/wine.scm \ gnu/packages/wordnet.scm \ gnu/packages/wv.scm \ + gnu/packages/wxwidgets.scm \ gnu/packages/xfig.scm \ gnu/packages/xiph.scm \ gnu/packages/xml.scm \ diff --git a/gnu/packages/wxwidgets.scm b/gnu/packages/wxwidgets.scm new file mode 100644 index 0000000000..5406aedc6e --- /dev/null +++ b/gnu/packages/wxwidgets.scm @@ -0,0 +1,97 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages wxwidgets) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module ((guix licenses) #:prefix l:) + #:use-module (guix build-system glib-or-gtk) + #:use-module (guix build utils) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages databases) + #:use-module (gnu packages gl) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages gtk) + #:use-module (gnu packages image) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages sdl) + #:use-module (gnu packages xorg)) + +(define-public wxwidgets + (package + (name "wxwidgets") + (version "3.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/wxwindows/" version + "/wxWidgets-" version ".tar.bz2")) + (sha256 + (base32 "0paq27brw4lv8kspxh9iklpa415mxi8zc117vbbbhfjgapf7js1l")))) + (build-system glib-or-gtk-build-system) + ;; TODO: add WebKit + (inputs + `(("glu" ,glu) + ;; XXX gstreamer-0.10 builds fail + ;; ("gstreamer" ,gstreamer-0.10) + ("gtk" ,gtk+) + ("libjpeg" ,libjpeg) + ("libmspack" ,libmspack) + ("libsm" ,libsm) + ("libtiff" ,libtiff) + ("mesa" ,mesa) + ("sdl" ,sdl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments + '(#:configure-flags + '("--with-regex=sys" "--with-libmspack" "--with-sdl") + ;; No 'check' target. + #:tests? #f)) + (home-page "https://www.wxwidgets.org/") + (synopsis "Widget toolkit for creating graphical user interfaces") + (description + "wxWidgets is a C++ library that lets developers create applications with +a graphical user interface. It has language bindings for Python, Perl, Ruby +and many other languages.") + (license (list l:lgpl2.0+ (l:fsf-free "file://doc/license.txt"))))) + +(define-public wxwidgets-2 + (package + (inherit wxwidgets) + (version "2.8.12") + (source + (origin + (method url-fetch) + (uri (string-append "https://sourceforge.net/projects/wxwindows/files/" + version "/wxGTK-" version ".tar.gz")) + (sha256 + (base32 "1gjs9vfga60mk4j4ngiwsk9h6c7j22pw26m3asxr1jwvqbr8kkqk")))) + (inputs + `(("gtk" ,gtk+-2) + ("libjpeg" ,libjpeg) + ("libtiff" ,libtiff) + ("libmspack" ,libmspack) + ("sdl" ,sdl) + ("unixodbc" ,unixodbc))) + (arguments + `(#:configure-flags + '("--enable-unicode" "--with-regex=sys" "--with-sdl") + ;; No 'check' target. + #:tests? #f)))) -- cgit 1.4.1 From 531a9aac6d8d1857c6cbe08701d5c03ec7d354c1 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 16 Feb 2015 00:46:12 +0100 Subject: gnu: Add CCL. * gnu/packages/lisp.scm (ccl): New variable. --- gnu/packages/lisp.scm | 109 +++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 108 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index fe9cdabc4e..bf8bb9b054 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -36,7 +36,10 @@ #:use-module (gnu packages readline) #:use-module (gnu packages libsigsegv) #:use-module (gnu packages admin) - #:use-module (gnu packages ed)) + #:use-module (gnu packages ed) + #:use-module (gnu packages m4) + #:use-module (gnu packages version-control) + #:use-module (ice-9 match)) (define-public gcl (package @@ -278,3 +281,107 @@ statistical profiler, a code coverage tool, and many other extensions.") ;; loop macro has its own license. See COPYING file for further notes. (license (list license:public-domain license:bsd-2 (license:x11-style "file://src/code/loop.lisp"))))) + +(define-public ccl + (package + (name "ccl") + (version "1.10") + (source #f) + (build-system gnu-build-system) + ;; CCL consists of a "lisp kernel" and "heap image", both of which are + ;; shipped in precompiled form in source tarballs. The former is a C + ;; program which we can rebuild from scratch, but the latter cannot be + ;; generated without an already working copy of CCL, and is platform + ;; dependent, so we need to fetch the correct tarball for the platform. + (inputs + `(("ccl" + ,(origin + (method url-fetch) + (uri (string-append + "ftp://ftp.clozure.com/pub/release/1.10/ccl-" version "-" + (match (%current-system) + ((or "i686-linux" "x86_64-linux") "linuxx86") + ("armhf-linux" "linuxarm")) + ".tar.gz")) + (sha256 + (base32 + (match (%current-system) + ((or "i686-linux" "x86_64-linux") + "0mr653q5px05lr11z2mk551m5g47b4wq96vbfibpp0qlc9jp58lc") + ("armhf" + "1py02irpmi2qz5rq3h33wfv6impf15z8i2rign6hvhlqn7s99wwh")))))))) + (native-inputs + `(("m4" ,m4) + ("subversion" ,subversion))) + (arguments + `(#:tests? #f ;no 'check' target + #:phases + (alist-replace + 'unpack + (lambda* (#:key inputs #:allow-other-keys) + (and (zero? (system* "tar" "xzvf" (assoc-ref inputs "ccl"))) + (begin (chdir "ccl") #t))) + (alist-delete + 'configure + (alist-cons-before + 'build 'pre-build + ;; Enter the source directory for the current platform's lisp + ;; kernel, and run 'make clean' to remove the precompiled one. + (lambda _ + (chdir (string-append + "lisp-kernel/" + ,(match (or (%current-target-system) (%current-system)) + ("i686-linux" "linuxx8632") + ("x86_64-linux" "linuxx8664") + ("armhf-linux" "linuxarm")))) + (substitute* '("Makefile") + (("/bin/rm") "rm")) + (setenv "CC" "gcc") + (zero? (system* "make" "clean"))) + ;; XXX Do we need to recompile the heap image as well for Guix? + ;; For now just use the one we already got in the tarball. + (alist-replace + 'install + (lambda* (#:key outputs inputs #:allow-other-keys) + ;; The lisp kernel built by running 'make' in lisp-kernel/$system + ;; is put back into the original directory, so go back. The heap + ;; image is there as well. + (chdir "../..") + (let* ((out (assoc-ref outputs "out")) + (libdir (string-append out "/lib/")) + (bindir (string-append out "/bin/")) + (wrapper (string-append bindir "ccl")) + (bash (assoc-ref inputs "bash")) + (kernel + ,(match (or (%current-target-system) (%current-system)) + ("i686-linux" "lx86cl") + ("x86_64-linux" "lx86cl64") + ("armhf-linux" "armcl"))) + (heap (string-append kernel ".image"))) + (mkdir-p libdir) + (mkdir-p bindir) + (copy-file kernel (string-append libdir kernel)) + (copy-file heap (string-append libdir heap)) + (with-output-to-file wrapper + (lambda () + (display + (string-append + "#!" bash "/bin/sh\n" + "if [ -z \"$CCL_DEFAULT_DIRECTORY\" ]; then\n" + " CCL_DEFAULT_DIRECTORY=" libdir "\n" + "fi\n" + "export CCL_DEFAULT_DIRECTORY\n" + "exec " libdir kernel "\n")))) + (chmod wrapper #o755))) + %standard-phases)))))) + (supported-systems '("i686-linux" "x86_64-linux" "armhf-linux")) + (home-page "http://ccl.clozure.com/") + (synopsis "Common Lisp implementation") + (description "Clozure CL (often called CCL for short) is a Common Lisp +implementation featuring fast compilation speed, native threads, a precise, +generational, compacting garbage collector, and a convenient foreign-function +interface.") + ;; See file doc/LICENSE for clarifications it makes regarding how the LGPL + ;; applies to Lisp code according to them. + (license (list license:lgpl2.1 + license:clarified-artistic)))) ;TRIVIAL-LDAP package -- cgit 1.4.1 From 30aa3d5a038c2d5859042b80825fc85701091fdd Mon Sep 17 00:00:00 2001 From: Jason Self Date: Mon, 23 Feb 2015 14:37:07 -0800 Subject: gnu: ffmpeg: Update to 2.5.4 * gnu/packages/video.scm (ffmpeg): Update to version 2.5.4. --- 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 31e5d708b8..0744c67a30 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -60,14 +60,14 @@ (define-public ffmpeg (package (name "ffmpeg") - (version "2.5.3") + (version "2.5.4") (source (origin (method url-fetch) (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-" version ".tar.bz2")) (sha256 (base32 - "06j1cgw9h9ya5z8gpcf9v9zik3l4xz7sr4wshj06kznzz5z3sf4x")))) + "11m2hbhdgphjxjp6hk438cxmipqjg5ixbr1kqnn9mbdhq9kc34fc")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) -- cgit 1.4.1 From 49685cae2bbe0384d4e0e46d38e9d0e1327e5225 Mon Sep 17 00:00:00 2001 From: Jason Self Date: Mon, 23 Feb 2015 14:38:13 -0800 Subject: gnu: ffmpeg-2.2: Update to 2.2.13 * gnu/packages/video.scm (ffmpeg-2.2): Update to version 2.2.13. --- 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 0744c67a30..73f8558cab 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -204,14 +204,14 @@ audio/video codec library.") ;; We need this older ffmpeg because vlc-2.1.5 doesn't work with ffmpeg-2.4. (define-public ffmpeg-2.2 (package (inherit ffmpeg) - (version "2.2.11") + (version "2.2.13") (source (origin (method url-fetch) (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-" version ".tar.bz2")) (sha256 (base32 - "06sli7xvihh97ss6a2mkdq4dcj3rg1w8zffrmjfc1hvyjxhc8f2r")))))) + "1vva8ffwxi3rg44byy09qlbiqrrd1h4rmsl5b1mbmvzvwl1lq1l0")))))) (define-public vlc (package -- cgit 1.4.1 From 12d720fd1a9c43019f2d5afa051b45c7633b3ab0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 23 Feb 2015 23:41:26 +0100 Subject: tests: Factorize the network reachability test. * guix/tests.scm (network-reachable?): New procedure. * tests/builders.scm (network-reachable?): Remove. Replace references to it with calls to the new 'network-reachable?' procedure. * tests/derivations.scm (%coreutils): Use 'network-reachable?' instead of 'getaddrinfo'. * tests/packages.scm: Likewise. * tests/union.scm: Likewise. --- guix/tests.scm | 5 +++++ tests/builders.scm | 7 ++----- tests/derivations.scm | 2 +- tests/packages.scm | 6 ++---- tests/union.scm | 6 ++---- 5 files changed, 12 insertions(+), 14 deletions(-) diff --git a/guix/tests.scm b/guix/tests.scm index 1171bb4dfb..d004a50a36 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -31,6 +31,7 @@ #:export (open-connection-for-tests random-text random-bytevector + network-reachable? mock %substitute-directory with-derivation-narinfo @@ -77,6 +78,10 @@ (loop (1+ i))) bv)))) +(define (network-reachable?) + "Return true if we can reach the Internet." + (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))) + (define-syntax-rule (mock (module proc replacement) body ...) "Within BODY, replace the definition of PROC from MODULE with the definition given by REPLACEMENT." diff --git a/tests/builders.scm b/tests/builders.scm index e5acc3e038..3c2a3edc8e 100644 --- a/tests/builders.scm +++ b/tests/builders.scm @@ -56,16 +56,13 @@ (package-native-search-paths package))) (@@ (gnu packages commencement) %boot0-inputs))) -(define network-reachable? - (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))) - (define url-fetch* (store-lower url-fetch)) (test-begin "builders") -(unless network-reachable? (test-skip 1)) +(unless (network-reachable?) (test-skip 1)) (test-assert "url-fetch" (let* ((url '("http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz" "ftp://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz")) @@ -97,7 +94,7 @@ (test-assert "gnu-build-system" (build-system? gnu-build-system)) -(unless network-reachable? (test-skip 1)) +(unless (network-reachable?) (test-skip 1)) (test-assert "gnu-build" (let* ((url "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz") (hash (nix-base32-string->bytevector diff --git a/tests/derivations.scm b/tests/derivations.scm index e23bdeed77..72d253c465 100644 --- a/tests/derivations.scm +++ b/tests/derivations.scm @@ -463,7 +463,7 @@ (define %coreutils (false-if-exception - (and (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV) + (and (network-reachable?) (or (package-derivation %store %bootstrap-coreutils&co) (nixpkgs-derivation "coreutils"))))) diff --git a/tests/packages.scm b/tests/packages.scm index 851520b343..5725b0a8a9 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -176,8 +176,7 @@ (and (direct-store-path? source) (string-suffix? "utils.scm" source)))) -(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)) - (test-skip 1)) +(unless (network-reachable?) (test-skip 1)) (test-equal "package-source-derivation, snippet" "OK" (let* ((file (search-bootstrap-binary "guile-2.0.9.tar.xz" @@ -532,8 +531,7 @@ (%current-target-system "foo64-linux-gnu")) (equal? drv (bag->derivation %store bag)))))) -(unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)) - (test-skip 1)) +(unless (network-reachable?) (test-skip 1)) (test-assert "GNU Make, bootstrap" ;; GNU Make is the first program built during bootstrap; we choose it ;; here so that the test doesn't last for too long. diff --git a/tests/union.scm b/tests/union.scm index 7e55670b86..22ba67ce99 100644 --- a/tests/union.scm +++ b/tests/union.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -84,9 +84,7 @@ (call-with-input-file "bar/two" get-string-all)) (not (file-exists? "bar/one"))))))) -(test-skip (if (and %store - (false-if-exception - (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))) +(test-skip (if (and %store (network-reachable?)) 0 1)) -- cgit 1.4.1 From b69c5c2ced1e41fdb5c2e747b1fb3a338ca63768 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Mon, 23 Feb 2015 23:52:28 +0100 Subject: tests: Skip tests that would fail due to the shebang length. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by Daniel Kochmański . Fixes . * guix/tests.scm (shebang-too-long?): New procedure. * tests/builders.scm ("gnu-build"): Conditionalize on not (shebang-too-long?). * tests/packages.scm ("GNU Make, bootstrap"): Likewise. * tests/guix-package.sh (shebang_not_too_long): New function. Use it to determine whether to build 'gnu-make-boot0'. --- guix/tests.scm | 12 ++++++++++++ tests/builders.scm | 3 ++- tests/guix-package.sh | 13 +++++++++++-- tests/packages.scm | 3 ++- 4 files changed, 27 insertions(+), 4 deletions(-) diff --git a/guix/tests.scm b/guix/tests.scm index d004a50a36..0896e842da 100644 --- a/guix/tests.scm +++ b/guix/tests.scm @@ -32,6 +32,7 @@ random-text random-bytevector network-reachable? + shebang-too-long? mock %substitute-directory with-derivation-narinfo @@ -185,6 +186,17 @@ CONTENTS." (delete-file (string-append dir "/example.out")) (delete-file (string-append dir "/example.nar"))))) +(define (shebang-too-long?) + "Return true if the typical shebang in the current store would exceed +Linux's static limit---the BINPRM_BUF_SIZE constant, normally 128 characters +all included." + (define shebang + (string-append "#!" (%store-prefix) "/" + (make-string 32 #\a) + "-bootstrap-binaries-0/bin/bash\0")) + + (> (string-length shebang) 128)) + (define-syntax with-derivation-substitute (syntax-rules (sha256 =>) "Evaluate BODY in a context where DRV is substitutable with the given diff --git a/tests/builders.scm b/tests/builders.scm index 3c2a3edc8e..a7c3e42830 100644 --- a/tests/builders.scm +++ b/tests/builders.scm @@ -94,7 +94,8 @@ (test-assert "gnu-build-system" (build-system? gnu-build-system)) -(unless (network-reachable?) (test-skip 1)) +(when (or (not (network-reachable?)) (shebang-too-long?)) + (test-skip 1)) (test-assert "gnu-build" (let* ((url "http://ftp.gnu.org/gnu/hello/hello-2.8.tar.gz") (hash (nix-base32-string->bytevector diff --git a/tests/guix-package.sh b/tests/guix-package.sh index d4917bbf90..94cf927420 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -28,6 +28,14 @@ readlink_base () basename `readlink "$1"` } +# Return true if a typical shebang in the store would not exceed Linux's +# default static limit. +shebang_not_too_long () +{ + test `echo $NIX_STORE_DIR/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash | wc -c` \ + -lt 128 +} + module_dir="t-guix-package-$$" profile="t-profile-$$" rm -f "$profile" @@ -55,8 +63,9 @@ test -f "$profile/bin/guile" guix package --search-paths -p "$profile" test "`guix package --search-paths -p "$profile" | wc -l`" = 0 -# Check whether we have network access. -if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null +# Check whether we have network access and an acceptable shebang length. +if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null \ + && shebang_not_too_long then boot_make="(@@ (gnu packages commencement) gnu-make-boot0)" boot_make_drv="`guix build -e "$boot_make" | grep -v -e -debug`" diff --git a/tests/packages.scm b/tests/packages.scm index 5725b0a8a9..d6371b3b49 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -531,7 +531,8 @@ (%current-target-system "foo64-linux-gnu")) (equal? drv (bag->derivation %store bag)))))) -(unless (network-reachable?) (test-skip 1)) +(when (or (not (network-reachable?)) (shebang-too-long?)) + (test-skip 1)) (test-assert "GNU Make, bootstrap" ;; GNU Make is the first program built during bootstrap; we choose it ;; here so that the test doesn't last for too long. -- cgit 1.4.1 From 31567c427409b908ac496e48419017022e9212a2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 00:04:37 +0100 Subject: Thank Daniel. --- THANKS | 1 + 1 file changed, 1 insertion(+) diff --git a/THANKS b/THANKS index 14f38bfd2b..a7944c0f99 100644 --- a/THANKS +++ b/THANKS @@ -22,6 +22,7 @@ infrastructure help: Brandon Invergo Jeffrin Jose Kete + Daniel Kochmański Alex Kost Matthew Lien Niels Möller -- cgit 1.4.1 From 6d5e7ef3ae45584fd4f6e1c0374ceabf1c826b3c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 24 Feb 2015 16:09:30 +0100 Subject: licenses: Add IPA Font License. * guix/licenses.scm (ipa): New variable. --- guix/licenses.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/guix/licenses.scm b/guix/licenses.scm index ef3f446212..157e74bf37 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2014 Ludovic Courtès -;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. @@ -39,6 +39,7 @@ ijg ibmpl1.0 imlib2 + ipa lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ mpl1.1 mpl2.0 ncsa @@ -215,6 +216,11 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:Imlib2" "https://www.gnu.org/licenses/license-list#imlib")) +(define ipa + (license "IPA Font License" + "http://directory.fsf.org/wiki/License:IPA_Font_License" + "https://www.gnu.org/licenses/license-list#IPAFONT")) + (define lgpl2.0 (license "LGPL 2.0" "https://www.gnu.org/licenses/old-licenses/lgpl-2.0.html" -- cgit 1.4.1 From 7ad608e49d41447e106de4827336c606d4e8d4c8 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Tue, 24 Feb 2015 20:09:24 +0100 Subject: gnu: Add Xournal. * gnu/packages/pdf.scm (xournal): New variable. --- gnu/packages/pdf.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 1ce4c0cb13..7b4f2ab055 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2014 Mark H Weaver -;;; Copyright © 2014 Ricardo Wurmus +;;; Copyright © 2014, 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -33,6 +33,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages openssl) #:use-module (gnu packages xorg) + #:use-module (gnu packages gnome) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages lua) @@ -281,3 +282,31 @@ manipulate the list of pages in a PDF file. It is not a PDF viewer or a program capable of converting PDF into other formats.") (license license:clarified-artistic) (home-page "http://qpdf.sourceforge.net/"))) + +(define-public xournal + (package + (name "xournal") + (version "0.4.8") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/xournal/xournal-" + version ".tar.gz")) + (sha256 + (base32 + "0c7gjcqhygiyp0ypaipdaxgkbivg6q45vhsj8v5jsi9nh6iqff13")))) + (build-system gnu-build-system) + (inputs + `(("gtk" ,gtk+-2) + ("pango" ,pango) + ("poppler" ,poppler) + ("glib" ,glib) + ("libgnomecanvas" ,libgnomecanvas))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://xournal.sourceforge.net/") + (synopsis "Notetaking using a stylus") + (description + "Xournal is an application for notetaking, sketching, keeping a journal +using a stylus.") + (license license:gpl2+))) -- cgit 1.4.1 From aeccd1bda22326b856ffb8fcd23a799206da0b88 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:46:36 +0100 Subject: gnu: Add Sub::Install. * gnu/packages/perl.scm (perl-sub-install): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 699fe751de..cb6fda367a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -274,6 +275,28 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-sub-install + (package + (name "perl-sub-install") + (version "0.928") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Install-" + version ".tar.gz")) + (sha256 + (base32 + "03zgk1yh128gciyx3q77zxzxg9kf8yy2gm46gdxqi24mcykngrb1")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Sub-Install") + (synopsis "Install subroutines into packages easily") + (description + "Sub::Install makes it easy to install subroutines into packages without +the unsightly mess of C or typeglobs lying about where just anyone +can see them.") + (license (package-license perl)))) + (define-public perl-test-deep (package (name "perl-test-deep") -- cgit 1.4.1 From 8ba06a38c153ea15b54d66f23ef3521e427ed3f9 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:48:34 +0100 Subject: gnu: Add Params::Util. * gnu/packages/perl.scm (perl-params-util): New variable. --- gnu/packages/perl.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index cb6fda367a..2b7ca61203 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -230,6 +230,27 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") "Exporter-Lite-" version)) (license (package-license perl)))) +(define-public perl-params-util + (package + (name "perl-params-util") + (version "1.07") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/A/AD/ADAMK/Params-Util-" + version ".tar.gz")) + (sha256 + (base32 + "0v67sx93yhn7xa0nh9mnbf8mixf54czk6wzrjsp6dzzr5hzyrw9h")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Params-Util") + (synopsis "Simple, compact and correct param-checking functions") + (description + "Params::Util provides a basic set of importable functions that makes +checking parameters easier.") + (license (package-license perl)))) + (define-public perl-probe-perl (package (name "perl-probe-perl") -- cgit 1.4.1 From 6f38dce749eb2b0339d39875737cbbd3cd6ac66e Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:50:10 +0100 Subject: gnu: Add Capture::Tiny. * gnu/packages/perl.scm (perl-capture-tiny): New variable. --- gnu/packages/perl.scm | 23 +++++++++++++++++++++++ 1 file changed, 23 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 2b7ca61203..5e3cdcb060 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -209,6 +209,29 @@ but don't want to go all out and profile your code.") "Benchmark-Timer-" version)) (license gpl2))) +(define-public perl-capture-tiny + (package + (name "perl-capture-tiny") + (version "0.28") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/D/DA/DAGOLDEN/Capture-Tiny-" + version ".tar.gz")) + (sha256 + (base32 + "117gmwipql1y5xnw9jil3lhdsrf2wsm9wjdzqj66x971n3fwm573")))) + (build-system perl-build-system) + (home-page "http://search.cpan.org/dist/Capture-Tiny") + (synopsis "Capture STDOUT and STDERR from Perl, XS or external programs") + (description + "Capture::Tiny provides a simple, portable way to capture almost anything +sent to STDOUT or STDERR, regardless of whether it comes from Perl, from XS +code or from an external program. Optionally, output can be teed so that it +is captured while being passed through to the original file handles.") + (license asl2.0))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") -- cgit 1.4.1 From 1420576458a982411afb70270f1e9ba26d8f37cc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:54:21 +0100 Subject: gnu: Add Data::OptList. * gnu/packages/perl.scm (perl-data-optlist): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 5e3cdcb060..4d9f86eabd 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -232,6 +232,30 @@ code or from an external program. Optionally, output can be teed so that it is captured while being passed through to the original file handles.") (license asl2.0))) +(define-public perl-data-optlist + (package + (name "perl-data-optlist") + (version "0.109") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Data-OptList-" + version ".tar.gz")) + (sha256 + (base32 + "1j44rm2spprlq3bc80cxni3dzs3gfjiqv1qc9q7820n1qj0wgmqw")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-sub-install" ,perl-sub-install))) + (inputs + `(("perl-params-util" ,perl-params-util))) + (home-page "http://search.cpan.org/dist/Data-OptList") + (synopsis "Parse and validate simple name/value option pairs") + (description + "Data::OptList provides a simple syntax for name/value option pairs.") + (license (package-license perl)))) + (define-public perl-exporter-lite (package (name "perl-exporter-lite") -- cgit 1.4.1 From 61593ab3d6888f89a382d1ba065167c788dd9715 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:55:33 +0100 Subject: gnu: Add Sub::Exporter. * gnu/packages/perl.scm (perl-sub-exporter): New variable. --- gnu/packages/perl.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 4d9f86eabd..43bffd8b39 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -343,6 +343,30 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; licenses, any version." (license (list bsd-3 gpl3+)))) +(define-public perl-sub-exporter + (package + (name "perl-sub-exporter") + (version "0.987") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://cpan/authors/id/R/RJ/RJBS/Sub-Exporter-" + version ".tar.gz")) + (sha256 + (base32 + "1ml3n1ck4ln9qjm2mcgkczj1jb5n1fkscz9c4x23v4db0glb4g2l")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-data-optlist" ,perl-data-optlist) + ("perl-params-util" ,perl-params-util))) + (home-page "http://search.cpan.org/dist/Sub-Exporter") + (synopsis "Sophisticated exporter for custom-built routines") + (description + "Sub::Exporter provides a sophisticated alternative to Exporter.pm for +custom-built routines.") + (license (package-license perl)))) + (define-public perl-sub-install (package (name "perl-sub-install") -- cgit 1.4.1 From fb0832037f2bfcd34eab9b0a522945a1a220c350 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:56:29 +0100 Subject: gnu: Add Test::Output. * gnu/packages/perl.scm (perl-test-output): New variable. --- gnu/packages/perl.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 43bffd8b39..214ab3e951 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -480,6 +480,31 @@ bin as is also commonly used) paths of your Perl distribution.") "Test-Simple-" version)) (license (package-license perl)))) +(define-public perl-test-output + (package + (name "perl-test-output") + (version "1.03") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/B/BD/BDFOY/" + "Test-Output-" version ".tar.gz")) + (sha256 + (base32 + "12991jnzj4cbw9whhprmqvnzd1ayii84g2mh8vxbjngwqrjsy41i")))) + (build-system perl-build-system) + (propagated-inputs + `(("perl-capture-tiny" ,perl-capture-tiny) + ("perl-test-tester" ,perl-test-tester) + ("perl-sub-exporter" ,perl-sub-exporter))) + (synopsis "Utilities to test STDOUT and STDERR messages") + (description + "Test::Output provides a simple interface for testing output sent to +STDOUT or STDERR. A number of different utilities are included to try and be +as flexible as possible to the tester.") + (home-page (string-append "http://search.cpan.org/~bdfoy/" + "Test-Output-" version)) + (license (package-license perl)))) + (define-public perl-test-tester (package (name "perl-test-tester") -- cgit 1.4.1 From 8d422e258b12a9f263866938c1982251979f1b34 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Sat, 21 Feb 2015 19:59:08 +0100 Subject: gnu: Add Stow. * gnu/packages/package-management.scm (stow): New variable. --- gnu/packages/package-management.scm | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index acb72f6bc6..97e96c712f 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2015 Ricardo Wurmus ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,7 +23,7 @@ #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) - #:use-module ((guix licenses) #:select (gpl3+ lgpl2.1+)) + #:use-module ((guix licenses) #:select (gpl2+ gpl3+ lgpl2.1+)) #:use-module (gnu packages) #:use-module (gnu packages guile) #:use-module ((gnu packages compression) #:select (bzip2 gzip)) @@ -210,3 +211,31 @@ never change after they have been built. Nix stores packages in the Nix store, usually the directory /nix/store, where each package has its own unique sub-directory.") (license lgpl2.1+))) + +(define-public stow + (package + (name "stow") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/stow/stow-" + version ".tar.gz")) + (sha256 + (base32 + "0arw1nsdlcvd7javkbk2bdvnc31d7dmb6fr25xyyi6ng76cxg2cb")))) + (build-system gnu-build-system) + (inputs + `(("perl" ,perl))) + (native-inputs + `(("perl-test-simple" ,perl-test-simple) + ("perl-test-output" ,perl-test-output) + ("perl-capture-tiny" ,perl-capture-tiny))) + (home-page "https://www.gnu.org/software/stow/") + (synopsis "Managing installed software packages") + (description + "GNU Stow is a symlink manager. It generates symlinks to directories +of data and makes them appear to be merged into the same directory. It is +typically used for managing software packages installed from source, by +letting you install them apart in distinct directories and then create +symlinks to the files in a common directory such as /usr/local.") + (license gpl2+))) -- cgit 1.4.1 From 7c92efffe671d76e5e663b72a421778d9d1e5fdc Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 19 Feb 2015 16:56:39 +0100 Subject: gnu: Add Freepats. * gnu/packages/audio.scm (freepats): New variable. --- gnu/packages/audio.scm | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e1ad44a27c..b6c3a37ed9 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -23,9 +23,12 @@ #:use-module ((guix licenses) #:prefix license:) #:use-module (guix build-system gnu) #:use-module (guix build-system waf) + #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages boost) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) #:use-module (gnu packages glib) @@ -190,6 +193,45 @@ bass section with five drawbars. A standalone JACK application and LV2 plugins are provided.") (license license:gpl2))) +(define-public freepats + (package + (name "freepats") + (version "20060219") + (source (origin + (method url-fetch) + (uri (string-append "http://freepats.zenvoid.org/freepats-" + version ".tar.bz2")) + (sha256 + (base32 + "12iw36rd94zirll96cd5k0va7p5hxmf2shvjlhzihcmjaw8flq82")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let ((out (string-append %output "/share/freepats"))) + (setenv "PATH" (string-append + (assoc-ref %build-inputs "bzip2") "/bin:" + (assoc-ref %build-inputs "tar") "/bin")) + (system* "tar" "xvf" (assoc-ref %build-inputs "source")) + (chdir "freepats") + ;; Use absolute pattern references + (substitute* "freepats.cfg" + (("Tone_000") (string-append out "/Tone_000")) + (("Drum_000") (string-append out "/Drum_000"))) + (mkdir-p out) + (copy-recursively "." out))))) + (native-inputs + `(("tar" ,tar) + ("bzip2" ,bzip2))) + (home-page "http://freepats.zenvoid.org") + (synopsis "GUS compatible patches for MIDI players") + (description + "FreePats is a project to create a free and open set of GUS compatible +patches that can be used with softsynths such as Timidity and WildMidi.") + ;; GPLv2+ with exception for compositions using these patches. + (license license:gpl2+))) + (define-public jack-1 (package (name "jack") -- cgit 1.4.1 From 9ffee4571c0bf645ffeba2442a0065fb224d9765 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 19 Feb 2015 16:57:33 +0100 Subject: gnu: Add TiMidity++. * gnu/packages/audio.scm (timidity++): New variable. --- gnu/packages/audio.scm | 57 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b6c3a37ed9..a4c16fb00b 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -34,6 +34,7 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) + #:use-module (gnu packages ncurses) #:use-module (gnu packages qt) #:use-module (gnu packages linux) #:use-module (gnu packages mp3) ;taglib @@ -646,6 +647,62 @@ that toolkit will work in all hosts that use Suil automatically. Suil currently supports every combination of Gtk 2, Qt 4, and X11.") (license license:isc))) +(define-public timidity++ + (package + (name "timidity++") + (version "2.14.0") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/timidity/TiMidity++-" + version ".tar.bz2")) + (sha256 + (base32 + "0xk41w4qbk23z1fvqdyfblbz10mmxsllw0svxzjw5sa9y11vczzr")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list "--enable-audio=alsa,flac,jack,ao,vorbis,speex" + "--enable-ncurses" + "--enable-server" + "--enable-alsaseq" + (string-append "--with-default-path=" + (assoc-ref %outputs "out") "/etc/timidity")) + #:phases + (alist-cons-after + 'install 'install-config + (lambda _ + (let ((out (string-append (assoc-ref %outputs "out") + "/etc/timidity"))) + (mkdir-p out) + (call-with-output-file + (string-append out "/timidity.cfg") + (lambda (port) + (format port (string-append "source " + (assoc-ref %build-inputs "freepats") + "/share/freepats/freepats.cfg")))))) + %standard-phases))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("ao" ,ao) + ("flac" ,flac) + ("jack" ,jack-1) + ("libogg" ,libogg) + ("speex" ,speex) + ("ncurses" ,ncurses) + ("freepats" ,freepats))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://timidity.sourceforge.net/") + (synopsis "Software synthesizer for playing MIDI files") + (description + "TiMidity++ is a software synthesizer. It can play MIDI files by +converting them into PCM waveform data; give it a MIDI data along with digital +instrument data files, then it synthesizes them in real-time, and plays. It +can not only play sounds, but also can save the generated waveforms into hard +disks as various audio file formats.") + (license license:gpl2+))) + (define-public vamp (package (name "vamp") -- cgit 1.4.1 From 43da8f018d5835b62e8f5f1f4e2cc701f828a3db Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 23:00:29 +0100 Subject: build: Disable grafting in sanity checks. * build-aux/check-available-binaries.scm: Wrap body in 'parameterize' form that clears '%graft?'. * build-aux/check-final-inputs-self-contained.scm: Likewise. --- build-aux/check-available-binaries.scm | 47 +++++++++++++------------ build-aux/check-final-inputs-self-contained.scm | 7 ++-- 2 files changed, 28 insertions(+), 26 deletions(-) diff --git a/build-aux/check-available-binaries.scm b/build-aux/check-available-binaries.scm index 7ac4352839..bc6207eb2a 100644 --- a/build-aux/check-available-binaries.scm +++ b/build-aux/check-available-binaries.scm @@ -29,27 +29,28 @@ (srfi srfi-26)) (with-store store - (let* ((native (append-map (lambda (system) - (map (cut package-derivation store <> system) - (list %bootstrap-tarballs emacs))) - %supported-systems)) - (cross (map (cut package-cross-derivation store - %bootstrap-tarballs <>) - '("mips64el-linux-gnuabi64"))) - (total (append native cross))) - (define (warn item system) - (format (current-error-port) "~a (~a) is not substitutable~%" - item system) - #f) + (parameterize ((%graft? #f)) + (let* ((native (append-map (lambda (system) + (map (cut package-derivation store <> system) + (list %bootstrap-tarballs emacs))) + %supported-systems)) + (cross (map (cut package-cross-derivation store + %bootstrap-tarballs <>) + '("mips64el-linux-gnuabi64"))) + (total (append native cross))) + (define (warn item system) + (format (current-error-port) "~a (~a) is not substitutable~%" + item system) + #f) - (set-build-options store #:use-substitutes? #t) - (let* ((substitutable? (substitution-oracle store total)) - (result (every (lambda (drv) - (let ((out (derivation->output-path drv))) - (or (substitutable? out) - (warn out (derivation-system drv))))) - total))) - (when result - (format (current-error-port) "~a packages found substitutable~%" - (length total))) - (exit result)))) + (set-build-options store #:use-substitutes? #t) + (let* ((substitutable? (substitution-oracle store total)) + (result (every (lambda (drv) + (let ((out (derivation->output-path drv))) + (or (substitutable? out) + (warn out (derivation-system drv))))) + total))) + (when result + (format (current-error-port) "~a packages found substitutable~%" + (length total))) + (exit result))))) diff --git a/build-aux/check-final-inputs-self-contained.scm b/build-aux/check-final-inputs-self-contained.scm index ca7e8030b4..ba85c876d2 100644 --- a/build-aux/check-final-inputs-self-contained.scm +++ b/build-aux/check-final-inputs-self-contained.scm @@ -73,8 +73,9 @@ refer to the bootstrap tools." ;; Entry point. (with-store store - (set-build-options store #:use-substitutes? #t) + (parameterize ((%graft? #f)) + (set-build-options store #:use-substitutes? #t) - (for-each (cut test-final-inputs store <>) - %supported-systems)) + (for-each (cut test-final-inputs store <>) + %supported-systems))) -- cgit 1.4.1 From 2178ed66f7ae8f793078c7e392af4bf1fb472968 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 23:05:45 +0100 Subject: build: Reject or warn against file name length limit overruns. * m4/guix.m4 (GUIX_TEST_ROOT_DIRECTORY, LINUX_HASH_BANG_LIMIT, SOCKET_FILE_NAME_LIMIT, GUIX_SOCKET_FILE_NAME_LENGTH, GUIX_TEST_SOCKET_FILE_NAME_LENGTH, GUIX_HASH_BANG_LENGTH, GUIX_CHECK_FILE_NAME_LIMITS): New macros. * configure.ac: Use 'GUIX_CHECK_FILE_NAME_LIMITS'. * config-daemon.ac: Use 'GUIX_TEST_ROOT_DIRECTORY'. * test-env.in: Check socket name length and emit warning if it exceeds 107. --- config-daemon.ac | 5 ++--- configure.ac | 2 ++ m4/guix.m4 | 58 +++++++++++++++++++++++++++++++++++++++++++++++++++++++- test-env.in | 9 ++++++++- 4 files changed, 69 insertions(+), 5 deletions(-) diff --git a/config-daemon.ac b/config-daemon.ac index 32520acbf2..5f83d45a4c 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -127,9 +127,8 @@ if test "x$guix_build_daemon" = "xyes"; then fi dnl Temporary directory used to store the daemon's data. - AC_MSG_CHECKING([for unit test root]) - GUIX_TEST_ROOT="`pwd`/test-tmp" - AC_MSG_RESULT([$GUIX_TEST_ROOT]) + GUIX_TEST_ROOT_DIRECTORY + GUIX_TEST_ROOT="$ac_cv_guix_test_root" AC_SUBST([GUIX_TEST_ROOT]) AC_CONFIG_FILES([nix/scripts/list-runtime-roots], diff --git a/configure.ac b/configure.ac index 6f75fa3d7d..940be768c7 100644 --- a/configure.ac +++ b/configure.ac @@ -50,6 +50,8 @@ AC_SUBST([guix_localstatedir]) AC_SUBST([guix_sysconfdir]) AC_SUBST([guix_sbindir]) +GUIX_CHECK_FILE_NAME_LIMITS + dnl We require the pkg.m4 set of macros from pkg-config. dnl Make sure it's available. m4_pattern_forbid([PKG_CHECK_MODULES]) diff --git a/m4/guix.m4 b/m4/guix.m4 index d4415598b0..445ce857dd 100644 --- a/m4/guix.m4 +++ b/m4/guix.m4 @@ -1,5 +1,5 @@ dnl GNU Guix --- Functional package management for GNU -dnl Copyright © 2012, 2013, 2014 Ludovic Courtès +dnl Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès dnl Copyright © 2014 Mark H Weaver dnl dnl This file is part of GNU Guix. @@ -162,3 +162,59 @@ AC_DEFUN([GUIX_CHECK_UNBUFFERED_CBIP], [ ac_cv_guix_cbips_support_setvbuf=no fi]) ]) + +dnl GUIX_TEST_ROOT_DIRECTORY +AC_DEFUN([GUIX_TEST_ROOT_DIRECTORY], [ + AC_CACHE_CHECK([for unit test root directory], + [ac_cv_guix_test_root], + [ac_cv_guix_test_root="`pwd`/test-tmp"]) +]) + +dnl 'BINPRM_BUF_SIZE' constant in Linux. The Hurd has a limit +dnl of about a page (see exec/hashexec.c.) +m4_define([LINUX_HASH_BANG_LIMIT], 128) + +dnl Hardcoded 'sun_path' length in . +m4_define([SOCKET_FILE_NAME_LIMIT], 108) + +dnl GUIX_SOCKET_FILE_NAME_LENGTH +AC_DEFUN([GUIX_SOCKET_FILE_NAME_LENGTH], [ + AC_CACHE_CHECK([the length of the installed socket file name], + [ac_cv_guix_socket_file_name_length], + [ac_cv_guix_socket_file_name_length="`echo -n "$guix_localstatedir/guix/daemon-socket/socket" | wc -c`"]) +]) + +dnl GUIX_TEST_SOCKET_FILE_NAME_LENGTH +AC_DEFUN([GUIX_TEST_SOCKET_FILE_NAME_LENGTH], [ + AC_REQUIRE([GUIX_TEST_ROOT_DIRECTORY]) + AC_CACHE_CHECK([the length of the socket file name used in tests], + [ac_cv_guix_test_socket_file_name_length], + [ac_cv_guix_test_socket_file_name_length="`echo -n "$ac_cv_guix_test_root/var/123456/daemon-socket/socket" | wc -c`"]) +]) + +dnl GUIX_HASH_BANG_LENGTH +AC_DEFUN([GUIX_HASH_BANG_LENGTH], [ + AC_CACHE_CHECK([the length of a typical hash bang line], + [ac_cv_guix_hash_bang_length], + [ac_cv_guix_hash_bang_length=`echo -n "$storedir/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa-bootstrap-binaries-0/bin/bash" | wc -c`]) +]) + +dnl GUIX_CHECK_FILE_NAME_LIMITS +dnl +dnl GNU/Linux has a couple of silly limits that we can easily run into. +dnl Make sure everything is fine with the current settings. +AC_DEFUN([GUIX_CHECK_FILE_NAME_LIMITS], [ + AC_REQUIRE([GUIX_SOCKET_FILE_NAME_LENGTH]) + AC_REQUIRE([GUIX_TEST_SOCKET_FILE_NAME_LENGTH]) + AC_REQUIRE([GUIX_HASH_BANG_LENGTH]) + + if test "$ac_cv_guix_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then + AC_MSG_ERROR([socket file name would exceed the maxium allowed length]) + fi + if test "$ac_cv_guix_test_socket_file_name_length" -ge ]SOCKET_FILE_NAME_LIMIT[; then + AC_MSG_WARN([socket file name limit may be exceeded when running tests]) + fi + if test "$ac_cv_guix_hash_bang_length" -ge ]LINUX_HASH_BANG_LIMIT[; then + AC_MSG_ERROR([store directory '$storedir' would lead to overly long hash-bang lines]) + fi +]) diff --git a/test-env.in b/test-env.in index f66a0db555..a7f506ec19 100644 --- a/test-env.in +++ b/test-env.in @@ -1,7 +1,7 @@ #!/bin/sh # 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. # @@ -52,6 +52,13 @@ then # Currently, in Nix builds, we're at ~106 chars... NIX_STATE_DIR="@GUIX_TEST_ROOT@/var/$$" + # We can't exit when we reach the limit, because perhaps the test doesn't + # actually rely on the daemon, but at least warn. + if test "`echo -n "$NIX_STATE_DIR/daemon-socket/socket" | wc -c`" -ge 108 + then + echo "warning: exceeding socket file name limit; test may fail!" >&2 + fi + # The configuration directory, for import/export signing keys. NIX_CONF_DIR="@GUIX_TEST_ROOT@/etc" if [ ! -d "$NIX_CONF_DIR" ] -- cgit 1.4.1 From 4cc78cb38f5e88a2608aa3d52dede71958a04cd2 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 23:12:16 +0100 Subject: gnu: Sync GNU synopses and descriptions. * gnu/packages/games.scm (gnugo): Adjust synopsis. * gnu/packages/libffcall.scm (libffcall): Likewise. * gnu/packages/lisp.scm (clisp): Adjust synopsis and description. --- gnu/packages/games.scm | 2 +- gnu/packages/libffcall.scm | 2 +- gnu/packages/lisp.scm | 12 +++++------- 3 files changed, 7 insertions(+), 9 deletions(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 687e037526..789a02e577 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -849,7 +849,7 @@ multi-system game/emulator system.") "0wkahvqpzq6lzl5r49a4sd4p52frdmphnqsfdv7gdp24bykdfs6s")))) (build-system gnu-build-system) (inputs `(("readline" ,readline))) - (synopsis "Go game") + (synopsis "Play the game of Go") (description "GNU Go is a program that plays the game of Go, in which players place stones on a grid to form territory or capture other stones. While it can be played directly from the terminal, rendered in ASCII diff --git a/gnu/packages/libffcall.scm b/gnu/packages/libffcall.scm index 010c22e38c..74d6b6347f 100644 --- a/gnu/packages/libffcall.scm +++ b/gnu/packages/libffcall.scm @@ -41,7 +41,7 @@ "1lwdskc2w4rr98x9flr2726lmj4190l16r0izg7gqxy50801wwgd")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f)) - (synopsis "Foreign function call libraries") + (synopsis "Foreign function calls from interpreters") (description "GNU Libffcall is a collection of libraries that can be used to build foreign function call interfaces in embedded interpreters.") diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index bf8bb9b054..5db3fa98f9 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -182,13 +182,11 @@ supporting ASDF, Sockets, Gray streams, MOP, and other useful components.") ;; Makefiles seem to have race conditions. #:parallel-build? #f)) (home-page "http://www.clisp.org/") - (synopsis "Common Lisp implementation") - (description "GNU CLISP is an implementation of ANSI Common Lisp, with -many extensions. It includes an interpreter, compiler, debugger, CLOS, MOP, -an FFI, i18n, POSIX and Perl regular expressions, a socket interface, fast -bignums, arbitrary precision floats, and more. An X11 interface is available -through CLX, Garnet and CLUE/CLIO. Command line editing is provided by -readline.") + (synopsis "A Common Lisp implementation") + (description + "GNU CLISP is an implementation of ANSI Common Lisp. Common Lisp is a +high-level, object-oriented functional programming language. CLISP includes +an interpreter, a compiler, a debugger, and much more.") ;; Website says gpl2+, COPYRIGHT file says gpl2; actual source files have ;; a lot of gpl3+. (Also some parts are under non-copyleft licenses, such ;; as CLX by Texas Instruments.) In that case gpl3+ wins out. -- cgit 1.4.1 From a4d8c40f7d3d5002a307b80cfe516474ea10d19f Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 23:14:39 +0100 Subject: artwork: Update to latest GRUB image. * gnu/artwork.scm (%artwork-repository): Update to newer snapshot. --- gnu/artwork.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/artwork.scm b/gnu/artwork.scm index 155865f44a..c3b1695ba7 100644 --- a/gnu/artwork.scm +++ b/gnu/artwork.scm @@ -32,9 +32,9 @@ (method git-fetch) (uri (git-reference (url "git://git.savannah.gnu.org/guix/guix-artwork.git") - (commit "3236581"))) + (commit "61ae7c8"))) (sha256 (base32 - "0ayg0693agck8zkcxfymph5ccc3y44cdf9i4y0qvxajhac8rkcaj")))) + "102fxk2l6b0ibry3n430q8ljhwrnbml9qgalzkz6v09r7sx6a532")))) ;;; artwork.scm ends here -- cgit 1.4.1 From 6e1a7d17f4be26f6ec5bfca49c353218811bc71e Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Tue, 24 Feb 2015 23:42:32 +0100 Subject: guix system: Honor '--no-grub'. Reported by Alex Kost at . * guix/scripts/system.scm (%options) : Use 'alist-cons' instead of 'alist-delete'. --- guix/scripts/system.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 3eea872fe8..b15bb8bb0d 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -446,7 +446,7 @@ Build the operating system declared in FILE according to ACTION.\n")) result))) (option '("no-grub") #f #f (lambda (opt name arg result) - (alist-delete 'install-grub? result))) + (alist-cons 'install-grub? #f result))) (option '("full-boot") #f #f (lambda (opt name arg result) (alist-cons 'full-boot? #t result))) -- cgit 1.4.1 From 61452a5ab13bcb7ac4d65cfbe7937281204d6f23 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Fri, 20 Feb 2015 19:53:27 -0500 Subject: gnu: Add pumpa. * gnu/packages/pumpio.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/pumpio.scm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/pumpio.scm diff --git a/gnu-system.am b/gnu-system.am index 3eb7893481..dfd672b2d3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -233,6 +233,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/popt.scm \ gnu/packages/pth.scm \ gnu/packages/pulseaudio.scm \ + gnu/packages/pumpio.scm \ gnu/packages/pretty-print.scm \ gnu/packages/protobuf.scm \ gnu/packages/python.scm \ diff --git a/gnu/packages/pumpio.scm b/gnu/packages/pumpio.scm new file mode 100644 index 0000000000..4a6375f3f2 --- /dev/null +++ b/gnu/packages/pumpio.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2015 David Thompson +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages pumpio) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix git-download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages aspell) + #:use-module (gnu packages kde) + #:use-module (gnu packages qt) + #:use-module (gnu packages web)) + +(define-public pumpa + (package + (name "pumpa") + (version "0.9") + (source (origin + (method git-fetch) ; no source tarballs + (uri (git-reference + (url "https://gitorious.org/pumpa/pumpa.git") + (commit (string-append "v" version)))) + (sha256 + (base32 + "0v55xq17wnc9mvpmrm5r3rjrsg9npnjv1lznbz8ppk77ba8pwimy")))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Fix dependency tests. + (substitute* "pumpa.pro" + (("/usr/include/tidy\\.h") + (string-append (assoc-ref inputs "tidy") + "/include/tidy.h")) + (("/usr/include/aspell.h") + (string-append (assoc-ref inputs "aspell") + "/include/aspell.h"))) + ;; Run qmake with proper installation prefix. + (let ((prefix (string-append "PREFIX=" + (assoc-ref outputs "out")))) + (zero? (system* "qmake" prefix)))) + %standard-phases))) + (inputs + `(("aspell" ,aspell) + ("qt" ,qt) + ("qjson" ,qjson) + ("tidy" ,tidy))) + (synopsis "Qt-based pump.io client") + (description "Pumpa is a simple pump.io client written in C++ and Qt.") + (home-page "https://pumpa.branchable.com/") + (license gpl3+))) -- cgit 1.4.1 From b9e02a71a972e51a921fada9e1acbb58280f2ed3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 00:11:18 +0100 Subject: gnu: glibc-locales: Install to lib/locales. Suggested by Andreas Schwab at . * gnu/packages/base.scm (glibc-locales) <#:configure-flags>: Change "/share/locale" to "/lib/locale". --- gnu/packages/base.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 554e848369..3f2bd92bed 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -551,9 +551,10 @@ the 'share/locale' sub-directory of this package.") (alist-delete 'install ,phases))) ((#:configure-flags flags) `(append ,flags + ;; Use $(libdir)/locale as is the case by default. (list (string-append "libc_cv_localedir=" (assoc-ref %outputs "out") - "/share/locale"))))))))) + "/lib/locale"))))))))) (define-public tzdata (package -- cgit 1.4.1 From 4219f48f704bc011f5699b0e24d0f1f6a636d129 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 24 Feb 2015 23:08:53 +0100 Subject: gnu: python-rdflib: Correct typo. * gnu/packages/rdf.scm (python-rdflib): Correct typo in the name of an input. --- gnu/packages/rdf.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 588a4b7c33..6895b36beb 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -89,7 +89,7 @@ HTML and JSON.") (sha256 (base32 "1arffdwivig88kkx685pldr784njm0249k0rb1f1plwavlrw9zfx")) - (patches (list + (patches (list (search-patch "clucene-pkgconfig.patch") (search-patch "clucene-contribs-lib.patch"))))) (build-system cmake-build-system) @@ -324,7 +324,7 @@ system.") "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w")))) (build-system python-build-system) (inputs - `(("python-htm5lib" ,python-html5lib) + `(("python-html5lib" ,python-html5lib) ("python-isodate" ,python-isodate) ("python-pyparsing" ,python-pyparsing) ("python-setuptools" ,python-setuptools))) -- cgit 1.4.1 From 0c20025c05e65a590c1eb3393ec70aa3b8cde4ec Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 25 Feb 2015 00:14:28 +0100 Subject: gnu: Add python2-six. * gnu/packages/python.scm (python2-six): New variable. --- gnu/packages/python.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 2e4341ce85..544dc6c73e 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -507,6 +507,9 @@ Six supports every Python version since 2.5. It is contained in only one Python file, so it can be easily copied into your project.") (license x11))) +(define-public python2-six + (package-with-python2 python-six)) + (define-public python-dateutil-2 (package (name "python-dateutil") -- cgit 1.4.1 From 3dd7547666250c56c43ed216a9e8a0ae9a694107 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 25 Feb 2015 00:28:19 +0100 Subject: gnu: python-html5lib: Add propagated input. * gnu/packages/python.scm (python-html5lib): Add propagated input python-six. (python2-html5lib): Add propagated input python2-six. --- gnu/packages/python.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 544dc6c73e..bbff241833 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2867,6 +2867,8 @@ ISO 8601 dates, time and duration.") (base32 "1l5i6xzckzx4hnh9qzv9q3kyhkgjx2hsi2k9srgci3qizjmvp6ln")))) (build-system python-build-system) + (propagated-inputs + `(("python-six" ,python-six))) ; required to "import html5lib" (inputs `(("python-setuptools" ,python-setuptools))) (arguments -- cgit 1.4.1 From da71f145c6bf1aab4e5e9378609f4d5d6eae1093 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 25 Feb 2015 00:56:31 +0100 Subject: gnu: Add python2-rdflib. * gnu/packages/rdf.scm (python2-rdflib): New variable. (python-rdflib): Add patch. * gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. --- gnu-system.am | 1 + .../patches/python2-rdflib-drop-sparqlwrapper.patch | 16 ++++++++++++++++ gnu/packages/rdf.scm | 13 +++++++++++++ 3 files changed, 30 insertions(+) create mode 100644 gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch diff --git a/gnu-system.am b/gnu-system.am index dfd672b2d3..76ef6f873a 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -479,6 +479,7 @@ dist_patch_DATA = \ gnu/packages/patches/python-fix-tests.patch \ gnu/packages/patches/python-libffi-mips-n32-fix.patch \ gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch \ + gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch \ gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch \ gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch \ gnu/packages/patches/qt4-tests.patch \ diff --git a/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch b/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch new file mode 100644 index 0000000000..53f8fde9de --- /dev/null +++ b/gnu/packages/patches/python2-rdflib-drop-sparqlwrapper.patch @@ -0,0 +1,16 @@ +Drop SPARQLWrapper from the required install inputs under Python 2, as it +creates a circular dependency. + +diff -u rdflib-4.1.2.alt/setup.py rdflib-4.1.2/setup.py +--- rdflib-4.1.2.alt/setup.py 2014-03-04 12:40:26.000000000 +0100 ++++ rdflib-4.1.2/setup.py 2015-01-23 21:52:59.000000000 +0100 +@@ -52,7 +52,7 @@ + kwargs['test_suite'] = "nose.collector" + kwargs['install_requires'] = [ + 'isodate', +- 'pyparsing', 'SPARQLWrapper'] ++ 'pyparsing'] + + if sys.version_info[1]<7: # Python 2.6 + kwargs['install_requires'].append('ordereddict') + diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index 6895b36beb..ab6eb8940e 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -319,6 +319,9 @@ system.") "https://pypi.python.org/packages/source/r/rdflib/rdflib-" version ".tar.gz")) + (patches + ;; The patch has no effect under Python 3. + (list (search-patch "python2-rdflib-drop-sparqlwrapper.patch"))) (sha256 (base32 "0kvaf332cqbi47rqzlpdx4mbkvw12mkrzkj8n9l19wk713d4py9w")))) @@ -336,3 +339,13 @@ system.") powerful language for representing information.") (license (bsd-style "file://LICENSE" "See LICENSE in the distribution.")))) + +(define-public python2-rdflib + (let ((base (package-with-python2 python-rdflib))) + (package + (inherit base) + (inputs + (append (package-inputs base) + `(("python2-nose" ,python2-nose)))) + (arguments + `(#:tests? #f))))) ; 3 tests fail, also outside Guix -- cgit 1.4.1 From c964a15d8239d28144be51868868aa21d5d4ddce Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 24 Feb 2015 19:58:13 -0500 Subject: download: Cope with Guile 2.0.6 or earlier. * guix/build/download.scm: Do not attempt to support relative URIs in "Location" headers if 'declare-relative-uri-header!' is not present. This is the case for Guile 2.0.6 or earlier. --- guix/build/download.scm | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index 16afb1dce1..e8d61e0d92 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -211,10 +211,12 @@ which is not available during bootstrap." (unless (or (> (string->number (major-version)) 2) (> (string->number (minor-version)) 0) (> (string->number (micro-version)) 11)) - (let ((declare-relative-uri-header! - (module-ref (resolve-module '(web http)) - 'declare-relative-uri-header!))) - (declare-relative-uri-header! "Location"))) + (let ((var (module-variable (resolve-module '(web http)) + 'declare-relative-uri-header!))) + ;; If 'declare-relative-uri-header!' doesn't exist, forget it. + (when (and var (variable-bound? var)) + (let ((declare-relative-uri-header! (variable-ref var))) + (declare-relative-uri-header! "Location"))))) (define (resolve-uri-reference ref base) "Resolve the URI reference REF, interpreted relative to the BASE URI, into a -- cgit 1.4.1 From 5e5784a91d6d92ef7c6dfe289989cd24ee4fc372 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 25 Feb 2015 10:55:28 +0100 Subject: gnu: python2-rdflib: Explicitly build with python-2. * gnu/packages/rdf.scm (python2-rdflib): Add argument to build with python-2. --- gnu/packages/rdf.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/rdf.scm b/gnu/packages/rdf.scm index ab6eb8940e..5102ebe921 100644 --- a/gnu/packages/rdf.scm +++ b/gnu/packages/rdf.scm @@ -348,4 +348,5 @@ powerful language for representing information.") (append (package-inputs base) `(("python2-nose" ,python2-nose)))) (arguments - `(#:tests? #f))))) ; 3 tests fail, also outside Guix + `(#:python ,python-2 + #:tests? #f))))) ; 3 tests fail, also outside Guix -- cgit 1.4.1 From c9505f3ffa9597c6d765d871d800e56fb45dd7ef Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 13:58:15 +0100 Subject: gnu: Add glibc-utf8-locales. * gnu/packages/base.scm (glibc-utf8-locales): New variable. --- gnu/packages/base.scm | 44 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 3f2bd92bed..9c5d6b7b27 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -29,6 +29,7 @@ #:use-module (gnu packages ed) #:use-module (gnu packages guile) #:use-module (gnu packages multiprecision) + #:use-module (gnu packages compression) #:use-module (gnu packages perl) #:use-module (gnu packages linux) #:use-module (gnu packages texinfo) @@ -36,7 +37,8 @@ #:use-module (guix utils) #:use-module (guix packages) #:use-module (guix download) - #:use-module (guix build-system gnu)) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial)) ;;; Commentary: ;;; @@ -556,6 +558,46 @@ the 'share/locale' sub-directory of this package.") (assoc-ref %outputs "out") "/lib/locale"))))))))) +(define-public glibc-utf8-locales + (package + (name "glibc-utf8-locales") + (version (package-version glibc)) + (source #f) + (build-system trivial-build-system) + (arguments + '(#:modules ((guix build utils)) + #:builder (begin + (use-modules (srfi srfi-1) + (guix build utils)) + + (let* ((libc (assoc-ref %build-inputs "glibc")) + (gzip (assoc-ref %build-inputs "gzip")) + (out (assoc-ref %outputs "out")) + (localedir (string-append out "/lib/locale"))) + ;; 'localedef' needs 'gzip'. + (setenv "PATH" (string-append libc "/bin:" gzip "/bin")) + + (mkdir-p localedir) + (every (lambda (locale) + (zero? (system* "localedef" "--no-archive" + "--prefix" localedir "-i" locale + "-f" "UTF-8" + (string-append localedir "/" + locale + ".UTF-8")))) + + ;; These are the locales commonly used for + ;; tests---e.g., in Guile's i18n tests. + '("de_DE" "el_GR" "en_US" "fr_FR" "tr_TR")))))) + (inputs `(("glibc" ,glibc) + ("gzip" ,gzip))) + (synopsis "Small sample of UTF-8 locales") + (description + "This package provides a small sample of UTF-8 locales mostly useful in +test environments.") + (home-page (package-home-page glibc)) + (license (package-license glibc)))) + (define-public tzdata (package (name "tzdata") -- cgit 1.4.1 From 37f5caec4e886cc19605f6a249d65d13f05994b2 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Wed, 18 Feb 2015 21:20:38 +0100 Subject: gnu: Add sysfsutils. * gnu/packages/linux.scm (sysfsutils): New variable. --- gnu/packages/linux.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 1558d09031..935a1728f4 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1913,3 +1913,27 @@ during the system boot, and will run as a background process. When an ACPI event is received from the kernel, acpid will examine the list of rules specified in /etc/acpi/events and execute the rules that match the event.") (license gpl2+))) + +(define-public sysfsutils + (package + (name "sysfsutils") + (version "2.1.0") + (source + (origin + (method url-fetch) + (uri + (string-append + "mirror://sourceforge/linux-diag/sysfsutils/" version "/sysfsutils-" + version ".tar.gz")) + (sha256 + (base32 "12i0ip11xbfcjzxz4r10cvz7mbzgq1hfcdn97w6zz7sm3wndwrg8")))) + (build-system gnu-build-system) + (home-page "http://linux-diag.sourceforge.net/Sysfsutils.html") + (synopsis "System utilities based on Linux sysfs") + (description + "These are a set of utilites built upon sysfs, a virtual filesystem in +Linux kernel versions 2.5+ that exposes a system's device tree. The package +also contains the libsysfs library.") + ;; The library is under lgpl2.1+ (all files say "or any later version"). + ;; The rest is mostly gpl2, with a few files indicating gpl2+. + (license (list gpl2 gpl2+ lgpl2.1+)))) -- cgit 1.4.1 From a9a1a40b50f5bad1a5528a6106c45c40f6064fcc Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Wed, 18 Feb 2015 22:17:01 +0100 Subject: gnu: Add sysfsutils-1. * gnu/packages/linux.scm (sysfsutils-1): New variable. --- gnu/packages/linux.scm | 24 ++++++++++++++++++++++++ 1 file changed, 24 insertions(+) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 935a1728f4..33214eb366 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1937,3 +1937,27 @@ also contains the libsysfs library.") ;; The library is under lgpl2.1+ (all files say "or any later version"). ;; The rest is mostly gpl2, with a few files indicating gpl2+. (license (list gpl2 gpl2+ lgpl2.1+)))) + +(define-public sysfsutils-1 + (package + (inherit sysfsutils) + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri + (string-append + "mirror://sourceforge/linux-diag/sysfsutils/sysfsutils-" version + "/sysfsutils-" version ".tar.gz")) + (sha256 + (base32 "0kdhs07fm8263pxwd5blwn2x211cg4fk63fyf9ijcdkvzmwxrqq3")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.in" + (("includedir = /usr/include/sysfs") + "includedir = @includedir@")) + (substitute* "configure" + (("includedir='(\\$\\{prefix\\}/include)'" all orig) + (string-append "includedir='" orig "/sysfs'"))))))) + (synopsis "System utilities based on Linux sysfs (version 1.x)"))) -- cgit 1.4.1 From e6caa52d859718596fe56bcd4033917457864912 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Wed, 18 Feb 2015 21:20:57 +0100 Subject: gnu: Add cpufrequtils. * gnu/packages/linux.scm (cpufrequtils): New variable. * gnu/packages/patches/cpufrequtils-fix-aclocal.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/linux.scm | 28 +++++++++++++ .../patches/cpufrequtils-fix-aclocal.patch | 46 ++++++++++++++++++++++ 3 files changed, 75 insertions(+) create mode 100644 gnu/packages/patches/cpufrequtils-fix-aclocal.patch diff --git a/gnu-system.am b/gnu-system.am index 76ef6f873a..186c6c2fc9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -374,6 +374,7 @@ dist_patch_DATA = \ gnu/packages/patches/cpio-CVE-2014-9112-pt4.patch \ gnu/packages/patches/cpio-CVE-2014-9112-pt5.patch \ gnu/packages/patches/cpio-gets-undeclared.patch \ + gnu/packages/patches/cpufrequtils-fix-aclocal.patch \ gnu/packages/patches/cssc-gets-undeclared.patch \ gnu/packages/patches/cssc-missing-include.patch \ gnu/packages/patches/clucene-contribs-lib.patch \ diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 33214eb366..dc280a01fe 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1961,3 +1961,31 @@ also contains the libsysfs library.") (("includedir='(\\$\\{prefix\\}/include)'" all orig) (string-append "includedir='" orig "/sysfs'"))))))) (synopsis "System utilities based on Linux sysfs (version 1.x)"))) + +(define-public cpufrequtils + (package + (name "cpufrequtils") + (version "0.3") + (source + (origin + (method url-fetch) + (uri + (string-append + "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/cpufrequtils-" + version ".tar.gz")) + (sha256 + (base32 "0qfqv7nqmjfr3p0bwrdlxkiqwqr7vmx053cadaa548ybqbghxmvm")) + (patches (list (search-patch "cpufrequtils-fix-aclocal.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("sysfsutils" ,sysfsutils-1))) + (arguments + '(#:make-flags (list (string-append "LDFLAGS=-Wl,-rpath=" + (assoc-ref %outputs "out") "/lib")))) + (home-page "https://www.kernel.org/pub/linux/utils/kernel/cpufreq/") + (synopsis "Utilities to get and set CPU frequency on Linux") + (description + "The cpufrequtils suite contains utilities to retreive CPU frequency +information, and set the CPU frequency if supported, using the cpufreq +capabilities of the Linux kernel.") + (license gpl2))) diff --git a/gnu/packages/patches/cpufrequtils-fix-aclocal.patch b/gnu/packages/patches/cpufrequtils-fix-aclocal.patch new file mode 100644 index 0000000000..be5767f462 --- /dev/null +++ b/gnu/packages/patches/cpufrequtils-fix-aclocal.patch @@ -0,0 +1,46 @@ +Add an extra layer of quoting to ltmain.sh sanity check. + +--- a/configure 2005-05-07 14:19:31.000000000 +0200 ++++ b/configure 2015-02-10 11:16:32.456146934 +0100 +@@ -6266,7 +6266,7 @@ + exit 1 + fi + gentoo_lt_version="1.5.16" +-gentoo_ltmain_version=`grep '^[:space:]*VERSION=' $ltmain | sed -e 's|^[:space:]*VERSION=||'` ++gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'` + if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then + echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 +--- a/aclocal.m4 2005-05-07 14:19:25.000000000 +0200 ++++ b/aclocal.m4 2015-02-10 11:16:15.352030318 +0100 +@@ -246,7 +246,7 @@ + exit 1 + fi + gentoo_lt_version="1.5.16" +-gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'` ++gentoo_ltmain_version=`[grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||']` + if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then + AC_MSG_RESULT(no) + echo +--- a/libcpufreq/configure 2005-05-07 14:19:31.000000000 +0200 ++++ b/libcpufreq/configure 2015-02-10 11:16:32.456146934 +0100 +@@ -6266,7 +6266,7 @@ + exit 1 + fi + gentoo_lt_version="1.5.16" +-gentoo_ltmain_version=`grep '^[:space:]*VERSION=' $ltmain | sed -e 's|^[:space:]*VERSION=||'` ++gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'` + if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then + echo "$as_me:$LINENO: result: no" >&5 + echo "${ECHO_T}no" >&6 +--- a/libcpufreq/aclocal.m4 2005-05-07 14:19:25.000000000 +0200 ++++ b/libcpufreq/aclocal.m4 2015-02-10 11:16:15.352030318 +0100 +@@ -246,7 +246,7 @@ + exit 1 + fi + gentoo_lt_version="1.5.16" +-gentoo_ltmain_version=`grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||'` ++gentoo_ltmain_version=`[grep '^[[:space:]]*VERSION=' $ltmain | sed -e 's|^[[:space:]]*VERSION=||']` + if test "$gentoo_lt_version" != "$gentoo_ltmain_version"; then + AC_MSG_RESULT(no) + echo -- cgit 1.4.1 From 9f1cdd9dfabddec447cd5d82d0d5c791601eef9d Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 21:42:48 +0100 Subject: gnu: Add libsbsms. * gnu/packages/audio.scm (libsbsms): New variable. --- gnu/packages/audio.scm | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index a4c16fb00b..0e0310b720 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2015 Ricardo Wurmus +;;; Copyright © 2015 Taylan Ulrich Bayırlı/Kammer ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,6 +27,7 @@ #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages autotools) #:use-module (gnu packages boost) #:use-module (gnu packages base) #:use-module (gnu packages compression) @@ -744,3 +746,37 @@ analysis plugins or audio feature extraction plugins.") (license (license:x11-style "https://code.soundsoftware.ac.uk/projects/vamp-plugin-sdk/repository/entry/COPYING")))) + +(define-public libsbsms + (package + (name "libsbsms") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/sbsms/sbsms/" version + "/libsbsms-" version ".tar.gz")) + (sha256 + (base32 "1vmf84iy4dkwxv887grnlsfk43fmhd9gbg26gc2kgcv40sbkvayf")))) + (build-system gnu-build-system) + (native-inputs `(("automake" ,automake))) + (arguments + `(#:phases + (alist-cons-after + 'unpack 'fix-ar-lib-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Originally a symlink to '/usr/local/share/automake-1.12/ar-lib'. + (delete-file "ar-lib") + (symlink + (string-append (assoc-ref inputs "automake") "/share/automake-" + ,(package-version automake) "/ar-lib") + "ar-lib")) + %standard-phases))) + (home-page "http://sbsms.sourceforge.net/") + (synopsis "Library for time stretching and pitch scaling of audio") + (description + "SBSMS (Subband Sinusoidal Modeling Synthesis) is software for time +stretching and pitch scaling of audio. This package contains the library.") + ;; There is no explicit declaration of a license, but a COPYING file + ;; containing gpl2. + (license license:gpl2))) -- cgit 1.4.1 From 754a98ae42c490b4c07dbfa8c781395c5896ea4a Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 21:44:57 +0100 Subject: gnu: Add soundtouch. * gnu/packages/audio.scm (soundtouch): New variable. --- gnu/packages/audio.scm | 39 +++++++++++++++++++++++++++++++++++++++ 1 file changed, 39 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index 0e0310b720..e16187701f 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages curl) #:use-module (gnu packages databases) + #:use-module (gnu packages file) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages gnome) @@ -780,3 +781,41 @@ stretching and pitch scaling of audio. This package contains the library.") ;; There is no explicit declaration of a license, but a COPYING file ;; containing gpl2. (license license:gpl2))) + +(define-public soundtouch + (package + (name "soundtouch") + (version "1.8.0") + (source + (origin + (method url-fetch) + (uri + (string-append + "http://www.surina.net/soundtouch/soundtouch-" version ".tar.gz")) + (sha256 + (base32 "0sqn3wk4qz20vf0vz853l6dl1gnj1yhqxfwxqsc5lp529kbn2h9x")))) + (build-system gnu-build-system) + (native-inputs + `(("autoconf" ,autoconf) + ("automake" ,automake) + ("libtool" ,libtool) + ("file" ,file))) + (arguments + '(#:phases + (alist-cons-before + 'configure 'bootstrap + (lambda _ + (unless (zero? (system* "sh" "bootstrap")) + (error "bootstrap failed")) + (substitute* '("configure") + (("/usr/bin/file") "file"))) + %standard-phases))) + (home-page "http://www.surina.net/soundtouch/") + (synopsis + "Audio processing library for changing tempo, pitch and playback rate") + (description + "SoundTouch is an audio processing library for changing the tempo, pitch +and playback rates of audio streams or audio files. It is intended for +application developers writing sound processing tools that require tempo/pitch +control functionality, or just for playing around with the sound effects.") + (license license:lgpl2.1+))) -- cgit 1.4.1 From 4bddd14c11f94ca44bccc09fbe7aec276bcc5dd6 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 21:49:03 +0100 Subject: gnu: Add soxr. * gnu/packages/audio.scm (soxr): New variable. --- gnu/packages/audio.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index e16187701f..aa29ddaa56 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -25,6 +25,7 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system waf) #:use-module (guix build-system trivial) + #:use-module (guix build-system cmake) #:use-module (gnu packages) #:use-module (gnu packages algebra) #:use-module (gnu packages autotools) @@ -819,3 +820,24 @@ and playback rates of audio streams or audio files. It is intended for application developers writing sound processing tools that require tempo/pitch control functionality, or just for playing around with the sound effects.") (license license:lgpl2.1+))) + +(define-public soxr + (package + (name "soxr") + (version "0.1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/soxr/soxr-" version + "-Source.tar.xz")) + (sha256 + (base32 "1hmadwqfpg15vhwq9pa1sl5xslibrjpk6hpq2s9hfmx1s5l6ihfw")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no 'check' target + (home-page "http://sourceforge.net/p/soxr/wiki/Home/") + (synopsis "One-dimensional sample-rate conversion library") + (description + "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate +conversion. It may be used, for example, to resample PCM-encoded audio.") + (license license:lgpl2.1+))) -- cgit 1.4.1 From 49f367088983e2643f710479cb84a10087a5bd31 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 21:51:09 +0100 Subject: gnu: Add twolame. * gnu/packages/audio.scm (twolame): New variable. --- gnu/packages/audio.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index aa29ddaa56..aba5b5a61c 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -48,6 +48,7 @@ #:use-module (gnu packages python) #:use-module (gnu packages rdf) #:use-module (gnu packages readline) + #:use-module (gnu packages which) #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (srfi srfi-1)) @@ -841,3 +842,28 @@ control functionality, or just for playing around with the sound effects.") "The SoX Resampler library (libsoxr) performs one-dimensional sample-rate conversion. It may be used, for example, to resample PCM-encoded audio.") (license license:lgpl2.1+))) + +(define-public twolame + (package + (name "twolame") + (version "0.3.13") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/twolame/twolame-" version ".tar.gz")) + (sha256 + (base32 "0ahiqqng5pidwhj1wzph4vxxgxxgcfa3gl0gywipzx2ii7s35wwq")))) + (build-system gnu-build-system) + (inputs + `(("libsndfile" ,libsndfile))) + (native-inputs + `(("perl" ,perl) + ("which" ,which))) ;used in tests/test.pl + (home-page "http://www.twolame.org/") + (synopsis "MPEG Audio Layer 2 (MP2) encoder") + (description + "TwoLAME is an optimised MPEG Audio Layer 2 (MP2) encoder based on +tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and +portions of LAME.") + (license license:lgpl2.1+))) -- cgit 1.4.1 From bd4464f2e910dac5cada57acd3788aff50f8583e Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Fri, 20 Feb 2015 21:51:49 +0100 Subject: gnu: Add portaudio. * gnu/packages/audio.scm (portaudio): New variable. --- gnu/packages/audio.scm | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index aba5b5a61c..52feea3701 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -867,3 +867,32 @@ conversion. It may be used, for example, to resample PCM-encoded audio.") tooLAME by Mike Cheng, which in turn is based upon the ISO dist10 code and portions of LAME.") (license license:lgpl2.1+))) + +(define-public portaudio + (package + (name "portaudio") + (version "19.20140130") + (source + (origin + (method url-fetch) + (uri (string-append + "http://www.portaudio.com/archives/pa_stable_v" + (string-map (lambda (c) (if (char=? c #\.) #\_ c)) version) + ".tgz")) + (sha256 + (base32 "0mwddk4qzybaf85wqfhxqlf0c5im9il8z03rd4n127k8y2jj9q4g")))) + (build-system gnu-build-system) + (inputs + ;; TODO: Add ASIHPI. + `(("alsa-lib" ,alsa-lib) + ("jack" ,jack-2))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (arguments '(#:tests? #f)) ;no 'check' target + (home-page "http://www.portaudio.com/") + (synopsis "Audio I/O library") + (description + "PortAudio is a portable C/C++ audio I/O library providing a simple API +to record and/or play sound using a callback function or a blocking read/write +interface.") + (license license:expat))) -- cgit 1.4.1 From cab6a2535abfe0d5dbf7c3e88d51de62becaf370 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 16:52:05 +0100 Subject: gnu: Add OpenEXR and IlmBase. * gnu/packages/graphics.scm (ilmbase, openexr): New variables. * gnu/packages/patches/openexr-missing-samples.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/graphics.scm | 56 ++++++++++++++++++++++ gnu/packages/patches/openexr-missing-samples.patch | 23 +++++++++ 3 files changed, 80 insertions(+) create mode 100644 gnu/packages/patches/openexr-missing-samples.patch diff --git a/gnu-system.am b/gnu-system.am index 186c6c2fc9..5a8b111239 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -460,6 +460,7 @@ dist_patch_DATA = \ gnu/packages/patches/nvi-assume-preserve-path.patch \ gnu/packages/patches/nvi-dbpagesize-binpower.patch \ gnu/packages/patches/nvi-db4.patch \ + gnu/packages/patches/openexr-missing-samples.patch \ gnu/packages/patches/orpheus-cast-errors-and-includes.patch \ gnu/packages/patches/ots-no-include-missing-file.patch \ gnu/packages/patches/patchelf-page-size.patch \ diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 55d2a198eb..7cbb86fe6e 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -22,6 +22,9 @@ #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module ((guix licenses) #:prefix license:) + #:use-module (gnu packages) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages compression) #:use-module (gnu packages multiprecision) #:use-module (gnu packages boost)) @@ -63,3 +66,56 @@ many more.") ;; The 'LICENSE' file explains that a subset is available under more ;; permissive licenses. (license license:gpl3+))) + +(define-public ilmbase + (package + (name "ilmbase") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/openexr/ilmbase-" + version ".tar.gz")) + (sha256 + (base32 + "1izddjwbh1grs8080vmaix72z469qy29wrvkphgmqmcm0sv1by7c")))) + (build-system gnu-build-system) + (home-page "http://www.openexr.com/") + (synopsis "Utility C++ libraries for threads, maths, and exceptions") + (description + "IlmBase provides several utility libraries for C++. Half is a class +that encapsulates ILM's 16-bit floating-point format. IlmThread is a thread +abstraction. Imath implements 2D and 3D vectors, 3x3 and 4x4 matrices, +quaternions and other useful 2D and 3D math functions. Iex is an +exception-handling library.") + (license license:bsd-3))) + +(define-public openexr + (package + (name "openexr") + (version "2.2.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/openexr/openexr-" + version ".tar.gz")) + (sha256 + (base32 + "0ca2j526n4wlamrxb85y2jrgcv0gf21b3a19rr0gh4rjqkv1581n")) + (modules '((guix build utils))) + (snippet + '(substitute* (find-files "." "tmpDir\\.h") + (("\"/var/tmp/\"") + "\"/tmp/\""))) + (patches (list (search-patch "openexr-missing-samples.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("ilmbase" ,ilmbase) ;used in public headers + ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" + (home-page "http://www.openexr.com") + (synopsis #f) + (description + "OpenEXR is a high dynamic-range (HDR) image file format developed for +use in computer imaging applications. The IlmImf libraries supports storage +of the \"EXR\" file format for storing 16-bit floating-point images.") + (license license:bsd-3))) diff --git a/gnu/packages/patches/openexr-missing-samples.patch b/gnu/packages/patches/openexr-missing-samples.patch new file mode 100644 index 0000000000..16cc9bb625 --- /dev/null +++ b/gnu/packages/patches/openexr-missing-samples.patch @@ -0,0 +1,23 @@ +This patch comments out tests that rely on files that are missing +from the source tarball. + +--- openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:19:21.565105625 +0100 ++++ openexr-2.2.0/IlmImfTest/testSampleImages.cpp 2015-02-25 16:21:46.394128206 +0100 +@@ -162,16 +162,6 @@ testSampleImages (const std::string&) + compareImages (ILM_IMF_TEST_IMAGEDIR "comp_b44.exr", + ILM_IMF_TEST_IMAGEDIR "comp_b44_piz.exr"); + +- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v1.exr", +- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); +- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwaa_v2.exr", +- ILM_IMF_TEST_IMAGEDIR "comp_dwaa_piz.exr"); +- +- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v1.exr", +- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); +- compareImages (ILM_IMF_TEST_IMAGEDIR "comp_dwab_v2.exr", +- ILM_IMF_TEST_IMAGEDIR "comp_dwab_piz.exr"); +- + + cout << "ok\n" << endl; + } + -- cgit 1.4.1 From 9d620590b90e84c714ec0ce723c79e35a59fa5a1 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 16:58:19 +0100 Subject: gnu: Add CTL. * gnu/packages/graphics.scm (ctl): New variable. --- gnu/packages/graphics.scm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 7cbb86fe6e..1464df0b68 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -119,3 +119,36 @@ exception-handling library.") use in computer imaging applications. The IlmImf libraries supports storage of the \"EXR\" file format for storing 16-bit floating-point images.") (license license:bsd-3))) + +(define-public ctl + (package + (name "ctl") + (version "1.5.2") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/ampas/CTL/archive/ctl-" + version ".tar.gz")) + (sha256 + (base32 + "1gg04pyvw0m398akn0s1l07g5b1haqv5na1wpi5dii1jjd1w3ynp")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no 'test' target + + ;; Headers include OpenEXR and IlmBase headers. + (propagated-inputs `(("openexr" ,openexr))) + + (home-page "http://ampasctl.sourceforge.net") + (synopsis "Color Transformation Language") + (description + "The Color Transformation Language, or CTL, is a small programming +language that was designed to serve as a building block for digital color +management systems. CTL allows users to describe color transforms in a +concise and unambiguous way by expressing them as programs. In order to apply +a given transform to an image, the color management system instructs a CTL +interpreter to load and run the CTL program that describes the transform. The +original and the transformed image constitute the CTL program's input and +output.") + + ;; The web site says it's under a BSD-3 license, but the 'LICENSE' file + ;; and headers use different wording. + (license (license:bsd-style "file://LICENSE")))) -- cgit 1.4.1 From faf0f39bd339a2f0ee5ca6175d4f175898aadb34 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 18:02:13 +0100 Subject: services: nscd: Make sure /var/db/nscd exists. * gnu/services/base.scm (nscd-service)[activate]: Make /var/db/nscd. --- gnu/services/base.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 94abef65c8..40d4740d46 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -506,7 +506,8 @@ given @var{config}---an @code{} object. Optionally, (activate #~(begin (use-modules (guix build utils)) - (mkdir-p "/var/run/nscd"))) + (mkdir-p "/var/run/nscd") + (mkdir-p "/var/db/nscd"))) ;for the persistent cache (start #~(make-forkexec-constructor (list (string-append #$glibc "/sbin/nscd") -- cgit 1.4.1 From 60a2d27eddf3c6213e99ea30c85c2a53731934b4 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 18:03:51 +0100 Subject: gnu: nss-mdns: Use /var as the localstatedir. Reported by Mark H Weaver at . * gnu/packages/avahi.scm (nss-mdns)[arguments]: Use --localstatedir=/var. --- gnu/packages/avahi.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index cd87508d0c..517df32382 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -97,7 +97,7 @@ DNS-SD (for \"DNS-Based Service Discovery\") protocols.") ;; The Avahi daemon socket is expected by src/Makefile.am to be at ;; "$(localstatedir)/run/avahi-daemon/socket", so set $(localstatedir) ;; appropriately. - '(#:configure-flags '("--localstatedir=/"))) + '(#:configure-flags '("--localstatedir=/var"))) ;; XXX: Stale URL, missing replacement. See . (home-page "http://0pointer.de/lennart/projects/nss-mdns/") -- cgit 1.4.1 From 72bfebf58d9203c6a09266dd2a20719bed6e27e9 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich Bayırlı/Kammer Date: Mon, 23 Feb 2015 20:42:41 +0100 Subject: gnu: ffmpeg: Add soxr and twolame as inputs. * gnu/packages/video.scm (ffmpeg): Add soxr and twolame as inputs. --- gnu/packages/video.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 73f8558cab..af3b5b4611 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -28,6 +28,7 @@ #:use-module (guix build-system python) #:use-module (gnu packages) #:use-module (gnu packages algebra) + #:use-module (gnu packages audio) #:use-module (gnu packages avahi) #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) @@ -78,7 +79,9 @@ ("libvorbis" ,libvorbis) ("libvpx" ,libvpx) ("patchelf" ,patchelf) + ("soxr" ,soxr) ("speex" ,speex) + ("twolame" ,twolame) ("zlib", zlib))) (native-inputs `(("bc" ,bc) @@ -128,7 +131,6 @@ ;; --enable-libiec61883 enable iec61883 via libiec61883 [no] ;; --enable-libilbc enable iLBC de/encoding via libilbc [no] ;; --enable-libmodplug enable ModPlug via libmodplug [no] -;; --enable-libmp3lame enable MP3 encoding via libmp3lame [no] ;; --enable-libnut enable NUT (de)muxing via libnut, ;; native (de)muxer exists [no] ;; --enable-libopencore-amrnb enable AMR-NB de/encoding via libopencore-amrnb [no] @@ -140,11 +142,9 @@ ;; --enable-librtmp enable RTMP[E] support via librtmp [no] ;; --enable-libschroedinger enable Dirac de/encoding via libschroedinger [no] ;; --enable-libshine enable fixed-point MP3 encoding via libshine [no] -;; --enable-libsoxr enable Include libsoxr resampling [no] ;; --enable-libssh enable SFTP protocol via libssh [no] ;; (libssh2 does not work) ;; --enable-libstagefright-h264 enable H.264 decoding via libstagefright [no] -;; --enable-libtwolame enable MP2 encoding via libtwolame [no] ;; --enable-libutvideo enable Ut Video encoding and decoding via libutvideo [no] ;; --enable-libv4l2 enable libv4l2/v4l-utils [no] ;; --enable-libvidstab enable video stabilization using vid.stab [no] @@ -170,8 +170,10 @@ "--enable-libfreetype" "--enable-libmp3lame" "--enable-libopus" + "--enable-libsoxr" "--enable-libspeex" "--enable-libtheora" + "--enable-libtwolame" "--enable-libvorbis" "--enable-libvpx" -- cgit 1.4.1 From b3f213893b67620840597213b8f46af1ddfb4934 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Wed, 25 Feb 2015 23:31:51 +0100 Subject: ui: Factorize command-line + env. var. option parsing. * guix/ui.scm (%default-argument-handler, parse-command-line): New procedures. (environment-build-options): Make private. * guix/scripts/archive.scm (guix-archive)[parse-options, parse-options-from]: Remove. Use 'parse-command-line' instead. * guix/scripts/build.scm (guix-build): Likewise. * guix/scripts/environment.scm (guix-environment): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/scripts/system.scm (guix-system): Likewise. * tests/ui.scm (with-environment-variable): New macro. ("parse-command-line"): New test. --- guix/scripts/archive.scm | 16 +--------------- guix/scripts/build.scm | 17 ++--------------- guix/scripts/environment.scm | 18 ++++-------------- guix/scripts/package.scm | 24 +++++++----------------- guix/scripts/system.scm | 34 +++++++++++++--------------------- guix/ui.scm | 28 +++++++++++++++++++++++++++- tests/ui.scm | 31 +++++++++++++++++++++++++++++++ 7 files changed, 85 insertions(+), 83 deletions(-) diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index b85119a0ff..ea6801a6eb 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -297,20 +297,6 @@ the input port." (cut write-acl acl <>))))) (define (guix-archive . args) - (define (parse-options) - ;; Return the alist of option values. - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) - - (define (parse-options-from args) - ;; Actual parsing takes place here. - (args-fold* args %options - (lambda (opt name arg result) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result) - (alist-cons 'argument arg result)) - %default-options)) - (define (lines port) ;; Return lines read from PORT. (let loop ((line (read-line port)) @@ -324,7 +310,7 @@ the input port." ;; Ask for absolute file names so that .drv file names passed from the ;; user to 'read-derivation' are absolute when it returns. (with-fluids ((%file-port-name-canonicalization 'absolute)) - (let ((opts (parse-options))) + (let ((opts (parse-command-line args %options (list %default-options)))) (cond ((assoc-ref opts 'generate-key) => generate-key-pair) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 07ced30484..370c2a37ff 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -405,25 +405,12 @@ arguments with packages that use the specified source." ;;; (define (guix-build . args) - (define (parse-options) - ;; Return the alist of option values. - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) - - (define (parse-options-from args) - ;; Actual parsing takes place here. - (args-fold* args %options - (lambda (opt name arg result) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result) - (alist-cons 'argument arg result)) - %default-options)) - (with-error-handling ;; Ask for absolute file names so that .drv file names passed from the ;; user to 'read-derivation' are absolute when it returns. (with-fluids ((%file-port-name-canonicalization 'absolute)) - (let* ((opts (parse-options)) + (let* ((opts (parse-command-line args %options + (list %default-options))) (store (open-connection)) (drv (options->derivations store opts)) (roots (filter-map (match-lambda diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index bb2ce53caf..c96ca351c4 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -217,22 +217,12 @@ packages." ;; Entry point. (define (guix-environment . args) - (define (parse-options) - ;; Return the alist of option values. - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) - - (define (parse-options-from args) - ;; Actual parsing takes place here. - (args-fold* args %options - (lambda (opt name arg result) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result) - (alist-cons 'package arg result)) - %default-options)) + (define (handle-argument arg result) + (alist-cons 'package arg result)) (with-store store - (let* ((opts (parse-options)) + (let* ((opts (parse-command-line args %options (list %default-options) + #:argument-handler handle-argument)) (pure? (assoc-ref opts 'pure)) (command (assoc-ref opts 'exec)) (inputs (packages->transitive-inputs diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index fc116d8f6c..c27207f29a 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -692,22 +692,11 @@ doesn't need it." ;;; (define (guix-package . args) - (define (parse-options) - ;; Return the alist of option values. - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) - - (define (parse-options-from args) - ;; Actual parsing takes place here. - (args-fold* args %options - (lambda (opt name arg result arg-handler) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result arg-handler) - (if arg-handler - (arg-handler arg result) - (leave (_ "~A: extraneous argument~%") arg))) - %default-options - #f)) + (define (handle-argument arg result arg-handler) + ;; Process non-option argument ARG by calling back ARG-HANDLER. + (if arg-handler + (arg-handler arg result) + (leave (_ "~A: extraneous argument~%") arg))) (define (ensure-default-profile) ;; Ensure the default profile symlink and directory exist and are @@ -987,7 +976,8 @@ more information.~%")) (_ #f)))) - (let ((opts (parse-options))) + (let ((opts (parse-command-line args %options (list %default-options #f) + #:argument-handler handle-argument))) (with-error-handling (or (process-query opts) (parameterize ((%store (open-connection))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b15bb8bb0d..1b64e6fb92 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -487,26 +487,15 @@ Build the operating system declared in FILE according to ACTION.\n")) ;;; (define (guix-system . args) - (define (parse-options) - ;; Return the alist of option values. - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) - - (define (parse-options-from args) - ;; Actual parsing takes place here. - (args-fold* args %options - (lambda (opt name arg result) - (leave (_ "~A: unrecognized option~%") name)) - (lambda (arg result) - (if (assoc-ref result 'action) - (alist-cons 'argument arg result) - (let ((action (string->symbol arg))) - (case action - ((build vm vm-image disk-image reconfigure init) - (alist-cons 'action action result)) - (else (leave (_ "~a: unknown action~%") - action)))))) - %default-options)) + (define (parse-sub-command arg result) + ;; Parse sub-command ARG and augment RESULT accordingly. + (if (assoc-ref result 'action) + (alist-cons 'argument arg result) + (let ((action (string->symbol arg))) + (case action + ((build vm vm-image disk-image reconfigure init) + (alist-cons 'action action result)) + (else (leave (_ "~a: unknown action~%") action)))))) (define (match-pair car) ;; Return a procedure that matches a pair with CAR. @@ -534,7 +523,10 @@ Build the operating system declared in FILE according to ACTION.\n")) args)) (with-error-handling - (let* ((opts (parse-options)) + (let* ((opts (parse-command-line args %options + (list %default-options) + #:argument-handler + parse-sub-command)) (args (option-arguments opts)) (file (first args)) (action (assoc-ref opts 'action)) diff --git a/guix/ui.scm b/guix/ui.scm index 382b5b1e0d..09cb6f48ff 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -66,7 +66,7 @@ string->generations string->duration args-fold* - environment-build-options + parse-command-line run-guix-command program-name guix-warning-port @@ -754,6 +754,32 @@ reporting." "Return additional build options passed as environment variables." (arguments-from-environment-variable "GUIX_BUILD_OPTIONS")) +(define %default-argument-handler + ;; The default handler for non-option command-line arguments. + (lambda (arg result) + (alist-cons 'argument arg result))) + +(define* (parse-command-line args options seeds + #:key + (argument-handler %default-argument-handler)) + "Parse the command-line arguments ARGS as well as arguments passed via the +'GUIX_BUILD_OPTIONS' environment variable according to OPTIONS (a list of +SRFI-37 options) and return the result, seeded by SEEDS. +Command-line options take precedence those passed via 'GUIX_BUILD_OPTIONS'. + +ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc' +parameter of 'args-fold'." + (define (parse-options-from args) + ;; Actual parsing takes place here. + (apply args-fold* args options + (lambda (opt name arg . rest) + (leave (_ "~A: unrecognized option~%") name)) + argument-handler + seeds)) + + (append (parse-options-from args) + (parse-options-from (environment-build-options)))) + (define (show-guix-usage) (format (current-error-port) (_ "Try `guix --help' for more information.~%")) diff --git a/tests/ui.scm b/tests/ui.scm index 25fc709431..c71fc71cc1 100644 --- a/tests/ui.scm +++ b/tests/ui.scm @@ -22,6 +22,8 @@ #:use-module (guix profiles) #:use-module (guix store) #:use-module (guix derivations) + #:use-module ((guix scripts build) + #:select (%standard-build-options)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-19) @@ -52,9 +54,34 @@ interface, and powerful string processing.") (item "/gnu/store/...") (output "out"))) +(define-syntax-rule (with-environment-variable variable value body ...) + "Run BODY with VARIABLE set to VALUE." + (let ((orig (getenv variable))) + (dynamic-wind + (lambda () + (setenv variable value)) + (lambda () + body ...) + (lambda () + (if orig + (setenv variable orig) + (unsetenv variable)))))) + (test-begin "ui") +(test-equal "parse-command-line" + '((argument . "bar") (argument . "foo") + (cores . 10) ;takes precedence + (substitutes? . #f) (keep-failed? . #t) + (max-jobs . 77) (cores . 42)) + + (with-environment-variable "GUIX_BUILD_OPTIONS" "-c 42 -M 77" + (parse-command-line '("--keep-failed" "--no-substitutes" + "--cores=10" "foo" "bar") + %standard-build-options + (list '())))) + (test-assert "fill-paragraph" (every (lambda (column) (every (lambda (width) @@ -246,3 +273,7 @@ Second line" 24)) (exit (= (test-runner-fail-count (test-runner-current)) 0)) + +;;; Local Variables: +;;; eval: (put 'with-environment-variable 'scheme-indent-function 2) +;;; End: -- cgit 1.4.1 From cf6ce3e6ef96abc36a40293b2d9f732d462d2a94 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 00:00:04 +0100 Subject: ui: Honor --no-* options passed via $GUIX_BUILD_OPTIONS. Reported by Alex Kost at . * guix/ui.scm (parse-command-line)[parse-options-from]: Add 'seeds' parameter. Thread the result of the first 'parse-options-from' call to the second. --- guix/ui.scm | 10 +++++++--- tests/ui.scm | 9 +++++++++ 2 files changed, 16 insertions(+), 3 deletions(-) diff --git a/guix/ui.scm b/guix/ui.scm index 09cb6f48ff..9558d38ca8 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -769,7 +769,7 @@ Command-line options take precedence those passed via 'GUIX_BUILD_OPTIONS'. ARGUMENT-HANDLER is called for non-option arguments, like the 'operand-proc' parameter of 'args-fold'." - (define (parse-options-from args) + (define (parse-options-from args seeds) ;; Actual parsing takes place here. (apply args-fold* args options (lambda (opt name arg . rest) @@ -777,8 +777,12 @@ parameter of 'args-fold'." argument-handler seeds)) - (append (parse-options-from args) - (parse-options-from (environment-build-options)))) + (call-with-values + (lambda () + (parse-options-from (environment-build-options) seeds)) + (lambda seeds + ;; ARGS take precedence over what the environment variable specifies. + (parse-options-from args seeds)))) (define (show-guix-usage) (format (current-error-port) diff --git a/tests/ui.scm b/tests/ui.scm index c71fc71cc1..1478fe213e 100644 --- a/tests/ui.scm +++ b/tests/ui.scm @@ -82,6 +82,15 @@ interface, and powerful string processing.") %standard-build-options (list '())))) +(test-equal "parse-command-line and --no options" + '((argument . "foo") + (substitutes? . #f)) ;takes precedence + + (with-environment-variable "GUIX_BUILD_OPTIONS" "--no-substitutes" + (parse-command-line '("foo") + %standard-build-options + (list '((substitutes? . #t)))))) + (test-assert "fill-paragraph" (every (lambda (column) (every (lambda (width) -- cgit 1.4.1 From e9c1e22f0445a54837e1a545475698f08c8f50bc Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 00:02:51 +0100 Subject: ui: Add missing copyright line. * guix/ui.scm: Add copyright line for Deck (aka. nebuli). --- guix/ui.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/ui.scm b/guix/ui.scm index 9558d38ca8..ae37c8e6ca 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2013 Mark H Weaver ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2014 Alex Kost +;;; Copyright © 2014 Deck Pickard ;;; ;;; This file is part of GNU Guix. ;;; -- cgit 1.4.1 From fe3df050911d22004c34678edd97823b61d910bd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 00:04:03 +0100 Subject: build: Bump version number. * configure.ac: Change to version 0.8.2. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 940be768c7..8291b0c5d0 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.68) -AC_INIT([GNU Guix], [0.8.1], [bug-guix@gnu.org], [guix], +AC_INIT([GNU Guix], [0.8.2], [bug-guix@gnu.org], [guix], [http://www.gnu.org/software/guix/]) AC_CONFIG_AUX_DIR([build-aux]) -- cgit 1.4.1 From 447260319b645e2e8d06817c9de2cded1cf6b32b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 23 Feb 2015 22:59:20 +0100 Subject: gnu: Add avidemux. * gnu/packages/video.scm (avidemux, avidemux-2.5): New variables. --- gnu/packages/video.scm | 216 ++++++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 213 insertions(+), 3 deletions(-) diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index af3b5b4611..ee86b67a44 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014 Andreas Enge +;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014, 2015 David Thompson ;;; Copyright © 2014, 2015 Mark H Weaver ;;; @@ -24,6 +24,7 @@ #:select (gpl2 gpl2+ gpl3+ bsd-3 public-domain)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix build-system cmake) #:use-module (guix build-system gnu) #:use-module (guix build-system python) #:use-module (gnu packages) @@ -32,14 +33,17 @@ #:use-module (gnu packages avahi) #:use-module (gnu packages cdrom) #:use-module (gnu packages compression) - #:use-module (gnu packages zip) + #:use-module (gnu packages databases) #:use-module (gnu packages elf) #:use-module (gnu packages fontutils) + #:use-module (gnu packages fribidi) + #:use-module (gnu packages gettext) #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages guile) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) + #:use-module (gnu packages gtk) #:use-module (gnu packages image) #:use-module (gnu packages linux) #:use-module (gnu packages lua) @@ -56,7 +60,8 @@ #:use-module (gnu packages xiph) #:use-module (gnu packages xml) #:use-module (gnu packages xorg) - #:use-module (gnu packages yasm)) + #:use-module (gnu packages yasm) + #:use-module (gnu packages zip)) (define-public ffmpeg (package @@ -516,3 +521,208 @@ encapsulated.") for use with HTML5 video.") (home-page "http://dthompson.us/pages/software/srt2vtt") (license gpl3+))) + +(define-public avidemux + (package + (name "avidemux") + (version "2.6.8") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/avidemux/avidemux_" + version ".tar.gz")) + (sha256 + (base32 + "10p60wjkzf1bxqcb6i7bx4hbqy3vqg598p3l9lc4v2c9b8iqr682")))) + (build-system cmake-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + ;; FIXME: Once packaged, add libraries not found during the build. + (inputs + `(("alsa-lib" ,alsa-lib) + ("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("fribidi" ,fribidi) + ("glu" ,glu) + ("gtk+" ,gtk+) + ("jack" ,jack-1) + ("lame" ,lame) + ("libvorbis" ,libvorbis) + ("libvpx" ,libvpx) + ("libxv" ,libxv) + ("perl" ,perl) + ("pulseaudio" ,pulseaudio) + ("python" ,python-wrapper) + ("qt" ,qt-4) + ("sdl" ,sdl) + ("sqlite" ,sqlite) + ("yasm" ,yasm) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; no check target + #:phases + ;; Make sure files inside the included ffmpeg tarball are + ;; patch-shebanged. + (alist-cons-before + 'patch-source-shebangs 'unpack-ffmpeg + (lambda _ + (with-directory-excursion "avidemux_core/ffmpeg_package" + (system* "tar" "xf" "ffmpeg-1.2.1.tar.bz2") + (delete-file "ffmpeg-1.2.1.tar.bz2"))) + (alist-cons-after + 'patch-source-shebangs 'repack-ffmpeg + (lambda _ + (with-directory-excursion "avidemux_core/ffmpeg_package" + (substitute* "ffmpeg-1.2.1/configure" + (("#! /bin/sh") (string-append "#!" (which "bash")))) + (system* "tar" "cjf" "ffmpeg-1.2.1.tar.bz2" "ffmpeg-1.2.1") + (delete-file-recursively "ffmpeg-1.2.1"))) + (alist-replace 'configure + (lambda _ + ;; Copy-paste settings from the cmake build system. + (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH")) + (setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH"))) + (alist-replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* + ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib64")) + (top (getcwd)) + (sdl (assoc-ref inputs "sdl")) + (build_component + (lambda* (component srcdir #:optional (args '())) + (let ((builddir (string-append "build_" component))) + (mkdir builddir) + (with-directory-excursion builddir + (zero? (and + (apply system* "cmake" + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + (string-append "-DCMAKE_INSTALL_PREFIX=" out) + (string-append "-DCMAKE_INSTALL_RPATH=" lib) + (string-append "-DAVIDEMUX_SOURCE_DIR=" top) + (string-append "-DSDL_INCLUDE_DIR=" + sdl "/include/SDL") + (string-append "../" srcdir) + args) + (system* "make" "-j" + (number->string (parallel-job-count))) + (system* "make" "install")))))))) + (mkdir out) + (and (build_component "core" "avidemux_core") + (build_component "cli" "avidemux/cli") + (build_component "qt4" "avidemux/qt4") + (build_component "gtk" "avidemux/gtk") + (build_component "plugins_common" "avidemux_plugins" + '("-DPLUGIN_UI=COMMON")) + (build_component "plugins_cli" "avidemux_plugins" + '("-DPLUGIN_UI=CLI")) + (build_component "plugins_qt4" "avidemux_plugins" + '("-DPLUGIN_UI=QT4")) + (build_component "plugins_gtk" "avidemux_plugins" + '("-DPLUGIN_UI=GTK")) + (build_component "plugins_settings" "avidemux_plugins" + '("-DPLUGIN_UI=SETTINGS"))) + ;; Remove .exe and .dll file. + (delete-file-recursively + (string-append out "/share/ADM6_addons")))) + (alist-delete 'install + %standard-phases))))))) + (home-page "http://fixounet.free.fr/avidemux/") + (synopsis "Video editor") + (description "Avidemux is a video editor designed for simple cutting, +filtering and encoding tasks. It supports many file types, including AVI, +DVD compatible MPEG files, MP4 and ASF, using a variety of codecs. Tasks +can be automated using projects, job queue and powerful scripting +capabilities.") + ;; Software with various licenses is included, see License.txt. + (license gpl2+))) + +(define-public avidemux-2.5 + (package (inherit avidemux) + (version "2.5.6") + (source (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/avidemux/avidemux_" + version ".tar.gz")) + (sha256 + (base32 + "12wvxz0n2g85f079d8mdkkp2zm279d34m9v7qgcqndh48cn7znnn")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("alsa-lib" ,alsa-lib) + ("gettext" ,gnu-gettext) + ("gtk+" ,gtk+-2) + ("jack" ,jack-1) + ("lame" ,lame) + ("libvorbis" ,libvorbis) + ("libvpx" ,libvpx) + ("libxml2" ,libxml2) + ("libxslt" ,libxslt) + ("libxv" ,libxv) + ("perl" ,perl) + ("pulseaudio" ,pulseaudio) + ("qt" ,qt-4) + ("sdl" ,sdl) + ("yasm" ,yasm) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f + #:phases + (alist-cons-before + 'patch-source-shebangs 'unpack-ffmpeg + (lambda _ + (with-directory-excursion "avidemux/ADM_libraries" + (system* "tar" "xf" "ffmpeg-0.9.tar.bz2") + (delete-file "ffmpeg-0.9.tar.bz2"))) + (alist-cons-after + 'patch-source-shebangs 'repack-ffmpeg + (lambda _ + (with-directory-excursion "avidemux/ADM_libraries" + (substitute* "ffmpeg-0.9/configure" + (("#! /bin/sh") (string-append "#!" (which "bash")))) + (system* "tar" "cjf" "ffmpeg-0.9.tar.bz2" "ffmpeg-0.9") + (delete-file-recursively "ffmpeg-0.9"))) + (alist-replace 'configure + (lambda _ + (setenv "CMAKE_LIBRARY_PATH" (getenv "LIBRARY_PATH")) + (setenv "CMAKE_INCLUDE_PATH" (getenv "CPATH"))) + (alist-replace 'build + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* + ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib")) + (top (getcwd)) + (sdl (assoc-ref inputs "sdl")) + (build_component + (lambda* (component srcdir) + (let ((builddir (string-append "build_" component))) + (mkdir builddir) + (with-directory-excursion builddir + (zero? (and + (system* "cmake" + "-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE" + (string-append "-DCMAKE_INSTALL_PREFIX=" + out) + (string-append "-DCMAKE_INSTALL_RPATH=" + lib) + (string-append "-DAVIDEMUX_SOURCE_DIR=" + top) + (string-append "-DAVIDEMUX_CORECONFIG_DIR=" + top "/build_main/config") + (string-append "-DAVIDEMUX_INSTALL_PREFIX=" + out) + (string-append "-DSDL_INCLUDE_DIR=" + sdl "/include/SDL") + (string-append "../" srcdir)) + (system* "make" "-j" + (number->string (parallel-job-count))) + (system* "make" "install")))))))) + (mkdir out) + (and (build_component "main" ".") + (build_component "plugins" "plugins")) + (delete-file-recursively + (string-append out "/share/ADM_addons")))) + (alist-delete 'install + %standard-phases))))))))) -- cgit 1.4.1 From dcaf2511d7a17ab34444ae74b31594ca30a65ff5 Mon Sep 17 00:00:00 2001 From: Tomáš Čech Date: Wed, 25 Feb 2015 14:51:32 +0100 Subject: gnu: Fix luajit installation * gnu/packages/lua.scm (luajit): Apply 2 patches. * gnu-system.am (dist_patch_DATA): Register 2 patches. * gnu/packages/patches/luajit-no_ldconfig.patch: New file. * gnu/packages/patches/luajit-symlinks.patch: New file. --- gnu-system.am | 2 ++ gnu/packages/lua.scm | 4 +++- gnu/packages/patches/luajit-no_ldconfig.patch | 31 +++++++++++++++++++++++++++ gnu/packages/patches/luajit-symlinks.patch | 25 +++++++++++++++++++++ 4 files changed, 61 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/luajit-no_ldconfig.patch create mode 100644 gnu/packages/patches/luajit-symlinks.patch diff --git a/gnu-system.am b/gnu-system.am index 5a8b111239..851068e496 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -441,6 +441,8 @@ dist_patch_DATA = \ gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \ gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ gnu/packages/patches/lua51-liblua-so.patch \ + gnu/packages/patches/luajit-2.0.3-no_ldconfig.patch \ + gnu/packages/patches/luajit-2.0.3-symlinks.patch \ gnu/packages/patches/luit-posix.patch \ gnu/packages/patches/m4-gets-undeclared.patch \ gnu/packages/patches/make-impure-dirs.patch \ diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index eda69f93ba..9a3a83f48f 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -87,7 +87,9 @@ for configuration, scripting, and rapid prototyping.") (uri (string-append "http://luajit.org/download/LuaJIT-" version ".tar.gz")) (sha256 - (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm")))) + (base32 "0ydxpqkmsn2c341j4r2v6r5r0ig3kbwv3i9jran3iv81s6r6rgjm")) + (patches (list (search-patch "luajit-symlinks.patch") + (search-patch "luajit-no_ldconfig.patch"))))) (build-system gnu-build-system) (arguments '(#:tests? #f ;luajit is distributed without tests diff --git a/gnu/packages/patches/luajit-no_ldconfig.patch b/gnu/packages/patches/luajit-no_ldconfig.patch new file mode 100644 index 0000000000..8000e8e4e5 --- /dev/null +++ b/gnu/packages/patches/luajit-no_ldconfig.patch @@ -0,0 +1,31 @@ +From 629200f48e18dc1a3a5229739748bad0e2a6a0a2 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= +Date: Wed, 4 Feb 2015 11:37:16 +0100 +Subject: [PATCH] Do not silently and prematurely end install when ldconfig is + missing + +--- + Makefile | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/Makefile b/Makefile +index 343ecb5..4667146 100644 +--- a/Makefile ++++ b/Makefile +@@ -112,9 +112,10 @@ install: $(INSTALL_DEP) + $(RM) $(INSTALL_TSYM) $(INSTALL_DYN) $(INSTALL_SHORT1) $(INSTALL_SHORT2) + cd src && test -f $(FILE_SO) && \ + $(INSTALL_X) $(FILE_SO) $(INSTALL_DYN) && \ +- $(LDCONFIG) $(INSTALL_LIB) && \ +- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ +- $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : ++ ( $(LDCONFIG) $(INSTALL_LIB) ; \ ++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT1) && \ ++ $(SYMLINK) $(INSTALL_SONAME) $(INSTALL_SHORT2) || : \ ++ ) + cd etc && $(INSTALL_F) $(FILE_MAN) $(INSTALL_MAN) + cd etc && $(SED_PC) $(FILE_PC) > $(FILE_PC).tmp && \ + $(INSTALL_F) $(FILE_PC).tmp $(INSTALL_PC) && \ +-- +2.2.2 + diff --git a/gnu/packages/patches/luajit-symlinks.patch b/gnu/packages/patches/luajit-symlinks.patch new file mode 100644 index 0000000000..2466c34144 --- /dev/null +++ b/gnu/packages/patches/luajit-symlinks.patch @@ -0,0 +1,25 @@ +From 0a54a8f125d7ab508c7c88d5ad4ed1b0c63cb5b6 Mon Sep 17 00:00:00 2001 +From: =?utf8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= +Date: Wed, 4 Feb 2015 11:32:55 +0100 +Subject: [PATCH 1/2] Provide two symlinks for dynamic library during install + +--- + Makefile | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/Makefile b/Makefile +index 0891b71..343ecb5 100644 +--- a/Makefile ++++ b/Makefile +@@ -56,7 +56,7 @@ INSTALL_PCNAME= luajit.pc + INSTALL_STATIC= $(INSTALL_LIB)/$(INSTALL_ANAME) + INSTALL_DYN= $(INSTALL_LIB)/$(INSTALL_SONAME) + INSTALL_SHORT1= $(INSTALL_LIB)/$(INSTALL_SOSHORT) +-INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT) ++INSTALL_SHORT2= $(INSTALL_LIB)/$(INSTALL_SOSHORT).$(MAJVER) + INSTALL_T= $(INSTALL_BIN)/$(INSTALL_TNAME) + INSTALL_TSYM= $(INSTALL_BIN)/$(INSTALL_TSYMNAME) + INSTALL_PC= $(INSTALL_PKGCONFIG)/$(INSTALL_PCNAME) +-- +2.2.2 + -- cgit 1.4.1 From 5be2f8844dba4aab0c134f61a830acb16b56d2c5 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 25 Feb 2015 21:00:43 -0500 Subject: gnu: luajit: Fix patch file names in gnu-system.am. * gnu-system.am (dist_patch_DATA): Fix patch file names. --- gnu-system.am | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu-system.am b/gnu-system.am index 851068e496..70603162a1 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -441,8 +441,8 @@ dist_patch_DATA = \ gnu/packages/patches/libvpx-vp9-out-of-bounds-access.patch \ gnu/packages/patches/lm-sensors-hwmon-attrs.patch \ gnu/packages/patches/lua51-liblua-so.patch \ - gnu/packages/patches/luajit-2.0.3-no_ldconfig.patch \ - gnu/packages/patches/luajit-2.0.3-symlinks.patch \ + gnu/packages/patches/luajit-no_ldconfig.patch \ + gnu/packages/patches/luajit-symlinks.patch \ gnu/packages/patches/luit-posix.patch \ gnu/packages/patches/m4-gets-undeclared.patch \ gnu/packages/patches/make-impure-dirs.patch \ -- cgit 1.4.1 From 8830740643397d8d38e018c728ed62d0bcb4c310 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 26 Feb 2015 00:16:07 -0500 Subject: gnu: icecat: Apply fixes for CVE-2015-{0822,0827,0831,0836}. * gnu/packages/patches/icecat-CVE-2015-0822.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch, gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch, gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch, gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch, gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch: New files. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/gnuzilla.scm (icecat)[source]: Add patches. --- gnu-system.am | 17 ++ gnu/packages/gnuzilla.scm | 20 +- gnu/packages/patches/icecat-CVE-2015-0822.patch | 154 +++++++++++++++ .../patches/icecat-CVE-2015-0827-pt-1.patch | 33 ++++ .../patches/icecat-CVE-2015-0827-pt-2.patch | 35 ++++ .../patches/icecat-CVE-2015-0827-pt-3.patch | 56 ++++++ .../patches/icecat-CVE-2015-0831-pt-1.patch | 32 +++ .../patches/icecat-CVE-2015-0831-pt-2.patch | 26 +++ .../patches/icecat-CVE-2015-0836-pt-01.patch | 26 +++ .../patches/icecat-CVE-2015-0836-pt-02.patch | 27 +++ .../patches/icecat-CVE-2015-0836-pt-03.patch | 220 +++++++++++++++++++++ .../patches/icecat-CVE-2015-0836-pt-04.patch | 89 +++++++++ .../patches/icecat-CVE-2015-0836-pt-05.patch | 25 +++ .../patches/icecat-CVE-2015-0836-pt-06.patch | 41 ++++ .../patches/icecat-CVE-2015-0836-pt-07.patch | 54 +++++ .../patches/icecat-CVE-2015-0836-pt-08.patch | 53 +++++ .../patches/icecat-CVE-2015-0836-pt-09.patch | 52 +++++ .../patches/icecat-CVE-2015-0836-pt-10.patch | 219 ++++++++++++++++++++ .../patches/icecat-CVE-2015-0836-pt-11.patch | 104 ++++++++++ 19 files changed, 1282 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/icecat-CVE-2015-0822.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch create mode 100644 gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch diff --git a/gnu-system.am b/gnu-system.am index 70603162a1..e42e89ab80 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -421,6 +421,23 @@ dist_patch_DATA = \ gnu/packages/patches/guix-test-networking.patch \ gnu/packages/patches/gtkglext-disable-disable-deprecated.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \ + gnu/packages/patches/icecat-CVE-2015-0822.patch \ + gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch \ + gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch \ + gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch \ + gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch \ + gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch \ + gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch \ gnu/packages/patches/irrlicht-mesa-10.patch \ gnu/packages/patches/jbig2dec-ignore-testtest.patch \ gnu/packages/patches/kmod-module-directory.patch \ diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 06cf90a7ee..335cfd1983 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -224,7 +224,25 @@ standards.") version "/" name "-" version ".tar.bz2")) (sha256 (base32 - "0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2")))) + "0q5ilgfybcrbwf9hq9zc1cpnlhq1pddnnjmdrxrcrrg8lgx5kkc2")) + (patches (map search-patch + '("icecat-CVE-2015-0822.patch" + "icecat-CVE-2015-0827-pt-1.patch" + "icecat-CVE-2015-0827-pt-2.patch" + "icecat-CVE-2015-0827-pt-3.patch" + "icecat-CVE-2015-0831-pt-1.patch" + "icecat-CVE-2015-0831-pt-2.patch" + "icecat-CVE-2015-0836-pt-01.patch" + "icecat-CVE-2015-0836-pt-02.patch" + "icecat-CVE-2015-0836-pt-03.patch" + "icecat-CVE-2015-0836-pt-04.patch" + "icecat-CVE-2015-0836-pt-05.patch" + "icecat-CVE-2015-0836-pt-06.patch" + "icecat-CVE-2015-0836-pt-07.patch" + "icecat-CVE-2015-0836-pt-08.patch" + "icecat-CVE-2015-0836-pt-09.patch" + "icecat-CVE-2015-0836-pt-10.patch" + "icecat-CVE-2015-0836-pt-11.patch"))))) (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) diff --git a/gnu/packages/patches/icecat-CVE-2015-0822.patch b/gnu/packages/patches/icecat-CVE-2015-0822.patch new file mode 100644 index 0000000000..2625151453 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0822.patch @@ -0,0 +1,154 @@ +From 0922145c255bf2503d3b2dd5f8f1e813338ba990 Mon Sep 17 00:00:00 2001 +From: Mats Palmgren +Date: Sat, 24 Jan 2015 12:37:47 -0500 +Subject: [PATCH] Bug 1110557. r=mak, r=gavin, a=bkerensa + +--- + .../components/satchel/nsFormFillController.cpp | 67 +++++++++++++++------- + toolkit/components/satchel/nsFormFillController.h | 5 ++ + 2 files changed, 52 insertions(+), 20 deletions(-) + +diff --git a/toolkit/components/satchel/nsFormFillController.cpp b/toolkit/components/satchel/nsFormFillController.cpp +index 315fc68..676ad84 100644 +--- a/toolkit/components/satchel/nsFormFillController.cpp ++++ b/toolkit/components/satchel/nsFormFillController.cpp +@@ -61,6 +61,7 @@ nsFormFillController::nsFormFillController() : + mSuppressOnInput(false) + { + mController = do_GetService("@mozilla.org/autocomplete/controller;1"); ++ MOZ_ASSERT(mController); + } + + struct PwmgrInputsEnumData +@@ -104,6 +105,21 @@ nsFormFillController::AttributeChanged(nsIDocument* aDocument, + int32_t aNameSpaceID, + nsIAtom* aAttribute, int32_t aModType) + { ++ if ((aAttribute == nsGkAtoms::type || aAttribute == nsGkAtoms::readonly || ++ aAttribute == nsGkAtoms::autocomplete) && ++ aNameSpaceID == kNameSpaceID_None) { ++ nsCOMPtr focusedInput(mFocusedInput); ++ // Reset the current state of the controller, unconditionally. ++ StopControllingInput(); ++ // Then restart based on the new values. We have to delay this ++ // to avoid ending up in an endless loop due to re-registering our ++ // mutation observer (which would notify us again for *this* event). ++ nsCOMPtr event = ++ NS_NewRunnableMethodWithArg> ++ (this, &nsFormFillController::MaybeStartControllingInput, focusedInput); ++ NS_DispatchToCurrentThread(event); ++ } ++ + if (mListNode && mListNode->Contains(aElement)) { + RevalidateDataList(); + } +@@ -841,28 +857,26 @@ nsFormFillController::RemoveForDocumentEnumerator(const nsINode* aKey, + return PL_DHASH_NEXT; + } + +-nsresult +-nsFormFillController::Focus(nsIDOMEvent* aEvent) ++void ++nsFormFillController::MaybeStartControllingInput(nsIDOMHTMLInputElement* aInput) + { +- nsCOMPtr input = do_QueryInterface( +- aEvent->InternalDOMEvent()->GetTarget()); +- nsCOMPtr inputNode = do_QueryInterface(input); ++ nsCOMPtr inputNode = do_QueryInterface(aInput); + if (!inputNode) +- return NS_OK; ++ return; + +- nsCOMPtr formControl = do_QueryInterface(input); ++ nsCOMPtr formControl = do_QueryInterface(aInput); + if (!formControl || !formControl->IsSingleLineTextControl(true)) +- return NS_OK; ++ return; + + bool isReadOnly = false; +- input->GetReadOnly(&isReadOnly); ++ aInput->GetReadOnly(&isReadOnly); + if (isReadOnly) +- return NS_OK; ++ return; + +- bool autocomplete = nsContentUtils::IsAutocompleteEnabled(input); ++ bool autocomplete = nsContentUtils::IsAutocompleteEnabled(aInput); + + nsCOMPtr datalist; +- input->GetList(getter_AddRefs(datalist)); ++ aInput->GetList(getter_AddRefs(datalist)); + bool hasList = datalist != nullptr; + + bool dummy; +@@ -871,9 +885,16 @@ nsFormFillController::Focus(nsIDOMEvent* aEvent) + isPwmgrInput = true; + + if (isPwmgrInput || hasList || autocomplete) { +- StartControllingInput(input); ++ StartControllingInput(aInput); + } ++} + ++nsresult ++nsFormFillController::Focus(nsIDOMEvent* aEvent) ++{ ++ nsCOMPtr input = do_QueryInterface( ++ aEvent->InternalDOMEvent()->GetTarget()); ++ MaybeStartControllingInput(input); + return NS_OK; + } + +@@ -1087,6 +1108,10 @@ nsFormFillController::StartControllingInput(nsIDOMHTMLInputElement *aInput) + // Make sure we're not still attached to an input + StopControllingInput(); + ++ if (!mController) { ++ return; ++ } ++ + // Find the currently focused docShell + nsCOMPtr docShell = GetDocShellForInput(aInput); + int32_t index = GetIndexOfDocShell(docShell); +@@ -1129,13 +1154,15 @@ nsFormFillController::StopControllingInput() + mListNode = nullptr; + } + +- // Reset the controller's input, but not if it has been switched +- // to another input already, which might happen if the user switches +- // focus by clicking another autocomplete textbox +- nsCOMPtr input; +- mController->GetInput(getter_AddRefs(input)); +- if (input == this) +- mController->SetInput(nullptr); ++ if (mController) { ++ // Reset the controller's input, but not if it has been switched ++ // to another input already, which might happen if the user switches ++ // focus by clicking another autocomplete textbox ++ nsCOMPtr input; ++ mController->GetInput(getter_AddRefs(input)); ++ if (input == this) ++ mController->SetInput(nullptr); ++ } + + if (mFocusedInputNode) { + MaybeRemoveMutationObserver(mFocusedInputNode); +diff --git a/toolkit/components/satchel/nsFormFillController.h b/toolkit/components/satchel/nsFormFillController.h +index b60d28d..8c3ba26 100644 +--- a/toolkit/components/satchel/nsFormFillController.h ++++ b/toolkit/components/satchel/nsFormFillController.h +@@ -62,6 +62,11 @@ protected: + + void StartControllingInput(nsIDOMHTMLInputElement *aInput); + void StopControllingInput(); ++ /** ++ * Checks that aElement is a type of element we want to fill, then calls ++ * StartControllingInput on it. ++ */ ++ void MaybeStartControllingInput(nsIDOMHTMLInputElement* aElement); + + nsresult PerformInputListAutoComplete(nsIAutoCompleteResult* aPreviousResult); + +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch new file mode 100644 index 0000000000..c57da755d1 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-1.patch @@ -0,0 +1,33 @@ +From 28b6204b1421aa57b3c10c43d90cb516910bc80f Mon Sep 17 00:00:00 2001 +From: Markus Stange +Date: Tue, 6 Jan 2015 12:08:39 +0100 +Subject: [PATCH] Bug 1117304 - Also do the checks at the start of CopyRect in + release builds. r=Bas, a=sledru + +--- + gfx/2d/FilterNodeSoftware.cpp | 9 ++++++--- + 1 file changed, 6 insertions(+), 3 deletions(-) + +diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp +index 00d790f..396d0da 100644 +--- a/gfx/2d/FilterNodeSoftware.cpp ++++ b/gfx/2d/FilterNodeSoftware.cpp +@@ -253,9 +253,12 @@ CopyRect(DataSourceSurface* aSrc, DataSourceSurface* aDest, + MOZ_CRASH("we should never be getting invalid rects at this point"); + } + +- MOZ_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), "different surface formats"); +- MOZ_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), "source rect too big for source surface"); +- MOZ_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(aSrcRect - aSrcRect.TopLeft() + aDestPoint), "dest surface too small"); ++ MOZ_RELEASE_ASSERT(aSrc->GetFormat() == aDest->GetFormat(), ++ "different surface formats"); ++ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aSrc->GetSize()).Contains(aSrcRect), ++ "source rect too big for source surface"); ++ MOZ_RELEASE_ASSERT(IntRect(IntPoint(), aDest->GetSize()).Contains(IntRect(aDestPoint, aSrcRect.Size())), ++ "dest surface too small"); + + if (aSrcRect.IsEmpty()) { + return; +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch new file mode 100644 index 0000000000..1ff68f4b4c --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-2.patch @@ -0,0 +1,35 @@ +From 5ff75fbe51d5760a96b4e614617c9cbf35f1fbaa Mon Sep 17 00:00:00 2001 +From: Markus Stange +Date: Mon, 5 Jan 2015 18:40:27 +0100 +Subject: [PATCH] Bug 1117304 - Make sure the tile filter doesn't call CopyRect + on surfaces with different formats. r=Bas, a=sledru + +--- + gfx/2d/FilterNodeSoftware.cpp | 11 ++++++++++- + 1 file changed, 10 insertions(+), 1 deletion(-) + +diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp +index 396d0da..10d92c6 100644 +--- a/gfx/2d/FilterNodeSoftware.cpp ++++ b/gfx/2d/FilterNodeSoftware.cpp +@@ -1568,7 +1568,16 @@ FilterNodeTileSoftware::Render(const IntRect& aRect) + return nullptr; + } + } +- MOZ_ASSERT(input->GetFormat() == target->GetFormat(), "different surface formats from the same input?"); ++ ++ if (input->GetFormat() != target->GetFormat()) { ++ // Different rectangles of the input can have different formats. If ++ // that happens, just convert everything to B8G8R8A8. ++ target = FilterProcessing::ConvertToB8G8R8A8(target); ++ input = FilterProcessing::ConvertToB8G8R8A8(input); ++ if (MOZ2D_WARN_IF(!target) || MOZ2D_WARN_IF(!input)) { ++ return nullptr; ++ } ++ } + + CopyRect(input, target, srcRect - srcRect.TopLeft(), destRect.TopLeft() - aRect.TopLeft()); + } +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch b/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch new file mode 100644 index 0000000000..8d40126849 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0827-pt-3.patch @@ -0,0 +1,56 @@ +From c91087708686ae1c47abee65e19536688e5ec8f2 Mon Sep 17 00:00:00 2001 +From: Ryan VanderMeulen +Date: Mon, 26 Jan 2015 17:24:46 -0500 +Subject: [PATCH] Bug 1117304 - Add missing MOZ2D_WARN_IF definition to fix + bustage. r=milan, a=bustage + +--- + gfx/2d/FilterNodeSoftware.cpp | 1 + + gfx/2d/Logging.h | 19 +++++++++++++++++++ + 2 files changed, 20 insertions(+) + +diff --git a/gfx/2d/FilterNodeSoftware.cpp b/gfx/2d/FilterNodeSoftware.cpp +index 10d92c6..48bf162 100644 +--- a/gfx/2d/FilterNodeSoftware.cpp ++++ b/gfx/2d/FilterNodeSoftware.cpp +@@ -12,6 +12,7 @@ + #include "Blur.h" + #include + #include "FilterProcessing.h" ++#include "Logging.h" + #include "mozilla/PodOperations.h" + #include "mozilla/DebugOnly.h" + +diff --git a/gfx/2d/Logging.h b/gfx/2d/Logging.h +index 85e788c..d7728bb 100644 +--- a/gfx/2d/Logging.h ++++ b/gfx/2d/Logging.h +@@ -155,6 +155,25 @@ typedef Log WarningLog; + #define gfxWarning if (1) ; else NoLog + #endif + ++// See nsDebug.h and the NS_WARN_IF macro ++ ++#ifdef __cplusplus ++#ifdef DEBUG ++inline bool MOZ2D_warn_if_impl(bool aCondition, const char* aExpr, ++ const char* aFile, int32_t aLine) ++{ ++ if (MOZ_UNLIKELY(aCondition)) { ++ gfxWarning() << aExpr << " at " << aFile << ":" << aLine; ++ } ++ return aCondition; ++} ++#define MOZ2D_WARN_IF(condition) \ ++ MOZ2D_warn_if_impl(condition, #condition, __FILE__, __LINE__) ++#else ++#define MOZ2D_WARN_IF(condition) (bool)(condition) ++#endif ++#endif ++ + const int INDENT_PER_LEVEL = 2; + + class TreeLog +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch new file mode 100644 index 0000000000..c04d604923 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0831-pt-1.patch @@ -0,0 +1,32 @@ +From c8437505a63fc2b2552b8af217d60d79abb92ba3 Mon Sep 17 00:00:00 2001 +From: Ben Turner +Date: Fri, 6 Feb 2015 15:25:33 -0800 +Subject: [PATCH] Bug 1130541. r=janv, a=sledru + +--- + dom/indexedDB/IDBDatabase.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/dom/indexedDB/IDBDatabase.cpp b/dom/indexedDB/IDBDatabase.cpp +index 7329cec..c9c7e4f 100644 +--- a/dom/indexedDB/IDBDatabase.cpp ++++ b/dom/indexedDB/IDBDatabase.cpp +@@ -536,6 +536,7 @@ IDBDatabase::CreateObjectStore( + IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction(); + + if (!transaction || ++ transaction->Database() != this || + transaction->GetMode() != IDBTransaction::VERSION_CHANGE) { + aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR); + return nullptr; +@@ -577,6 +578,7 @@ IDBDatabase::DeleteObjectStore(const nsAString& aName, ErrorResult& aRv) + IDBTransaction* transaction = AsyncConnectionHelper::GetCurrentTransaction(); + + if (!transaction || ++ transaction->Database() != this || + transaction->GetMode() != IDBTransaction::VERSION_CHANGE) { + aRv.Throw(NS_ERROR_DOM_INDEXEDDB_NOT_ALLOWED_ERR); + return; +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch b/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch new file mode 100644 index 0000000000..9510cd611f --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0831-pt-2.patch @@ -0,0 +1,26 @@ +From 4e799e44288c951f8d9acd17e7d8c56c9ee6a7d3 Mon Sep 17 00:00:00 2001 +From: Ben Turner +Date: Mon, 9 Feb 2015 14:38:26 -0800 +Subject: [PATCH] Bug 1130541 followup a=test-only + +--HG-- +extra : amend_source : 23d80353f87897fdac9c99048d12ebe4ed390f76 +--- + dom/indexedDB/test/browser_quotaPrompt.html | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/dom/indexedDB/test/browser_quotaPrompt.html b/dom/indexedDB/test/browser_quotaPrompt.html +index c139970..dbeea68 100644 +--- a/dom/indexedDB/test/browser_quotaPrompt.html ++++ b/dom/indexedDB/test/browser_quotaPrompt.html +@@ -38,6 +38,7 @@ + let request = indexedDB.open(window.location.pathname, version++); + request.onerror = errorHandler; + request.onupgradeneeded = function(event) { ++ let db = event.target.result; + db.deleteObjectStore("foo"); + db.onversionchange = function () { db.close(); }; + request.transaction.oncomplete = function(event) { +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch new file mode 100644 index 0000000000..f6e2756054 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-01.patch @@ -0,0 +1,26 @@ +From 4106ffa6ee83b814428bb07948b3595e3fa3847e Mon Sep 17 00:00:00 2001 +From: Jan de Mooij +Date: Tue, 10 Feb 2015 09:40:46 +0100 +Subject: [PATCH] Bug 1128196 - Don't relazify scripts with a TypeScript. + r=till, a=lmandel + +--- + js/src/jsscript.h | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/js/src/jsscript.h b/js/src/jsscript.h +index 4d548ef..9a0cfbb 100644 +--- a/js/src/jsscript.h ++++ b/js/src/jsscript.h +@@ -1251,7 +1251,7 @@ class JSScript : public js::gc::BarrieredCell + } + + bool isRelazifiable() const { +- return (selfHosted() || lazyScript) && ++ return (selfHosted() || lazyScript) && !types && + !isGenerator() && !hasBaselineScript() && !hasAnyIonScript() && !hasBeenInlined(); + } + void setLazyScript(js::LazyScript *lazy) { +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch new file mode 100644 index 0000000000..c95cf23a29 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-02.patch @@ -0,0 +1,27 @@ +From 83c4bfeea2d2203f726e3bfcb7ee6fe56b4d9703 Mon Sep 17 00:00:00 2001 +From: Ryan VanderMeulen +Date: Thu, 29 Jan 2015 10:31:25 -0500 +Subject: [PATCH] Bug 1111248. r=Waldo, a=sledru + +--- + js/src/jsbool.cpp | 5 +++-- + 1 file changed, 3 insertions(+), 2 deletions(-) + +diff --git a/js/src/jsbool.cpp b/js/src/jsbool.cpp +index 5d88bd5..8d5d672 100644 +--- a/js/src/jsbool.cpp ++++ b/js/src/jsbool.cpp +@@ -198,7 +198,8 @@ js::ToBooleanSlow(HandleValue v) + bool + js::BooleanGetPrimitiveValueSlow(HandleObject wrappedBool) + { +- JSObject *obj = wrappedBool->as().target(); +- JS_ASSERT(obj); ++ JSObject *obj = CheckedUnwrap(wrappedBool); ++ if (!obj || !obj->is()) ++ return false; + return obj->as().unbox(); + } +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch new file mode 100644 index 0000000000..115cd76201 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-03.patch @@ -0,0 +1,220 @@ +From 4e4e34238e5bb5af83a645a5f4d2097e3b30e9dd Mon Sep 17 00:00:00 2001 +From: Tom Schuster +Date: Sun, 25 Jan 2015 21:42:10 +0100 +Subject: [PATCH] Bug 1111243 - Implement ES6 proxy behavior for IsArray. + r=efaust, a=abillings + +--- + browser/devtools/app-manager/app-projects.js | 2 ++ + js/public/Class.h | 5 +++- + js/src/jsarray.cpp | 9 ++++-- + js/src/jsobjinlines.h | 15 +++++++++- + js/src/json.cpp | 11 +++---- + js/src/jsproxy.cpp | 45 ++++++++++++++++++++++++++++ + 6 files changed, 78 insertions(+), 9 deletions(-) + +diff --git a/browser/devtools/app-manager/app-projects.js b/browser/devtools/app-manager/app-projects.js +index d09f72f..77ca67b 100644 +--- a/browser/devtools/app-manager/app-projects.js ++++ b/browser/devtools/app-manager/app-projects.js +@@ -61,6 +61,8 @@ const IDB = { + add: function(project) { + let deferred = promise.defer(); + ++ project = JSON.parse(JSON.stringify(project)); ++ + if (!project.location) { + // We need to make sure this object has a `.location` property. + deferred.reject("Missing location property on project object."); +diff --git a/js/public/Class.h b/js/public/Class.h +index ff864b1..46f7d39 100644 +--- a/js/public/Class.h ++++ b/js/public/Class.h +@@ -521,7 +521,10 @@ Valueify(const JSClass *c) + */ + enum ESClassValue { + ESClass_Array, ESClass_Number, ESClass_String, ESClass_Boolean, +- ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date ++ ESClass_RegExp, ESClass_ArrayBuffer, ESClass_Date, ++ // Special snowflake for the ES6 IsArray method. ++ // Please don't use it without calling that function. ++ ESClass_IsArray + }; + + /* +diff --git a/js/src/jsarray.cpp b/js/src/jsarray.cpp +index 24da176..46f1c20 100644 +--- a/js/src/jsarray.cpp ++++ b/js/src/jsarray.cpp +@@ -2645,7 +2645,8 @@ js::array_concat(JSContext *cx, unsigned argc, Value *vp) + HandleValue v = HandleValue::fromMarkedLocation(&p[i]); + if (v.isObject()) { + RootedObject obj(cx, &v.toObject()); +- if (ObjectClassIs(obj, ESClass_Array, cx)) { ++ // This should be IsConcatSpreadable ++ if (IsArray(obj, cx)) { + uint32_t alength; + if (!GetLengthProperty(cx, obj, &alength)) + return false; +@@ -2870,7 +2871,11 @@ static bool + array_isArray(JSContext *cx, unsigned argc, Value *vp) + { + CallArgs args = CallArgsFromVp(argc, vp); +- bool isArray = args.length() > 0 && IsObjectWithClass(args[0], ESClass_Array, cx); ++ bool isArray = false; ++ if (args.get(0).isObject()) { ++ RootedObject obj(cx, &args[0].toObject()); ++ isArray = IsArray(obj, cx); ++ } + args.rval().setBoolean(isArray); + return true; + } +diff --git a/js/src/jsobjinlines.h b/js/src/jsobjinlines.h +index e848ba7..557dd26 100644 +--- a/js/src/jsobjinlines.h ++++ b/js/src/jsobjinlines.h +@@ -1032,7 +1032,10 @@ ObjectClassIs(HandleObject obj, ESClassValue classValue, JSContext *cx) + return Proxy::objectClassIs(obj, classValue, cx); + + switch (classValue) { +- case ESClass_Array: return obj->is(); ++ case ESClass_Array: ++ case ESClass_IsArray: ++ // There difference between those is only relevant for proxies. ++ return obj->is(); + case ESClass_Number: return obj->is(); + case ESClass_String: return obj->is(); + case ESClass_Boolean: return obj->is(); +@@ -1053,6 +1056,16 @@ IsObjectWithClass(const Value &v, ESClassValue classValue, JSContext *cx) + return ObjectClassIs(obj, classValue, cx); + } + ++// ES6 7.2.2 ++inline bool ++IsArray(HandleObject obj, JSContext *cx) ++{ ++ if (obj->is()) ++ return true; ++ ++ return ObjectClassIs(obj, ESClass_IsArray, cx); ++} ++ + static MOZ_ALWAYS_INLINE bool + NewObjectMetadata(ExclusiveContext *cxArg, JSObject **pmetadata) + { +diff --git a/js/src/json.cpp b/js/src/json.cpp +index 6e45bfd..81a99a6 100644 +--- a/js/src/json.cpp ++++ b/js/src/json.cpp +@@ -300,7 +300,7 @@ JO(JSContext *cx, HandleObject obj, StringifyContext *scx) + Maybe ids; + const AutoIdVector *props; + if (scx->replacer && !scx->replacer->isCallable()) { +- JS_ASSERT(JS_IsArrayObject(cx, scx->replacer)); ++ JS_ASSERT(IsArray(scx->replacer, cx)); + props = &scx->propertyList; + } else { + JS_ASSERT_IF(scx->replacer, scx->propertyList.length() == 0); +@@ -488,7 +488,7 @@ Str(JSContext *cx, const Value &v, StringifyContext *scx) + + scx->depth++; + bool ok; +- if (ObjectClassIs(obj, ESClass_Array, cx)) ++ if (IsArray(obj, cx)) + ok = JA(cx, obj, scx); + else + ok = JO(cx, obj, scx); +@@ -510,7 +510,7 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp + if (replacer) { + if (replacer->isCallable()) { + /* Step 4a(i): use replacer to transform values. */ +- } else if (ObjectClassIs(replacer, ESClass_Array, cx)) { ++ } else if (IsArray(replacer, cx)) { + /* + * Step 4b: The spec algorithm is unhelpfully vague about the exact + * steps taken when the replacer is an array, regarding the exact +@@ -541,7 +541,8 @@ js_Stringify(JSContext *cx, MutableHandleValue vp, JSObject *replacer_, Value sp + + /* Step 4b(ii). */ + uint32_t len; +- JS_ALWAYS_TRUE(GetLengthProperty(cx, replacer, &len)); ++ if (!GetLengthProperty(cx, replacer, &len)) ++ return false; + if (replacer->is() && !replacer->isIndexed()) + len = Min(len, replacer->getDenseInitializedLength()); + +@@ -678,7 +679,7 @@ Walk(JSContext *cx, HandleObject holder, HandleId name, HandleValue reviver, Mut + if (val.isObject()) { + RootedObject obj(cx, &val.toObject()); + +- if (ObjectClassIs(obj, ESClass_Array, cx)) { ++ if (IsArray(obj, cx)) { + /* Step 2a(ii). */ + uint32_t length; + if (!GetLengthProperty(cx, obj, &length)) +diff --git a/js/src/jsproxy.cpp b/js/src/jsproxy.cpp +index 7644da1..7453103 100644 +--- a/js/src/jsproxy.cpp ++++ b/js/src/jsproxy.cpp +@@ -1108,6 +1108,14 @@ class ScriptedDirectProxyHandler : public DirectProxyHandler { + virtual bool isExtensible(JSContext *cx, HandleObject proxy, bool *extensible) MOZ_OVERRIDE; + + /* Spidermonkey extensions. */ ++ // A scripted proxy should not be treated as generic in most contexts. ++ virtual bool nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl, ++ CallArgs args) MOZ_OVERRIDE; ++ virtual bool objectClassIs(HandleObject obj, ESClassValue classValue, ++ JSContext *cx) MOZ_OVERRIDE; ++ virtual bool regexp_toShared(JSContext *cx, HandleObject proxy, ++ RegExpGuard *g) MOZ_OVERRIDE; ++ + virtual bool call(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE; + virtual bool construct(JSContext *cx, HandleObject proxy, const CallArgs &args) MOZ_OVERRIDE; + virtual bool isScripted() MOZ_OVERRIDE { return true; } +@@ -2350,6 +2358,43 @@ ScriptedDirectProxyHandler::construct(JSContext *cx, HandleObject proxy, const C + return true; + } + ++bool ++ScriptedDirectProxyHandler::nativeCall(JSContext *cx, IsAcceptableThis test, NativeImpl impl, ++ CallArgs args) ++{ ++ ReportIncompatible(cx, args); ++ return false; ++} ++ ++bool ++ScriptedDirectProxyHandler::objectClassIs(HandleObject proxy, ESClassValue classValue, ++ JSContext *cx) ++{ ++ // Special case IsArray. In every other instance ES wants to have exactly ++ // one object type and not a proxy around it, so return false. ++ if (classValue != ESClass_IsArray) ++ return false; ++ ++ // In ES6 IsArray is supposed to poke at the Proxy target, instead we do this here. ++ // The reason for this is that we have proxies for which looking at the target might ++ // be impossible. So instead we use our little objectClassIs function that just works ++ // already across different wrappers. ++ RootedObject target(cx, proxy->as().target()); ++ if (!target) ++ return false; ++ ++ return IsArray(target, cx); ++} ++ ++bool ++ScriptedDirectProxyHandler::regexp_toShared(JSContext *cx, HandleObject proxy, ++ RegExpGuard *g) ++{ ++ MOZ_CRASH("Should not end up in ScriptedDirectProxyHandler::regexp_toShared"); ++ return false; ++} ++ ++ + ScriptedDirectProxyHandler ScriptedDirectProxyHandler::singleton; + + #define INVOKE_ON_PROTOTYPE(cx, handler, proxy, protoCall) \ +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch new file mode 100644 index 0000000000..58e61d080c --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-04.patch @@ -0,0 +1,89 @@ +From 97ba04bf95606b409b1b3035504a41c274ecffe2 Mon Sep 17 00:00:00 2001 +From: Shu-yu Guo +Date: Mon, 26 Jan 2015 18:26:25 -0800 +Subject: [PATCH] Bug 1119579 - Don't GC while iterating compartments in + findAllGlobals. r=sfink, a=abillings + +--- + js/src/vm/Debugger.cpp | 56 ++++++++++++++++++++++++++++++-------------------- + 1 file changed, 34 insertions(+), 22 deletions(-) + +diff --git a/js/src/vm/Debugger.cpp b/js/src/vm/Debugger.cpp +index 27e993d..a8decef 100644 +--- a/js/src/vm/Debugger.cpp ++++ b/js/src/vm/Debugger.cpp +@@ -2825,37 +2825,49 @@ Debugger::findAllGlobals(JSContext *cx, unsigned argc, Value *vp) + { + THIS_DEBUGGER(cx, argc, vp, "findAllGlobals", args, dbg); + +- RootedObject result(cx, NewDenseEmptyArray(cx)); +- if (!result) +- return false; ++ AutoObjectVector globals(cx); + +- for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) { +- if (c->options().invisibleToDebugger()) +- continue; ++ { ++ // Accumulate the list of globals before wrapping them, because ++ // wrapping can GC and collect compartments from under us, while ++ // iterating. + +- c->zone()->scheduledForDestruction = false; ++ for (CompartmentsIter c(cx->runtime(), SkipAtoms); !c.done(); c.next()) { ++ if (c->options().invisibleToDebugger()) ++ continue; + +- GlobalObject *global = c->maybeGlobal(); ++ c->zone()->scheduledForDestruction = false; + +- if (cx->runtime()->isSelfHostingGlobal(global)) +- continue; ++ GlobalObject *global = c->maybeGlobal(); + +- if (global) { +- /* +- * We pulled |global| out of nowhere, so it's possible that it was +- * marked gray by XPConnect. Since we're now exposing it to JS code, +- * we need to mark it black. +- */ +- JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT); ++ if (cx->runtime()->isSelfHostingGlobal(global)) ++ continue; + +- RootedValue globalValue(cx, ObjectValue(*global)); +- if (!dbg->wrapDebuggeeValue(cx, &globalValue)) +- return false; +- if (!NewbornArrayPush(cx, result, globalValue)) +- return false; ++ if (global) { ++ /* ++ * We pulled |global| out of nowhere, so it's possible that it was ++ * marked gray by XPConnect. Since we're now exposing it to JS code, ++ * we need to mark it black. ++ */ ++ JS::ExposeGCThingToActiveJS(global, JSTRACE_OBJECT); ++ if (!globals.append(global)) ++ return false; ++ } + } + } + ++ RootedObject result(cx, NewDenseEmptyArray(cx)); ++ if (!result) ++ return false; ++ ++ for (size_t i = 0; i < globals.length(); i++) { ++ RootedValue globalValue(cx, ObjectValue(*globals[i])); ++ if (!dbg->wrapDebuggeeValue(cx, &globalValue)) ++ return false; ++ if (!NewbornArrayPush(cx, result, globalValue)) ++ return false; ++ } ++ + args.rval().setObject(*result); + return true; + } +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch new file mode 100644 index 0000000000..3e4ed17598 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-05.patch @@ -0,0 +1,25 @@ +From 746ddf19ff532b8abc90d3a91322a04b462ebfa8 Mon Sep 17 00:00:00 2001 +From: Brian Hackett +Date: Mon, 26 Jan 2015 13:14:34 -0500 +Subject: [PATCH] Bug 1124018 - Null the allocation site table if + initialization fails. r=jonco, a=bkerensa + +--- + js/src/jsinfer.cpp | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/js/src/jsinfer.cpp b/js/src/jsinfer.cpp +index b62ad1f..4019b16 100644 +--- a/js/src/jsinfer.cpp ++++ b/js/src/jsinfer.cpp +@@ -2035,6 +2035,7 @@ TypeCompartment::addAllocationSiteTypeObject(JSContext *cx, AllocationSiteKey ke + allocationSiteTable = cx->new_(); + if (!allocationSiteTable || !allocationSiteTable->init()) { + js_delete(allocationSiteTable); ++ allocationSiteTable = nullptr; + return nullptr; + } + } +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch new file mode 100644 index 0000000000..181f9243e3 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-06.patch @@ -0,0 +1,41 @@ +From 0758363d982b0b3e6cf021c164715a028a345b9e Mon Sep 17 00:00:00 2001 +From: "Byron Campen [:bwc]" +Date: Wed, 21 Jan 2015 08:56:36 -0800 +Subject: [PATCH] Bug 1123882 - Fix case where offset != 0. r=derf, a=bkerensa + +--- + content/media/MediaDecoderStateMachine.cpp | 11 +++++++---- + 1 file changed, 7 insertions(+), 4 deletions(-) + +diff --git a/content/media/MediaDecoderStateMachine.cpp b/content/media/MediaDecoderStateMachine.cpp +index ce5870f..4ed496c 100644 +--- a/content/media/MediaDecoderStateMachine.cpp ++++ b/content/media/MediaDecoderStateMachine.cpp +@@ -328,6 +328,8 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio, + if (offset >= aAudio->mFrames) + return; + ++ size_t framesToWrite = aAudio->mFrames - offset; ++ + aAudio->EnsureAudioBuffer(); + nsRefPtr buffer = aAudio->mAudioBuffer; + AudioDataValue* bufferData = static_cast(buffer->Data()); +@@ -335,10 +337,11 @@ void MediaDecoderStateMachine::SendStreamAudio(AudioData* aAudio, + for (uint32_t i = 0; i < aAudio->mChannels; ++i) { + channels.AppendElement(bufferData + i*aAudio->mFrames + offset); + } +- aOutput->AppendFrames(buffer.forget(), channels, aAudio->mFrames); +- VERBOSE_LOG("writing %d frames of data to MediaStream for AudioData at %lld", +- aAudio->mFrames - int32_t(offset), aAudio->mTime); +- aStream->mAudioFramesWritten += aAudio->mFrames - int32_t(offset); ++ aOutput->AppendFrames(buffer.forget(), channels, framesToWrite); ++ VERBOSE_LOG("writing %u frames of data to MediaStream for AudioData at %lld", ++ static_cast(framesToWrite), ++ aAudio->mTime); ++ aStream->mAudioFramesWritten += framesToWrite; + } + + static void WriteVideoToMediaStream(layers::Image* aImage, +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch new file mode 100644 index 0000000000..818d369b26 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-07.patch @@ -0,0 +1,54 @@ +From 94899f849e50a765bb26420f5c70d49002d6673f Mon Sep 17 00:00:00 2001 +From: Glenn Randers-Pehrson +Date: Mon, 26 Jan 2015 16:07:00 -0500 +Subject: [PATCH] Bug 1117406 - Fix handling of out-of-range PNG tRNS values. + r=jmuizelaar, a=abillings + +--- + image/decoders/nsPNGDecoder.cpp | 22 ++++++++++++---------- + 1 file changed, 12 insertions(+), 10 deletions(-) + +diff --git a/image/decoders/nsPNGDecoder.cpp b/image/decoders/nsPNGDecoder.cpp +index acaa835..8e6bc2d 100644 +--- a/image/decoders/nsPNGDecoder.cpp ++++ b/image/decoders/nsPNGDecoder.cpp +@@ -528,24 +528,26 @@ nsPNGDecoder::info_callback(png_structp png_ptr, png_infop info_ptr) + png_set_expand(png_ptr); + + if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) { +- int sample_max = (1 << bit_depth); + png_color_16p trans_values; + png_get_tRNS(png_ptr, info_ptr, &trans, &num_trans, &trans_values); + /* libpng doesn't reject a tRNS chunk with out-of-range samples + so we check it here to avoid setting up a useless opacity +- channel or producing unexpected transparent pixels when using +- libpng-1.2.19 through 1.2.26 (bug #428045) */ +- if ((color_type == PNG_COLOR_TYPE_GRAY && +- (int)trans_values->gray > sample_max) || +- (color_type == PNG_COLOR_TYPE_RGB && +- ((int)trans_values->red > sample_max || +- (int)trans_values->green > sample_max || +- (int)trans_values->blue > sample_max))) ++ channel or producing unexpected transparent pixels (bug #428045) */ ++ if (bit_depth < 16) { ++ png_uint_16 sample_max = (1 << bit_depth) - 1; ++ if ((color_type == PNG_COLOR_TYPE_GRAY && ++ trans_values->gray > sample_max) || ++ (color_type == PNG_COLOR_TYPE_RGB && ++ (trans_values->red > sample_max || ++ trans_values->green > sample_max || ++ trans_values->blue > sample_max))) + { + /* clear the tRNS valid flag and release tRNS memory */ + png_free_data(png_ptr, info_ptr, PNG_FREE_TRNS, 0); ++ num_trans = 0; + } +- else ++ } ++ if (num_trans != 0) + png_set_expand(png_ptr); + } + +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch new file mode 100644 index 0000000000..685e3a6d43 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-08.patch @@ -0,0 +1,53 @@ +From 4920c5c447d1153dffa623dd70d8b535b9ca6795 Mon Sep 17 00:00:00 2001 +From: Jan de Mooij +Date: Mon, 26 Jan 2015 12:59:47 +0100 +Subject: [PATCH] Bug 1115776 - Fix LApplyArgsGeneric to always emit the + has-script check. r=shu, a=sledru + +--- + js/src/jit/CodeGenerator.cpp | 24 ++++++++---------------- + 1 file changed, 8 insertions(+), 16 deletions(-) + +diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp +index ba14f86..0669692 100644 +--- a/js/src/jit/CodeGenerator.cpp ++++ b/js/src/jit/CodeGenerator.cpp +@@ -2448,27 +2448,19 @@ CodeGenerator::visitApplyArgsGeneric(LApplyArgsGeneric *apply) + + masm.checkStackAlignment(); + +- // If the function is known to be uncompilable, only emit the call to InvokeFunction. ++ // If the function is native, only emit the call to InvokeFunction. + ExecutionMode executionMode = gen->info().executionMode(); +- if (apply->hasSingleTarget()) { +- JSFunction *target = apply->getSingleTarget(); +- if (target->isNative()) { +- if (!emitCallInvokeFunction(apply, copyreg)) +- return false; +- emitPopArguments(apply, copyreg); +- return true; +- } ++ if (apply->hasSingleTarget() && apply->getSingleTarget()->isNative()) { ++ if (!emitCallInvokeFunction(apply, copyreg)) ++ return false; ++ emitPopArguments(apply, copyreg); ++ return true; + } + + Label end, invoke; + +- // Guard that calleereg is an interpreted function with a JSScript: +- if (!apply->hasSingleTarget()) { +- masm.branchIfFunctionHasNoScript(calleereg, &invoke); +- } else { +- // Native single targets are handled by LCallNative. +- JS_ASSERT(!apply->getSingleTarget()->isNative()); +- } ++ // Guard that calleereg is an interpreted function with a JSScript. ++ masm.branchIfFunctionHasNoScript(calleereg, &invoke); + + // Knowing that calleereg is a non-native function, load the JSScript. + masm.loadPtr(Address(calleereg, JSFunction::offsetOfNativeOrScript()), objreg); +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch new file mode 100644 index 0000000000..d067d8133d --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-09.patch @@ -0,0 +1,52 @@ +From f7d24f37425d3d9054a7e5657815440a07166d3f Mon Sep 17 00:00:00 2001 +From: Kartikaya Gupta +Date: Tue, 20 Jan 2015 10:33:27 -0500 +Subject: [PATCH] Bug 1107009 - Additional locking needed for esr31 backport. + r=BenWa a=sledru + +--- + gfx/layers/ipc/CompositorParent.cpp | 15 +++++++++++++-- + 1 file changed, 13 insertions(+), 2 deletions(-) + +diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp +index 97c8693..cb03e71 100644 +--- a/gfx/layers/ipc/CompositorParent.cpp ++++ b/gfx/layers/ipc/CompositorParent.cpp +@@ -1286,13 +1286,19 @@ CrossProcessCompositorParent::ShadowLayersUpdated( + { + uint64_t id = aLayerTree->GetId(); + MOZ_ASSERT(id != 0); ++ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); ++ if (!state) { ++ return; ++ } ++ MOZ_ASSERT(state->mParent); ++ + Layer* shadowRoot = aLayerTree->GetRoot(); + if (shadowRoot) { + SetShadowProperties(shadowRoot); + } + UpdateIndirectTree(id, shadowRoot, aTargetConfig); + +- sIndirectLayerTrees[id].mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); ++ state->mParent->NotifyShadowTreeTransaction(id, aIsFirstPaint, aScheduleComposite); + } + + void +@@ -1329,7 +1335,12 @@ AsyncCompositionManager* + CrossProcessCompositorParent::GetCompositionManager(LayerTransactionParent* aLayerTree) + { + uint64_t id = aLayerTree->GetId(); +- return sIndirectLayerTrees[id].mParent->GetCompositionManager(aLayerTree); ++ const CompositorParent::LayerTreeState* state = CompositorParent::GetIndirectShadowTree(id); ++ if (!state) { ++ return nullptr; ++ } ++ MOZ_ASSERT(state->mParent); ++ return state->mParent->GetCompositionManager(aLayerTree); + } + + void +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch new file mode 100644 index 0000000000..9a4668b2dc --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-10.patch @@ -0,0 +1,219 @@ +From 66e65b2138c6db20288ef4cf78d15995f382a7e2 Mon Sep 17 00:00:00 2001 +From: Kartikaya Gupta +Date: Tue, 13 Jan 2015 13:26:26 -0500 +Subject: [PATCH] Bug 1107009. r=BenWa, a=sledru + +--- + gfx/layers/ipc/CompositorParent.cpp | 57 ++++++++++++++++++++++++++++++------- + 1 file changed, 46 insertions(+), 11 deletions(-) + +diff --git a/gfx/layers/ipc/CompositorParent.cpp b/gfx/layers/ipc/CompositorParent.cpp +index ce50277..cbbb2ef 100644 +--- a/gfx/layers/ipc/CompositorParent.cpp ++++ b/gfx/layers/ipc/CompositorParent.cpp +@@ -22,6 +22,7 @@ + #include "gfxPrefs.h" // for gfxPrefs + #include "ipc/ShadowLayersManager.h" // for ShadowLayersManager + #include "mozilla/AutoRestore.h" // for AutoRestore ++#include "mozilla/ClearOnShutdown.h" // for ClearOnShutdown + #include "mozilla/DebugOnly.h" // for DebugOnly + #include "mozilla/gfx/2D.h" // for DrawTarget + #include "mozilla/gfx/Point.h" // for IntSize +@@ -70,6 +71,16 @@ CompositorParent::LayerTreeState::LayerTreeState() + + typedef map LayerTreeMap; + static LayerTreeMap sIndirectLayerTrees; ++static StaticAutoPtr sIndirectLayerTreesLock; ++ ++static void EnsureLayerTreeMapReady() ++{ ++ MOZ_ASSERT(NS_IsMainThread()); ++ if (!sIndirectLayerTreesLock) { ++ sIndirectLayerTreesLock = new Monitor("IndirectLayerTree"); ++ mozilla::ClearOnShutdown(&sIndirectLayerTreesLock); ++ } ++} + + // FIXME/bug 774386: we're assuming that there's only one + // CompositorParent, but that's not always true. This assumption only +@@ -132,6 +143,7 @@ void CompositorParent::StartUp() + return; + } + MOZ_ASSERT(!sCompositorLoop); ++ EnsureLayerTreeMapReady(); + CreateCompositorMap(); + CreateThread(); + sMainLoop = MessageLoop::current(); +@@ -206,7 +218,11 @@ CompositorParent::CompositorParent(nsIWidget* aWidget, + this, &mCompositorID)); + + mRootLayerTreeID = AllocateLayerTreeId(); +- sIndirectLayerTrees[mRootLayerTreeID].mParent = this; ++ ++ { // scope lock ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); ++ sIndirectLayerTrees[mRootLayerTreeID].mParent = this; ++ } + + mApzcTreeManager = new APZCTreeManager(); + ++sCompositorThreadRefCount; +@@ -249,7 +265,10 @@ CompositorParent::Destroy() + mCompositionManager = nullptr; + mApzcTreeManager->ClearTree(); + mApzcTreeManager = nullptr; +- sIndirectLayerTrees.erase(mRootLayerTreeID); ++ { // scope lock ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); ++ sIndirectLayerTrees.erase(mRootLayerTreeID); ++ } + } + + void +@@ -266,6 +285,7 @@ CompositorParent::RecvWillStop() + + // Ensure that the layer manager is destroyed before CompositorChild. + if (mLayerManager) { ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin(); + it != sIndirectLayerTrees.end(); it++) + { +@@ -380,7 +400,10 @@ CompositorParent::ActorDestroy(ActorDestroyReason why) + if (mLayerManager) { + mLayerManager->Destroy(); + mLayerManager = nullptr; +- sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr; ++ { // scope lock ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); ++ sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = nullptr; ++ } + mCompositionManager = nullptr; + mCompositor = nullptr; + } +@@ -696,6 +719,7 @@ CompositorParent::DidComposite() + { + unused << SendDidComposite(0); + ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + for (LayerTreeMap::iterator it = sIndirectLayerTrees.begin(); + it != sIndirectLayerTrees.end(); it++) { + LayerTreeState* lts = &it->second; +@@ -867,6 +891,7 @@ CompositorParent::InitializeLayerManager(const nsTArray& aBackend + mLayerManager = layerManager; + MOZ_ASSERT(compositor); + mCompositor = compositor; ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees[mRootLayerTreeID].mLayerManager = layerManager; + return; + } +@@ -969,6 +994,7 @@ CompositorParent::RecvNotifyChildCreated(const uint64_t& child) + void + CompositorParent::NotifyChildCreated(uint64_t aChild) + { ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees[aChild].mParent = this; + sIndirectLayerTrees[aChild].mLayerManager = mLayerManager; + } +@@ -985,6 +1011,7 @@ CompositorParent::AllocateLayerTreeId() + static void + EraseLayerState(uint64_t aId) + { ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees.erase(aId); + } + +@@ -1001,6 +1028,7 @@ UpdateControllerForLayersId(uint64_t aLayersId, + GeckoContentController* aController) + { + // Adopt ref given to us by SetControllerForLayerTree() ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees[aLayersId].mController = + already_AddRefed(aController); + } +@@ -1010,12 +1038,15 @@ ScopedLayerTreeRegistration::ScopedLayerTreeRegistration(uint64_t aLayersId, + GeckoContentController* aController) + : mLayersId(aLayersId) + { ++ EnsureLayerTreeMapReady(); ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees[aLayersId].mRoot = aRoot; + sIndirectLayerTrees[aLayersId].mController = aController; + } + + ScopedLayerTreeRegistration::~ScopedLayerTreeRegistration() + { ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees.erase(mLayersId); + } + +@@ -1175,6 +1206,7 @@ CompositorParent::CloneToplevel(const InfallibleTArraysecond; + } + +-static void +-RemoveIndirectTree(uint64_t aId) +-{ +- sIndirectLayerTrees.erase(aId); +-} +- + void + CrossProcessCompositorParent::ActorDestroy(ActorDestroyReason aWhy) + { +@@ -1211,6 +1238,8 @@ CrossProcessCompositorParent::AllocPLayerTransactionParent(const nsTArray(aLayers); +- RemoveIndirectTree(slp->GetId()); ++ EraseLayerState(slp->GetId()); + static_cast(aLayers)->ReleaseIPDLReference(); + return true; + } +@@ -1242,6 +1271,7 @@ CrossProcessCompositorParent::DeallocPLayerTransactionParent(PLayerTransactionPa + bool + CrossProcessCompositorParent::RecvNotifyChildCreated(const uint64_t& child) + { ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); + sIndirectLayerTrees[child].mParent->NotifyChildCreated(child); + return true; + } +@@ -1269,7 +1299,12 @@ CrossProcessCompositorParent::ForceComposite(LayerTransactionParent* aLayerTree) + { + uint64_t id = aLayerTree->GetId(); + MOZ_ASSERT(id != 0); +- sIndirectLayerTrees[id].mParent->ForceComposite(aLayerTree); ++ CompositorParent* parent; ++ { // scope lock ++ MonitorAutoLock lock(*sIndirectLayerTreesLock); ++ parent = sIndirectLayerTrees[id].mParent; ++ } ++ parent->ForceComposite(aLayerTree); + } + + bool +-- +2.2.1 + diff --git a/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch b/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch new file mode 100644 index 0000000000..869feaf7c6 --- /dev/null +++ b/gnu/packages/patches/icecat-CVE-2015-0836-pt-11.patch @@ -0,0 +1,104 @@ +From 3f0f685829445ae82974d61f6017fdb67349c32b Mon Sep 17 00:00:00 2001 +From: Dan Gohman +Date: Fri, 9 Jan 2015 09:04:12 -0500 +Subject: [PATCH] Bug 1096138 - IonMonkey: Augment Nops with Mops to avoid + collisions with fixed live ranges. r=jandem, a=sledru + +--- + js/src/jit/CodeGenerator.cpp | 6 ++++++ + js/src/jit/CodeGenerator.h | 1 + + js/src/jit/LIR-Common.h | 6 ++++++ + js/src/jit/LOpcodes.h | 1 + + js/src/jit/Lowering.cpp | 12 ++++++++++++ + 5 files changed, 26 insertions(+) + +diff --git a/js/src/jit/CodeGenerator.cpp b/js/src/jit/CodeGenerator.cpp +index 4f07524..ba14f86 100644 +--- a/js/src/jit/CodeGenerator.cpp ++++ b/js/src/jit/CodeGenerator.cpp +@@ -1077,6 +1077,12 @@ CodeGenerator::visitNop(LNop *lir) + } + + bool ++CodeGenerator::visitMop(LMop *lir) ++{ ++ return true; ++} ++ ++bool + CodeGenerator::visitOsiPoint(LOsiPoint *lir) + { + // Note: markOsiPoint ensures enough space exists between the last +diff --git a/js/src/jit/CodeGenerator.h b/js/src/jit/CodeGenerator.h +index 03677a5..dce095d 100644 +--- a/js/src/jit/CodeGenerator.h ++++ b/js/src/jit/CodeGenerator.h +@@ -58,6 +58,7 @@ class CodeGenerator : public CodeGeneratorSpecific + + bool visitLabel(LLabel *lir); + bool visitNop(LNop *lir); ++ bool visitMop(LMop *lir); + bool visitOsiPoint(LOsiPoint *lir); + bool visitGoto(LGoto *lir); + bool visitTableSwitch(LTableSwitch *ins); +diff --git a/js/src/jit/LIR-Common.h b/js/src/jit/LIR-Common.h +index c90aef9..e7a0e4c 100644 +--- a/js/src/jit/LIR-Common.h ++++ b/js/src/jit/LIR-Common.h +@@ -42,6 +42,12 @@ class LNop : public LInstructionHelper<0, 0, 0> + LIR_HEADER(Nop) + }; + ++class LMop : public LInstructionHelper<0, 0, 0> ++{ ++ public: ++ LIR_HEADER(Mop) ++}; ++ + // An LOsiPoint captures a snapshot after a call and ensures enough space to + // patch in a call to the invalidation mechanism. + // +diff --git a/js/src/jit/LOpcodes.h b/js/src/jit/LOpcodes.h +index a32d64f..cd7eef8 100644 +--- a/js/src/jit/LOpcodes.h ++++ b/js/src/jit/LOpcodes.h +@@ -10,6 +10,7 @@ + #define LIR_COMMON_OPCODE_LIST(_) \ + _(Label) \ + _(Nop) \ ++ _(Mop) \ + _(OsiPoint) \ + _(MoveGroup) \ + _(Integer) \ +diff --git a/js/src/jit/Lowering.cpp b/js/src/jit/Lowering.cpp +index d5f8227..48b7fa9 100644 +--- a/js/src/jit/Lowering.cpp ++++ b/js/src/jit/Lowering.cpp +@@ -3616,12 +3616,24 @@ LIRGenerator::visitInstruction(MInstruction *ins) + ins->setInWorklistUnchecked(); + #endif + ++ // If we added a Nop for this instruction, we'll also add a Mop, so that ++ // that live-ranges for fixed register defs, which with LSRA extend through ++ // the Nop so that they can extend through the OsiPoint don't, with their ++ // one-extra extension, extend into a position where they use the input ++ // move group for the following instruction. ++ bool needsMop = !current->instructions().empty() && current->rbegin()->isNop(); ++ + // If no safepoint was created, there's no need for an OSI point. + if (LOsiPoint *osiPoint = popOsiPoint()) { + if (!add(osiPoint)) + return false; + } + ++ if (needsMop) { ++ if (!add(new(alloc()) LMop)) ++ return false; ++ } ++ + return true; + } + +-- +2.2.1 + -- cgit 1.4.1 From 24d77d103816ace1c8d3fb2cb8c1a38876e3633b Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 26 Feb 2015 00:42:14 -0500 Subject: doc: Remove reference to git submodules in HACKING. * HACKING: Remove mention of git submodules. --- HACKING | 6 ------ 1 file changed, 6 deletions(-) diff --git a/HACKING b/HACKING index 0231c7d84d..e8f6cc4208 100644 --- a/HACKING +++ b/HACKING @@ -25,12 +25,6 @@ Run ‘./bootstrap’ to download the Nix daemon source code and to generate the build system infrastructure using autoconf. It reports an error if an inappropriate version of the above packages is being used. -The ‘bootstrap’ script, among other things, invokes ‘git submodule update’; if -you didn’t run it, you may get the following error: - - make: *** No rule to make target `nix/libstore/schema.sql', needed by - `nix/libstore/schema.sql.hh' - If you get an error like this one: configure.ac:46: error: possibly undefined macro: PKG_CHECK_MODULES -- cgit 1.4.1 From 183eaf877ff8a8dad81b9029709b5d682915a8a4 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 26 Feb 2015 02:13:41 -0500 Subject: gnu: e2fsprogs: Update to 1.42.12. * gnu/packages/linux.scm (e2fsprogs): Update to 1.42.12. --- 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 dc280a01fe..4fe6f887cf 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -523,14 +523,14 @@ slabtop, and skill.") (define-public e2fsprogs (package (name "e2fsprogs") - (version "1.42.11") + (version "1.42.12") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/e2fsprogs/e2fsprogs-" version ".tar.gz")) (sha256 (base32 - "0xhbj7494g3y2w2miyrzdz6nciaffxajrs6wqm73yp4jnrqagn2b")) + "0v0qcfyls0dlrjy8gx9m3s2wbkp5z3lbsr5hb7x8kp8f3bclcy71")) (modules '((guix build utils))) (snippet '(substitute* "MCONFIG.in" -- cgit 1.4.1 From baece08a04a528a24f986186c08aa2c67f2c7b05 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 26 Feb 2015 02:01:29 -0500 Subject: gnu: samba: Update to 3.6.25. * gnu/packages/samba.scm (samba): Update to 3.6.25. --- gnu/packages/samba.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index c6fef6154d..46b97215ba 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2015 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -94,14 +95,14 @@ anywhere.") (define-public samba (package (name "samba") - (version "3.6.8") + (version "3.6.25") (source (origin (method url-fetch) - (uri (string-append "http://us3.samba.org/samba/ftp/stable/samba-" + (uri (string-append "https://www.samba.org/samba/ftp/stable/samba-" version ".tar.gz")) (sha256 (base32 - "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg")))) + "0l9pz2m67vf398q3c2dwn8jwdxsjb20igncf4byhv6yq5dzqlb4g")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-before -- cgit 1.4.1 From 9f2840cb5242a797b4f6ae9b52f2f8bf00b7d2f0 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 10:05:05 +0100 Subject: gnu: openexr: Add synopsis. * gnu/packages/graphics.scm (openexr)[synopsis]: Fill in. [description]: Improve. --- gnu/packages/graphics.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/graphics.scm b/gnu/packages/graphics.scm index 1464df0b68..c5ccfc271b 100644 --- a/gnu/packages/graphics.scm +++ b/gnu/packages/graphics.scm @@ -113,11 +113,11 @@ exception-handling library.") `(("ilmbase" ,ilmbase) ;used in public headers ("zlib" ,zlib))) ;OpenEXR.pc reads "-lz" (home-page "http://www.openexr.com") - (synopsis #f) + (synopsis "High-dynamic range file format library") (description "OpenEXR is a high dynamic-range (HDR) image file format developed for -use in computer imaging applications. The IlmImf libraries supports storage -of the \"EXR\" file format for storing 16-bit floating-point images.") +use in computer imaging applications. The IlmImf C++ libraries support +storage of the \"EXR\" file format for storing 16-bit floating-point images.") (license license:bsd-3))) (define-public ctl -- cgit 1.4.1 From a21b23d34a68fda0a57b5be67f61cffae8db59cd Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 22:17:21 +0100 Subject: services: slim: Preserve the order of session types. That makes WindowMaker the default session, by default. * gnu/services/xorg.scm (xsessions-directory)[builder]: Prepend a number in the file name to preserve the order of SESSIONS. (slim-service): Augment docstring. * doc/guix.texi (X Window): Adjust accordingly. --- doc/guix.texi | 3 ++- gnu/services/xorg.scm | 33 ++++++++++++++++++++++----------- 2 files changed, 24 insertions(+), 12 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 81b9353f1d..bd8091ae51 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4634,7 +4634,8 @@ theme to use. In that case, @var{theme-name} specifies the name of the theme. Last, @var{session} is a list of @code{} objects denoting the -available session types that can be chosen from the log-in screen. +available session types that can be chosen from the log-in screen. The first +one is chosen by default. @end deffn @defvr {Scheme Variable} %default-sessions diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 7cb9012b68..f990d1a2cc 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -207,23 +207,33 @@ which should be passed to this script as the first argument. If not, the (list %windowmaker-session-type %ratpoison-session-type)) (define (xsessions-directory sessions) - "Return a directory containing SESSIONS, a list of objects." + "Return a directory containing SESSIONS, a list of objects. +The alphabetical order of the files in that directory match the order of the +elements in SESSIONS." (define builder #~(begin + (use-modules (srfi srfi-1) + (ice-9 format)) + (mkdir #$output) (chdir #$output) - (for-each (lambda (name executable) - (let ((file (string-append (string-downcase name) - ".desktop"))) - (call-with-output-file file - (lambda (port) - (format port "[Desktop Entry] + (fold (lambda (name executable number) + ;; Create file names such that the order of the items in + ;; SESSION is respected. SLiM gets them in lexicographic + ;; order and uses the first one as the default session. + (let ((file (format #f "~2,'0d-~a.desktop" + number (string-downcase name)))) + (call-with-output-file file + (lambda (port) + (format port "[Desktop Entry] Name=~a Exec=~a Type=Application~%" - name executable))))) - '#$(map session-type-name sessions) - (list #$@(map session-type-executable sessions))))) + name executable))) + (+ 1 number))) + 1 + '#$(map session-type-name sessions) + (list #$@(map session-type-executable sessions))))) (gexp->derivation "xsessions-dir" builder)) @@ -260,7 +270,8 @@ theme to use. In that case, @var{theme-name} specifies the name of the theme. Last, @var{session} is a list of @code{} objects denoting the -available session types that can be chosen from the log-in screen." +available session types that can be chosen from the log-in screen. The first +one is chosen by default." (define (slim.cfg) (mlet %store-monad ((startx (or startx (xorg-start-command))) -- cgit 1.4.1 From e1509174957bd9eba777bec86ea290fb44a4bce3 Mon Sep 17 00:00:00 2001 From: Ludovic Courtès Date: Thu, 26 Feb 2015 22:24:15 +0100 Subject: services: slim: Add "F1 to change" in session message. * gnu/services/xorg.scm (slim-service)[slim.cfg]: Add 'session_msg'. --- gnu/services/xorg.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index f990d1a2cc..69a89584e0 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -289,6 +289,7 @@ authfile /var/run/slim.auth # of the names specified in the 'sessions' setting: 'wmaker', 'xfce', etc. login_cmd exec " xinitrc " %session sessiondir " sessiondir " +session_msg session (F1 to change): halt_cmd " dmd "/sbin/halt reboot_cmd " dmd "/sbin/reboot -- cgit 1.4.1