From 8b6a5e0f82660492612ee78894f02d82ac5324a2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 21 Nov 2014 23:46:01 +0100 Subject: [PATCH 001/221] gnu: qt: Add input ruby. * gnu/packages/qt.scm (qt): Add input ruby. --- gnu/packages/qt.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 46c7c34c3c..8d688ff7f4 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages bison) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) + #:use-module (gnu packages gl) #:use-module (gnu packages glib) #:use-module (gnu packages icu4c) #:use-module (gnu packages image) @@ -36,7 +37,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages pulseaudio) #:use-module (gnu packages python) - #:use-module (gnu packages gl) + #:use-module (gnu packages ruby) #:use-module (gnu packages xorg)) (define-public libxkbcommon @@ -85,7 +86,6 @@ X11 (yet).") (propagated-inputs `(("mesa" ,mesa))) (inputs - ;; FIXME: Add input ruby once available. `(("alsa-lib" ,alsa-lib) ("dbus" ,dbus) ("fontconfig" ,fontconfig) @@ -102,6 +102,7 @@ X11 (yet).") ("openssl" ,openssl) ("pulseaudio" ,pulseaudio) ("python-wrapper" ,python-wrapper) + ("ruby" ,ruby) ("xcb-util" ,xcb-util) ("xcb-util-image" ,xcb-util-image) ("xcb-util-keysyms" ,xcb-util-keysyms) From 5dee80dde28bbaf00a1bc6c22a2e38474db00634 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 22 Nov 2014 00:14:09 +0100 Subject: [PATCH 002/221] gnu: libxkbcommon: Add inputs libx11 and xkeyboard-config and use corresponding configure flags. * gnu/packages/qt.scm (libxkbcommon): Add inputs libx11 and xkeyboard-config. Use configure flags to set XKB config root and X11 locale root directories. --- gnu/packages/qt.scm | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qt.scm b/gnu/packages/qt.scm index 8d688ff7f4..30b772d4d9 100644 --- a/gnu/packages/qt.scm +++ b/gnu/packages/qt.scm @@ -53,10 +53,20 @@ "176ii5dn2wh74q48sd8ac37ljlvgvp5f506glr96z6ibfhj7igch")))) (build-system gnu-build-system) (inputs - `(("libxcb" ,libxcb))) + `(("libx11" ,libx11) + ("libxcb" ,libxcb) + ("xkeyboard-config" ,xkeyboard-config))) (native-inputs `(("bison" ,bison) ("pkg-config" ,pkg-config))) + (arguments + `(#:configure-flags + (list (string-append "--with-xkb-config-root=" + (assoc-ref %build-inputs "xkeyboard-config") + "/share/X11/xkb") + (string-append "--with-x-locale-root=" + (assoc-ref %build-inputs "libx11") + "/share/X11/locale")))) (home-page "http://xkbcommon.org/") (synopsis "Library to handle keyboard descriptions") (description "Xkbcommon is a library to handle keyboard descriptions, From 49ff939f52a108d32f150bbff63983d39daf047d Mon Sep 17 00:00:00 2001 From: Jason Self Date: Sat, 22 Nov 2014 07:14:51 -0800 Subject: [PATCH 003/221] gnu: linux-libre: Update to 3.17.4 * gnu/packages/linux.scm (linux-libre): Update to version 3.17.4. --- 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 0d30aeea94..b9d9bd68c9 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -192,7 +192,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.17.3") + (let* ((version "3.17.4") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -265,7 +265,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1qyk70m7y7ak94idkqpgyinnnpqpwxvl39rwh8pqdvrcm7w5b0lq")))) + "1wiiapji45yrbji5p0mmrjn32jbwbfga8rznpl22rngsjjayci8f")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) From 2acb8b272af9c5a0553e591a97df1f78c26ac164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 22 Nov 2014 19:15:45 +0100 Subject: [PATCH 004/221] gnu: youtube-dl: Update to 2014.11.21.1. * gnu/packages/video.scm (youtube-dl): Update to 2014.11.21.1. --- 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 7ec1537678..063f1dae43 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -395,7 +395,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") (define-public youtube-dl (package (name "youtube-dl") - (version "2014.09.06") + (version "2014.11.21.1") (source (origin (method url-fetch) (uri (string-append "http://youtube-dl.org/downloads/" @@ -403,7 +403,7 @@ SVCD, DVD, 3ivx, DivX 3/4/5, WMV and H.264 movies.") version ".tar.gz")) (sha256 (base32 - "1a50vqgzp9wjh2763shald6dlmdd5qlqy83vg4yrihdrlh8sk6dd")))) + "0rxpx8j4qhhsws6czlfji1x9igsinkbbwvld10qdylll7g9q1v7j")))) (build-system python-build-system) (inputs `(("setuptools" ,python-setuptools))) (home-page "http://youtube-dl.org") From bc9812f15015400439e0142fdcfeead942c73050 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 13:49:48 +0100 Subject: [PATCH 005/221] gnu: gegl: Disable tests. * gnu/packages/gimp.scm (gegl): Disable tests since failures are apparently not taken care of in upstream releases. --- gnu/packages/gimp.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gimp.scm b/gnu/packages/gimp.scm index aeedd23916..a0c18eac93 100644 --- a/gnu/packages/gimp.scm +++ b/gnu/packages/gimp.scm @@ -74,7 +74,10 @@ provided as well as the framework to add new color models and data types.") "09nlv06li9nrn74ifpm7223mxpg0s7cii702z72cpbwrjh6nlbnz")))) (build-system gnu-build-system) (arguments - `(#:phases + `(;; More than just the one test disabled below now fails; disable them + ;; all according to the rationale given below. + #:tests? #f + #:phases (alist-cons-before 'build 'pre-build (lambda _ From af89a6673522a0260f04ae503b53813c053ca26f Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Sat, 22 Nov 2014 16:42:41 +0100 Subject: [PATCH 006/221] gnu: atlas: Try to fix build on MIPS. * gnu/packages/maths.scm (atlas): Add MIPS specific configure flags. --- gnu/packages/maths.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 1aa3757ebe..cc068b98c7 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -979,6 +979,12 @@ point numbers") ;; Disable parallel build as it gives errors: atlas_pthread.h is ;; needed to compile C files before it is generated. "-Ss" "pmake" "make -j 1" + ;; Probe is failing for MIPS. We therefore define the system + ;; architecture explicitly by setting (-A) MACHINETYPE = 49 + ;; 'MIPSR1xK' and (-V) ISA = 1 'none'. + ,,@(if (string-prefix? "mips" (%current-system)) + (list "-A" "49" "-V" "1") + (list)) ;; Generate shared libraries. "--shared" ;; Build a full LAPACK library. From bc0b89bb3eca3adf35230d1fe7f89664762be4e8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 15:41:30 +0100 Subject: [PATCH 007/221] gnu: xf86-video-openchrome: Patch to correct build failure. * gnu/packages/xorg.scm (xf86-video-openchrome): Add patch for build failure with glibc-2.20. Fixes bug #18740. * gnu/packages/patches/xf86-video-openchrome-includes.patch: New file. * gnu-system.am (dist_patch_DATA): Register patch. --- gnu-system.am | 1 + .../xf86-video-openchrome-includes.patch | 35 +++++++++++++++++++ gnu/packages/xorg.scm | 3 +- 3 files changed, 38 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/xf86-video-openchrome-includes.patch diff --git a/gnu-system.am b/gnu-system.am index d3b822c169..4c9fcda8b9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -435,6 +435,7 @@ dist_patch_DATA = \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/w3m-fix-compile.patch \ gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \ + gnu/packages/patches/xf86-video-openchrome-includes.patch \ gnu/packages/patches/xmodmap-asprintf.patch bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap diff --git a/gnu/packages/patches/xf86-video-openchrome-includes.patch b/gnu/packages/patches/xf86-video-openchrome-includes.patch new file mode 100644 index 0000000000..3c79596387 --- /dev/null +++ b/gnu/packages/patches/xf86-video-openchrome-includes.patch @@ -0,0 +1,35 @@ +This follows the same rationale as xf86-input-synaptics-glibc-2.20.patch +to allow building with glibc-2.20. +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_3d.h xf86-video-openchrome-0.2.906/src/via_3d.h +--- xf86-video-openchrome-0.2.906.old/src/via_3d.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_3d.h 2014-11-23 14:18:37.000000000 +0100 +@@ -24,6 +24,7 @@ + #ifndef VIA_3D_H + #define VIA_3D_H + ++#include "xorg-server.h" + #include "xf86.h" + #include "via_dmabuffer.h" + +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_driver.h xf86-video-openchrome-0.2.906/src/via_driver.h +--- xf86-video-openchrome-0.2.906.old/src/via_driver.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_driver.h 2014-11-23 14:21:43.000000000 +0100 +@@ -35,6 +35,7 @@ + #endif + + #include "vgaHW.h" ++#include "xorg-server.h" + #include "xf86.h" + + #if GET_ABI_MAJOR(ABI_VIDEODRV_VERSION) < 6 +diff -u -r xf86-video-openchrome-0.2.906.old/src/via_timing.h xf86-video-openchrome-0.2.906/src/via_timing.h +--- xf86-video-openchrome-0.2.906.old/src/via_timing.h 2014-11-23 14:04:58.000000000 +0100 ++++ xf86-video-openchrome-0.2.906/src/via_timing.h 2014-11-23 14:20:50.000000000 +0100 +@@ -25,6 +25,7 @@ + #ifndef _TIMING_H_ + #define _TIMING_H_ + ++#include "xorg-server.h" + #include "xf86.h" + + /* Aspect ratio not CVT standard */ diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 41c6a03932..292845c64e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2843,7 +2843,8 @@ kernel mode setting (KMS).") ".tar.bz2")) (sha256 (base32 - "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) + "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")) + (patches (list (search-patch "xf86-video-openchrome-includes.patch"))))) (build-system gnu-build-system) (inputs `(("libx11" ,libx11) ("libxext" ,libxext) From 0c645f0bd118ade38ba62ee4baa147a9d87d0d14 Mon Sep 17 00:00:00 2001 From: David Thompson Date: Sun, 23 Nov 2014 11:29:41 -0500 Subject: [PATCH 008/221] gnu: abbaye: Fix install phase. * gnu/packages/games (abbaye): Create '/share/pixmaps' directory before installing. --- gnu/packages/games.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index e79be3fa49..db878b033d 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -168,7 +168,8 @@ scriptable with Guile.") (let ((prefix (assoc-ref outputs "out"))) ;; Create directories that the makefile assumes exist. (mkdir-p (string-append prefix "/bin")) - (mkdir-p (string-append prefix "/share/applications")))) + (mkdir-p (string-append prefix "/share/applications")) + (mkdir-p (string-append prefix "/share/pixmaps")))) ;; No configure script. (alist-delete 'configure %standard-phases)))) #:tests? #f)) ;; No check target. From 7fec52b78b1b5f762a82ef900e0b871da40e7f92 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 18:23:35 +0100 Subject: [PATCH 009/221] doc: Add a section on naming conventions for font packages. * doc/guix.texi (Fonts): New section. (Package naming): Reference the new section. --- doc/guix.texi | 40 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 40 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index c0b9668760..b5aefc0aa3 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4745,6 +4745,7 @@ needed is to review and apply the patch. * Version Numbers:: When the name is not enough. * Python Modules:: Taming the snake. * Perl Modules:: Little pearls. +* Fonts:: Fond of fonts. @end menu @node Software Freedom @@ -4796,6 +4797,8 @@ already part of the official project name. But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages. +Font package names are handled differently, @pxref {Fonts}. + @node Version Numbers @subsection Version Numbers @@ -4871,6 +4874,43 @@ are also prepended by @code{perl-}. Such modules tend to have the word prefix. For instance, @code{libwww-perl} becomes @code{perl-libwww}. +@node Fonts +@subsection Fonts + +For fonts that are in general not installed by a user for typesetting +purposes, or that are distributed as part of a larger software package, +we rely on the general packaging rules for software; for instance, this +applies to the fonts delivered as part of the X.Org system or fonts that +are part of TeX Live. + +To make it easier for a user to search for fonts, names for other packages +containing only fonts are constructed as follows, independently of the +upstream package name. + +The name of a package containing only one font family starts with +@code{font-}; it is followed by the foundry name and a dash @code{-} +if the foundry is known, and the font family name, in which spaces are +replaced by dashes (and as usual, all upper case letters are transformed +to lower case). +For example, the Gentium font family by SIL is packaged under the name +@code{font-sil-gentium}. + +For a package containing several font families, the name of the collection +is used in the place of the font family name. +For instance, the Liberation fonts consist of three families, +Liberation Sans, Liberation Serif and Liberation Mono. +These could be packaged separately under the names +@code{font-liberation-sans} and so on; but as they are distributed together +under a common name, we prefer to package them together as +@code{font-liberation}. + +In the case where several formats of the same font family or font collection +are packaged separately, a short form of the format, prepended by a dash, +is added to the package name. We use @code{-ttf} for TrueType fonts, +@code {-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 +fonts. + + @node Bootstrapping @section Bootstrapping From 8b47758f02415a3563e189f8e90c4fe1b8058e44 Mon Sep 17 00:00:00 2001 From: nebuli Date: Sat, 22 Nov 2014 19:16:51 +0100 Subject: [PATCH 010/221] store: default to serial "scheduler" MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/store.scm (set-build-options): exchange default argument values Signed-off-by: Ludovic Courtès --- guix/store.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/store.scm b/guix/store.scm index bc4c641583..571cc060d3 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -435,14 +435,14 @@ encoding conversion errors." (define* (set-build-options server #:key keep-failed? keep-going? fallback? (verbosity 0) - (max-build-jobs (current-processor-count)) + (max-build-jobs 1) timeout (max-silent-time 3600) (use-build-hook? #t) (build-verbosity 0) (log-type 0) (print-build-trace #t) - (build-cores 1) + (build-cores (current-processor-count)) (use-substitutes? #t) (binary-caches '())) ; client "untrusted" cache URLs ;; Must be called after `open-connection'. From 5d1f1177844e7580cc6a2f7b8375bd3388ded003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Nov 2014 21:18:40 +0100 Subject: [PATCH 011/221] doc: Fix erroneous cross-manual references. * doc/guix.texi (User Accounts): Fix cross-references to libc and guile. --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index b5aefc0aa3..4868813876 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3818,8 +3818,8 @@ users change it with @command{passwd}. If you @emph{do} want to have a preset password for an account, then this field must contain the encrypted password, as a string. -@xref{crypt,,, The GNU C Library Reference Manual}, for more information -on password encryption, and @ref{Encryption,,, GNU Guile Reference +@xref{crypt,,, libc, The GNU C Library Reference Manual}, for more information +on password encryption, and @ref{Encryption,,, guile, GNU Guile Reference Manual}, for information on Guile's @code{crypt} procedure. @end table From b6e2215af76a350da7c37e2105a17e66bc5c0504 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 21:50:38 +0100 Subject: [PATCH 012/221] gnu: libcdio: Update to 0.93. * gnu/packages/cdrom.scm (libcdio): Update to 0.93. --- gnu/packages/cdrom.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 29def9b6aa..07808578c0 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -68,14 +68,14 @@ caching facility provided by the library.") (define-public libcdio (package (name "libcdio") - (version "0.92") + (version "0.93") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libcdio/libcdio-" version ".tar.gz")) (sha256 (base32 - "1b9zngn8nnxb1yyngi1kwi73nahp4lsx59j17q1bahzz58svydik")))) + "0xb9km1750ndr7nglgbv1smv03dy8nkcfd9djbzqn3ldzlicswj9")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) From b419c7f5fb5774b3af201550c11d9c5f867570ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 23 Nov 2014 21:53:24 +0100 Subject: [PATCH 013/221] install: Add Cryptsetup to the image. Reported by Nikita Karetnikov. * gnu/system/install.scm (installation-os)[packages]: Add CRYPTSETUP. * doc/guix.texi (System Installation): Mention it. --- doc/guix.texi | 5 +++-- gnu/system/install.scm | 2 ++ 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4868813876..a2f881fbe5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3275,8 +3275,9 @@ Systems}). This is typically done using the @code{-L} option of @command{mkfs.ext4} and related commands. The installation image includes Parted (@pxref{Overview,,, parted, GNU -Parted User Manual}), @command{fdisk}, and e2fsprogs, the suite of tools -to manipulate ext2/ext3/ext4 file systems. +Parted User Manual}), @command{fdisk}, Cryptsetup/LUKS for disk +encryption, and e2fsprogs, the suite of tools to manipulate +ext2/ext3/ext4 file systems. @item Once that is done, mount the target root partition under @file{/mnt}. diff --git a/gnu/system/install.scm b/gnu/system/install.scm index 961361b937..dd3a3eb292 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -22,6 +22,7 @@ #:use-module (guix monads) #:use-module ((guix store) #:select (%store-prefix)) #:use-module (gnu packages linux) + #:use-module (gnu packages cryptsetup) #:use-module (gnu packages package-management) #:use-module (gnu packages disk) #:use-module (gnu packages grub) @@ -254,6 +255,7 @@ Use Alt-F2 for documentation. (packages (cons* texinfo-4 ;for the standalone Info reader parted ddrescue grub ;mostly so xrefs to its manual work + cryptsetup wireless-tools ;; XXX: We used to have GNU fdisk here, but as of version ;; 2.0.0a, that pulls Guile 1.8, which takes unreasonable From 723fa420b412b0f7c11d2f3c31408e81e5f2491e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 21:56:21 +0100 Subject: [PATCH 014/221] gnu: ddrescue: Update to 1.19. * gnu/packages/disk.scm (ddrescue): Update to 1.19. --- gnu/packages/disk.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm index c37a6bb25e..6a7fdcfb19 100644 --- a/gnu/packages/disk.scm +++ b/gnu/packages/disk.scm @@ -100,7 +100,7 @@ tables, and it understands a variety of different formats.") (define-public ddrescue (package (name "ddrescue") - (version "1.18.1") + (version "1.19") (source (origin (method url-fetch) @@ -108,7 +108,7 @@ tables, and it understands a variety of different formats.") version ".tar.lz")) (sha256 (base32 - "1ad1ifby89wys8lxh4d24y5lih6hkz54jhv6sf6bs1i7sd7lnqaq")))) + "1f278w7i9sx45jk6fsw1kyzx743k3alx1c4w1q8sk05ckafhr3gd")))) (build-system gnu-build-system) (home-page "http://www.gnu.org/software/ddrescue/ddrescue.html") (synopsis "Data recovery utility") From 47757541b917ecf8058beae61068a052ec5fcf5e Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 21:59:10 +0100 Subject: [PATCH 015/221] gnu: vera: Update to 1.22. * gnu/packages/dictionaries.scm (vera): Update to 1.22. --- gnu/packages/dictionaries.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/dictionaries.scm b/gnu/packages/dictionaries.scm index 4520c2149f..345d0a26c1 100644 --- a/gnu/packages/dictionaries.scm +++ b/gnu/packages/dictionaries.scm @@ -29,14 +29,14 @@ (define-public vera (package (name "vera") - (version "1.21a") + (version "1.22") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/vera/vera-" version ".tar.gz")) (sha256 (base32 - "09qz1g8js8qw735wmd8kraqbk1d1997v3px2lcc58frf1r66bp8f")))) + "1anx6ikwlkg7bn3c5a8xxrp33bvhfgxmncvnqbn2fp1hnbhqh5i7")))) (build-system trivial-build-system) (arguments `(#:builder (begin From fa1e31b8a5c0d134020b8d4aa0c2d4ad0dca40da Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 23 Nov 2014 11:46:38 +0300 Subject: [PATCH 016/221] doc: Fix typos. * doc/guix.texi (Base Services): Fix 'lsh-service' name. (Networking Services): Fix (gnu services networking) module name. --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a2f881fbe5..8aa3c6df74 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3905,7 +3905,7 @@ system, you will want to append services to @var{%base-services}, like this: @example -(cons* (avahi-service) (lshd-service) %base-services) +(cons* (avahi-service) (lsh-service) %base-services) @end example @end defvr @@ -3968,7 +3968,7 @@ Run @var{udev}, which populates the @file{/dev} directory dynamically. @node Networking Services @subsubsection Networking Services -The @code{(gnu system networking)} module provides services to configure +The @code{(gnu services networking)} module provides services to configure the network interface. @cindex DHCP, networking service From faef3b153acf450555fc640bd266a2e1321d9c99 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 24 Nov 2014 14:22:16 +0100 Subject: [PATCH 017/221] gnu: xfig: Add 'wrap-xfig phase. * gnu/packages/xfig.scm (xfig): Set XAPPLRESDIR environment variable to help xfig find the app-defaults resource files. --- gnu/packages/xfig.scm | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xfig.scm b/gnu/packages/xfig.scm index b15407417f..6436e52ad6 100644 --- a/gnu/packages/xfig.scm +++ b/gnu/packages/xfig.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014 Federico Beffa ;;; ;;; This file is part of GNU Guix. ;;; @@ -118,7 +119,14 @@ (close-pipe in) (close-port out))) (zero? (system* "make" "install.doc")))) - %standard-phases))))) + (alist-cons-after + 'install 'wrap-xfig + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (wrap-program (string-append out "/bin/xfig") + `("XAPPLRESDIR" suffix + (,(string-append out "/etc/X11/app-defaults")))))) + %standard-phases)))))) (home-page "http://xfig.org/") (synopsis "Interactive drawing tool") (description From 1619111731a65741a3b5fbb8ab9f869b09b1106a Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 28 Oct 2014 09:44:16 +0300 Subject: [PATCH 018/221] gnu: Add 'font-liberation'. * gnu/packages/fonts.scm (font-liberation): New variable. --- gnu/packages/fonts.scm | 66 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 66 insertions(+) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 4ed86d96f8..0181420a30 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Joshua Grant +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -203,6 +204,71 @@ package provides the TrueType (TTF) files.") 10646/Unicode UCS (Universal Character Set).") (license license:gpl3+))) +(define-public font-liberation + (package + (name "font-liberation") + (version "2.00.1") + (source (origin + (method url-fetch) + (uri (string-append "https://fedorahosted.org/releases/l/i/" + "liberation-fonts/liberation-fonts-ttf-" + version ".tar.gz")) + (sha256 + (base32 + "010m4zfqan4w04b6bs9pm3gapn9hsb18bmwwgp2p6y6idj52g43q")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder + (begin + (use-modules (guix build utils)) + + (let ((tar (string-append (assoc-ref %build-inputs "tar") + "/bin/tar")) + (PATH (string-append (assoc-ref %build-inputs "gzip") + "/bin")) + (font-dir (string-append %output "/share/fonts/truetype")) + (doc-dir (string-append %output "/share/doc/" ,name))) + (setenv "PATH" PATH) + (system* tar "xvf" (assoc-ref %build-inputs "source")) + (mkdir-p font-dir) + (mkdir-p doc-dir) + (chdir (string-append "liberation-fonts-ttf-" ,version)) + (for-each (lambda (ttf) + (copy-file ttf + (string-append font-dir "/" + (basename ttf)))) + (find-files "." "\\.ttf$")) + (for-each (lambda (doc) + (copy-file doc + (string-append doc-dir "/" + (basename doc)))) + '("AUTHORS" "ChangeLog" "LICENSE" "README" "TODO")))))) + (native-inputs + `(("source" ,source) + ("tar" ,tar) + ("gzip" ,gzip))) + (home-page "https://fedorahosted.org/liberation-fonts/") + (synopsis + "Fonts compatible with Arial, Times New Roman, and Courier New") + (description + "The Liberation font family aims at metric compatibility with +Arial, Times New Roman, and Courier New. + +There are three sets: + +- Sans (a substitute for Arial, Albany, Helvetica, Nimbus Sans L, and +Bitstream Vera Sans); + +- Serif (a substitute for Times New Roman, Thorndale, Nimbus Roman, and +Bitstream Vera Serif); + +- Mono (a substitute for Courier New, Cumberland, Courier, Nimbus Mono L, +and Bitstream Vera Sans Mono). + +The Liberation Fonts are sponsored by Red Hat.") + (license license:silofl1.1))) + (define-public terminus-font (package (name "terminus-font") From 20dd519cdbb93799f6e4edc2fb39d6f6aa5b81c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Nov 2014 21:15:40 +0100 Subject: [PATCH 019/221] doc: Add xrefs to the lsh manual. Suggested by Adam Pribyl . * gnu/services/ssh.scm (lsh-service): Update docstring with xrefs to the lsh manual. Fix typos. * doc/guix.texi (Networking Services): Synchronize. --- doc/guix.texi | 9 +++++++-- gnu/services/ssh.scm | 9 +++++++-- 2 files changed, 14 insertions(+), 4 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 8aa3c6df74..427e445465 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4033,12 +4033,17 @@ When @var{initialize?} is true, automatically create the seed and host key upon service activation if they do not exist yet. This may take long and require interaction. +When @var{initialize?} is false, it is up to the user to initialize the +randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create +a key pair with the private key stored in file @var{host-key} (@pxref{lshd +basics,,, lsh, LSH Manual}). + When @var{interfaces} is empty, lshd listens for connections on all the network interfaces; otherwise, @var{interfaces} must be a list of host names or addresses. -@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty -passwords, and @var{root-login?} specifies whether to accepts log-ins as +@var{allow-empty-passwords?} specifies whether to accept log-ins with empty +passwords, and @var{root-login?} specifies whether to accept log-ins as root. The other options should be self-descriptive. diff --git a/gnu/services/ssh.scm b/gnu/services/ssh.scm index 5fc98e988c..2b52c777b7 100644 --- a/gnu/services/ssh.scm +++ b/gnu/services/ssh.scm @@ -91,12 +91,17 @@ When @var{initialize?} is true, automatically create the seed and host key upon service activation if they do not exist yet. This may take long and require interaction. +When @var{initialize?} is false, it is up to the user to initialize the +randomness generator (@pxref{lsh-make-seed,,, lsh, LSH Manual}), and to create +a key pair with the private key stored in file @var{host-key} (@pxref{lshd +basics,,, lsh, LSH Manual}). + When @var{interfaces} is empty, lshd listens for connections on all the network interfaces; otherwise, @var{interfaces} must be a list of host names or addresses. -@var{allow-empty-passwords?} specifies whether to accepts log-ins with empty -passwords, and @var{root-login?} specifies whether to accepts log-ins as +@var{allow-empty-passwords?} specifies whether to accept log-ins with empty +passwords, and @var{root-login?} specifies whether to accept log-ins as root. The other options should be self-descriptive." From 98e9e22febf5284ec4d74dbb690429368bd2508d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sun, 23 Nov 2014 13:07:42 +0800 Subject: [PATCH 020/221] gnu: Add getmail. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (getmail): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 46c24092e5..14e85be387 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt +;;; Copyright © 2014 Sou Bunnbu ;;; ;;; This file is part of GNU Guix. ;;; @@ -365,4 +366,31 @@ attachments, create new maildirs, and so on.") ing, and tagging large collections of email messages.") (license gpl3+))) +(define-public getmail + (package + (name "getmail") + (version "4.46.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://pyropus.ca/software/getmail/old-versions/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "15rqmm25pq6ll8aaqh8h6pfdkpqs7y6yismb3h3w1bz8j292c8zl")))) + (build-system python-build-system) + (arguments + `(#:tests? #f ; no tests + #:python ,python-2)) + (home-page "http://pyropus.ca/software/getmail/") + (synopsis "Mail retriever") + (description + "A flexible, extensible mail retrieval system with support for +POP3, IMAP4, SSL variants of both, maildirs, mboxrd files, external MDAs, +arbitrary message filtering, single-user and domain-mailboxes, and many other +useful features.") + + ;; License is specified in file '__init__.py'. + (license gpl2))) + ;;; mail.scm ends here From aaa3eaa97e148c2d8df2940e3d5a809f37ac025e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Nov 2014 21:39:04 +0100 Subject: [PATCH 021/221] doc: Add detailed node listing. * doc/guix.texi (Top): Add @detailmenu. --- doc/guix.texi | 86 +++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 86 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 427e445465..ec48f4a38d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -76,6 +76,92 @@ package management tool written for the GNU system. * GNU Free Documentation License:: The license of this manual. * Concept Index:: Concepts. * Programming Index:: Data types, functions, and variables. + +@detailmenu + --- The Detailed Node Listing --- + +Installation + +* Requirements:: Software needed to build and run Guix. +* Setting Up the Daemon:: Preparing the build daemon's environment. +* Invoking guix-daemon:: Running the build daemon. + +Setting Up the Daemon + +* Build Environment Setup:: Preparing the isolated build environment. +* Daemon Offload Setup:: Offloading builds to remote machines. + +Package Management + +* Features:: How Guix will make your life brighter. +* Invoking guix package:: Package installation, removal, etc. +* Emacs Interface:: Package management from Emacs. +* Substitutes:: Downloading pre-built binaries. +* Packages with Multiple Outputs:: Single source package, multiple outputs. +* Invoking guix gc:: Running the garbage collector. +* Invoking guix pull:: Fetching the latest Guix and distribution. +* Invoking guix archive:: Exporting and importing store files. + +Programming Interface + +* Defining Packages:: Defining new packages. +* Build Systems:: Specifying how packages are built. +* The Store:: Manipulating the package store. +* Derivations:: Low-level interface to package derivations. +* The Store Monad:: Purely functional interface to the store. +* G-Expressions:: Manipulating build expressions. + +Utilities + +* Invoking guix build:: Building packages from the command line. +* Invoking guix download:: Downloading a file and printing its hash. +* Invoking guix hash:: Computing the cryptographic hash of a file. +* Invoking guix import:: Importing package definitions. +* Invoking guix refresh:: Updating package definitions. +* Invoking guix lint:: Finding errors in package definitions. +* Invoking guix environment:: Setting up development environments. + +GNU Distribution + +* System Installation:: Installing the whole operating system. +* System Configuration:: Configuring a GNU system. +* Installing Debugging Files:: Feeding the debugger. +* Security Updates:: Deploying security fixes quickly. +* Package Modules:: Packages from the programmer's viewpoint. +* Packaging Guidelines:: Growing the distribution. +* Bootstrapping:: GNU/Linux built from scratch. +* Porting:: Targeting another platform or kernel. + +System Configuration + +* Using the Configuration System:: Customizing your GNU system. +* operating-system Reference:: Detail of operating-system declarations. +* File Systems:: Configuring file system mounts. +* Mapped Devices:: Block device extra processing. +* User Accounts:: Specifying user accounts. +* Services:: Specifying system services. +* Setuid Programs:: Programs running with root privileges. +* Initial RAM Disk:: Linux-Libre bootstrapping. +* GRUB Configuration:: Configuring the boot loader. +* Invoking guix system:: Instantiating a system configuration. +* Defining Services:: Adding new service definitions. + +Services + +* Base Services:: Essential system services. +* Networking Services:: Network setup, SSH daemon, etc. +* X Window:: Graphical display. + +Packaging Guidelines + +* Software Freedom:: What may go into the distribution. +* Package Naming:: What's in a name? +* Version Numbers:: When the name is not enough. +* Python Modules:: Taming the snake. +* Perl Modules:: Little pearls. +* Fonts:: Fond of fonts. + +@end detailmenu @end menu @c ********************************************************************* From f58f767b6d7b9f4f09475624a3dff9f2fc331cac Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sat, 22 Nov 2014 10:34:07 +0100 Subject: [PATCH 022/221] gnu: Add libetpan. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (libetpan): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 49 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 48 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 14e85be387..7f254e4f64 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Ian Denhardt ;;; Copyright © 2014 Sou Bunnbu +;;; Copyright © 2014 Julien Lepiller ;;; ;;; This file is part of GNU Guix. ;;; @@ -23,6 +24,7 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages emacs) @@ -47,8 +49,9 @@ #:use-module (gnu packages flex) #:use-module (gnu packages gdb) #:use-module (gnu packages samba) + #:use-module (gnu packages xml) #:use-module ((guix licenses) - #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+)) + #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -393,4 +396,48 @@ useful features.") ;; License is specified in file '__init__.py'. (license gpl2))) +(define-public libetpan + (package + (name "libetpan") + (version "1.6") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/dinhviethoa/" name + "/archive/" version ".tar.gz")) + (sha256 + (base32 "05qyqx2c1ppb1jnrs3m52i60f9xlxfxdmb9dnwg4vqjv8kwv2qkr")))) + (build-system gnu-build-system) + (native-inputs `(("autoconf" ,(autoconf-wrapper)) + ("automake" ,automake) + ("libtool" ,libtool "bin") + ("pkg-config" ,pkg-config))) + (propagated-inputs + ;; 'libetpan-config --libs' returns '-lssl -lcrypto -lsasl2', so these + ;; libraries need to be propagated. + `(("cyrus-sasl" ,cyrus-sasl) + ("openssl" ,openssl))) + (inputs + `(("curl" ,curl) + ("expat" ,expat))) + (arguments + '(#:phases (alist-cons-before + 'configure 'autogen + (lambda _ + (system* "./autogen.sh")) ;; Note: this fails because the + ;; generated configure script uses /bin/sh. It is + ;; replaced in the configure phase by the correct + ;; value. TODO: replace the configure phase by the + ;; autogen phase and have the SHELL variable be replaced + %standard-phases) + #:configure-flags + '("--disable-static" "--disable-db"))) + (home-page "http://www.etpan.org/libetpan.html") + (synopsis "Portable middleware for email access") + (description + "The purpose of this mail library is to provide a portable, efficient +framework for different kinds of mail access: IMAP, SMTP, POP and NNTP. It +provides an API for C language. It's the low-level API used by MailCore and +MailCore 2.") + (license (bsd-style "file://COPYING")))) + ;;; mail.scm ends here From e8435c4d289107d240c395dd636363297bb15cb5 Mon Sep 17 00:00:00 2001 From: Julien Lepiller Date: Sun, 23 Nov 2014 01:48:53 +0100 Subject: [PATCH 023/221] gnu: Add claws-mail. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (claws-mail): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 53 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 7f254e4f64..752cb5162e 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -24,15 +24,21 @@ #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages base) + #:use-module (gnu packages backup) #:use-module (gnu packages curl) #:use-module (gnu packages cyrus-sasl) #:use-module (gnu packages dejagnu) #:use-module (gnu packages emacs) + #:use-module (gnu packages enchant) #:use-module (gnu packages gdbm) + #:use-module (gnu packages ghostscript) #:use-module (gnu packages glib) + #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) + #:use-module (gnu packages gtk) #:use-module (gnu packages guile) + #:use-module (gnu packages libcanberra) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages databases) @@ -50,6 +56,7 @@ #:use-module (gnu packages gdb) #:use-module (gnu packages samba) #:use-module (gnu packages xml) + #:use-module (gnu packages xorg) #:use-module ((guix licenses) #:select (gpl2 gpl2+ gpl3+ lgpl2.1+ lgpl3+ bsd-style)) #:use-module (guix packages) @@ -440,4 +447,50 @@ provides an API for C language. It's the low-level API used by MailCore and MailCore 2.") (license (bsd-style "file://COPYING")))) +(define-public claws-mail + (package + (name "claws-mail") + (version "3.11.1") + (source (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/project/claws-mail/" + "Claws Mail/" version "/" name "-" version ".tar.xz")) + (sha256 + (base32 "0cyixz1jgfpi8abh9fbb8ylx9mcvw4jqj81cms666wpqr6v828yp")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("bogofilter" ,bogofilter) + ("curl" ,curl) + ("dbus-glib" ,dbus-glib) + ("dbus" ,dbus) + ("enchant" ,enchant) + ("expat" ,expat) + ("ghostscript" ,ghostscript) + ("hicolor-icon-theme" ,hicolor-icon-theme) + ("gnupg" ,gnupg) + ("gnutls" ,gnutls) + ("gpgme" ,gpgme) + ("gtk" ,gtk+-2) + ("libarchive" ,libarchive) + ("libcanberra" ,libcanberra) + ("libetpan" ,libetpan) + ("libnotify" ,libnotify) + ("libsm" ,libsm) + ("libxml2" ,libxml2) + ("perl" ,perl) + ("python-2" ,python-2))) + (arguments + '(#:configure-flags + '("--enable-gnutls" "--enable-pgpmime-plugin" "--enable-enchant"))) + (synopsis "GTK-based Email client") + (description + "Claws-Mail is an email client (and news reader) based on GTK+. The +appearance and interface are designed to be familiar to new users coming from +other popular email clients, as well as experienced users. Almost all commands +are accessible with the keyboard. Plus, Claws-Mail is extensible via addons +which can add many functionalities to the base client.") + (home-page "http://www.claws-mail.org/") + (license gpl3+))) ; most files are actually public domain or x11 + ;;; mail.scm ends here From df66fee79aad663897f27b2aac9933f4338b4f5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Nov 2014 22:00:58 +0100 Subject: [PATCH 024/221] gnu: Add libTorrent. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bittorrent.scm (libtorrent): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bittorrent.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 8b4388668e..24b6ccb4d3 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -1,4 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer ;;; Copyright © 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -30,7 +31,8 @@ #:use-module ((gnu packages compression) #:select (zlib)) #:use-module (gnu packages glib) - #:use-module (gnu packages gtk)) + #:use-module (gnu packages gtk) + #:use-module (gnu packages check)) (define-public transmission (package @@ -88,3 +90,34 @@ DHT, µTP, PEX and Magnet Links.") ;; ;; A few files files carry an MIT/X11 license header. (license l:gpl3+))) + +(define-public libtorrent + (package + (name "libtorrent") + (version "0.13.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://libtorrent.rakshasa.no/downloads/libtorrent-" + version ".tar.gz")) + (sha256 + (base32 + "0ma910br5vxrfpm4f4w4942lpmhwvqjnnf9h8vpf52fw35qhjkkh")))) + (build-system gnu-build-system) + (inputs `(("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs `(("pkg-config" ,pkg-config) + ;; Add this when you enable tests: + ;; ("cppunit" ,cppunit) + )) + (arguments + ;; FIXME: enable tests on the next release: + ;; https://github.com/rakshasa/libtorrent/issues/59 + `(#:tests? #f)) + (synopsis "BitTorrent library of rtorrent") + (description + "LibTorrent is a BitTorrent library used by and developed in parallel +with the BitTorrent client rtorrent. It is written in C++ with emphasis on +speed and efficiency.") + (home-page "http://libtorrent.rakshasa.no/") + (license l:gpl2+))) From 2d8dc79c1e7426c12199835cf38037a9c88d9952 Mon Sep 17 00:00:00 2001 From: Taylan Ulrich B Date: Sat, 22 Nov 2014 15:57:26 +0100 Subject: [PATCH 025/221] gnu: Add rTorrent. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bittorrent.scm (rtorrent): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/bittorrent.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 24b6ccb4d3..722341fa06 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -32,7 +32,10 @@ #:select (zlib)) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) - #:use-module (gnu packages check)) + #:use-module (gnu packages check) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages curl) + #:use-module (gnu packages cyrus-sasl)) (define-public transmission (package @@ -121,3 +124,32 @@ with the BitTorrent client rtorrent. It is written in C++ with emphasis on speed and efficiency.") (home-page "http://libtorrent.rakshasa.no/") (license l:gpl2+))) + +(define-public rtorrent + (package + (name "rtorrent") + (version "0.9.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://libtorrent.rakshasa.no/downloads/rtorrent-" + version ".tar.gz")) + (sha256 + (base32 + "113yrrac75vqi4g8r6bgs0ggjllj9bkg9shv08vqzdhkwqg2q2mw")))) + (build-system gnu-build-system) + (inputs `(("libtorrent" ,libtorrent) + ("ncurses" ,ncurses) + ("curl" ,curl) + ("cyrus-sasl" ,cyrus-sasl) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (native-inputs `(("pkg-config" ,pkg-config) + ("cppunit" ,cppunit))) + (synopsis "BitTorrent client with ncurses interface") + (description + "rTorrent is a BitTorrent client with an ncurses interface. It supports +full encryption, DHT, PEX, and Magnet Links. It can also be controlled via +XML-RPC over SCGI.") + (home-page "http://libtorrent.rakshasa.no/") + (license l:gpl2+))) From 0da98533602d37f008c2d3736182b2014618e81b Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 24 Nov 2014 20:51:29 +0100 Subject: [PATCH 026/221] gnu: Add numpy-bootstrap. * gnu/packages/python.scm (python-numpy-bootstrap, python2-numpy-bootstrap): New file-local variables. --- gnu/packages/python.scm | 59 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 59 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 378660482f..7967201f17 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -35,6 +35,8 @@ #:use-module (gnu packages readline) #:use-module (gnu packages openssl) #:use-module (gnu packages elf) + #:use-module (gnu packages maths) + #:use-module (gnu packages gcc) #:use-module (gnu packages pkg-config) #:use-module (gnu packages databases) #:use-module (gnu packages zip) @@ -1873,3 +1875,60 @@ writing C extensions for Python as easy as Python itself.") (name "python2-cython") (inputs `(("python-2" ,python-2))))) ; this is not automatically changed + +;; This version of numpy is missing the documentation and is only used to +;; build matplotlib which is required to build numpy's documentation. +(define python-numpy-bootstrap + (package + (name "python-numpy-bootstrap") + (version "1.9.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/numpy" + "/numpy-" version ".tar.gz")) + (sha256 + (base32 + "070ybfvpgfmiz2hs94x445hvkh9dh52nyi0m8jp5kdihgvhbnx80")))) + (build-system python-build-system) + (inputs + `(("python-nose" ,python-nose) + ("atlas" ,atlas))) + (native-inputs + `(("gfortran" ,gfortran-4.8))) + (arguments + `(#:phases + (alist-cons-before + 'build 'set-environment-variables + (lambda* (#:key inputs #:allow-other-keys) + (let* ((atlas-threaded + (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") + "/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 _ + (with-directory-excursion "/tmp" + (zero? (system* "python" "-c" "import numpy; numpy.test()")))) + (alist-delete + 'check + %standard-phases))))) + (home-page "http://www.numpy.org/") + (synopsis "Fundamental package for scientific computing with Python") + (description "NumPy is the fundamental package for scientific computing +with Python. It contains among other things: a powerful N-dimensional array +object, sophisticated (broadcasting) functions, tools for integrating C/C++ +and Fortran code, useful linear algebra, Fourier transform, and random number +capabilities.") + (license bsd-3))) + +(define python2-numpy-bootstrap + (package-with-python2 python-numpy-bootstrap)) From e6c1e91d8b19f189e8d65b8a526be5c614210178 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 22:02:20 +0100 Subject: [PATCH 027/221] gnu: gcl: Update to 2.6.12. * gnu/packages/lisp.scm (gcl): Update to 2.6.12. --- gnu/packages/lisp.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index f9d1c26518..0dbc11fcdf 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -31,13 +31,13 @@ (define-public gcl (package (name "gcl") - (version "2.6.11") + (version "2.6.12") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/" name "/" name "-" version ".tar.gz")) (sha256 - (base32 "177vz8z74mky5nrq6qlfvnzvb1prw8jmlv4cwfx8w7k3k818y1a4")))) + (base32 "1s4hs2qbjqmn9h88l4xvsifq5c3dlc5s74lyb61rdi5grhdlkf4f")))) (build-system gnu-build-system) (arguments `(#:parallel-build? #f ; The build system seems not to be thread safe. From 2cdda52b1af41112a3344fb5fa2d646cfca05e75 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 24 Nov 2014 23:21:10 +0100 Subject: [PATCH 028/221] import: gnu: Write the hash in nix-base32 format. * guix/import/gnu.scm (gnu-package->sexp): Use 'bytevector->nix-base32-string', not 'bytevector->base32-string'. --- guix/import/gnu.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/import/gnu.scm b/guix/import/gnu.scm index 763b8d2a12..1947f489fb 100644 --- a/guix/import/gnu.scm +++ b/guix/import/gnu.scm @@ -84,7 +84,7 @@ ,(string-append ".tar." archive-type))) (sha256 (base32 - ,(bytevector->base32-string (file-sha256 tarball)))))) + ,(bytevector->nix-base32-string (file-sha256 tarball)))))) (build-system gnu-build-system) (synopsis ,(gnu-package-doc-summary package)) (description ,(gnu-package-doc-description package)) From 68ff528c75e7624f2c8e542b32398704d8db7d32 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 12:15:06 +0100 Subject: [PATCH 029/221] gnu: Add mp3info. * gnu/packages/mp3.scm (mp3info): New variable. --- gnu/packages/mp3.scm | 61 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 54b81955d9..bb0549ea64 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -24,6 +25,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gettext) #:use-module (gnu packages ghostscript) + #:use-module (gnu packages ncurses) #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages pcre) @@ -129,6 +131,65 @@ a highly stable and efficient implementation.") (license license:lgpl2.0+) (home-page "http://id3lib.sourceforge.net/"))) +(define-public mp3info + (package + (name "mp3info") + (version "0.8.5a") + (source (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.ibiblio.org/pub/linux/apps/sound/mp3-utils/mp3info/mp3info-" + version ".tgz")) + (sha256 + (base32 + "042f1czcs9n2sbqvg4rsvfwlqib2gk976mfa2kxlfjghx5laqf04")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/bin/rm") "rm") + (("/usr/bin/install") "install") + (("man/man1") "share/man/man1"))))) + (build-system gnu-build-system) + (outputs '("out" "gui")) ;GTK+ interface in "gui" + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "Makefile" + (("prefix=.*") + (string-append "prefix := " out "\n"))))) + (alist-cons-before + 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (mkdir-p (string-append out "/bin")) + (mkdir-p (string-append out "/share/man/man1")))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Move the GTK+ interface to "gui". + (let ((out (assoc-ref outputs "out")) + (gui (assoc-ref outputs "gui"))) + (mkdir-p (string-append gui "/bin")) + (rename-file (string-append out "/bin/gmp3info") + (string-append gui "/bin/gmp3info")))) + %standard-phases))) + #:tests? #f)) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("gtk+" ,gtk+-2) + ("ncurses" ,ncurses))) + (home-page "http://www.ibiblio.org/mp3info/") + (synopsis "MP3 technical info viewer and ID3 1.x tag editor") + (description + "MP3Info is a little utility used to read and modify the ID3 tags of MP3 +files. MP3Info can also display various techincal aspects of an MP3 file +including playing time, bit-rate, sampling frequency and other attributes in a +pre-defined or user-specifiable output format.") + (license license:gpl2+))) + (define-public libmp3splt (package (name "libmp3splt") From 0ae332d3ef463ab8a6caec991724e8c930e0bcec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 14:56:28 +0100 Subject: [PATCH 030/221] licenses: Add MPL 1.1. * guix/licenses.scm (mpl1.1): New variable. --- guix/licenses.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/licenses.scm b/guix/licenses.scm index 3a21f4f5cf..86929b1719 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -40,7 +40,7 @@ ibmpl1.0 imlib2 lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ - mpl2.0 + mpl1.1 mpl2.0 openldap2.8 openssl psfl public-domain qpl @@ -239,6 +239,11 @@ which may be a file:// URI pointing the package's tree." "https://www.gnu.org/licenses/lgpl.html" "https://www.gnu.org/licenses/license-list#LGPLv3")) +(define mpl1.1 + (license "MPL 1.1" + "http://directory.fsf.org/wiki/License:MPLv1.1" + "https://www.gnu.org/licenses/license-list#MPL")) + (define mpl2.0 (license "MPL 2.0" "http://directory.fsf.org/wiki/License:MPLv2.0" From 086518ddf3302cd3c3ab801101b1016f4818a846 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 14:56:58 +0100 Subject: [PATCH 031/221] gnu: Add TagLib. * gnu/packages/mp3.scm (taglib): New variable. --- gnu/packages/mp3.scm | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index bb0549ea64..17e50f9a4b 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -36,7 +36,8 @@ #:select (alsa-lib)) #: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 cmake)) (define-public libmad (package @@ -131,6 +132,31 @@ a highly stable and efficient implementation.") (license license:lgpl2.0+) (home-page "http://id3lib.sourceforge.net/"))) +(define-public taglib + (package + (name "taglib") + (version "1.9.1") + (source (origin + (method url-fetch) + (uri (string-append "http://taglib.github.io/releases/taglib-" + version ".tar.gz")) + (sha256 + (base32 + "06n7gnbcqa3r6c9gv00y0y1r48dyyazm6yj403i7ma0r2k6p3lvj")))) + (build-system cmake-build-system) + (arguments '(#:tests? #f)) ;no 'test' target + (inputs `(("zlib" ,zlib))) + (home-page "http://developer.kde.org/~wheeler/taglib.html") + (synopsis "Library to access audio file meta-data") + (description + "TagLib is a C++ library for reading and editing the meta-data of several +popular audio formats. Currently it supports both ID3v1 and ID3v2 for MP3 +files, Ogg Vorbis comments and ID3 tags and Vorbis comments in FLAC, MPC, +Speex, WavPack TrueAudio, WAV, AIFF, MP4 and ASF files.") + + ;; Dual-licensed: user may choose between LGPLv2.1 or MPLv1.1. + (license (list license:lgpl2.1 license:mpl1.1)))) + (define-public mp3info (package (name "mp3info") From db84467a904c36093dd1476ac5e26c8764ba278b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 15:39:24 +0100 Subject: [PATCH 032/221] install: Add wpa-supplicant to the image. Reported by Amirouche Boubekki . * gnu/system/install.scm (installation-os)[packages]: Add WPA-SUPPLICANT. --- gnu/system/install.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index dd3a3eb292..d3d6764a70 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -21,6 +21,7 @@ #:use-module (guix gexp) #:use-module (guix monads) #:use-module ((guix store) #:select (%store-prefix)) + #:use-module (gnu packages admin) #:use-module (gnu packages linux) #:use-module (gnu packages cryptsetup) #:use-module (gnu packages package-management) @@ -256,7 +257,7 @@ Use Alt-F2 for documentation. parted ddrescue grub ;mostly so xrefs to its manual work cryptsetup - wireless-tools + wireless-tools wpa-supplicant ;; XXX: We used to have GNU fdisk here, but as of version ;; 2.0.0a, that pulls Guile 1.8, which takes unreasonable ;; space; furthermore util-linux's fdisk is already From c63bc533c10c6db041cddc9308ab01f06f422276 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 15:40:43 +0100 Subject: [PATCH 033/221] build: Bump version number. * configure.ac: Bump to 0.9. --- configure.ac | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/configure.ac b/configure.ac index 9c000912cc..9380f75767 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], [bug-guix@gnu.org], [guix], +AC_INIT([GNU Guix], [0.9], [bug-guix@gnu.org], [guix], [http://www.gnu.org/software/guix/]) AC_CONFIG_AUX_DIR([build-aux]) From 6eef465eeaf762d99301a94a8a95670356c39778 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 15:58:27 +0100 Subject: [PATCH 034/221] gnu: libksba: Update to 1.3.2 [security fix]. * gnu/packages/gnupg.scm (libksba): Update to 1.3.2. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index ecbb17895c..6b0f35ae27 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -132,7 +132,7 @@ provided.") (define-public libksba (package (name "libksba") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) @@ -141,7 +141,7 @@ provided.") version ".tar.bz2")) (sha256 (base32 - "0w8rfb6yhcwkwzvjafrashcygy4hd9xwwmvlnkfd1m2h0paywqas")))) + "01l4hvcknk9nb4bvyb6aqaid19jg0wv3ik54j1b89hnzamwm75gb")))) (build-system gnu-build-system) (propagated-inputs `(("libgpg-error" ,libgpg-error))) From 4d6b879cb5313c30910330763dca1f1642623c4d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 16:01:21 +0100 Subject: [PATCH 035/221] file-systems: 'file-system-needed-for-boot?' always returns #t for "/". Reported by Nikita Karetnikov. * gnu/system/file-systems.scm (): Rename 'needed-for-boot?' accessor to '%file-system-needed-for-boot?'. (file-system-needed-for-boot?): New inlinable procedure. * gnu/system.scm (other-file-system-services)[file-systems]: Rely on 'file-system-needed-for-boot?' to handle the "/" case. (operating-system-initrd-file)[boot-file-systems]: Likewise. --- gnu/system.scm | 11 ++--------- gnu/system/file-systems.scm | 8 +++++++- 2 files changed, 9 insertions(+), 10 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index f98aa83f62..5c915d3969 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -204,9 +204,7 @@ file." "Return file system services for the file systems of OS that are not marked as 'needed-for-boot'." (define file-systems - (remove (lambda (fs) - (or (file-system-needed-for-boot? fs) - (string=? "/" (file-system-mount-point fs)))) + (remove file-system-needed-for-boot? (operating-system-file-systems os))) (define (device-mappings fs) @@ -638,12 +636,7 @@ we're running in the final root." (define (operating-system-initrd-file os) "Return a gexp denoting the initrd file of OS." (define boot-file-systems - (filter (match-lambda - (($ device title "/") - #t) - (($ device title mount-point type flags - options boot?) - boot?)) + (filter file-system-needed-for-boot? (operating-system-file-systems os))) (define mapped-devices diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index ed9d70587f..4760821840 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -70,13 +70,19 @@ (default '())) (options file-system-options ; string or #f (default #f)) - (needed-for-boot? file-system-needed-for-boot? ; Boolean + (needed-for-boot? %file-system-needed-for-boot? ; Boolean (default #f)) (check? file-system-check? ; Boolean (default #t)) (create-mount-point? file-system-create-mount-point? ; Boolean (default #f))) +(define-inlinable (file-system-needed-for-boot? fs) + "Return true if FS has the 'needed-for-boot?' flag set, or if it's the root +file system." + (or (%file-system-needed-for-boot? fs) + (string=? "/" (file-system-mount-point fs)))) + (define %fuse-control-file-system ;; Control file system for Linux' file systems in user-space (FUSE). (file-system From 77c9286d4afcad942c01dbfc243b010fc52124eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 18:01:38 +0100 Subject: [PATCH 036/221] gnu: Add EMMS. * gnu/packages/emacs.scm (emms): New variable. --- gnu/packages/emacs.scm | 123 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 123 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 119c613128..8092d8bcfc 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -44,6 +44,10 @@ #:use-module (gnu packages xml) #:use-module (gnu packages glib) #:use-module (gnu packages acl) + #:use-module (gnu packages perl) + #:use-module (gnu packages linux) ;alsa + #:use-module (gnu packages xiph) + #:use-module (gnu packages mp3) #:use-module (guix utils) #:use-module (srfi srfi-1)) @@ -365,3 +369,122 @@ operations.") (description "Emacs-wget is an emacs interface for the wget file downloader.") (license gpl2+))) + + +;;; +;;; Multimedia. +;;; + +(define-public emms + (package + (name "emms") + (version "4.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/emms/emms-" + version ".tar.gz")) + (sha256 + (base32 + "1q0n3iwva8bvai2rl9sm49sdjmk0wi7vajz4knz01l7g67nrp87l")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install-info") + ;; No need to use 'install-info' since it would create a + ;; useless 'dir' file. + "true") + (("^INFODIR=.*") + ;; Install Info files to $out/share/info, not $out/info. + "INFODIR := $(PREFIX)/share/info\n") + (("/site-lisp/emms") + ;; Install directly in share/emacs/site-lisp, not in a + ;; sub-directory. + "/site-lisp") + (("^all: (.*)\n" _ rest) + ;; Build 'emms-print-metadata'. + (string-append "all: " rest " emms-print-metadata\n")))))) + (build-system gnu-build-system) + (arguments + '(#:modules ((guix build gnu-build-system) + (guix build utils) + (guix build emacs-utils)) + #:imported-modules ((guix build gnu-build-system) + (guix build utils) + (guix build emacs-utils)) + + #:phases (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (vorbis (assoc-ref inputs "vorbis-tools")) + (alsa (assoc-ref inputs "alsa-utils")) + (mpg321 (assoc-ref inputs "mpg321")) + (mp3info (assoc-ref inputs "mp3info"))) + ;; Specify the installation directory. + (substitute* "Makefile" + (("PREFIX=.*$") + (string-append "PREFIX := " out "\n"))) + + (setenv "SHELL" (which "sh")) + (setenv "CC" "gcc") + + ;; Specify the absolute file names of the various + ;; programs so that everything works out-of-the-box. + (with-directory-excursion "lisp" + (emacs-substitute-variables + "emms-player-mpg321-remote.el" + ("emms-player-mpg321-remote-command" + (string-append mpg321 "/bin/mpg321"))) + (substitute* "emms-player-simple.el" + (("\"ogg123\"") + (string-append "\"" vorbis "/bin/ogg123\""))) + (emacs-substitute-variables "emms-info-ogginfo.el" + ("emms-info-ogginfo-program-name" + (string-append vorbis "/bin/ogginfo"))) + (emacs-substitute-variables "emms-info-libtag.el" + ("emms-info-libtag-program-name" + (string-append out "/bin/emms-print-metadata"))) + (substitute* "emms-volume-amixer.el" + (("\"amixer\"") + (string-append "\"" alsa "/bin/amixer\""))) + (substitute* "emms-tag-editor.el" + (("\"mp3info\"") + (string-append mp3info "/bin/mp3info")))))) + (alist-cons-before + 'install 'pre-install + (lambda* (#:key outputs #:allow-other-keys) + ;; The 'install' rule expects 'emms-print-metadata.1' to + ;; be already installed. + (let* ((out (assoc-ref outputs "out")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p man1) + (copy-file "emms-print-metadata.1" + (string-append man1 "/emms-print-metadata.1")))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (target (string-append + out "/bin/emms-print-metadata"))) + (mkdir-p (dirname target)) + (copy-file "src/emms-print-metadata" target) + (chmod target #o555))) + %standard-phases))) + #:tests? #f)) + (native-inputs `(("emacs" ,emacs) ;for (guix build emacs-utils) + ("texinfo" ,texinfo))) + (inputs `(;("perl" ,perl) ;for 'emms-print-metadata.pl' + ("alsa-utils" ,alsa-utils) + ("vorbis-tools" ,vorbis-tools) + ("mpg321" ,mpg321) + ("taglib" ,taglib) + ("mp3info" ,mp3info))) + (synopsis "Emacs Multimedia System") + (description + "EMMS is the Emacs Multimedia System. It is a small front-end which +can control one of the supported external players. Thus, it supports +whatever formats are supported by your music player. It also +supports tagging and playlist management, all behind a clean and +light user interface.") + (home-page "http://www.gnu.org/software/emms/") + (license gpl3+))) From a82bec4e89f1b4282c2251bc93d4af5625090959 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 21:49:20 +0100 Subject: [PATCH 037/221] gnu: Remove #:select on circular dependency. * gnu/packages/mp3.scm: Remove #:select on (gnu packages linux) so that the circular dependency is correctly handled. --- gnu/packages/mp3.scm | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm index 17e50f9a4b..1731cd59af 100644 --- a/gnu/packages/mp3.scm +++ b/gnu/packages/mp3.scm @@ -32,8 +32,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages xiph) #:use-module (gnu packages pulseaudio) - #:use-module ((gnu packages linux) - #:select (alsa-lib)) + #:use-module (gnu packages linux) ;alsa-lib #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) From 15bfe6d63561bf9fbcaf9763a8cbc102dba242f1 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Tue, 25 Nov 2014 16:27:33 +0100 Subject: [PATCH 038/221] gnu: Add pyparsing. * gnu/packages/python.scm (python-pyparsing, python2-pyparsing): New variables. --- gnu/packages/python.scm | 49 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 49 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 7967201f17..c0eea3c631 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1932,3 +1932,52 @@ capabilities.") (define python2-numpy-bootstrap (package-with-python2 python-numpy-bootstrap)) + +(define-public python-pyparsing + (package + (name "python-pyparsing") + (version "2.0.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/pyparsing" + "/pyparsing-" version ".tar.gz")) + (sha256 + (base32 + "01lasib0n2fp2k99c988qhz16lm9hcwmnmrmhybdb3jq2xmkvr0p")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (arguments + `(#:tests? #f ; no test target + #:modules ((guix build python-build-system) + (guix build utils)) + #:phases + (alist-cons-after + 'install 'install-doc + (lambda* (#:key outputs #:allow-other-keys) + (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 + (lambda (dir tgt) + (map (lambda (file) + (copy-file file (string-append tgt "/" (basename file)))) + (find-files dir ".*"))) + (list "docs" "htmldoc" "examples") + (list doc html-doc examples)))) + %standard-phases))) + (home-page "http://pyparsing.wikispaces.com") + (synopsis "Python parsing class library") + (description + "The pyparsing module is an alternative approach to creating and +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))) + +(define-public python2-pyparsing + (package-with-python2 python-pyparsing)) + From 1b366ee4f6dff35b3bef259f4a64832b580178c9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Taylan=20Ulrich=20Bay=C4=B1rl=C4=B1/Kammer?= Date: Tue, 25 Nov 2014 14:46:47 +0100 Subject: [PATCH 039/221] doc: Fix syntax errors. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Package Naming): (Fonts): Remove space between '@foo' and '{'. Signed-off-by: Ludovic Courtès --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index ec48f4a38d..a88b7747fc 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4889,7 +4889,7 @@ already part of the official project name. But @pxref{Python Modules} and @ref{Perl Modules} for special rules concerning modules for the Python and Perl languages. -Font package names are handled differently, @pxref {Fonts}. +Font package names are handled differently, @pxref{Fonts}. @node Version Numbers @@ -4999,7 +4999,7 @@ under a common name, we prefer to package them together as In the case where several formats of the same font family or font collection are packaged separately, a short form of the format, prepended by a dash, is added to the package name. We use @code{-ttf} for TrueType fonts, -@code {-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 +@code{-otf} for OpenType fonts and @code{-type1} for PostScript Type 1 fonts. From f6526eb330c6be9c20cf9486b59d7f9ea84ffda3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 22:32:26 +0100 Subject: [PATCH 040/221] guix build: Add '--max-jobs' option. Suggested by Deck Pickard . * guix/scripts/build.scm (show-build-options-help): Document --max-jobs. (set-build-options-from-command-line): Pass #:max-build-jobs. (%standard-build-options): Add --max-jobs. * doc/guix.texi (Invoking guix-daemon): Document the meaning of '--max-jobs 0'. (Invoking guix build): Document --max-jobs, with a reference to "Invoking guix-daemon'. --- doc/guix.texi | 10 +++++++++- guix/scripts/build.scm | 15 +++++++++++++-- 2 files changed, 22 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index a88b7747fc..fe1f8a8b76 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -596,7 +596,9 @@ parallelism---for instance, by running @code{make -j$NIX_BUILD_CORES}. @item --max-jobs=@var{n} @itemx -M @var{n} Allow at most @var{n} build jobs in parallel. The default value is -@code{1}. +@code{1}. Setting it to @code{0} means that no builds will be performed +locally; instead, the daemon will offload builds (@pxref{Daemon Offload +Setup}), or simply fail. @item --debug Produce debugging output. @@ -2765,6 +2767,12 @@ may be helpful when debugging setup issues with the build daemon. Allow the use of up to @var{n} CPU cores for the build. The special value @code{0} means to use as many CPU cores as available. +@item --max-jobs=@var{n} +@itemx -M @var{n} +Allow at most @var{n} build jobs in parallel. @xref{Invoking +guix-daemon, @code{--max-jobs}}, for details about this option and the +equivalent @command{guix-daemon} option. + @end table Behind the scenes, @command{guix build} is essentially an interface to diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 7b7f419f3a..b4aa33b3a0 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -119,7 +119,9 @@ options handled by 'set-build-options-from-command-line', and listed in (display (_ " --verbosity=LEVEL use the given verbosity LEVEL")) (display (_ " - -c, --cores=N allow the use of up to N CPU cores for the build"))) + -c, --cores=N allow the use of up to N CPU cores for the build")) + (display (_ " + -M, --max-jobs=N allow at most N build jobs"))) (define (set-build-options-from-command-line store opts) "Given OPTS, an alist as returned by 'args-fold' given @@ -128,6 +130,7 @@ options handled by 'set-build-options-from-command-line', and listed in (set-build-options store #:keep-failed? (assoc-ref opts 'keep-failed?) #:build-cores (or (assoc-ref opts 'cores) 0) + #:max-build-jobs (or (assoc-ref opts 'max-jobs) 1) #:fallback? (assoc-ref opts 'fallback?) #:use-substitutes? (assoc-ref opts 'substitutes?) #:use-build-hook? (assoc-ref opts 'build-hook?) @@ -192,7 +195,15 @@ options handled by 'set-build-options-from-command-line', and listed in (let ((c (false-if-exception (string->number arg)))) (if c (apply values (alist-cons 'cores c result) rest) - (leave (_ "~a: not a number~%") arg))))))) + (leave (_ "not a number: '~a' option argument: ~a~%") + name arg))))) + (option '(#\M "max-jobs") #t #f + (lambda (opt name arg result . rest) + (let ((c (false-if-exception (string->number arg)))) + (if c + (apply values (alist-cons 'max-jobs c result) rest) + (leave (_ "not a number: '~a' option argument: ~a~%") + name arg))))))) ;;; From e43c2a0b89489550ba215e8d5aa07ef069a6da07 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 22:05:52 +0100 Subject: [PATCH 041/221] gnu: gss: Update to 1.0.3. * gnu/packages/gsasl.scm (gss): Update to 1.0.3. --- gnu/packages/gsasl.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gsasl.scm b/gnu/packages/gsasl.scm index 8fb21eee90..071ffb4b84 100644 --- a/gnu/packages/gsasl.scm +++ b/gnu/packages/gsasl.scm @@ -48,13 +48,13 @@ (define-public gss (package (name "gss") - (version "1.0.2") + (version "1.0.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gss/gss-" version ".tar.gz")) (sha256 (base32 - "1qa8lbkzi6ilfggx7mchfzjnchvhwi68rck3jf9j4425ncz7zsd9")))) + "1syyvh3k659xf1hdv9pilnnhbbhs6vfapayp4xgdcc8mfgf9v4gz")))) (build-system gnu-build-system) (inputs `(("nettle" ,nettle) ("shishi" ,shishi) From 90fad2880dd246bd42533bf6419903935e1f1400 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 22:57:41 +0100 Subject: [PATCH 042/221] emacs: Disable build traces produced by the daemon. * emacs/guix-main.scm (process-package-actions, package-source-build-derivation): Pass #:print-build-trace #f to 'set-build-options', to reduce verbosity. --- emacs/guix-main.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/emacs/guix-main.scm b/emacs/guix-main.scm index 8ad4dcbdd7..ae3a492249 100644 --- a/emacs/guix-main.scm +++ b/emacs/guix-main.scm @@ -857,6 +857,7 @@ OUTPUTS is a list of package outputs (may be an empty list)." (derivations (list derivation)) (new-profile (derivation->output-path derivation))) (set-build-options store + #:print-build-trace #f #:use-substitutes? use-substitutes?) (show-manifest-transaction store manifest transaction #:dry-run? dry-run?) @@ -908,6 +909,7 @@ GENERATIONS is a list of generation numbers." (let* ((derivation (package-source-derivation store source)) (derivations (list derivation))) (set-build-options store + #:print-build-trace #f #:use-substitutes? use-substitutes?) (show-what-to-build store derivations #:use-substitutes? use-substitutes? From 588a781396a96b2c2a7b1ab7bfa932b6d1faa763 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 25 Nov 2014 23:12:42 +0100 Subject: [PATCH 043/221] gnu: pkg-config: Add pkg.m4 to the cross pkg-config. Suggested by John Darrington. * gnu/packages/pkg-config.scm (cross-pkg-config): Make $out/share/aclocal a symlink to %PKG-CONFIG/share/aclocal. --- gnu/packages/pkg-config.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 8317136a24..62b0d5f65c 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -71,13 +71,11 @@ instance."))) #:builder (begin (use-modules (guix build utils)) - (let* ((out (assoc-ref %outputs "out")) - (bin (string-append out "/bin")) - (prog (string-append ,target "-pkg-config")) - (native - (string-append - (assoc-ref %build-inputs "pkg-config") - "/bin/pkg-config"))) + (let* ((in (assoc-ref %build-inputs "pkg-config")) + (out (assoc-ref %outputs "out")) + (bin (string-append out "/bin")) + (prog (string-append ,target "-pkg-config")) + (native (string-append in "/bin/pkg-config"))) (mkdir-p bin) @@ -85,7 +83,13 @@ instance."))) ;; This satisfies the pkg.m4 macros, which use ;; AC_PROG_TOOL to determine the `pkg-config' program ;; name. - (symlink native (string-append bin "/" prog)))))) + (symlink native (string-append bin "/" prog)) + + ;; Also make 'pkg.m4' available, some packages might + ;; expect it. + (mkdir-p (string-append out "/share")) + (symlink (string-append in "/share/aclocal") + (string-append out "/share/aclocal")))))) (native-inputs `(("pkg-config" ,%pkg-config))) ;; Ignore native inputs, and set `PKG_CONFIG_PATH' for target inputs. From 2d2a2bacc0a6440305a487d223a076d3549ec674 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Nov 2014 09:24:06 +0100 Subject: [PATCH 044/221] gnu: emms: Enable the 'mp3info' back-end for MP3 meta-data. * gnu/packages/emacs.scm (emms)[arguments]: Properly initialize 'emms-info-mp3info-program-name'. This allows the 'emms-info-mp3info' back-end to be enabled by default, even when 'mp3info' is not in $PATH. --- gnu/packages/emacs.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 8092d8bcfc..2ce88de315 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -444,6 +444,9 @@ operations.") (emacs-substitute-variables "emms-info-libtag.el" ("emms-info-libtag-program-name" (string-append out "/bin/emms-print-metadata"))) + (emacs-substitute-variables "emms-info-mp3info.el" + ("emms-info-mp3info-program-name" + (string-append mp3info "/bin/mp3info"))) (substitute* "emms-volume-amixer.el" (("\"amixer\"") (string-append "\"" alsa "/bin/amixer\""))) From 76bacc826422073a9a6546fb5383c9a0cd8e5dae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Nov 2014 11:54:21 +0100 Subject: [PATCH 045/221] linux-boot: Error out when 'pre-mount' returns #f. * gnu/build/linux-boot.scm (boot-system): Call 'error' when PRE-MOUNT returns #f. --- gnu/build/linux-boot.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index ea1971ff9c..fa6f417907 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -400,8 +400,9 @@ to it are lost." (when (procedure? pre-mount) ;; Do whatever actions are needed before mounting--e.g., installing - ;; device mappings. - (pre-mount)) + ;; device mappings. Error out when the return value is false. + (unless (pre-mount) + (error "pre-mount actions failed"))) ;; Mount the specified file systems. (for-each mount-file-system From 67979e42c3983eb59d395905a32bb51ad9a25c24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Nov 2014 11:58:06 +0100 Subject: [PATCH 046/221] linux-boot: Call 'pre-mount' before 'mount-root-file-system'. Partly fixes . Reported by Nikita Karetnikov . * gnu/build/linux-boot.scm (boot-system): Move PRE-MOUNT call before 'mount-root-file-system' is called. --- gnu/build/linux-boot.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index fa6f417907..3bf3268b23 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -388,6 +388,14 @@ to it are lost." ;; Prepare the real root file system under /root. (unless (file-exists? "/root") (mkdir "/root")) + + (when (procedure? pre-mount) + ;; Do whatever actions are needed before mounting the root file + ;; system--e.g., installing device mappings. Error out when the + ;; return value is false. + (unless (pre-mount) + (error "pre-mount actions failed"))) + (if root (mount-root-file-system (canonicalize-device-spec root) root-fs-type @@ -398,12 +406,6 @@ to it are lost." (mkdir "/root/dev") (make-essential-device-nodes #:root "/root")) - (when (procedure? pre-mount) - ;; Do whatever actions are needed before mounting--e.g., installing - ;; device mappings. Error out when the return value is false. - (unless (pre-mount) - (error "pre-mount actions failed"))) - ;; Mount the specified file systems. (for-each mount-file-system (remove root-mount-point? mounts)) From 07ba213a39070f4fb57d7e2257ed6502c87ec2bb Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 22:08:13 +0100 Subject: [PATCH 047/221] gnu: sipwitch: Update to 1.9.3. * gnu/packages/telephony.scm (sipwitch): Update to 1.9.3. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index a5a7902f9c..6c5ac10e08 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -142,13 +142,13 @@ multiplayer games.") (define-public sipwitch (package (name "sipwitch") - (version "1.9.2") + (version "1.9.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sipwitch/sipwitch-" version ".tar.gz")) (sha256 (base32 - "0cf0zrdfi4w9qn50ags3rvwc29km2k526f6sm6i7jb0hsrvg0k8x")))) + "1iyh390rmxqrks7rypl8ql7fhd3pmy2ckqnp1p0llzrx67jh2q91")))) (build-system gnu-build-system) ;; The configure.ac uses pkg-config but in a kludgy way which breaks when ;; cross-compiling. Among other issues there the program name "pkg-config" From e26e134b4ab7d4f759e4deea34b80599babbfa63 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 22:10:26 +0100 Subject: [PATCH 048/221] gnu: ucommon: Update to 6.2.2. * gnu/packages/telephony.scm (ucommon): Update to 6.2.2. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 6c5ac10e08..ef3b97f322 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -56,13 +56,13 @@ reimplementation.") (define-public ucommon (package (name "ucommon") - (version "6.1.11") + (version "6.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/commoncpp/" name "-" version ".tar.gz")) (sha256 (base32 - "0hpwxiyd7c3qnzksk6vw94cdig1v8yy6khgcaa87a7hb3zbkv4zg")))) + "0rpamwnrvy0688b0y2xsbrc3zjw9qg1svfbavqjh54swvhkfzp0x")))) (build-system gnu-build-system) (synopsis "Common C++ framework for threaded applications") (description "GNU uCommon C++ is meant as a very light-weight C++ library From d57b88bed58566b53bca8435d9e1b5d7e691dbce Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 26 Nov 2014 19:52:11 +0100 Subject: [PATCH 049/221] Update gnupg mirrors. * guix/download.scm (%mirrors): Update mirror list for gnupg. --- guix/download.scm | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/guix/download.scm b/guix/download.scm index 947da004ae..4c111dd2b5 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -61,15 +61,23 @@ ,@(map (cut string-append <> "/gcc") gnu-mirrors)) (gnupg "ftp://gd.tuwien.ac.at/privacy/gnupg/" - "ftp://gnupg.x-zone.org/pub/gnupg/" - "ftp://ftp.gnupg.cz/pub/gcrypt/" - "ftp://sunsite.dk/pub/security/gcrypt/" - "http://gnupg.wildyou.net/" - "http://ftp.gnupg.zone-h.org/" - "ftp://ftp.jyu.fi/pub/crypt/gcrypt/" - "ftp://trumpetti.atm.tut.fi/gcrypt/" + "ftp://mirrors.dotsrc.org/gcrypt/" "ftp://mirror.cict.fr/gnupg/" - "ftp://ftp.strasbourg.linuxfr.org/pub/gnupg/") + "http://artfiles.org/gnupg.org" + "ftp://ftp.franken.de/pub/crypt/mirror/ftp.gnupg.org/gcrypt/" + "ftp://ftp.freenet.de/pub/ftp.gnupg.org/gcrypt/" + "http://www.crysys.hu/" + "ftp://ftp.hi.is/pub/mirrors/gnupg/" + "ftp://ftp.heanet.ie/mirrors/ftp.gnupg.org/gcrypt/" + "ftp://ftp.bit.nl/mirror/gnupg/" + "ftp://ftp.surfnet.nl/pub/security/gnupg/" + "ftp://ftp.iasi.roedu.net/pub/mirrors/ftp.gnupg.org/" + "ftp://ftp.sunet.se/pub/security/gnupg/" + "ftp://mirror.switch.ch/mirror/gnupg/" + "ftp://mirror.tje.me.uk/pub/mirrors/ftp.gnupg.org/" + "ftp://ftp.mirrorservice.org/sites/ftp.gnupg.org/gcrypt/" + "ftp://ftp.ring.gr.jp/pub/net/gnupg/" + "ftp://ftp.gnupg.org/gcrypt/") (gnome "http://ftp.belnet.be/ftp.gnome.org/" "http://ftp.linux.org.uk/mirrors/ftp.gnome.org/" From cbbc8771346513e1ea05d9a1d3af5d8d35ed284f Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 26 Nov 2014 23:07:16 +0300 Subject: [PATCH 050/221] emacs: Add missing directory to the guile load path. Reported by Adam Pribyl and David Thompson. * emacs/guix-helper.scm.in (set-paths!): Add guile module dir to '%load-path'. --- emacs/guix-helper.scm.in | 1 + 1 file changed, 1 insertion(+) diff --git a/emacs/guix-helper.scm.in b/emacs/guix-helper.scm.in index 554d55119f..0bbd36be21 100644 --- a/emacs/guix-helper.scm.in +++ b/emacs/guix-helper.scm.in @@ -50,6 +50,7 @@ (and=> (getenv "HOME") (cut string-append <> "/.config"))) (cut string-append <> "/guix/latest")))) + (push! module-dir %load-path) (push! module-dir %load-compiled-path) (if (and updates-dir (file-exists? updates-dir)) (begin From 9b4d1e7321d04f5d0075810090e72dc16e1578ac Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 23 Nov 2014 22:12:25 +0100 Subject: [PATCH 051/221] gnu: ccrtp: Update to 2.1.1. * gnu/packages/telephony.scm (ccrtp): Update to 2.1.1. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index ef3b97f322..45002fd864 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -75,13 +75,13 @@ support.") (define-public ccrtp (package (name "ccrtp") - (version "2.0.9") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ccrtp/ccrtp-" version ".tar.gz")) (sha256 (base32 - "1prh2niwa4lzvskk12j4ckr7dv141dfh8yjmpkbhbnv4gmpifci0")))) + "1p1pk2m7v75rdrh05rizpqcd5p08g3n541rw0kssyfzd805fb90d")))) (build-system gnu-build-system) (inputs `(("ucommon" ,ucommon) ("libgcrypt" ,libgcrypt))) From 598e19dca1677aebfe235e974f480b5bdd322694 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 26 Nov 2014 22:49:11 +0100 Subject: [PATCH 052/221] system: Build system-wide locale definitions. * gnu/system/locale.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/system.scm ()[locale]: Change the default to "en_US.utf8". (operating-system-locale-directory): New procecure. (operating-system-derivation): Use it. * doc/guix.texi (Using the Configuration System): Change example locale to "fr_FR.utf8". (operating-system Reference): Add xref to "Locales". Document 'locale-definitions'. (Locales): New section. * po/guix/POTFILES.in: Add gnu/system.scm. --- doc/guix.texi | 86 ++++++++++++++++++++++++++-- gnu-system.am | 1 + gnu/system.scm | 23 +++++++- gnu/system/locale.scm | 126 ++++++++++++++++++++++++++++++++++++++++++ po/guix/POTFILES.in | 1 + 5 files changed, 232 insertions(+), 5 deletions(-) create mode 100644 gnu/system/locale.scm diff --git a/doc/guix.texi b/doc/guix.texi index fe1f8a8b76..d4bc74f8a4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -139,6 +139,7 @@ System Configuration * File Systems:: Configuring file system mounts. * Mapped Devices:: Block device extra processing. * User Accounts:: Specifying user accounts. +* Locales:: Language and cultural convention settings. * Services:: Specifying system services. * Setuid Programs:: Programs running with root privileges. * Initial RAM Disk:: Linux-Libre bootstrapping. @@ -3470,6 +3471,7 @@ instance to support new system services. * File Systems:: Configuring file system mounts. * Mapped Devices:: Block device extra processing. * User Accounts:: Specifying user accounts. +* Locales:: Language and cultural convention settings. * Services:: Specifying system services. * Setuid Programs:: Programs running with root privileges. * Initial RAM Disk:: Linux-Libre bootstrapping. @@ -3496,7 +3498,7 @@ kernel, initial RAM disk, and boot loader looks like this: (operating-system (host-name "komputilo") (timezone "Europe/Paris") - (locale "fr_FR.UTF-8") + (locale "fr_FR.utf8") (bootloader (grub-configuration (device "/dev/sda"))) (file-systems (cons (file-system @@ -3649,9 +3651,13 @@ package}). @item @code{timezone} A timezone identifying string---e.g., @code{"Europe/Paris"}. -@item @code{locale} (default: @code{"en_US.UTF-8"}) -The name of the default locale (@pxref{Locales,,, libc, The GNU C -Library Reference Manual}). +@item @code{locale} (default: @code{"en_US.utf8"}) +The name of the default locale (@pxref{Locale Names,,, libc, The GNU C +Library Reference Manual}). @xref{Locales}, for more information. + +@item @code{locale-definitions} (default: @var{%default-locale-definitions}) +The list of locale definitions to be compiled and that may be used at +run time. @xref{Locales}. @item @code{services} (default: @var{%base-services}) A list of monadic values denoting system services. @xref{Services}. @@ -3958,6 +3964,78 @@ to be present on the system. This includes groups such as ``root'', specific devices such as ``audio'', ``disk'', and ``cdrom''. @end defvr +@node Locales +@subsection Locales + +@cindex locale +A @dfn{locale} defines cultural conventions for a particular language +and region of the world (@pxref{Locales,,, libc, The GNU C Library +Reference Manual}). Each locale has a name that typically has the form +@code{@var{language}_@var{territory}.@var{charset}}---e.g., +@code{fr_LU.utf8} designates the locale for the French language, with +cultural conventions from Luxembourg, and using the UTF-8 encoding. + +@cindex locale definition +Usually, you will want to specify the default locale for the machine +using the @code{locale} field of the @code{operating-system} declaration +(@pxref{operating-system Reference, @code{locale}}). + +That locale must be among the @dfn{locale definitions} that are known to +the system---and these are specified in the @code{locale-definitions} +slot of @code{operating-system}. The default value includes locale +definition for some widely used locales, but not for all the available +locales, in order to save space. + +If the locale specified in the @code{locale} field is not among the +definitions listed in @code{locale-definitions}, @command{guix system} +raises an error. In that case, you should add the locale definition to +the @code{locale-definitions} field. For instance, to add the North +Frisian locale for Germany, the value of that field may be: + +@example +(cons (locale-definition + (name "fy_DE.utf8") (source "fy_DE")) + %default-locale-definitions) +@end example + +Likewise, to save space, one might want @code{locale-definitions} to +list only the locales that are actually used, as in: + +@example +(list (locale-definition + (name "ja_JP.eucjp") (source "ja_JP") + (charset "EUC-JP"))) +@end example + +The @code{locale-definition} form is provided by the @code{(gnu system +locale)} module. Details are given below. + +@deftp {Data Type} locale-definition +This is the data type of a locale definition. + +@table @asis + +@item @code{name} +The name of the locale. @xref{Locale Names,,, libc, The GNU C Library +Reference Manual}, for more information on locale names. + +@item @code{source} +The name of the source for that locale. This is typically the +@code{@var{language}_@var{territory}} part of the locale name. + +@item @code{charset} (default: @code{"UTF-8"}) +The ``character set'' or ``code set'' for that locale, +@uref{http://www.iana.org/assignments/character-sets, as defined by +IANA}. + +@end table +@end deftp + +@defvr {Scheme Variable} %default-locale-definitions +An arbitrary list of commonly used locales, used as the default value of +the @code{locale-definitions} field of @code{operating-system} +declarations. +@end defvr @node Services @subsection Services diff --git a/gnu-system.am b/gnu-system.am index 4c9fcda8b9..bd1ac5d273 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -294,6 +294,7 @@ GNU_SYSTEM_MODULES = \ gnu/system/install.scm \ gnu/system/linux.scm \ gnu/system/linux-initrd.scm \ + gnu/system/locale.scm \ gnu/system/shadow.scm \ gnu/system/vm.scm \ \ diff --git a/gnu/system.scm b/gnu/system.scm index 5c915d3969..8883d3e752 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -46,12 +46,15 @@ #:use-module (gnu services base) #:use-module (gnu system grub) #:use-module (gnu system shadow) + #:use-module (gnu system locale) #:use-module (gnu system linux) #:use-module (gnu system linux-initrd) #:use-module (gnu system file-systems) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:export (operating-system operating-system? @@ -69,6 +72,7 @@ operating-system-packages operating-system-timezone operating-system-locale + operating-system-locale-definitions operating-system-mapped-devices operating-system-file-systems operating-system-activation-script @@ -129,7 +133,9 @@ (timezone operating-system-timezone) ; string (locale operating-system-locale ; string - (default "en_US.UTF-8")) + (default "en_US.utf8")) + (locale-definitions operating-system-locale-definitions ; list of + (default %default-locale-definitions)) (services operating-system-user-services ; list of monadic services (default %base-services)) @@ -649,6 +655,19 @@ we're running in the final root." #:mapped-devices mapped-devices))) (return #~(string-append #$initrd "/initrd")))) +(define (operating-system-locale-directory os) + "Return the directory containing the locales compiled for the definitions +listed in OS. The C library expects to find it under +/run/current-system/locale." + ;; While we're at it, check whether the locale of OS is defined. + (unless (member (operating-system-locale os) + (map locale-definition-name + (operating-system-locale-definitions os))) + (raise (condition + (&message (message "system locale lacks a definition"))))) + + (locale-directory (operating-system-locale-definitions os))) + (define (kernel->grub-label kernel) "Return a label for the GRUB menu entry that boots KERNEL." (string-append "GNU with " @@ -698,6 +717,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." (boot (operating-system-boot-script os)) (kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) + (locale (operating-system-locale-directory os)) (params (operating-system-parameters-file os))) (file-union "system" `(("boot" ,#~#$boot) @@ -705,6 +725,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." ("parameters" ,#~#$params) ("initrd" ,initrd) ("profile" ,#~#$profile) + ("locale" ,#~#$locale) ;used by libc ("etc" ,#~#$etc))))) ;;; system.scm ends here diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm new file mode 100644 index 0000000000..9c5c4d2fd9 --- /dev/null +++ b/gnu/system/locale.scm @@ -0,0 +1,126 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu system locale) + #:use-module (guix gexp) + #:use-module (guix records) + #:use-module (gnu packages base) + #:use-module (gnu packages compression) + #:use-module (srfi srfi-26) + #:export (locale-definition + locale-definition? + locale-definition-name + locale-definition-source + locale-definition-charset + + locale-directory + + %default-locale-definitions)) + +;;; Commentary: +;;; +;;; Locale definitions, and compilation thereof. +;;; +;;; Code: + +(define-record-type* locale-definition + make-locale-definition + locale-definition? + (name locale-definition-name) ;string--e.g., "fr_FR.utf8" + (source locale-definition-source) ;string--e.g., "fr_FR" + (charset locale-definition-charset ;string--e.g., "UTF-8" + (default "UTF-8"))) + +(define* (localedef-command locale + #:key (libc (canonical-package glibc))) + "Return a gexp that runs 'localdef' from LIBC to build LOCALE." + #~(begin + (format #t "building locale '~a'...~%" + #$(locale-definition-name locale)) + (zero? (system* (string-append #$libc "/bin/localedef") + "--no-archive" "--prefix" #$output + "-i" #$(locale-definition-source locale) + "-f" #$(locale-definition-charset locale) + (string-append #$output "/" + #$(locale-definition-name locale)))))) + +(define* (locale-directory locales + #:key (libc (canonical-package glibc))) + "Return a directory containing all of LOCALES compiled." + (define build + #~(begin + (mkdir #$output) + + ;; 'localedef' executes 'gzip' to access compressed locale sources. + (setenv "PATH" (string-append #$gzip "/bin")) + + (exit + (and #$@(map (cut localedef-command <> #:libc libc) + locales))))) + + (gexp->derivation "locale" build + #:local-build? #t)) + +(define %default-locale-definitions + ;; Arbitrary set of locales that are built by default. They are here mostly + ;; to facilitate first-time use to some people, while others may have to add + ;; a specific . + (letrec-syntax ((utf8-locale (syntax-rules () + ((_ name*) + (locale-definition + (name (string-append name* ".utf8")) + (source name*) + (charset "UTF-8"))))) + (utf8-locales (syntax-rules () + ((_ name ...) + (list (utf8-locale name) ...))))) + (utf8-locales "ca_ES" + "cs_CZ" + "da_DK" + "de_DE" + "el_GR" + "en_AU" + "en_CA" + "en_GB" + "en_US" + "es_AR" + "es_CL" + "es_ES" + "es_MX" + "fi_FI" + "fr_BE" + "fr_CA" + "fr_CH" + "fr_FR" + "ga_IE" + "it_IT" + "ja_JP" + "ko_KR" + "nb_NO" + "nl_NL" + "pl_PL" + "pt_PT" + "ro_RO" + "ru_RU" + "sv_SE" + "tr_TR" + "uk_UA" + "vi_VN" + "zh_CN"))) + +;;; locale.scm ends here diff --git a/po/guix/POTFILES.in b/po/guix/POTFILES.in index 5cc68ff404..591b6a1c9a 100644 --- a/po/guix/POTFILES.in +++ b/po/guix/POTFILES.in @@ -1,6 +1,7 @@ # List of source files which contain translatable strings. # This should be source files of the various tools, and not package modules. gnu/packages.scm +gnu/system.scm guix/scripts/build.scm guix/scripts/download.scm guix/scripts/package.scm From ec00de358ed0df0a82b8520407f5e1440973ac93 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 26 Nov 2014 17:29:16 +0100 Subject: [PATCH 053/221] gnu: Add numpydoc. * gnu/packages/python.scm (python-numpydoc, python2-numpydoc): 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 c0eea3c631..68dc67f1f2 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1981,3 +1981,37 @@ that client code uses to construct the grammar directly in Python code.") (define-public python2-pyparsing (package-with-python2 python-pyparsing)) +(define-public python-numpydoc + (package + (name "python-numpydoc") + (version "0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "https://pypi.python.org/packages/source/n/numpydoc/numpydoc-" + version ".tar.gz")) + (sha256 + (base32 + "0d4dnifaxkll50jx6czj05y8cb4ny60njd2wz299sj2jxfy51w4k")))) + (build-system python-build-system) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-docutils" ,python-docutils) + ("python-sphinx" ,python-sphinx) + ("python-nose" ,python-nose))) + (home-page "https://pypi.python.org/pypi/numpydoc") + (synopsis + "Numpy's Sphinx extensions") + (description + "Sphinx extension to support docstrings in Numpy format.") + (license bsd-2))) + +(define-public python2-numpydoc + (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 + ;; of matplotlib. + (arguments `(#:tests? #f + #:python ,python-2)))) From 4625141126eebf1525bc75e6d5860ea5a8fefa76 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 27 Nov 2014 23:34:46 +0100 Subject: [PATCH 054/221] gnu: gcl: Drop 'strip phase. * gnu/packages/lisp.scm (gcl): Drop 'strip phase to make maxima build. --- gnu/packages/lisp.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 0dbc11fcdf..0bacac47bf 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -63,7 +63,10 @@ (find-files "h" "\\.defs")) (("SHELL=/bin/(ba)?sh") (string-append "SHELL=" (which "bash"))))) - %standard-phases))) + ;; drop strip phase to make maxima build, see + ;; https://www.ma.utexas.edu/pipermail/maxima/2008/009769.html + (alist-delete 'strip + %standard-phases)))) (native-inputs `(("m4" ,m4) ("readline" ,readline) From d616c05529e7bd3e8cfd6106f9067c3de7c2b91c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Nov 2014 21:20:11 +0100 Subject: [PATCH 055/221] substitute-binary: Change "unresponsive" to "slow". * guix/scripts/substitute-binary.scm (fetch): Change "unresponsive" to "somewhat slow". I'm being told that the former is often misunderstood as "broken". --- guix/scripts/substitute-binary.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index ddca76d370..0801057e39 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -175,7 +175,7 @@ to the caller without emitting an error message." %fetch-timeout 0) (begin - (warning (_ "while fetching ~a: server is unresponsive~%") + (warning (_ "while fetching ~a: server is somewhat slow~%") (uri->string uri)) (warning (_ "try `--no-substitutes' if the problem persists~%")) From 1f6f57df7c081f56424bd38cf8a2c16f60f4cd71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Nov 2014 21:26:40 +0100 Subject: [PATCH 056/221] doc: Update stale references in "Bootstrapping". * doc/guix.texi (Bootstrapping): Final definitions are in (gnu packages commencement). Change gnu-build-system xref to "Build Systems". --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index d4bc74f8a4..aad201771a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5173,7 +5173,7 @@ no-dependency requirement is verified by checking whether the files of the final tool chain contain references to the @file{/gnu/store} directories of the bootstrap inputs. The process that leads to this ``final'' tool chain is described by the package definitions found in -the @code{(gnu packages base)} module. +the @code{(gnu packages commencement)} module. @c See . The first tool that gets built with the bootstrap binaries is @@ -5194,7 +5194,7 @@ And voilà! At this point we have the complete set of build tools that the GNU Build System expects. These are in the @code{%final-inputs} variable of the @code{(gnu packages commencement)} module, and are implicitly used by any package that uses @code{gnu-build-system} -(@pxref{Defining Packages}). +(@pxref{Build Systems, @code{gnu-build-system}}). @unnumberedsubsec Building the Bootstrap Binaries From d5d16686306c9a3b8cfc5c35d79ed2117a15c1e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Nov 2014 23:51:48 +0100 Subject: [PATCH 057/221] Add (guix elf). * guix/elf.scm: New file. Taken from Guile 'master', commit 3f826e3. * Makefile.am (MODULES): Add it. * THANKS: Thank Andy, who wrote this module. --- Makefile.am | 1 + THANKS | 1 + guix/elf.scm | 1045 ++++++++++++++++++++++++++++++++++++++++++++++++++ 3 files changed, 1047 insertions(+) create mode 100644 guix/elf.scm diff --git a/Makefile.am b/Makefile.am index ee029c3735..25ff2224cc 100644 --- a/Makefile.am +++ b/Makefile.am @@ -56,6 +56,7 @@ MODULES = \ guix/ftp-client.scm \ guix/http-client.scm \ guix/gnupg.scm \ + guix/elf.scm \ guix/store.scm \ guix/svn-download.scm \ guix/ui.scm \ diff --git a/THANKS b/THANKS index 4d398c16fe..dcd3717c36 100644 --- a/THANKS +++ b/THANKS @@ -31,6 +31,7 @@ infrastructure help: Benno Schulenberg Alen Skondro Matthias Wachs + Andy Wingo Philip Woods GNU Guix also includes non-software works. Thanks to the following diff --git a/guix/elf.scm b/guix/elf.scm new file mode 100644 index 0000000000..a4b0e819a5 --- /dev/null +++ b/guix/elf.scm @@ -0,0 +1,1045 @@ +;;; Guile ELF reader and writer + +;; Copyright (C) 2011, 2012, 2013, 2014 Free Software Foundation, Inc. + +;;;; This library is free software; you can redistribute it and/or +;;;; modify it under the terms of the GNU Lesser General Public +;;;; License as published by the Free Software Foundation; either +;;;; version 3 of the License, or (at your option) any later version. +;;;; +;;;; This library 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 +;;;; Lesser General Public License for more details. +;;;; +;;;; You should have received a copy of the GNU Lesser General Public +;;;; License along with this library; if not, write to the Free Software +;;;; Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA + +;;; Commentary: +;;; +;;; This file was taken from the Guile 2.1 branch, where it is known as +;;; (system vm elf), and renamed to (guix elf). It will be unneeded when Guix +;;; switches to Guile 2.1/2.2. +;;; +;;; A module to read and write Executable and Linking Format (ELF) +;;; files. +;;; +;;; This module exports a number of record types that represent the +;;; various parts that make up ELF files. Fundamentally this is the +;;; main header, the segment headers (program headers), and the section +;;; headers. It also exports bindings for symbolic constants and +;;; utilities to parse and write special kinds of ELF sections. +;;; +;;; See elf(5) for more information on ELF. +;;; +;;; Code: + +(define-module (guix elf) + #:use-module (rnrs bytevectors) + #:use-module (system foreign) + #:use-module (system base target) + #:use-module (srfi srfi-9) + #:use-module (ice-9 receive) + #:use-module (ice-9 vlist) + #:export (has-elf-header? + + (make-elf* . make-elf) + elf? + elf-bytes elf-word-size elf-byte-order + elf-abi elf-type elf-machine-type + elf-entry elf-phoff elf-shoff elf-flags elf-ehsize + elf-phentsize elf-phnum elf-shentsize elf-shnum elf-shstrndx + + ELFOSABI_NONE ELFOSABI_HPUX ELFOSABI_NETBSD ELFOSABI_GNU + ELFOSABI_SOLARIS ELFOSABI_AIX ELFOSABI_IRIX ELFOSABI_FREEBSD + ELFOSABI_TRU64 ELFOSABI_MODESTO ELFOSABI_OPENBSD + ELFOSABI_ARM_AEABI ELFOSABI_ARM ELFOSABI_STANDALONE + + ET_NONE ET_REL ET_EXEC ET_DYN ET_CORE + + EM_NONE EM_SPARC EM_386 EM_MIPS EM_PPC EM_PPC64 EM_ARM EM_SH + EM_SPARCV9 EM_IA_64 EM_X86_64 + + elf-header-len elf-header-shoff-offset + write-elf-header + + (make-elf-segment* . make-elf-segment) + elf-segment? + elf-segment-index + elf-segment-type elf-segment-offset elf-segment-vaddr + elf-segment-paddr elf-segment-filesz elf-segment-memsz + elf-segment-flags elf-segment-align + + elf-program-header-len write-elf-program-header + + PT_NULL PT_LOAD PT_DYNAMIC PT_INTERP PT_NOTE PT_SHLIB + PT_PHDR PT_TLS PT_NUM PT_LOOS PT_GNU_EH_FRAME PT_GNU_STACK + PT_GNU_RELRO + + PF_R PF_W PF_X + + (make-elf-section* . make-elf-section) + elf-section? + elf-section-index + elf-section-name elf-section-type elf-section-flags + elf-section-addr elf-section-offset elf-section-size + elf-section-link elf-section-info elf-section-addralign + elf-section-entsize + + elf-section-header-len elf-section-header-addr-offset + elf-section-header-offset-offset + write-elf-section-header + + (make-elf-symbol* . make-elf-symbol) + elf-symbol? + elf-symbol-name elf-symbol-value elf-symbol-size + elf-symbol-info elf-symbol-other elf-symbol-shndx + elf-symbol-binding elf-symbol-type elf-symbol-visibility + + elf-symbol-len elf-symbol-value-offset write-elf-symbol + + SHN_UNDEF + + SHT_NULL SHT_PROGBITS SHT_SYMTAB SHT_STRTAB SHT_RELA + SHT_HASH SHT_DYNAMIC SHT_NOTE SHT_NOBITS SHT_REL SHT_SHLIB + SHT_DYNSYM SHT_INIT_ARRAY SHT_FINI_ARRAY SHT_PREINIT_ARRAY + SHT_GROUP SHT_SYMTAB_SHNDX SHT_NUM SHT_LOOS SHT_HIOS + SHT_LOPROC SHT_HIPROC SHT_LOUSER SHT_HIUSER + + SHF_WRITE SHF_ALLOC SHF_EXECINSTR SHF_MERGE SHF_STRINGS + SHF_INFO_LINK SHF_LINK_ORDER SHF_OS_NONCONFORMING SHF_GROUP + SHF_TLS + + DT_NULL DT_NEEDED DT_PLTRELSZ DT_PLTGOT DT_HASH DT_STRTAB + DT_SYMTAB DT_RELA DT_RELASZ DT_RELAENT DT_STRSZ DT_SYMENT + DT_INIT DT_FINI DT_SONAME DT_RPATH DT_SYMBOLIC DT_REL + DT_RELSZ DT_RELENT DT_PLTREL DT_DEBUG DT_TEXTREL DT_JMPREL + DT_BIND_NOW DT_INIT_ARRAY DT_FINI_ARRAY DT_INIT_ARRAYSZ + DT_FINI_ARRAYSZ DT_RUNPATH DT_FLAGS DT_ENCODING + DT_PREINIT_ARRAY DT_PREINIT_ARRAYSZ DT_NUM DT_LOGUILE + DT_GUILE_GC_ROOT DT_GUILE_GC_ROOT_SZ DT_GUILE_ENTRY + DT_GUILE_VM_VERSION DT_GUILE_FRAME_MAPS DT_HIGUILE + DT_LOOS DT_HIOS DT_LOPROC DT_HIPROC + + string-table-ref + + STB_LOCAL STB_GLOBAL STB_WEAK STB_NUM STB_LOOS STB_GNU + STB_HIOS STB_LOPROC STB_HIPROC + + STT_NOTYPE STT_OBJECT STT_FUNC STT_SECTION STT_FILE + STT_COMMON STT_TLS STT_NUM STT_LOOS STT_GNU STT_HIOS + STT_LOPROC STT_HIPROC + + STV_DEFAULT STV_INTERNAL STV_HIDDEN STV_PROTECTED + + NT_GNU_ABI_TAG NT_GNU_HWCAP NT_GNU_BUILD_ID NT_GNU_GOLD_VERSION + + parse-elf + elf-segment elf-segments + elf-section elf-sections elf-section-by-name elf-sections-by-name + elf-symbol-table-len elf-symbol-table-ref + + parse-elf-note + elf-note-name elf-note-desc elf-note-type)) + +;; #define EI_NIDENT 16 + +;; typedef struct { +;; unsigned char e_ident[EI_NIDENT]; +;; uint16_t e_type; +;; uint16_t e_machine; +;; uint32_t e_version; +;; ElfN_Addr e_entry; +;; ElfN_Off e_phoff; +;; ElfN_Off e_shoff; +;; uint32_t e_flags; +;; uint16_t e_ehsize; +;; uint16_t e_phentsize; +;; uint16_t e_phnum; +;; uint16_t e_shentsize; +;; uint16_t e_shnum; +;; uint16_t e_shstrndx; +;; } ElfN_Ehdr; + +(define elf32-header-len 52) +(define elf64-header-len 64) +(define (elf-header-len word-size) + (case word-size + ((4) elf32-header-len) + ((8) elf64-header-len) + (else (error "invalid word size" word-size)))) +(define (elf-header-shoff-offset word-size) + (case word-size + ((4) 32) + ((8) 40) + (else (error "bad word size" word-size)))) + +(define ELFCLASS32 1) ; 32-bit objects +(define ELFCLASS64 2) ; 64-bit objects + +(define ELFDATA2LSB 1) ; 2's complement, little endian +(define ELFDATA2MSB 2) ; 2's complement, big endian + +(define EV_CURRENT 1) ; Current version + +(define ELFOSABI_NONE 0) ; UNIX System V ABI */ +(define ELFOSABI_HPUX 1) ; HP-UX +(define ELFOSABI_NETBSD 2) ; NetBSD. +(define ELFOSABI_GNU 3) ; Object uses GNU ELF extensions. +(define ELFOSABI_SOLARIS 6) ; Sun Solaris. +(define ELFOSABI_AIX 7) ; IBM AIX. +(define ELFOSABI_IRIX 8) ; SGI Irix. +(define ELFOSABI_FREEBSD 9) ; FreeBSD. +(define ELFOSABI_TRU64 10) ; Compaq TRU64 UNIX. +(define ELFOSABI_MODESTO 11) ; Novell Modesto. +(define ELFOSABI_OPENBSD 12) ; OpenBSD. +(define ELFOSABI_ARM_AEABI 64) ; ARM EABI +(define ELFOSABI_ARM 97) ; ARM +(define ELFOSABI_STANDALONE 255) ; Standalone (embedded) application + +(define ET_NONE 0) ; No file type +(define ET_REL 1) ; Relocatable file +(define ET_EXEC 2) ; Executable file +(define ET_DYN 3) ; Shared object file +(define ET_CORE 4) ; Core file + +;; +;; Machine types +;; +;; Just a sampling of these values. We could include more, but the +;; important thing is to recognize architectures for which we have a +;; native compiler. Recognizing more common machine types is icing on +;; the cake. +;; +(define EM_NONE 0) ; No machine +(define EM_SPARC 2) ; SUN SPARC +(define EM_386 3) ; Intel 80386 +(define EM_MIPS 8) ; MIPS R3000 big-endian +(define EM_PPC 20) ; PowerPC +(define EM_PPC64 21) ; PowerPC 64-bit +(define EM_ARM 40) ; ARM +(define EM_SH 42) ; Hitachi SH +(define EM_SPARCV9 43) ; SPARC v9 64-bit +(define EM_IA_64 50) ; Intel Merced +(define EM_X86_64 62) ; AMD x86-64 architecture + +(define cpu-mapping (make-hash-table)) +(for-each (lambda (pair) + (hashq-set! cpu-mapping (car pair) (cdr pair))) + `((none . ,EM_NONE) + (sparc . ,EM_SPARC) ; FIXME: map 64-bit to SPARCV9 ? + (i386 . ,EM_386) + (mips . ,EM_MIPS) + (ppc . ,EM_PPC) + (ppc64 . ,EM_PPC64) + (arm . ,EM_ARM) ; FIXME: there are more arm cpu variants + (sh . ,EM_SH) ; FIXME: there are more sh cpu variants + (ia64 . ,EM_IA_64) + (x86_64 . ,EM_X86_64))) + +(define SHN_UNDEF 0) + +(define host-machine-type + (hashq-ref cpu-mapping + (string->symbol (car (string-split %host-type #\-))) + EM_NONE)) + +(define host-word-size + (sizeof '*)) + +(define host-byte-order + (native-endianness)) + +(define (has-elf-header? bv) + (and + ;; e_ident + (>= (bytevector-length bv) 16) + (= (bytevector-u8-ref bv 0) #x7f) + (= (bytevector-u8-ref bv 1) (char->integer #\E)) + (= (bytevector-u8-ref bv 2) (char->integer #\L)) + (= (bytevector-u8-ref bv 3) (char->integer #\F)) + (cond + ((= (bytevector-u8-ref bv 4) ELFCLASS32) + (>= (bytevector-length bv) elf32-header-len)) + ((= (bytevector-u8-ref bv 4) ELFCLASS64) + (>= (bytevector-length bv) elf64-header-len)) + (else #f)) + (or (= (bytevector-u8-ref bv 5) ELFDATA2LSB) + (= (bytevector-u8-ref bv 5) ELFDATA2MSB)) + (= (bytevector-u8-ref bv 6) EV_CURRENT) + ;; Look at ABI later. + (= (bytevector-u8-ref bv 8) 0) ; ABI version + ;; The rest of the e_ident is padding. + + ;; e_version + (let ((byte-order (if (= (bytevector-u8-ref bv 5) ELFDATA2LSB) + (endianness little) + (endianness big)))) + (= (bytevector-u32-ref bv 20 byte-order) EV_CURRENT)))) + +(define-record-type + (make-elf bytes word-size byte-order abi type machine-type + entry phoff shoff flags ehsize + phentsize phnum shentsize shnum shstrndx) + elf? + (bytes elf-bytes) + (word-size elf-word-size) + (byte-order elf-byte-order) + (abi elf-abi) + (type elf-type) + (machine-type elf-machine-type) + (entry elf-entry) + (phoff elf-phoff) + (shoff elf-shoff) + (flags elf-flags) + (ehsize elf-ehsize) + (phentsize elf-phentsize) + (phnum elf-phnum) + (shentsize elf-shentsize) + (shnum elf-shnum) + (shstrndx elf-shstrndx)) + +(define* (make-elf* #:key (bytes #f) + (byte-order (target-endianness)) + (word-size (target-word-size)) + (abi ELFOSABI_STANDALONE) + (type ET_DYN) + (machine-type EM_NONE) + (entry 0) + (phoff (elf-header-len word-size)) + (shoff -1) + (flags 0) + (ehsize (elf-header-len word-size)) + (phentsize (elf-program-header-len word-size)) + (phnum 0) + (shentsize (elf-section-header-len word-size)) + (shnum 0) + (shstrndx SHN_UNDEF)) + (make-elf bytes word-size byte-order abi type machine-type + entry phoff shoff flags ehsize + phentsize phnum shentsize shnum shstrndx)) + +(define (parse-elf32 bv byte-order) + (make-elf bv 4 byte-order + (bytevector-u8-ref bv 7) + (bytevector-u16-ref bv 16 byte-order) + (bytevector-u16-ref bv 18 byte-order) + (bytevector-u32-ref bv 24 byte-order) + (bytevector-u32-ref bv 28 byte-order) + (bytevector-u32-ref bv 32 byte-order) + (bytevector-u32-ref bv 36 byte-order) + (bytevector-u16-ref bv 40 byte-order) + (bytevector-u16-ref bv 42 byte-order) + (bytevector-u16-ref bv 44 byte-order) + (bytevector-u16-ref bv 46 byte-order) + (bytevector-u16-ref bv 48 byte-order) + (bytevector-u16-ref bv 50 byte-order))) + +(define (write-elf-ident bv class data abi) + (bytevector-u8-set! bv 0 #x7f) + (bytevector-u8-set! bv 1 (char->integer #\E)) + (bytevector-u8-set! bv 2 (char->integer #\L)) + (bytevector-u8-set! bv 3 (char->integer #\F)) + (bytevector-u8-set! bv 4 class) + (bytevector-u8-set! bv 5 data) + (bytevector-u8-set! bv 6 EV_CURRENT) + (bytevector-u8-set! bv 7 abi) + (bytevector-u8-set! bv 8 0) ; ABI version + (bytevector-u8-set! bv 9 0) ; Pad to 16 bytes. + (bytevector-u8-set! bv 10 0) + (bytevector-u8-set! bv 11 0) + (bytevector-u8-set! bv 12 0) + (bytevector-u8-set! bv 13 0) + (bytevector-u8-set! bv 14 0) + (bytevector-u8-set! bv 15 0)) + +(define (write-elf32-header bv elf) + (let ((byte-order (elf-byte-order elf))) + (write-elf-ident bv ELFCLASS32 + (case byte-order + ((little) ELFDATA2LSB) + ((big) ELFDATA2MSB) + (else (error "unknown endianness" byte-order))) + (elf-abi elf)) + (bytevector-u16-set! bv 16 (elf-type elf) byte-order) + (bytevector-u16-set! bv 18 (elf-machine-type elf) byte-order) + (bytevector-u32-set! bv 20 EV_CURRENT byte-order) + (bytevector-u32-set! bv 24 (elf-entry elf) byte-order) + (bytevector-u32-set! bv 28 (elf-phoff elf) byte-order) + (bytevector-u32-set! bv 32 (elf-shoff elf) byte-order) + (bytevector-u32-set! bv 36 (elf-flags elf) byte-order) + (bytevector-u16-set! bv 40 (elf-ehsize elf) byte-order) + (bytevector-u16-set! bv 42 (elf-phentsize elf) byte-order) + (bytevector-u16-set! bv 44 (elf-phnum elf) byte-order) + (bytevector-u16-set! bv 46 (elf-shentsize elf) byte-order) + (bytevector-u16-set! bv 48 (elf-shnum elf) byte-order) + (bytevector-u16-set! bv 50 (elf-shstrndx elf) byte-order))) + +(define (parse-elf64 bv byte-order) + (make-elf bv 8 byte-order + (bytevector-u8-ref bv 7) + (bytevector-u16-ref bv 16 byte-order) + (bytevector-u16-ref bv 18 byte-order) + (bytevector-u64-ref bv 24 byte-order) + (bytevector-u64-ref bv 32 byte-order) + (bytevector-u64-ref bv 40 byte-order) + (bytevector-u32-ref bv 48 byte-order) + (bytevector-u16-ref bv 52 byte-order) + (bytevector-u16-ref bv 54 byte-order) + (bytevector-u16-ref bv 56 byte-order) + (bytevector-u16-ref bv 58 byte-order) + (bytevector-u16-ref bv 60 byte-order) + (bytevector-u16-ref bv 62 byte-order))) + +(define (write-elf64-header bv elf) + (let ((byte-order (elf-byte-order elf))) + (write-elf-ident bv ELFCLASS64 + (case byte-order + ((little) ELFDATA2LSB) + ((big) ELFDATA2MSB) + (else (error "unknown endianness" byte-order))) + (elf-abi elf)) + (bytevector-u16-set! bv 16 (elf-type elf) byte-order) + (bytevector-u16-set! bv 18 (elf-machine-type elf) byte-order) + (bytevector-u32-set! bv 20 EV_CURRENT byte-order) + (bytevector-u64-set! bv 24 (elf-entry elf) byte-order) + (bytevector-u64-set! bv 32 (elf-phoff elf) byte-order) + (bytevector-u64-set! bv 40 (elf-shoff elf) byte-order) + (bytevector-u32-set! bv 48 (elf-flags elf) byte-order) + (bytevector-u16-set! bv 52 (elf-ehsize elf) byte-order) + (bytevector-u16-set! bv 54 (elf-phentsize elf) byte-order) + (bytevector-u16-set! bv 56 (elf-phnum elf) byte-order) + (bytevector-u16-set! bv 58 (elf-shentsize elf) byte-order) + (bytevector-u16-set! bv 60 (elf-shnum elf) byte-order) + (bytevector-u16-set! bv 62 (elf-shstrndx elf) byte-order))) + +(define (parse-elf bv) + (cond + ((has-elf-header? bv) + (let ((class (bytevector-u8-ref bv 4)) + (byte-order (let ((data (bytevector-u8-ref bv 5))) + (cond + ((= data ELFDATA2LSB) (endianness little)) + ((= data ELFDATA2MSB) (endianness big)) + (else (error "unhandled byte order" data)))))) + (cond + ((= class ELFCLASS32) (parse-elf32 bv byte-order)) + ((= class ELFCLASS64) (parse-elf64 bv byte-order)) + (else (error "unhandled class" class))))) + (else + (error "Invalid ELF" bv)))) + +(define* (write-elf-header bv elf) + ((case (elf-word-size elf) + ((4) write-elf32-header) + ((8) write-elf64-header) + (else (error "unknown word size" (elf-word-size elf)))) + bv elf)) + +;; +;; Segment types +;; +(define PT_NULL 0) ; Program header table entry unused +(define PT_LOAD 1) ; Loadable program segment +(define PT_DYNAMIC 2) ; Dynamic linking information +(define PT_INTERP 3) ; Program interpreter +(define PT_NOTE 4) ; Auxiliary information +(define PT_SHLIB 5) ; Reserved +(define PT_PHDR 6) ; Entry for header table itself +(define PT_TLS 7) ; Thread-local storage segment +(define PT_NUM 8) ; Number of defined types +(define PT_LOOS #x60000000) ; Start of OS-specific +(define PT_GNU_EH_FRAME #x6474e550) ; GCC .eh_frame_hdr segment +(define PT_GNU_STACK #x6474e551) ; Indicates stack executability +(define PT_GNU_RELRO #x6474e552) ; Read-only after relocation + +;; +;; Segment flags +;; +(define PF_X (ash 1 0)) ; Segment is executable +(define PF_W (ash 1 1)) ; Segment is writable +(define PF_R (ash 1 2)) ; Segment is readable + +(define-record-type + (make-elf-segment index type offset vaddr paddr filesz memsz flags align) + elf-segment? + (index elf-segment-index) + (type elf-segment-type) + (offset elf-segment-offset) + (vaddr elf-segment-vaddr) + (paddr elf-segment-paddr) + (filesz elf-segment-filesz) + (memsz elf-segment-memsz) + (flags elf-segment-flags) + (align elf-segment-align)) + +(define* (make-elf-segment* #:key (index -1) (type PT_LOAD) (offset 0) (vaddr 0) + (paddr 0) (filesz 0) (memsz filesz) + (flags (logior PF_W PF_R)) + (align 8)) + (make-elf-segment index type offset vaddr paddr filesz memsz flags align)) + +;; typedef struct { +;; uint32_t p_type; +;; Elf32_Off p_offset; +;; Elf32_Addr p_vaddr; +;; Elf32_Addr p_paddr; +;; uint32_t p_filesz; +;; uint32_t p_memsz; +;; uint32_t p_flags; +;; uint32_t p_align; +;; } Elf32_Phdr; + +(define (parse-elf32-program-header index bv offset byte-order) + (if (<= (+ offset 32) (bytevector-length bv)) + (make-elf-segment index + (bytevector-u32-ref bv offset byte-order) + (bytevector-u32-ref bv (+ offset 4) byte-order) + (bytevector-u32-ref bv (+ offset 8) byte-order) + (bytevector-u32-ref bv (+ offset 12) byte-order) + (bytevector-u32-ref bv (+ offset 16) byte-order) + (bytevector-u32-ref bv (+ offset 20) byte-order) + (bytevector-u32-ref bv (+ offset 24) byte-order) + (bytevector-u32-ref bv (+ offset 28) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf32-program-header bv offset byte-order seg) + (bytevector-u32-set! bv offset (elf-segment-type seg) byte-order) + (bytevector-u32-set! bv (+ offset 4) (elf-segment-offset seg) byte-order) + (bytevector-u32-set! bv (+ offset 8) (elf-segment-vaddr seg) byte-order) + (bytevector-u32-set! bv (+ offset 12) (elf-segment-paddr seg) byte-order) + (bytevector-u32-set! bv (+ offset 16) (elf-segment-filesz seg) byte-order) + (bytevector-u32-set! bv (+ offset 20) (elf-segment-memsz seg) byte-order) + (bytevector-u32-set! bv (+ offset 24) (elf-segment-flags seg) byte-order) + (bytevector-u32-set! bv (+ offset 28) (elf-segment-align seg) byte-order)) + + +;; typedef struct { +;; uint32_t p_type; +;; uint32_t p_flags; +;; Elf64_Off p_offset; +;; Elf64_Addr p_vaddr; +;; Elf64_Addr p_paddr; +;; uint64_t p_filesz; +;; uint64_t p_memsz; +;; uint64_t p_align; +;; } Elf64_Phdr; + +;; NB: position of `flags' is different! + +(define (parse-elf64-program-header index bv offset byte-order) + (if (<= (+ offset 56) (bytevector-length bv)) + (make-elf-segment index + (bytevector-u32-ref bv offset byte-order) + (bytevector-u64-ref bv (+ offset 8) byte-order) + (bytevector-u64-ref bv (+ offset 16) byte-order) + (bytevector-u64-ref bv (+ offset 24) byte-order) + (bytevector-u64-ref bv (+ offset 32) byte-order) + (bytevector-u64-ref bv (+ offset 40) byte-order) + (bytevector-u32-ref bv (+ offset 4) byte-order) + (bytevector-u64-ref bv (+ offset 48) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf64-program-header bv offset byte-order seg) + (bytevector-u32-set! bv offset (elf-segment-type seg) byte-order) + (bytevector-u64-set! bv (+ offset 8) (elf-segment-offset seg) byte-order) + (bytevector-u64-set! bv (+ offset 16) (elf-segment-vaddr seg) byte-order) + (bytevector-u64-set! bv (+ offset 24) (elf-segment-paddr seg) byte-order) + (bytevector-u64-set! bv (+ offset 32) (elf-segment-filesz seg) byte-order) + (bytevector-u64-set! bv (+ offset 40) (elf-segment-memsz seg) byte-order) + (bytevector-u32-set! bv (+ offset 4) (elf-segment-flags seg) byte-order) + (bytevector-u64-set! bv (+ offset 48) (elf-segment-align seg) byte-order)) + +(define (write-elf-program-header bv offset byte-order word-size seg) + ((case word-size + ((4) write-elf32-program-header) + ((8) write-elf64-program-header) + (else (error "invalid word size" word-size))) + bv offset byte-order seg)) + +(define (elf-program-header-len word-size) + (case word-size + ((4) 32) + ((8) 56) + (else (error "bad word size" word-size)))) + +(define (elf-segment elf n) + (if (not (< -1 n (elf-phnum elf))) + (error "bad segment number" n)) + ((case (elf-word-size elf) + ((4) parse-elf32-program-header) + ((8) parse-elf64-program-header) + (else (error "unhandled pointer size"))) + (elf-bytes elf) + (+ (elf-phoff elf) (* n (elf-phentsize elf))) + (elf-byte-order elf))) + +(define (elf-segments elf) + (let lp ((n (elf-phnum elf)) (out '())) + (if (zero? n) + out + (lp (1- n) (cons (elf-segment elf (1- n)) out))))) + +(define-record-type + (make-elf-section index name type flags + addr offset size link info addralign entsize) + elf-section? + (index elf-section-index) + (name elf-section-name) + (type elf-section-type) + (flags elf-section-flags) + (addr elf-section-addr) + (offset elf-section-offset) + (size elf-section-size) + (link elf-section-link) + (info elf-section-info) + (addralign elf-section-addralign) + (entsize elf-section-entsize)) + +(define* (make-elf-section* #:key (index SHN_UNDEF) (name 0) (type SHT_PROGBITS) + (flags SHF_ALLOC) (addr 0) (offset 0) (size 0) + (link 0) (info 0) (addralign 8) (entsize 0)) + (make-elf-section index name type flags addr offset size link info addralign + entsize)) + +;; typedef struct { +;; uint32_t sh_name; +;; uint32_t sh_type; +;; uint32_t sh_flags; +;; Elf32_Addr sh_addr; +;; Elf32_Off sh_offset; +;; uint32_t sh_size; +;; uint32_t sh_link; +;; uint32_t sh_info; +;; uint32_t sh_addralign; +;; uint32_t sh_entsize; +;; } Elf32_Shdr; + +(define (parse-elf32-section-header index bv offset byte-order) + (if (<= (+ offset 40) (bytevector-length bv)) + (make-elf-section index + (bytevector-u32-ref bv offset byte-order) + (bytevector-u32-ref bv (+ offset 4) byte-order) + (bytevector-u32-ref bv (+ offset 8) byte-order) + (bytevector-u32-ref bv (+ offset 12) byte-order) + (bytevector-u32-ref bv (+ offset 16) byte-order) + (bytevector-u32-ref bv (+ offset 20) byte-order) + (bytevector-u32-ref bv (+ offset 24) byte-order) + (bytevector-u32-ref bv (+ offset 28) byte-order) + (bytevector-u32-ref bv (+ offset 32) byte-order) + (bytevector-u32-ref bv (+ offset 36) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf32-section-header bv offset byte-order sec) + (bytevector-u32-set! bv offset (elf-section-name sec) byte-order) + (bytevector-u32-set! bv (+ offset 4) (elf-section-type sec) byte-order) + (bytevector-u32-set! bv (+ offset 8) (elf-section-flags sec) byte-order) + (bytevector-u32-set! bv (+ offset 12) (elf-section-addr sec) byte-order) + (bytevector-u32-set! bv (+ offset 16) (elf-section-offset sec) byte-order) + (bytevector-u32-set! bv (+ offset 20) (elf-section-size sec) byte-order) + (bytevector-u32-set! bv (+ offset 24) (elf-section-link sec) byte-order) + (bytevector-u32-set! bv (+ offset 28) (elf-section-info sec) byte-order) + (bytevector-u32-set! bv (+ offset 32) (elf-section-addralign sec) byte-order) + (bytevector-u32-set! bv (+ offset 36) (elf-section-entsize sec) byte-order)) + + +;; typedef struct { +;; uint32_t sh_name; +;; uint32_t sh_type; +;; uint64_t sh_flags; +;; Elf64_Addr sh_addr; +;; Elf64_Off sh_offset; +;; uint64_t sh_size; +;; uint32_t sh_link; +;; uint32_t sh_info; +;; uint64_t sh_addralign; +;; uint64_t sh_entsize; +;; } Elf64_Shdr; + +(define (elf-section-header-len word-size) + (case word-size + ((4) 40) + ((8) 64) + (else (error "bad word size" word-size)))) + +(define (elf-section-header-addr-offset word-size) + (case word-size + ((4) 12) + ((8) 16) + (else (error "bad word size" word-size)))) + +(define (elf-section-header-offset-offset word-size) + (case word-size + ((4) 16) + ((8) 24) + (else (error "bad word size" word-size)))) + +(define (parse-elf64-section-header index bv offset byte-order) + (if (<= (+ offset 64) (bytevector-length bv)) + (make-elf-section index + (bytevector-u32-ref bv offset byte-order) + (bytevector-u32-ref bv (+ offset 4) byte-order) + (bytevector-u64-ref bv (+ offset 8) byte-order) + (bytevector-u64-ref bv (+ offset 16) byte-order) + (bytevector-u64-ref bv (+ offset 24) byte-order) + (bytevector-u64-ref bv (+ offset 32) byte-order) + (bytevector-u32-ref bv (+ offset 40) byte-order) + (bytevector-u32-ref bv (+ offset 44) byte-order) + (bytevector-u64-ref bv (+ offset 48) byte-order) + (bytevector-u64-ref bv (+ offset 56) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf64-section-header bv offset byte-order sec) + (bytevector-u32-set! bv offset (elf-section-name sec) byte-order) + (bytevector-u32-set! bv (+ offset 4) (elf-section-type sec) byte-order) + (bytevector-u64-set! bv (+ offset 8) (elf-section-flags sec) byte-order) + (bytevector-u64-set! bv (+ offset 16) (elf-section-addr sec) byte-order) + (bytevector-u64-set! bv (+ offset 24) (elf-section-offset sec) byte-order) + (bytevector-u64-set! bv (+ offset 32) (elf-section-size sec) byte-order) + (bytevector-u32-set! bv (+ offset 40) (elf-section-link sec) byte-order) + (bytevector-u32-set! bv (+ offset 44) (elf-section-info sec) byte-order) + (bytevector-u64-set! bv (+ offset 48) (elf-section-addralign sec) byte-order) + (bytevector-u64-set! bv (+ offset 56) (elf-section-entsize sec) byte-order)) + +(define (elf-section elf n) + (if (not (< -1 n (elf-shnum elf))) + (error "bad section number" n)) + ((case (elf-word-size elf) + ((4) parse-elf32-section-header) + ((8) parse-elf64-section-header) + (else (error "unhandled pointer size"))) + n + (elf-bytes elf) + (+ (elf-shoff elf) (* n (elf-shentsize elf))) + (elf-byte-order elf))) + +(define (write-elf-section-header bv offset byte-order word-size sec) + ((case word-size + ((4) write-elf32-section-header) + ((8) write-elf64-section-header) + (else (error "invalid word size" word-size))) + bv offset byte-order sec)) + +(define (elf-sections elf) + (let lp ((n (elf-shnum elf)) (out '())) + (if (zero? n) + out + (lp (1- n) (cons (elf-section elf (1- n)) out))))) + +;; +;; Section Types +;; +(define SHT_NULL 0) ; Section header table entry unused +(define SHT_PROGBITS 1) ; Program data +(define SHT_SYMTAB 2) ; Symbol table +(define SHT_STRTAB 3) ; String table +(define SHT_RELA 4) ; Relocation entries with addends +(define SHT_HASH 5) ; Symbol hash table +(define SHT_DYNAMIC 6) ; Dynamic linking information +(define SHT_NOTE 7) ; Notes +(define SHT_NOBITS 8) ; Program space with no data (bss) +(define SHT_REL 9) ; Relocation entries, no addends +(define SHT_SHLIB 10) ; Reserved +(define SHT_DYNSYM 11) ; Dynamic linker symbol table +(define SHT_INIT_ARRAY 14) ; Array of constructors +(define SHT_FINI_ARRAY 15) ; Array of destructors +(define SHT_PREINIT_ARRAY 16) ; Array of pre-constructors +(define SHT_GROUP 17) ; Section group +(define SHT_SYMTAB_SHNDX 18) ; Extended section indeces +(define SHT_NUM 19) ; Number of defined types. +(define SHT_LOOS #x60000000) ; Start OS-specific. +(define SHT_HIOS #x6fffffff) ; End OS-specific type +(define SHT_LOPROC #x70000000) ; Start of processor-specific +(define SHT_HIPROC #x7fffffff) ; End of processor-specific +(define SHT_LOUSER #x80000000) ; Start of application-specific +(define SHT_HIUSER #x8fffffff) ; End of application-specific + +;; +;; Section Flags +;; +(define SHF_WRITE (ash 1 0)) ; Writable +(define SHF_ALLOC (ash 1 1)) ; Occupies memory during execution +(define SHF_EXECINSTR (ash 1 2)) ; Executable +(define SHF_MERGE (ash 1 4)) ; Might be merged +(define SHF_STRINGS (ash 1 5)) ; Contains nul-terminated strings +(define SHF_INFO_LINK (ash 1 6)) ; `sh_info' contains SHT index +(define SHF_LINK_ORDER (ash 1 7)) ; Preserve order after combining +(define SHF_OS_NONCONFORMING (ash 1 8)) ; Non-standard OS specific handling required +(define SHF_GROUP (ash 1 9)) ; Section is member of a group. +(define SHF_TLS (ash 1 10)) ; Section hold thread-local data. + +;; +;; Dynamic entry types. The DT_GUILE types are non-standard. +;; +(define DT_NULL 0) ; Marks end of dynamic section +(define DT_NEEDED 1) ; Name of needed library +(define DT_PLTRELSZ 2) ; Size in bytes of PLT relocs +(define DT_PLTGOT 3) ; Processor defined value +(define DT_HASH 4) ; Address of symbol hash table +(define DT_STRTAB 5) ; Address of string table +(define DT_SYMTAB 6) ; Address of symbol table +(define DT_RELA 7) ; Address of Rela relocs +(define DT_RELASZ 8) ; Total size of Rela relocs +(define DT_RELAENT 9) ; Size of one Rela reloc +(define DT_STRSZ 10) ; Size of string table +(define DT_SYMENT 11) ; Size of one symbol table entry +(define DT_INIT 12) ; Address of init function +(define DT_FINI 13) ; Address of termination function +(define DT_SONAME 14) ; Name of shared object +(define DT_RPATH 15) ; Library search path (deprecated) +(define DT_SYMBOLIC 16) ; Start symbol search here +(define DT_REL 17) ; Address of Rel relocs +(define DT_RELSZ 18) ; Total size of Rel relocs +(define DT_RELENT 19) ; Size of one Rel reloc +(define DT_PLTREL 20) ; Type of reloc in PLT +(define DT_DEBUG 21) ; For debugging ; unspecified +(define DT_TEXTREL 22) ; Reloc might modify .text +(define DT_JMPREL 23) ; Address of PLT relocs +(define DT_BIND_NOW 24) ; Process relocations of object +(define DT_INIT_ARRAY 25) ; Array with addresses of init fct +(define DT_FINI_ARRAY 26) ; Array with addresses of fini fct +(define DT_INIT_ARRAYSZ 27) ; Size in bytes of DT_INIT_ARRAY +(define DT_FINI_ARRAYSZ 28) ; Size in bytes of DT_FINI_ARRAY +(define DT_RUNPATH 29) ; Library search path +(define DT_FLAGS 30) ; Flags for the object being loaded +(define DT_ENCODING 32) ; Start of encoded range +(define DT_PREINIT_ARRAY 32) ; Array with addresses of preinit fc +(define DT_PREINIT_ARRAYSZ 33) ; size in bytes of DT_PREINIT_ARRAY +(define DT_NUM 34) ; Number used +(define DT_LOGUILE #x37146000) ; Start of Guile-specific +(define DT_GUILE_GC_ROOT #x37146000) ; Offset of GC roots +(define DT_GUILE_GC_ROOT_SZ #x37146001) ; Size in machine words of GC roots +(define DT_GUILE_ENTRY #x37146002) ; Address of entry thunk +(define DT_GUILE_VM_VERSION #x37146003) ; Bytecode version +(define DT_GUILE_FRAME_MAPS #x37146004) ; Offset of .guile.frame-maps +(define DT_HIGUILE #x37146fff) ; End of Guile-specific +(define DT_LOOS #x6000000d) ; Start of OS-specific +(define DT_HIOS #x6ffff000) ; End of OS-specific +(define DT_LOPROC #x70000000) ; Start of processor-specific +(define DT_HIPROC #x7fffffff) ; End of processor-specific + + +(define (string-table-ref bv offset) + (let lp ((end offset)) + (if (zero? (bytevector-u8-ref bv end)) + (let ((out (make-bytevector (- end offset)))) + (bytevector-copy! bv offset out 0 (- end offset)) + (utf8->string out)) + (lp (1+ end))))) + +(define (elf-section-by-name elf name) + (let ((off (elf-section-offset (elf-section elf (elf-shstrndx elf))))) + (let lp ((n (elf-shnum elf))) + (and (> n 0) + (let ((section (elf-section elf (1- n)))) + (if (equal? (string-table-ref (elf-bytes elf) + (+ off (elf-section-name section))) + name) + section + (lp (1- n)))))))) + +(define (elf-sections-by-name elf) + (let* ((sections (elf-sections elf)) + (off (elf-section-offset (list-ref sections (elf-shstrndx elf))))) + (map (lambda (section) + (cons (string-table-ref (elf-bytes elf) + (+ off (elf-section-name section))) + section)) + sections))) + +(define-record-type + (make-elf-symbol name value size info other shndx) + elf-symbol? + (name elf-symbol-name) + (value elf-symbol-value) + (size elf-symbol-size) + (info elf-symbol-info) + (other elf-symbol-other) + (shndx elf-symbol-shndx)) + +(define* (make-elf-symbol* #:key (name 0) (value 0) (size 0) + (binding STB_LOCAL) (type STT_NOTYPE) + (info (logior (ash binding 4) type)) + (visibility STV_DEFAULT) (other visibility) + (shndx SHN_UNDEF)) + (make-elf-symbol name value size info other shndx)) + +;; typedef struct { +;; uint32_t st_name; +;; Elf32_Addr st_value; +;; uint32_t st_size; +;; unsigned char st_info; +;; unsigned char st_other; +;; uint16_t st_shndx; +;; } Elf32_Sym; + +(define (elf-symbol-len word-size) + (case word-size + ((4) 16) + ((8) 24) + (else (error "bad word size" word-size)))) + +(define (elf-symbol-value-offset word-size) + (case word-size + ((4) 4) + ((8) 8) + (else (error "bad word size" word-size)))) + +(define (parse-elf32-symbol bv offset stroff byte-order) + (if (<= (+ offset 16) (bytevector-length bv)) + (make-elf-symbol (let ((name (bytevector-u32-ref bv offset byte-order))) + (if stroff + (string-table-ref bv (+ stroff name)) + name)) + (bytevector-u32-ref bv (+ offset 4) byte-order) + (bytevector-u32-ref bv (+ offset 8) byte-order) + (bytevector-u8-ref bv (+ offset 12)) + (bytevector-u8-ref bv (+ offset 13)) + (bytevector-u16-ref bv (+ offset 14) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf32-symbol bv offset byte-order sym) + (bytevector-u32-set! bv offset (elf-symbol-name sym) byte-order) + (bytevector-u32-set! bv (+ offset 4) (elf-symbol-value sym) byte-order) + (bytevector-u32-set! bv (+ offset 8) (elf-symbol-size sym) byte-order) + (bytevector-u8-set! bv (+ offset 12) (elf-symbol-info sym)) + (bytevector-u8-set! bv (+ offset 13) (elf-symbol-other sym)) + (bytevector-u16-set! bv (+ offset 14) (elf-symbol-shndx sym) byte-order)) + +;; typedef struct { +;; uint32_t st_name; +;; unsigned char st_info; +;; unsigned char st_other; +;; uint16_t st_shndx; +;; Elf64_Addr st_value; +;; uint64_t st_size; +;; } Elf64_Sym; + +(define (parse-elf64-symbol bv offset stroff byte-order) + (if (<= (+ offset 24) (bytevector-length bv)) + (make-elf-symbol (let ((name (bytevector-u32-ref bv offset byte-order))) + (if stroff + (string-table-ref bv (+ stroff name)) + name)) + (bytevector-u64-ref bv (+ offset 8) byte-order) + (bytevector-u64-ref bv (+ offset 16) byte-order) + (bytevector-u8-ref bv (+ offset 4)) + (bytevector-u8-ref bv (+ offset 5)) + (bytevector-u16-ref bv (+ offset 6) byte-order)) + (error "corrupt ELF (offset out of range)" offset))) + +(define (write-elf64-symbol bv offset byte-order sym) + (bytevector-u32-set! bv offset (elf-symbol-name sym) byte-order) + (bytevector-u8-set! bv (+ offset 4) (elf-symbol-info sym)) + (bytevector-u8-set! bv (+ offset 5) (elf-symbol-other sym)) + (bytevector-u16-set! bv (+ offset 6) (elf-symbol-shndx sym) byte-order) + (bytevector-u64-set! bv (+ offset 8) (elf-symbol-value sym) byte-order) + (bytevector-u64-set! bv (+ offset 16) (elf-symbol-size sym) byte-order)) + +(define (write-elf-symbol bv offset byte-order word-size sym) + ((case word-size + ((4) write-elf32-symbol) + ((8) write-elf64-symbol) + (else (error "invalid word size" word-size))) + bv offset byte-order sym)) + +(define (elf-symbol-table-len section) + (let ((len (elf-section-size section)) + (entsize (elf-section-entsize section))) + (unless (and (not (zero? entsize)) (zero? (modulo len entsize))) + (error "bad symbol table" section)) + (/ len entsize))) + +(define* (elf-symbol-table-ref elf section n #:optional strtab) + (let ((bv (elf-bytes elf)) + (byte-order (elf-byte-order elf)) + (stroff (and strtab (elf-section-offset strtab))) + (base (elf-section-offset section)) + (len (elf-section-size section)) + (entsize (elf-section-entsize section))) + (unless (<= (* (1+ n) entsize) len) + (error "out of range symbol table access" section n)) + (case (elf-word-size elf) + ((4) + (unless (<= 16 entsize) + (error "bad entsize for symbol table" section)) + (parse-elf32-symbol bv (+ base (* n entsize)) stroff byte-order)) + ((8) + (unless (<= 24 entsize) + (error "bad entsize for symbol table" section)) + (parse-elf64-symbol bv (+ base (* n entsize)) stroff byte-order)) + (else (error "bad word size" elf))))) + +;; Legal values for ST_BIND subfield of st_info (symbol binding). + +(define STB_LOCAL 0) ; Local symbol +(define STB_GLOBAL 1) ; Global symbol +(define STB_WEAK 2) ; Weak symbol +(define STB_NUM 3) ; Number of defined types. +(define STB_LOOS 10) ; Start of OS-specific +(define STB_GNU_UNIQUE 10) ; Unique symbol. +(define STB_HIOS 12) ; End of OS-specific +(define STB_LOPROC 13) ; Start of processor-specific +(define STB_HIPROC 15) ; End of processor-specific + +;; Legal values for ST_TYPE subfield of st_info (symbol type). + +(define STT_NOTYPE 0) ; Symbol type is unspecified +(define STT_OBJECT 1) ; Symbol is a data object +(define STT_FUNC 2) ; Symbol is a code object +(define STT_SECTION 3) ; Symbol associated with a section +(define STT_FILE 4) ; Symbol's name is file name +(define STT_COMMON 5) ; Symbol is a common data object +(define STT_TLS 6) ; Symbol is thread-local data objec +(define STT_NUM 7) ; Number of defined types. +(define STT_LOOS 10) ; Start of OS-specific +(define STT_GNU_IFUNC 10) ; Symbol is indirect code object +(define STT_HIOS 12) ; End of OS-specific +(define STT_LOPROC 13) ; Start of processor-specific +(define STT_HIPROC 15) ; End of processor-specific + +;; Symbol visibility specification encoded in the st_other field. + +(define STV_DEFAULT 0) ; Default symbol visibility rules +(define STV_INTERNAL 1) ; Processor specific hidden class +(define STV_HIDDEN 2) ; Sym unavailable in other modules +(define STV_PROTECTED 3) ; Not preemptible, not exported + +(define (elf-symbol-binding sym) + (ash (elf-symbol-info sym) -4)) + +(define (elf-symbol-type sym) + (logand (elf-symbol-info sym) #xf)) + +(define (elf-symbol-visibility sym) + (logand (elf-symbol-other sym) #x3)) + +(define NT_GNU_ABI_TAG 1) +(define NT_GNU_HWCAP 2) +(define NT_GNU_BUILD_ID 3) +(define NT_GNU_GOLD_VERSION 4) + +(define-record-type + (make-elf-note name desc type) + elf-note? + (name elf-note-name) + (desc elf-note-desc) + (type elf-note-type)) + +(define (parse-elf-note elf section) + (let ((bv (elf-bytes elf)) + (byte-order (elf-byte-order elf)) + (offset (elf-section-offset section))) + (unless (<= (+ offset 12) (bytevector-length bv)) + (error "corrupt ELF (offset out of range)" offset)) + (let ((namesz (bytevector-u32-ref bv offset byte-order)) + (descsz (bytevector-u32-ref bv (+ offset 4) byte-order)) + (type (bytevector-u32-ref bv (+ offset 8) byte-order))) + (unless (<= (+ offset 12 namesz descsz) (bytevector-length bv)) + (error "corrupt ELF (offset out of range)" offset)) + (let ((name (make-bytevector (1- namesz))) + (desc (make-bytevector descsz))) + (bytevector-copy! bv (+ offset 12) name 0 (1- namesz)) + (bytevector-copy! bv (+ offset 12 namesz) desc 0 descsz) + (make-elf-note (utf8->string name) desc type))))) From fcaa5f44a197ab24f288d319dbdd27e2745bb052 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Nov 2014 23:54:25 +0100 Subject: [PATCH 058/221] system: Add (gnu build linux-modules). * gnu/build/linux-modules.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/build/linux-modules.scm | 170 ++++++++++++++++++++++++++++++++++++ 2 files changed, 171 insertions(+) create mode 100644 gnu/build/linux-modules.scm diff --git a/gnu-system.am b/gnu-system.am index bd1ac5d273..6d188233e6 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -303,6 +303,7 @@ GNU_SYSTEM_MODULES = \ gnu/build/install.scm \ gnu/build/linux-boot.scm \ gnu/build/linux-initrd.scm \ + gnu/build/linux-modules.scm \ gnu/build/vm.scm diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm new file mode 100644 index 0000000000..0fa09b2912 --- /dev/null +++ b/gnu/build/linux-modules.scm @@ -0,0 +1,170 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu build linux-modules) + #:use-module (guix elf) + #:use-module (rnrs io ports) + #:use-module (rnrs bytevectors) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 vlist) + #:use-module (ice-9 match) + #:export (dot-ko + ensure-dot-ko + module-dependencies + recursive-module-dependencies + modules-loaded + module-loaded? + load-linux-module* + + current-module-debugging-port)) + +;;; Commentary: +;;; +;;; Tools to deal with Linux kernel modules. +;;; +;;; Code: + +(define current-module-debugging-port + (make-parameter (%make-void-port "w"))) + +(define (section-contents elf section) + "Return the contents of SECTION in ELF as a bytevector." + (let* ((modinfo (elf-section-by-name elf ".modinfo")) + (contents (make-bytevector (elf-section-size modinfo)))) + (bytevector-copy! (elf-bytes elf) (elf-section-offset modinfo) + contents 0 + (elf-section-size modinfo)) + contents)) + +(define %not-nul + (char-set-complement (char-set #\nul))) + +(define (nul-separated-string->list str) + "Split STR at occurrences of the NUL character and return the resulting +string list." + (string-tokenize str %not-nul)) + +(define (key=value->pair str) + "Assuming STR has the form \"KEY=VALUE\", return a pair like (KEY +. \"VALUE\")." + (let ((= (string-index str #\=))) + (cons (string->symbol (string-take str =)) + (string-drop str (+ 1 =))))) + +(define (modinfo-section-contents file) + "Return the contents of the '.modinfo' section of FILE as a list of +key/value pairs.." + (let* ((bv (call-with-input-file file get-bytevector-all)) + (elf (parse-elf bv)) + (modinfo (section-contents elf ".modinfo"))) + (map key=value->pair + (nul-separated-string->list (utf8->string modinfo))))) + +(define %not-comma + (char-set-complement (char-set #\,))) + +(define (module-dependencies file) + "Return the list of modules that FILE depends on. The returned list +contains module names, not actual file names." + (let ((info (modinfo-section-contents file))) + (match (assq 'depends info) + (('depends . what) + (string-tokenize what %not-comma))))) + +(define dot-ko + (cut string-append <> ".ko")) + +(define (ensure-dot-ko name) + "Return NAME with a '.ko' prefix appended, unless it already has it." + (if (string-suffix? ".ko" name) + name + (dot-ko name))) + +(define* (recursive-module-dependencies files + #:key (lookup-module dot-ko)) + "Return the topologically-sorted list of file names of the modules depended +on by FILES, recursively. File names of modules are determined by applying +LOOKUP-MODULE to the module name." + (let loop ((files files) + (result '()) + (visited vlist-null)) + (match files + (() + (delete-duplicates (reverse result))) + ((head . tail) + (let* ((visited? (vhash-assoc head visited)) + (deps (if visited? + '() + (map lookup-module (module-dependencies head)))) + (visited (if visited? + visited + (vhash-cons head #t visited)))) + (loop (append deps tail) + (append result deps) visited)))))) + +(define %not-newline + (char-set-complement (char-set #\newline))) + +(define (modules-loaded) + "Return the list of names of currently loaded Linux modules." + (let* ((contents (call-with-input-file "/proc/modules" + get-string-all)) + (lines (string-tokenize contents %not-newline))) + (match (map string-tokenize lines) + (((modules . _) ...) + modules)))) + +(define (module-loaded? module) + "Return #t if MODULE is already loaded. MODULE must be a Linux module name, +not a file name." + (member module (modules-loaded))) + +(define* (load-linux-module* file + #:key + (recursive? #t) + (lookup-module dot-ko)) + "Load Linux module from FILE, the name of a `.ko' file. When RECURSIVE? is +true, load its dependencies first (à la 'modprobe'.) The actual files +containing modules depended on are obtained by calling LOOKUP-MODULE with the +module name." + (define (slurp module) + ;; TODO: Use 'mmap' to reduce memory usage. + (call-with-input-file file get-bytevector-all)) + + (when recursive? + (for-each (cut load-linux-module* <> #:lookup-module lookup-module) + (map lookup-module (module-dependencies file)))) + + (format (current-module-debugging-port) + "loading Linux module from '~a'...~%" file) + + (catch 'system-error + (lambda () + (load-linux-module (slurp file))) + (lambda args + ;; If this module was already loaded and we're in modprobe style, ignore + ;; the error. + + ;; FIXME: Use errno once 'guile-linux-syscalls.patch' provides a useful + ;; errno here. + (unless (and recursive? + (module-loaded? (string-drop-right (basename file) 3))) + (apply throw args))))) + +;;; linux-modules.scm ends here From 600c285b6345d8b0cc04f9e92e47ad5bcd437948 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Nov 2014 00:01:29 +0100 Subject: [PATCH 059/221] linux-initrd: Copy modules and their dependencies to the initrd. * gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]: Add 'lookup' procedure. Use 'recursive-module-dependencies' to compute the list of modules to copy. Adjust #:modules parameter. --- gnu/system/linux-initrd.scm | 40 ++++++++++++++++++++++++++----------- 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 3279172da7..71aba1e233 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -92,7 +92,9 @@ MODULES and taken from LINUX." (define build-exp #~(begin (use-modules (ice-9 match) (ice-9 regex) - (guix build utils)) + (srfi srfi-1) + (guix build utils) + (gnu build linux-modules)) (define (string->regexp str) ;; Return a regexp that matches STR exactly. @@ -101,21 +103,35 @@ MODULES and taken from LINUX." (define module-dir (string-append #$linux "/lib/modules")) + (define (lookup module) + (let ((name (ensure-dot-ko module))) + (match (find-files module-dir (string->regexp name)) + ((file) + file) + (() + (error "module not found" name module-dir)) + ((_ ...) + (error "several modules by that name" + name module-dir))))) + + (define modules + (let ((modules (map lookup '#$modules))) + (append modules + (recursive-module-dependencies modules + #:lookup-module lookup)))) + (mkdir #$output) (for-each (lambda (module) - (match (find-files module-dir (string->regexp module)) - ((file) - (format #t "copying '~a'...~%" file) - (copy-file file (string-append #$output "/" module))) - (() - (error "module not found" module module-dir)) - ((_ ...) - (error "several modules by that name" - module module-dir)))) - '#$modules))) + (format #t "copying '~a'...~%" module) + (copy-file module + (string-append #$output "/" + (basename module)))) + (delete-duplicates modules)))) (gexp->derivation "linux-modules" build-exp - #:modules '((guix build utils)))) + #:modules '((guix build utils) + (guix elf) + (gnu build linux-modules)))) (define (file-system->spec fs) "Return a list corresponding to file-system FS that can be passed to the From 0e704a2d4ea9b65cde79240f4433296645c5a220 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 27 Nov 2014 23:59:26 +0100 Subject: [PATCH 060/221] =?UTF-8?q?linux-boot:=20Load=20modules=20and=20th?= =?UTF-8?q?eir=20dependencies,=20=C3=A0=20la=20'modprobe'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/build/linux-boot.scm: Use (gnu build linux-modules). (load-linux-module*): Remove. (boot-system): Add #:linux-module-directory parameter. [lookup-module]: New procedure. Call 'current-module-debugging-port'. Pass #:lookup-module to 'load-linux-module*'. Map LOOKUP-MODULE on LINUX-MODULES. * gnu/system/linux-initrd.scm (base-initrd): Adjust 'boot-system' call accordingly. Adjust #:modules argument as well. * gnu/system.scm (operating-system-activation-script)[%modules]: Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Likewise. --- gnu/build/linux-boot.scm | 30 +++++++++++++++--------------- gnu/system.scm | 4 +++- gnu/system/linux-initrd.scm | 9 +++++---- gnu/system/vm.scm | 2 ++ 4 files changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 3bf3268b23..b2ed1a8b54 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.scm @@ -26,6 +26,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 ftw) #:use-module (guix build utils) + #:use-module (gnu build linux-modules) #:use-module (gnu build file-systems) #:export (mount-essential-file-systems linux-command-line @@ -34,7 +35,6 @@ configure-qemu-networking bind-mount - load-linux-module* device-number boot-system)) @@ -218,14 +218,6 @@ networking values.) Return #t if INTERFACE is up, #f otherwise." (logand (network-interface-flags sock interface) IFF_UP))) -(define (load-linux-module* file) - "Load Linux module from FILE, the name of a `.ko' file." - (define (slurp module) - ;; TODO: Use 'mmap' to reduce memory usage. - (call-with-input-file file get-bytevector-all)) - - (load-linux-module (slurp file))) - (define (device-number major minor) "Return the device number for the device with MAJOR and MINOR, for use as the last argument of `mknod'." @@ -332,16 +324,17 @@ bailing out.~%root contents: ~s~%" (scandir "/")) (define* (boot-system #:key (linux-modules '()) + linux-module-directory qemu-guest-networking? volatile-root? pre-mount (mounts '())) "This procedure is meant to be called from an initrd. Boot a system by -first loading LINUX-MODULES (a list of absolute file names of '.ko' files), -then setting up QEMU guest networking if QEMU-GUEST-NETWORKING? is true, -calling PRE-MOUNT, mounting the file systems specified in MOUNTS, and finally -booting into the new root if any. The initrd supports kernel command-line -options '--load', '--root', and '--repl'. +first loading LINUX-MODULES (a list of module names) from +LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if +QEMU-GUEST-NETWORKING? is true, calling PRE-MOUNT, mounting the file systems +specified in MOUNTS, and finally booting into the new root if any. The initrd +supports kernel command-line options '--load', '--root', and '--repl'. Mount the root file system, specified by the '--root' command-line argument, if any. @@ -362,6 +355,10 @@ to it are lost." mounts) "ext4")) + (define (lookup-module name) + (string-append linux-module-directory "/" + (ensure-dot-ko name))) + (display "Welcome, this is GNU's early boot Guile.\n") (display "Use '--repl' for an initrd REPL.\n\n") @@ -376,7 +373,10 @@ to it are lost." (start-repl)) (display "loading kernel modules...\n") - (for-each load-linux-module* linux-modules) + (current-module-debugging-port (current-output-port)) + (for-each (cut load-linux-module* <> + #:lookup-module lookup-module) + (map lookup-module linux-modules)) (when qemu-guest-networking? (unless (configure-qemu-networking) diff --git a/gnu/system.scm b/gnu/system.scm index 8883d3e752..e1ed1a2f19 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -529,8 +529,10 @@ etc." (define %modules '((gnu build activation) (gnu build linux-boot) + (gnu build linux-modules) (gnu build file-systems) - (guix build utils))) + (guix build utils) + (guix elf))) (define (service-activations services) ;; Return the activation scripts for SERVICES. diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 71aba1e233..8129f9017b 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -236,14 +236,15 @@ loaded at boot time in the order in which they appear." (boot-system #:mounts '#$(map file-system->spec file-systems) #:pre-mount (lambda () (and #$@device-mapping-commands)) - #:linux-modules (map (lambda (file) - (string-append #$kodir "/" file)) - '#$linux-modules) + #:linux-modules '#$linux-modules + #:linux-module-directory '#$kodir #:qemu-guest-networking? #$qemu-networking? #:volatile-root? '#$volatile-root?)) #:name "base-initrd" #:modules '((guix build utils) (gnu build linux-boot) - (gnu build file-systems))))) + (gnu build linux-modules) + (gnu build file-systems) + (guix elf))))) ;;; linux-initrd.scm ends here diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 07b13deeca..33ca396eb9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -104,7 +104,9 @@ '((gnu build vm) (gnu build install) (gnu build linux-boot) + (gnu build linux-modules) (gnu build file-systems) + (guix elf) (guix build utils) (guix build store-copy))) (guile-for-build From d7e66f629525a670d1f4751b26c3d2e8e088eeb2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Nov 2014 00:03:08 +0100 Subject: [PATCH 061/221] linux-initrd: Remove now redundant module names. * gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Remove "virtio.ko" and "virtio_ring.ko". [virtio-9p-modules]: Remove "fscache.ko" and "9pnet.ko". [linux-modules]: Remove "libahci.ko". --- gnu/system/linux-initrd.scm | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 8129f9017b..31a1c2e516 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -166,8 +166,7 @@ modules can be listed in EXTRA-MODULES. They will be added to the initrd, and loaded at boot time in the order in which they appear." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. - '("virtio.ko" "virtio_ring.ko" "virtio_pci.ko" - "virtio_balloon.ko" "virtio_blk.ko" "virtio_net.ko")) + '("virtio_pci.ko" "virtio_balloon.ko" "virtio_blk.ko" "virtio_net.ko")) (define cifs-modules ;; Modules needed to mount CIFS file systems. @@ -175,7 +174,7 @@ loaded at boot time in the order in which they appear." (define virtio-9p-modules ;; Modules for the 9p paravirtualized file system. - '("fscache.ko" "9pnet.ko" "9p.ko" "9pnet_virtio.ko")) + '("9p.ko" "9pnet_virtio.ko")) (define (file-system-type-predicate type) (lambda (fs) @@ -183,7 +182,7 @@ loaded at boot time in the order in which they appear." (define linux-modules ;; Modules added to the initrd and loaded from the initrd. - `("libahci.ko" "ahci.ko" ;for SATA controllers + `("ahci.ko" ;for SATA controllers "pata_acpi.ko" "pata_atiixp.ko" ;for ATA controllers ,@(if (or virtio? qemu-networking?) virtio-modules From 08b1990a9368a5b33c13f6ec319b899c897822e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Nov 2014 00:06:54 +0100 Subject: [PATCH 062/221] linux-initrd: Remove the ".ko" suffix from module names in 'base-initrd'. * gnu/system/linux-initrd.scm (base-initrd): Remove the .ko suffix from module names. --- gnu/system/linux-initrd.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 31a1c2e516..27e3f19402 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -166,15 +166,15 @@ modules can be listed in EXTRA-MODULES. They will be added to the initrd, and loaded at boot time in the order in which they appear." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. - '("virtio_pci.ko" "virtio_balloon.ko" "virtio_blk.ko" "virtio_net.ko")) + '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net")) (define cifs-modules ;; Modules needed to mount CIFS file systems. - '("md4.ko" "ecb.ko" "cifs.ko")) + '("md4" "ecb" "cifs")) (define virtio-9p-modules ;; Modules for the 9p paravirtualized file system. - '("9p.ko" "9pnet_virtio.ko")) + '("9p" "9pnet_virtio")) (define (file-system-type-predicate type) (lambda (fs) @@ -182,8 +182,8 @@ loaded at boot time in the order in which they appear." (define linux-modules ;; Modules added to the initrd and loaded from the initrd. - `("ahci.ko" ;for SATA controllers - "pata_acpi.ko" "pata_atiixp.ko" ;for ATA controllers + `("ahci" ;for SATA controllers + "pata_acpi" "pata_atiixp" ;for ATA controllers ,@(if (or virtio? qemu-networking?) virtio-modules '()) @@ -194,7 +194,7 @@ loaded at boot time in the order in which they appear." virtio-9p-modules '()) ,@(if volatile-root? - '("fuse.ko") + '("fuse") '()) ,@extra-modules)) From 7c4885f0d79593cb0f3a7981444f611d7ced54b9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 28 Nov 2014 15:08:56 +0100 Subject: [PATCH 063/221] linux-modules: Correctly propagate error code from 'init_module'. * gnu/packages/patches/guile-linux-syscalls.patch (scm_load_linux_module): Leave 'errno' unchanged when ERR != 0. * gnu/build/linux-modules.scm (load-linux-module*): Check for the errno value of ARGS to determine whether the module was already loaded. --- gnu/build/linux-modules.scm | 6 +----- gnu/packages/patches/guile-linux-syscalls.patch | 9 ++------- 2 files changed, 3 insertions(+), 12 deletions(-) diff --git a/gnu/build/linux-modules.scm b/gnu/build/linux-modules.scm index 0fa09b2912..a3bc7d6e33 100644 --- a/gnu/build/linux-modules.scm +++ b/gnu/build/linux-modules.scm @@ -160,11 +160,7 @@ module name." (lambda args ;; If this module was already loaded and we're in modprobe style, ignore ;; the error. - - ;; FIXME: Use errno once 'guile-linux-syscalls.patch' provides a useful - ;; errno here. - (unless (and recursive? - (module-loaded? (string-drop-right (basename file) 3))) + (unless (and recursive? (= EEXIST (system-error-errno args))) (apply throw args))))) ;;; linux-modules.scm ends here diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index 1fb24bde27..57c7f2589d 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -7,7 +7,7 @@ diff --git a/libguile/posix.c b/libguile/posix.c index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,266 @@ scm_init_popen (void) +@@ -2286,6 +2286,261 @@ scm_init_popen (void) } #endif @@ -84,12 +84,7 @@ index 324f21b..cbee94d 100644 + free (c_options); + + if (err != 0) -+ { -+ /* XXX: `insmod' actually provides better translation of some of -+ the error codes. */ -+ errno = err; -+ SCM_SYSERROR; -+ } ++ SCM_SYSERROR; + + return SCM_UNSPECIFIED; +} From 9cd0dfaa4654e49cd0af82993b91789cb3012354 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 11:37:53 +0100 Subject: [PATCH 064/221] system: Change "en_US.UTF-8" to "en_US.utf8". * build-aux/hydra/demo-os.scm (locale): Change to "en_US.utf8". * gnu/system/install.scm (installation-os)[locale]: Ditto. --- build-aux/hydra/demo-os.scm | 2 +- gnu/system/install.scm | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/build-aux/hydra/demo-os.scm b/build-aux/hydra/demo-os.scm index 9164500d70..d96cdce496 100644 --- a/build-aux/hydra/demo-os.scm +++ b/build-aux/hydra/demo-os.scm @@ -37,7 +37,7 @@ (operating-system (host-name "gnu") (timezone "Europe/Paris") - (locale "en_US.UTF-8") + (locale "en_US.utf8") (bootloader (grub-configuration (device "/dev/sda"))) diff --git a/gnu/system/install.scm b/gnu/system/install.scm index d3d6764a70..01e79480b1 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -221,7 +221,7 @@ Use Alt-F2 for documentation. (operating-system (host-name "gnu") (timezone "Europe/Paris") - (locale "en_US.UTF-8") + (locale "en_US.utf8") (bootloader (grub-configuration (device "/dev/sda"))) (file-systems From 3b09332adf7ce8e976a4d117a62c586a53af04aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 14:40:26 +0100 Subject: [PATCH 065/221] system: Add a 'needed-for-boot?' field to 'mapped-device'. * gnu/system/file-systems.scm ()[needed-for-boot?]: New field. * gnu/system.scm (operating-system-user-mapped-devices, operating-system-boot-mapped-devices): Use it instead of trying to guess. Guessing doesn't work when one refers to a partition using its label, for instance. * doc/guix.texi (Mapped Devices): Document 'needed-for-boot?'. --- doc/guix.texi | 16 ++++++++++++---- gnu/system.scm | 17 ++++------------- gnu/system/file-systems.scm | 5 ++++- 3 files changed, 20 insertions(+), 18 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index aad201771a..9aeec41f83 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3837,19 +3837,27 @@ detailed below. Objects of this type represent device mappings that will be made when the system boots up. -@table @code -@item source +@table @asis +@item @code{source} This string specifies the name of the block device to be mapped, such as @code{"/dev/sda3"}. -@item target +@item @code{target} This string specifies the name of the mapping to be established. For example, specifying @code{"my-partition"} will lead to the creation of the @code{"/dev/mapper/my-partition"} device. -@item type +@item @code{type} This must be a @code{mapped-device-kind} object, which specifies how @var{source} is mapped to @var{target}. + +@item @code{needed-for-boot?} (default: @code{#f}) +This Boolean value indicates whether the device mapping must be made at +boot time---i.e., from the initial RAM disk, before any user file +systems are mounted. + +You would set it to @code{#t} for instance when the mapped device is +used by the root file system. @end table @end deftp diff --git a/gnu/system.scm b/gnu/system.scm index e1ed1a2f19..731f9de55f 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -250,23 +250,14 @@ as 'needed-for-boot'." (define (operating-system-user-mapped-devices os) "Return the subset of mapped devices that can be installed in user-land--i.e., those not needed during boot." - (let ((devices (operating-system-mapped-devices os)) - (file-systems (operating-system-file-systems os))) - (filter (lambda (md) - (let ((user (mapped-device-user md file-systems))) - (or (not user) - (not (file-system-needed-for-boot? user))))) - devices))) + (remove mapped-device-needed-for-boot? + (operating-system-mapped-devices os))) (define (operating-system-boot-mapped-devices os) "Return the subset of mapped devices that must be installed during boot, from the initrd." - (let ((devices (operating-system-mapped-devices os)) - (file-systems (operating-system-file-systems os))) - (filter (lambda (md) - (let ((user (mapped-device-user md file-systems))) - (and user (file-system-needed-for-boot? user)))) - devices))) + (filter mapped-device-needed-for-boot? + (operating-system-mapped-devices os))) (define (device-mapping-services os) "Return the list of device-mapping services for OS as a monadic list." diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 4760821840..356b4826b4 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -45,6 +45,7 @@ mapped-device-source mapped-device-target mapped-device-type + mapped-device-needed-for-boot? mapped-device-kind mapped-device-kind? @@ -157,7 +158,9 @@ file system." mapped-device? (source mapped-device-source) ;string (target mapped-device-target) ;string - (type mapped-device-type)) ; + (type mapped-device-type) ; + (needed-for-boot? mapped-device-needed-for-boot? ;Boolean + (default #f))) (define-record-type* mapped-device-kind make-mapped-device-kind From 5e6bdf06a75f2bfd3c602b7f72fabe2935e34024 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 29 Nov 2014 21:36:35 +0100 Subject: [PATCH 066/221] gnu: Rename fonts according to our new naming scheme. * gnu/packages/fonts.scm (ttf-dejavu): Rename to ... * gnu/packages/fonts.scm (font-dejavu): ... this. * gnu/packages/fonts.scm (ttf-bitstream-vera): Rename to ... * gnu/packages/fonts.scm (font-bitstream-vera): ... this. * gnu/packages/fonts.scm (freefont-ttf): Rename to ... * gnu/packages/fonts.scm (font-gnu-freefont-ttf): ... this. * gnu/packages/fonts.scm (terminus-font): Rename to ... * gnu/packages/fonts.scm (font-terminus): ... this. --- gnu/packages/fonts.scm | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/gnu/packages/fonts.scm b/gnu/packages/fonts.scm index 0181420a30..74cfc9dbe1 100644 --- a/gnu/packages/fonts.scm +++ b/gnu/packages/fonts.scm @@ -32,9 +32,9 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages pkg-config)) -(define-public ttf-dejavu +(define-public font-dejavu (package - (name "ttf-dejavu") + (name "font-dejavu") (version "2.34") (source (origin (method url-fetch) @@ -98,9 +98,9 @@ provide serif, sans and monospaced variants.") (license:x11-style "http://dejavu-fonts.org/")))) -(define-public ttf-bitstream-vera +(define-public font-bitstream-vera (package - (name "ttf-bitstream-vera") + (name "font-bitstream-vera") (version "1.10") (source (origin (method url-fetch) @@ -152,9 +152,9 @@ package provides the TrueType (TTF) files.") (license:x11-style "https://www-old.gnome.org/fonts/#Final_Bitstream_Vera_Fonts")))) -(define-public freefont-ttf +(define-public font-gnu-freefont-ttf (package - (name "freefont-ttf") + (name "font-gnu-freefont-ttf") (version "20100919") (source (origin (method url-fetch) @@ -269,9 +269,9 @@ and Bitstream Vera Sans Mono). The Liberation Fonts are sponsored by Red Hat.") (license license:silofl1.1))) -(define-public terminus-font +(define-public font-terminus (package - (name "terminus-font") + (name "font-terminus") (version "4.39") (source (origin From 1cc8f3a63c4d229899720fbd552b3dd78346e198 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 30 Nov 2014 00:32:06 +0300 Subject: [PATCH 067/221] system: locale: Fix typo in docstring. * gnu/system/locale.scm (localedef-command): Fix typo. --- gnu/system/locale.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/locale.scm b/gnu/system/locale.scm index 9c5c4d2fd9..17b1dead58 100644 --- a/gnu/system/locale.scm +++ b/gnu/system/locale.scm @@ -48,7 +48,7 @@ (define* (localedef-command locale #:key (libc (canonical-package glibc))) - "Return a gexp that runs 'localdef' from LIBC to build LOCALE." + "Return a gexp that runs 'localedef' from LIBC to build LOCALE." #~(begin (format #t "building locale '~a'...~%" #$(locale-definition-name locale)) From 1c0c417d2dd63110e4f6e6891f511cf0ae2c2cb5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 14:59:46 +0100 Subject: [PATCH 068/221] doc: Improve porting instructions. * doc/guix.texi (Porting): Move 'glibc-dynamic-linker' paragraph above. Clarify what is meant by updating (gnu packages bootstrap). Mention 'gnu-system.am'. --- doc/guix.texi | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9aeec41f83..53bfb293b6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -5250,12 +5250,20 @@ one: guix build --target=armv5tel-linux-gnueabi bootstrap-tarballs @end example +For this to work, the @code{glibc-dynamic-linker} procedure in +@code{(gnu packages bootstrap)} must be augmented to return the right +file name for libc's dynamic linker on that platform; likewise, +@code{system->linux-architecture} in @code{(gnu packages linux)} must be +taught about the new platform. + Once these are built, the @code{(gnu packages bootstrap)} module needs -to be updated to refer to these binaries on the target platform. In -addition, the @code{glibc-dynamic-linker} procedure in that module must -be augmented to return the right file name for libc's dynamic linker on -that platform; likewise, @code{system->linux-architecture} in @code{(gnu -packages linux)} must be taught about the new platform. +to be updated to refer to these binaries on the target platform. That +is, the hashes and URLs of the bootstrap tarballs for the new platform +must be added alongside those of the currently supported platforms. The +bootstrap Guile tarball is treated specially: it is expected to be +available locally, and @file{gnu-system.am} has rules do download it for +the supported architectures; a rule for the new platform must be added +as well. In practice, there may be some complications. First, it may be that the extended GNU triplet that specifies an ABI (like the @code{eabi} suffix From fbe52bcda220ebb423481b2721497d8963fd4e2b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 18:21:56 +0100 Subject: [PATCH 069/221] gnu: guix: Update snapshot. * gnu/packages/package-management.scm (guix-devel): Update. --- gnu/packages/package-management.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 0bbd7b6dcd..408734d6fa 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -118,7 +118,7 @@ the Nix package manager.") (define guix-devel ;; Development version of Guix. - (let ((commit "47739f5")) + (let ((commit "3b09332")) (package (inherit guix-0.8) (version (string-append "0.8." commit)) (source (origin @@ -129,7 +129,7 @@ the Nix package manager.") (recursive? #t))) (sha256 (base32 - "17azgv1i8f9spwa35m23d2yk0wlmf48xm6ka1rqh30nhacwlmnx7")))) + "1szlyhpy688ca96kfyjb6cdy5zhxvqmdig4m7ql7rjqfmz0gvka1")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.8) ((#:phases phases) From e2bb5fd627096dca1f3da6a6ad1ff9ebf18ecbca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 20:48:15 +0100 Subject: [PATCH 070/221] gnu: Add cd-discid. * gnu/packages/cdrom.scm (cd-discid): New variable. --- gnu/packages/cdrom.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 07808578c0..02e3febbc7 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -217,3 +217,33 @@ files. Dvdisaster works at the image level so that the recovery does not depend on the file system of the medium. The maximum error correction capacity is user-selectable.") (license gpl2+))) + +(define-public cd-discid + (package + (name "cd-discid") + (version "1.4") + (home-page "http://linukz.org/cd-discid.shtml") + (source (origin + (method url-fetch) + (uri (string-append home-page "/download/cd-discid-" + version ".tar.gz")) + (sha256 + (base32 + "0qrcvn7227qaayjcd5rm7z0k5q89qfy5qkdgwr5pd7ih0va8rmpz")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install") + "install"))))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f + #:phases (alist-delete 'configure %standard-phases) + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" + (assoc-ref %outputs "out"))))) + (synopsis "Get CDDB discid information from an audio CD") + (description + "cd-discid is a command-line tool to retrieve CDDB discid information +from an audio CD.") + (license gpl2+))) From 7dfc937e2f06e16e1f66599168bdcc45dde10d46 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 20:51:09 +0100 Subject: [PATCH 071/221] gnu: Add abcde. * gnu/packages/cdrom.scm (abcde): New variable. --- gnu/packages/cdrom.scm | 77 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 76 insertions(+), 1 deletion(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 02e3febbc7..08fe6c2196 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -32,7 +32,11 @@ #:use-module (gnu packages elf) #:use-module (gnu packages pkg-config) #:use-module (gnu packages readline) - #:use-module (gnu packages which)) + #:use-module (gnu packages which) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages wget) + #:use-module (gnu packages xiph)) (define-public libcddb (package @@ -247,3 +251,74 @@ capacity is user-selectable.") "cd-discid is a command-line tool to retrieve CDDB discid information from an audio CD.") (license gpl2+))) + +(define-public abcde + (package + (name "abcde") + (version "2.6") + (home-page "http://abcde.einval.com/") + (source (origin + (method url-fetch) + (uri (string-append home-page "/download/abcde-" + version ".tar.gz")) + (sha256 + (base32 + "0y2cg233n2hixs0ji76dggpzgf52v4c4mnpwiai889ql2piafgk8")) + (modules '((guix build utils))) + (snippet + '(substitute* "Makefile" + (("/usr/bin/install") + "install") + (("^etcdir = .*$") + (string-append "etcdir = $(prefix)/etc\n")))))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-replace + 'configure + (lambda* (#:key outputs inputs #:allow-other-keys) + (substitute* "Makefile" + (("^prefix = .*$") + (string-append "prefix = " + (assoc-ref outputs "out") + "\n")))) + (alist-cons-after + 'install 'wrap + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((wget (assoc-ref inputs "wget")) + (vorbis (assoc-ref inputs "vorbis-tools")) + (parano (assoc-ref inputs "cdparanoia")) + (which (assoc-ref inputs "which")) + (discid (assoc-ref inputs "cd-discid")) + (out (assoc-ref outputs "out"))) + (define (wrap file) + (wrap-program file + `("PATH" ":" prefix + (,(string-append out "/bin:" + wget "/bin:" + which "/bin:" + vorbis "/bin:" + discid "/bin:" + parano "/bin"))))) + + (for-each wrap + (find-files (string-append out "/bin") + ".*")))) + %standard-phases)) + #:tests? #f)) + + (inputs `(("wget" ,wget) + ("which" ,which) + ("cdparanoia" ,cdparanoia) + ("cd-discid" ,cd-discid) + ("vorbis-tools" ,vorbis-tools) + + ;; A couple of Python and Perl scripts are included. + ("python" ,python) + ("perl" ,perl))) + + (synopsis "Command-line audio CD ripper") + (description + "abcde is a front-end command-line utility (actually, a shell script) +that grabs tracks off a CD, encodes them to Ogg/Vorbis, MP3, FLAC, Ogg/Speex +and/or MPP/MP+ (Musepack) format, and tags them, all in one go.") + (license gpl2+))) From ec01f22d15067c80eb673aba3edb49cf7913f187 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 29 Nov 2014 12:52:59 +0800 Subject: [PATCH 072/221] gnu: wireless-tools: Install the manual pages under $out/share/man. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/linux.scm (wireless-tools)[origin]: Add snippet. Signed-off-by: Ludovic Courtès --- gnu/packages/linux.scm | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b9d9bd68c9..0651c08f91 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1487,7 +1487,13 @@ mapper. Kernel components are part of Linux-libre.") version ".tar.gz")) (sha256 (base32 - "0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb")))) + "0qscyd44jmhs4k32ggp107hlym1pcyjzihiai48xs7xzib4wbndb")) + (modules '((guix build utils))) + (snippet + ;; Install the manual pages in the right place. + '(substitute* "Makefile" + (("INSTALL_MAN= .*") + "INSTALL_MAN= $(PREFIX)/share/man"))))) (build-system gnu-build-system) (arguments `(#:phases (alist-replace From 2184ed9179a5e858283f2569a6bc965e47c8dbbd Mon Sep 17 00:00:00 2001 From: Taylan Ulrich B Date: Wed, 26 Nov 2014 23:14:16 +0100 Subject: [PATCH 073/221] gnu: Add mg. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mg.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add mg.scm. Signed-off-by: Ludovic Courtès --- gnu-system.am | 1 + gnu/packages/mg.scm | 64 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 65 insertions(+) create mode 100644 gnu/packages/mg.scm diff --git a/gnu-system.am b/gnu-system.am index 6d188233e6..ac0bfa1cc3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -173,6 +173,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/mc.scm \ gnu/packages/mcrypt.scm \ gnu/packages/messaging.scm \ + gnu/packages/mg.scm \ gnu/packages/miscfiles.scm \ gnu/packages/mit-krb5.scm \ gnu/packages/moe.scm \ diff --git a/gnu/packages/mg.scm b/gnu/packages/mg.scm new file mode 100644 index 0000000000..a315dfed33 --- /dev/null +++ b/gnu/packages/mg.scm @@ -0,0 +1,64 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 mg) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix packages) + #:use-module (guix build-system gnu) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages pkg-config)) + +(define-public mg + (package + (name "mg") + (version "20050429") + (source (origin + (method url-fetch) + (uri (string-append "http://homepage.boetes.org/software/mg/mg-" + version ".tar.gz")) + (sha256 + (base32 + "19kib0aha4a40izzds7r63qfb2akq4sily6k28fl0n0zdgq0cna1")) + (modules '((guix build utils))) + (snippet + '(begin + (substitute* "Makefile.in" + (("-Werror") "") + (("-lcurses") "-lncurses") + (("/usr/bin/install") "install -D") + (("/usr/bin/strip") "strip")))))) + (build-system gnu-build-system) + (inputs + `(("ncurses" ,ncurses))) + (arguments + ;; No test suite available. + '(#:tests? #f + #:phases (alist-cons-before + 'configure 'pre-configure + (lambda* (#:key outputs #:allow-other-keys) + (substitute* "Makefile.in" + (("(prefix=[[:blank:]]*)/usr/local" all prefix) + (string-append prefix (assoc-ref outputs "out"))))) + %standard-phases))) + (home-page "http://homepage.boetes.org/software/mg/") + (synopsis "Microscopic GNU Emacs clone") + (description + "mg is Micro GNU Emacs; this is a portable version of the mg maintained +by the OpenBSD team.") + (license public-domain))) From f5d9604f27bb7e9efcdbd1f384017b9cd9fe89ff Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 29 Nov 2014 22:14:34 +0100 Subject: [PATCH 074/221] gnu-maintenance: Support .zip files. Reported by Andreas Enge . * guix/gnu-maintenance.scm (sans-extension): Add case for ".zip". (%tarball-rx): Extend to handle .zip extension. --- guix/gnu-maintenance.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index ee84446549..0528e9f253 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -233,12 +233,14 @@ stored." (values "ftp.gnu.org" (string-append "/gnu/" project))))) (define (sans-extension tarball) - "Return TARBALL without its .tar.* extension." - (let ((end (string-contains tarball ".tar"))) + "Return TARBALL without its .tar.* or .zip extension." + (let ((end (or (string-contains tarball ".tar") + (string-contains tarball ".zip")))) (substring tarball 0 end))) (define %tarball-rx - (make-regexp "^(.+)-([0-9]|[^-])*(-src)?\\.tar\\.")) + ;; Note: .zip files are notably used for freefont-ttf. + (make-regexp "^(.+)-([0-9]|[^-])*(-src)?\\.(tar\\.|zip$)")) (define %alpha-tarball-rx (make-regexp "^.*-.*[0-9](-|~)?(alpha|beta|rc|cvs|svn|git)-?[0-9\\.]*\\.tar\\.")) From 2c37a34cb89e54cfc09984494e985fafa744c9e5 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 28 Nov 2014 23:49:58 +0300 Subject: [PATCH 075/221] services: xorg: Add 'xf86-video-sis'. * gnu/services/xorg.scm (xorg-start-command)[xserver.conf]: Add ModulePath for 'xf86-video-sis'. --- gnu/services/xorg.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index 5236573a39..c813f0fb1e 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -96,6 +96,7 @@ Section \"Files\" ModulePath \"" xf86-video-intel "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-mach64 "/lib/xorg/modules/drivers\" ModulePath \"" xf86-video-nv "/lib/xorg/modules/drivers\" + ModulePath \"" xf86-video-sis "/lib/xorg/modules/drivers\" ModulePath \"" xf86-input-keyboard "/lib/xorg/modules/input\" ModulePath \"" xf86-input-mouse "/lib/xorg/modules/input\" ModulePath \"" xf86-input-synaptics "/lib/xorg/modules/input\" From 1c65314c60405333dde009d8c8d2e37a0a465b6f Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Thu, 27 Nov 2014 20:11:53 +0100 Subject: [PATCH 076/221] gnu: Add matplotlib. * gnu/packages/python.scm (python-matplotlib, python2-matplotlib): New variables. --- gnu/packages/python.scm | 102 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 101 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 68dc67f1f2..dad68fdde5 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -41,12 +41,18 @@ #:use-module (gnu packages databases) #:use-module (gnu packages zip) #:use-module (gnu packages multiprecision) + #: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 (guix packages) #:use-module (guix download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) - #:use-module (guix build-system trivial)) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1)) (define-public python-2 (package @@ -2015,3 +2021,97 @@ that client code uses to construct the grammar directly in Python code.") ;; of matplotlib. (arguments `(#:tests? #f #:python ,python-2)))) + +(define-public python-matplotlib + (package + (name "python-matplotlib") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/matplotlib" + "/matplotlib-" version ".tar.gz")) + (sha256 + (base32 + "0m6v9nwdldlwk22gcd339zg6mny5m301fxgks7z8sb8m9wawg8qp")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (inputs + `(("python-setuptools" ,python-setuptools) + ("python-dateutil" ,python-dateutil-2) + ("python-pyparsing" ,python-pyparsing) + ("python-six" ,python-six) + ("python-pytz" ,python-pytz) + ("python-numpy" ,python-numpy-bootstrap) + ("python-sphinx" ,python-sphinx) + ("python-numpydoc" ,python-numpydoc) + ("python-nose" ,python-nose) + ("python-mock" ,python-mock) + ("libpng" ,libpng) + ("imagemagick" ,imagemagick) + ("freetype" ,freetype) + ;; FIXME: Add backends when available. + ;("python-pygtk" ,python-pygtk) + ;("python-pycairo" ,python-pycairo) + ;("python-pygobject" ,python-pygobject) + ;("python-wxpython" ,python-wxpython) + ;("python-pyqt" ,python-pyqt) + )) + (native-inputs + `(("pkg-config" ,pkg-config) + ("texlive" ,texlive) + ("texinfo" ,texinfo))) + (arguments + `(#: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 "-" ,version)) + (info (string-append data "/info")) + (html (string-append doc "/html"))) + (with-directory-excursion "doc" + ;; Without setting this variable we get an encoding error. + (setenv "LANG" "en_US.UTF-8") + ;; Produce pdf in 'A4' format. + (substitute* (find-files "." "conf\\.py") + (("latex_paper_size = 'letter'") + "latex_paper_size = 'a4'")) + (mkdir-p html) + (mkdir-p info) + ;; The doc recommends to run the 'html' target twice. + (system* "python" "make.py" "html") + (system* "python" "make.py" "html") + (system* "python" "make.py" "latex") + (system* "python" "make.py" "texinfo") + (copy-file "build/texinfo/matplotlib.info" + (string-append info "/matplotlib.info")) + (copy-file "build/latex/Matplotlib.pdf" + (string-append doc "/Matplotlib.pdf")) + (with-directory-excursion "build/html" + (map (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + %standard-phases))) + (home-page "http://matplotlib.org") + (synopsis "2D plotting library for Python") + (description + "Matplotlib is a Python 2D plotting library which produces publication +quality figures in a variety of hardcopy formats and interactive environments +across platforms. Matplotlib can be used in Python scripts, the python and +ipython shell, web application servers, and six graphical user interface +toolkits.") + (license psfl))) + +(define-public python2-matplotlib + (let ((matplotlib (package-with-python2 python-matplotlib))) + (package (inherit matplotlib) + ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is + ;; customized for Python 2. + (inputs `(("python2-numpydoc" ,python2-numpydoc) + ,@(alist-delete "python-numpydoc" + (package-inputs matplotlib))))))) From 9cb426b8bf91830c2df76f9285ed98f45265ecc4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Nov 2014 17:50:07 +0100 Subject: [PATCH 077/221] Revert "system: Add a 'needed-for-boot?' field to 'mapped-device'." This reverts commit 3b09332adf7ce8e976a4d117a62c586a53af04aa, which turned out to be a bad idea because we need to have dependency information between the device-mapping service and the file-system service that uses it. --- doc/guix.texi | 16 ++++------------ gnu/system.scm | 17 +++++++++++++---- gnu/system/file-systems.scm | 5 +---- 3 files changed, 18 insertions(+), 20 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 53bfb293b6..7c059b923a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3837,27 +3837,19 @@ detailed below. Objects of this type represent device mappings that will be made when the system boots up. -@table @asis -@item @code{source} +@table @code +@item source This string specifies the name of the block device to be mapped, such as @code{"/dev/sda3"}. -@item @code{target} +@item target This string specifies the name of the mapping to be established. For example, specifying @code{"my-partition"} will lead to the creation of the @code{"/dev/mapper/my-partition"} device. -@item @code{type} +@item type This must be a @code{mapped-device-kind} object, which specifies how @var{source} is mapped to @var{target}. - -@item @code{needed-for-boot?} (default: @code{#f}) -This Boolean value indicates whether the device mapping must be made at -boot time---i.e., from the initial RAM disk, before any user file -systems are mounted. - -You would set it to @code{#t} for instance when the mapped device is -used by the root file system. @end table @end deftp diff --git a/gnu/system.scm b/gnu/system.scm index 731f9de55f..e1ed1a2f19 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -250,14 +250,23 @@ as 'needed-for-boot'." (define (operating-system-user-mapped-devices os) "Return the subset of mapped devices that can be installed in user-land--i.e., those not needed during boot." - (remove mapped-device-needed-for-boot? - (operating-system-mapped-devices os))) + (let ((devices (operating-system-mapped-devices os)) + (file-systems (operating-system-file-systems os))) + (filter (lambda (md) + (let ((user (mapped-device-user md file-systems))) + (or (not user) + (not (file-system-needed-for-boot? user))))) + devices))) (define (operating-system-boot-mapped-devices os) "Return the subset of mapped devices that must be installed during boot, from the initrd." - (filter mapped-device-needed-for-boot? - (operating-system-mapped-devices os))) + (let ((devices (operating-system-mapped-devices os)) + (file-systems (operating-system-file-systems os))) + (filter (lambda (md) + (let ((user (mapped-device-user md file-systems))) + (and user (file-system-needed-for-boot? user)))) + devices))) (define (device-mapping-services os) "Return the list of device-mapping services for OS as a monadic list." diff --git a/gnu/system/file-systems.scm b/gnu/system/file-systems.scm index 356b4826b4..4760821840 100644 --- a/gnu/system/file-systems.scm +++ b/gnu/system/file-systems.scm @@ -45,7 +45,6 @@ mapped-device-source mapped-device-target mapped-device-type - mapped-device-needed-for-boot? mapped-device-kind mapped-device-kind? @@ -158,9 +157,7 @@ file system." mapped-device? (source mapped-device-source) ;string (target mapped-device-target) ;string - (type mapped-device-type) ; - (needed-for-boot? mapped-device-needed-for-boot? ;Boolean - (default #f))) + (type mapped-device-type)) ; (define-record-type* mapped-device-kind make-mapped-device-kind From 5f86a66efdd07e1ff43fb280245e0b7f4744cfca Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Nov 2014 18:29:13 +0100 Subject: [PATCH 078/221] doc: Explain that 'file-system' must refer to mapped devices by file name. * doc/guix.texi (File Systems): Clarify what to do when mapped devices are used. --- doc/guix.texi | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 7c059b923a..4edaa922e1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3731,6 +3731,13 @@ is interpreted as a partition label name; when it is @code{uuid}, The @code{label} and @code{uuid} options offer a way to refer to disk partitions without having to hard-code their actual device name. +However, when a file system's source is a mapped device (@pxref{Mapped +Devices}), its @code{device} field @emph{must} refer to the mapped +device name---e.g., @file{/dev/mapper/root-partition}---and consequently +@code{title} must be set to @code{'device}. This is required so that +the system knows that mounting the file system depends on having the +corresponding device mapping established. + @item @code{flags} (default: @code{'()}) This is a list of symbols denoting mount flags. Recognized flags include @code{read-only}, @code{bind-mount}, @code{no-dev} (disallow From 6efc160efe6b91dd2ef2b74d551411d290c3b1f6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Nov 2014 18:34:31 +0100 Subject: [PATCH 079/221] daemon: Default to '--cores=0'. Suggested by Deck Pickard . * nix/nix-daemon/guix-daemon.cc (main): Set 'settings.buildCores' to 0. * doc/guix.texi (Invoking guix-daemon): Adjust accordingly. --- doc/guix.texi | 2 +- nix/nix-daemon/guix-daemon.cc | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 4edaa922e1..f313ba5db4 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -586,7 +586,7 @@ Cache build failures. By default, only successful builds are cached. Use @var{n} CPU cores to build each derivation; @code{0} means as many as available. -The default value is @code{1}, but it may be overridden by clients, such +The default value is @code{0}, but it may be overridden by clients, such as the @code{--cores} option of @command{guix build} (@pxref{Invoking guix build}). diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index d1d4541971..3cca120755 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -264,6 +264,9 @@ main (int argc, char *argv[]) /* Turn automatic deduplication on by default. */ settings.autoOptimiseStore = true; + /* Default to using as many cores as possible. */ + settings.buildCores = 0; + argvSaved = argv; try From 16eb115ef4986f319e6aebb04cefce12bc851e01 Mon Sep 17 00:00:00 2001 From: nebuli Date: Sun, 30 Nov 2014 17:47:22 +0100 Subject: [PATCH 080/221] guix: scripts: Add GUIX_BUILD_OPTIONS environment handling. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * doc/guix.texi (Invoking guix build): Mention 'GUIX_BUILD_OPTIONS'. * guix/scripts/archive.scm: (append args (environment-build-options)). * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * guix/ui.scm (environment-build-options): New function. * guix/utils.scm (arguments-from-environment-variable): New function. * tests/guix-build.sh: Add tests. * test-env.in: Unset GUIX_BUILD_OPTIONS. Co-authored-by: Ludovic Courtès --- doc/guix.texi | 18 ++++++++++++++++++ guix/scripts/archive.scm | 3 ++- guix/scripts/build.scm | 3 ++- guix/scripts/environment.scm | 3 ++- guix/scripts/package.scm | 3 ++- guix/scripts/system.scm | 3 ++- guix/ui.scm | 5 +++++ guix/utils.scm | 10 ++++++++++ test-env.in | 4 ++-- tests/guix-build.sh | 10 ++++++++++ 10 files changed, 55 insertions(+), 7 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index f313ba5db4..75ce632602 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2781,6 +2781,24 @@ the @code{package-derivation} procedure of the @code{(guix packages)} module, and to the @code{build-derivations} procedure of the @code{(guix store)} module. +In addition to options explicitly passed on the command line, +@command{guix build} and other @command{guix} commands that support +building honor the @code{GUIX_BUILD_OPTIONS} environment variable. + +@defvr {Environment Variable} GUIX_BUILD_OPTIONS +Users can define this variable to a list of command line options that +will automatically be used by @command{guix build} and other +@command{guix} commands that can perform builds, as in the example +below: + +@example +$ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar" +@end example + +These options are appended to the ones passed on the command line. +@end defvr + + @node Invoking guix download @section Invoking @command{guix download} diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index 84904e29da..29a3ad15a7 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -293,7 +293,8 @@ the input port." (define (guix-archive . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* args %options + (args-fold* (append args (environment-build-options)) + %options (lambda (opt name arg result) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index b4aa33b3a0..76a743f0b3 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -401,7 +401,8 @@ arguments with packages that use the specified source." (define (guix-build . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* args %options + (args-fold* (append args (environment-build-options)) + %options (lambda (opt name arg result) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index 81bad963f6..a309dfa362 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -213,7 +213,8 @@ packages." ;; Entry point. (define (guix-environment . args) (define (parse-options) - (args-fold* args %options + (args-fold* (append args (environment-build-options)) + %options (lambda (opt name arg result) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 3a72053766..9ff4d17bf4 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -668,7 +668,8 @@ removed from MANIFEST." (define (guix-package . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* args %options + (args-fold* (append args (environment-build-options)) + %options (lambda (opt name arg result arg-handler) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result arg-handler) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 398a5a371b..8ea77e4f3c 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -467,7 +467,8 @@ Build the operating system declared in FILE according to ACTION.\n")) (define (guix-system . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* args %options + (args-fold* (append args (environment-build-options)) + %options (lambda (opt name arg result) (leave (_ "~A: unrecognized option~%") name)) (lambda (arg result) diff --git a/guix/ui.scm b/guix/ui.scm index 69b073da50..c77e04172e 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -64,6 +64,7 @@ string->generations string->duration args-fold* + environment-build-options run-guix-command program-name guix-warning-port @@ -712,6 +713,10 @@ reporting." (leave (_ "invalid argument: ~a~%") (apply format #f msg args))))) +(define (environment-build-options) + "Return additional build options passed as environment variables." + (arguments-from-environment-variable "GUIX_BUILD_OPTIONS")) + (define (show-guix-usage) (format (current-error-port) (_ "Try `guix --help' for more information.~%")) diff --git a/guix/utils.scm b/guix/utils.scm index 9b802b6fb3..d0d2e8a3d4 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -72,6 +72,7 @@ package-name->name+version string-tokenize* string-replace-substring + arguments-from-environment-variable file-extension file-sans-extension call-with-temporary-output-file @@ -627,6 +628,15 @@ REPLACEMENT." (substring str start index) pieces)))))))) +(define (arguments-from-environment-variable variable) + "Retrieve value of environment variable denoted by string VARIABLE in the +form of a list of strings (`char-set:graphic' tokens) suitable for consumption +by `args-fold', if VARIABLE is defined, otherwise return an empty list." + (let ((env (getenv variable))) + (if env + (string-tokenize env char-set:graphic) + '()))) + (define (call-with-temporary-output-file proc) "Call PROC with a name of a temporary file and open output port to that file; close the file and delete it when leaving the dynamic extent of this diff --git a/test-env.in b/test-env.in index 39b205dc8a..f66a0db555 100644 --- a/test-env.in +++ b/test-env.in @@ -99,8 +99,8 @@ unset LANGUAGE LC_MESSAGES=C export LC_MESSAGES -# Ignore user modules. -unset GUIX_PACKAGE_PATH +# Ignore user settings. +unset GUIX_PACKAGE_PATH GUIX_BUILD_OPTIONS storedir="@storedir@" prefix="@prefix@" diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 27b3fdc39e..836c45e776 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -84,3 +84,13 @@ guix build -e "(begin # Running a gexp. guix build -e '#~(mkdir #$output)' -d guix build -e '#~(mkdir #$output)' -d | grep 'gexp\.drv' + +# Using 'GUIX_BUILD_OPTIONS'. +GUIX_BUILD_OPTIONS="--dry-run" +export GUIX_BUILD_OPTIONS + +guix build emacs + +GUIX_BUILD_OPTIONS="--something-completely-crazy" +if guix build emacs; +then false; else true; fi From 40b4c6d6063e608a1df4dca8596e9281ca70cb47 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 30 Nov 2014 23:23:24 +0100 Subject: [PATCH 081/221] gnu: wpa-supplicant: Remove dependency on DBus. * gnu/packages/admin.scm (wpa-supplicant): Remove dependency on DBUS. --- gnu/packages/admin.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index 3893da3a07..d7cd0b8092 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -689,9 +689,12 @@ commands and their arguments.") (let ((port (open-file ".config" "al"))) (display " CONFIG_DEBUG_SYSLOG=y - CONFIG_CTRL_IFACE_DBUS=y - CONFIG_CTRL_IFACE_DBUS_NEW=y - CONFIG_CTRL_IFACE_DBUS_INTRO=y + + # TODO: Add a variant of this package with DBus support. + #CONFIG_CTRL_IFACE_DBUS=y + #CONFIG_CTRL_IFACE_DBUS_NEW=y + #CONFIG_CTRL_IFACE_DBUS_INTRO=y + CONFIG_DRIVER_NL80211=y CFLAGS += $(shell pkg-config libnl-3.0 --cflags) CONFIG_LIBNL32=y @@ -708,7 +711,9 @@ commands and their arguments.") (inputs `(("readline" ,readline) ("libnl" ,libnl) - ("dbus" ,dbus) + ;; TODO: Add a variant with DBus support. This significantly increases + ;; the size of its closure since DBus depends on libx11. + ;; ("dbus" ,dbus) ("openssl" ,o:openssl))) (native-inputs `(("pkg-config" ,pkg-config))) From c7810bd1a893bc1cbe59230a6df3e0916607f99a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sat, 22 Nov 2014 02:04:35 -0600 Subject: [PATCH 082/221] gnu: Add git-flow. * gnu/packages/version-control.scm (git-flow, shflags): New variables. --- gnu/packages/version-control.scm | 95 +++++++++++++++++++++++++++++++- 1 file changed, 94 insertions(+), 1 deletion(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 931297cf2a..3de11f003c 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -4,6 +4,7 @@ ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Eric Bavier ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,13 +23,18 @@ (define-module (gnu packages version-control) #:use-module ((guix licenses) - #:select (asl2.0 gpl1+ gpl2 gpl2+ gpl3+ x11-style)) + #:select (asl2.0 bsd-2 + gpl1+ gpl2 gpl2+ gpl3+ lgpl2.1 + x11-style)) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix build-system gnu) #:use-module (guix build-system python) + #:use-module (guix build-system trivial) #:use-module (guix build utils) #:use-module (gnu packages apr) + #:use-module (gnu packages base) #:use-module (gnu packages bison) #:use-module (gnu packages cook) #:use-module (gnu packages curl) @@ -204,6 +210,93 @@ everything from small to very large projects with speed and efficiency.") (license gpl2) (home-page "http://git-scm.com/"))) +(define-public shflags + (package + (name "shflags") + (version "1.0.3") + (source (origin + (method url-fetch) + (uri (string-append "https://shflags.googlecode.com/files/" + "shflags-" version ".tgz")) + (sha256 + (base32 + "08laxhf1hifh3w4j0hri5ppcklaqz0mnkmbaz8j0wxih29vi8slm")))) + (build-system trivial-build-system) + (native-inputs `(("tar" ,tar) + ("gzip" ,gzip))) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (tar (assoc-ref %build-inputs "tar")) + (gzip (assoc-ref %build-inputs "gzip")) + (output (assoc-ref %outputs "out")) + (srcdir (string-append output "/src"))) + (begin + (setenv "PATH" (string-append gzip "/bin")) + (system* (string-append tar "/bin/tar") "xzf" + source) + (chdir ,(string-append name "-" version)) + (mkdir-p srcdir) + (copy-file "src/shflags" + (string-append srcdir "/shflags")) + #t))))) + (home-page "https://code.google.com/p/shflags/") + (synopsis "Command-line flags library for shell scripts") + (description + "Shell Flags (shFlags) is a library written to greatly simplify the +handling of command-line flags in Bourne based Unix shell scripts (bash, dash, +ksh, sh, zsh). Most shell scripts use getopt for flags processing, but the +different versions of getopt on various OSes make writing portable shell +scripts difficult. shFlags instead provides an API that doesn't change across +shell and OS versions so the script writer can be confident that the script +will work.") + (license lgpl2.1))) + +(define-public git-flow + (package + (name "git-flow") + ;; This version has not be officially released yet, so we build it + ;; directly from the git repository. + (version "0.4.2-pre") + (source (origin + (method git-fetch) + (uri (git-reference + (url "https://github.com/nvie/gitflow/") + (commit "15aab26"))) + (sha256 + (base32 + "01fs97q76fdfnvmrh2cyjhywcs3pykf1dg58sy0frflnsdzs6prx")))) + (build-system gnu-build-system) + (inputs `(("shflags" ,shflags))) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list (string-append "prefix=" + (assoc-ref %outputs "out"))) + #:phases (alist-cons-after + 'unpack 'reset-shFlags-link + (lambda* (#:key inputs #:allow-other-keys) + ;; The link points to a file in the shFlags submodule. + ;; Redirect it to point to our system shFlags. + (let ((shflags (assoc-ref inputs "shflags"))) + (begin + (delete-file "gitflow-shFlags") + (symlink (string-append shflags "/src/shflags") + "gitflow-shFlags")))) + (alist-delete + 'configure + (alist-delete 'build %standard-phases))))) + (home-page "http://nvie.com/posts/a-successful-git-branching-model/") + (synopsis "Git extensions for Vincent Driessen's branching model") + (description + "Vincent Driessen's branching model is a git branching and release +management strategy that helps developers keep track of features, hotfixes, +and releases in bigger software projects. The git-flow library of git +subcommands helps automate some parts of the flow to make working with it a +lot easier.") + (license bsd-2))) + (define-public mercurial (package (name "mercurial") From a63094a752706e809fdf16ec93c1e8b04008c39d Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 24 Nov 2014 14:25:09 -0600 Subject: [PATCH 083/221] gnu: Add git-test-sequence. * gnu/packages/version-control.scm (git-test-sequence): New variable. --- gnu/packages/version-control.scm | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 3de11f003c..8ee624f909 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -297,6 +297,43 @@ subcommands helps automate some parts of the flow to make working with it a lot easier.") (license bsd-2))) +(define-public git-test-sequence + (let ((commit "48e5a2f")) + (package + (name "git-test-sequence") + (version (string-append "20140312." commit)) + (source (origin + (method git-fetch) + (uri (git-reference + ;; There are many other scripts in this directory; we + ;; are interested in just one for this package. + (url "https://github.com/dustin/bindir") + (commit commit))) + (sha256 + (base32 + "1dcq0y16yznbv4k9h8gg90kv1gkn8r8dbvl4m2rpfd7q5nqhn617")))) + (build-system trivial-build-system) + (arguments + `(#:modules ((guix build utils)) + #:builder (begin + (use-modules (guix build utils)) + (let* ((source (assoc-ref %build-inputs "source")) + (output (assoc-ref %outputs "out")) + (bindir (string-append output "/bin")) + (script "git-test-sequence")) + (begin + (mkdir-p bindir) + (copy-file (string-append source "/" script) + (string-append bindir "/" script)) + #t))))) + (home-page "http://dustin.sallings.org/2010/03/28/git-test-sequence.html") + (synopsis "Run a command over a sequence of commits") + (description + "git-test-sequence is similar to an automated git bisect except it’s +linear. It will test every change between two points in the DAG. It will +also walk each side of a merge and test those changes individually.") + (license (x11-style "file://LICENSE"))))) + (define-public mercurial (package (name "mercurial") From d514bedb056d1903ec56670504c72c553a40adca Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 21:42:21 +0100 Subject: [PATCH 084/221] gnu: cd-discid: Fix download location. * gnu/packages/cdrom.scm (cd-discid): Fix download location. --- gnu/packages/cdrom.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/cdrom.scm b/gnu/packages/cdrom.scm index 08fe6c2196..6187f871af 100644 --- a/gnu/packages/cdrom.scm +++ b/gnu/packages/cdrom.scm @@ -229,7 +229,7 @@ capacity is user-selectable.") (home-page "http://linukz.org/cd-discid.shtml") (source (origin (method url-fetch) - (uri (string-append home-page "/download/cd-discid-" + (uri (string-append "http://linukz.org/download/cd-discid-" version ".tar.gz")) (sha256 (base32 From 4f7181b5df6ec47257e6753779a1fb7542ea7dc2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 21:46:32 +0100 Subject: [PATCH 085/221] gnu: ucommon: Update to 6.2.3. * gnu/packages/telephony.scm (ucommon): Update to 6.2.3. --- gnu/packages/telephony.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/telephony.scm b/gnu/packages/telephony.scm index 45002fd864..583c44c50b 100644 --- a/gnu/packages/telephony.scm +++ b/gnu/packages/telephony.scm @@ -56,13 +56,13 @@ reimplementation.") (define-public ucommon (package (name "ucommon") - (version "6.2.2") + (version "6.2.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/commoncpp/" name "-" version ".tar.gz")) (sha256 (base32 - "0rpamwnrvy0688b0y2xsbrc3zjw9qg1svfbavqjh54swvhkfzp0x")))) + "1apk1k877knvh2k1yqspsln5wm81a4ly4w97ang1qhi21ydwgjnn")))) (build-system gnu-build-system) (synopsis "Common C++ framework for threaded applications") (description "GNU uCommon C++ is meant as a very light-weight C++ library From bdeb576793a7bdba1917dd58b57cf524f71ea3fe Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:19:46 +0100 Subject: [PATCH 086/221] gnu: global: Update to 6.3.3. * gnu/packages/global.scm (global): Update to 6.3.3. --- gnu/packages/global.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/global.scm b/gnu/packages/global.scm index d43caf4f54..f7377def0a 100644 --- a/gnu/packages/global.scm +++ b/gnu/packages/global.scm @@ -28,14 +28,14 @@ (define-public global ; a global variable (package (name "global") - (version "6.3.2") + (version "6.3.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/global/global-" version ".tar.gz")) (sha256 (base32 - "07iifpz00ch3drlscvk5v12j7bckwv6pk8040y81s1x14b0gf220")))) + "0j828dg2cjf77rx71cw68jpk7jl119v6nyb0kyvirr5i1860j1fx")))) (build-system gnu-build-system) (inputs `(("ncurses" ,ncurses) ("libtool" ,libtool))) From 3de92182a401a5f4797b90217bb576bfd2a7fb6f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:21:18 +0100 Subject: [PATCH 087/221] gnu: help2man: Update to 1.46.4. * gnu/packages/man.scm (help2man): Update to 1.46.4. --- gnu/packages/man.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/man.scm b/gnu/packages/man.scm index 3d5d02ea64..028403ce74 100644 --- a/gnu/packages/man.scm +++ b/gnu/packages/man.scm @@ -151,7 +151,7 @@ Linux kernel and C library interfaces employed by user-space programs.") (define-public help2man (package (name "help2man") - (version "1.46.3") + (version "1.46.4") (source (origin (method url-fetch) @@ -159,7 +159,7 @@ Linux kernel and C library interfaces employed by user-space programs.") version ".tar.xz")) (sha256 (base32 - "0hi94a6ai96yw0v8xgjzpp5c6jr33ifmbn2mkp7wz7rgmwxxqsd6")))) + "0csn7jx7nhlrflalw1992p3l5afawlpdyjdff2q5bk5hadgz3rqs")))) (build-system gnu-build-system) (arguments `(;; There's no `check' target. #:tests? #f)) From 8cb3f90074a9283620c931e046fbbadaca95d990 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:24:32 +0100 Subject: [PATCH 088/221] gnu: freeipmi: Update to 1.4.6. * gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.6. --- gnu/packages/freeipmi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index 5ce87ae842..c9853cf6c1 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.5") + (version "1.4.6") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "033zakrk3kvi4y41kslicr90b3yb2kj052cl6nbja7ybn70y9nkz")))) + "1br68qlg0hw6mc4v64hliqydl83qg2ldfxc50yi4xvca6wll6h3f")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) From 98a11f81d175035845675a841fcbc1dad1bb307a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:30:39 +0100 Subject: [PATCH 089/221] gnu: libmicrohttpd: Update to 0.9.38. * gnu/packages/gnunet.scm (libmicrohttpd): Update to 0.9.38. --- gnu/packages/gnunet.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index d9f83477df..249971becd 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -103,14 +103,14 @@ tool to extract metadata from a file and print the results.") (define-public libmicrohttpd (package (name "libmicrohttpd") - (version "0.9.37") + (version "0.9.38") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/libmicrohttpd/libmicrohttpd-" version ".tar.gz")) (sha256 (base32 - "1p3wnhr43v6vqdgl86r76298wjfxz2ihj9zh9kpz8l7va30br357")))) + "08g7p4l0p2fsjj8ayl68zq1bqgrn0pck19bm8yd7k61whvfv9wld")))) (build-system gnu-build-system) (inputs `(("curl" ,curl) From fc205802ed2a4bae5f555bec900bb79d55e60796 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:32:03 +0100 Subject: [PATCH 090/221] gnu: ocrad: Update to 0.24. * gnu/packages/ocrad.scm (ocrad): Update to 0.24. --- gnu/packages/ocrad.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/ocrad.scm b/gnu/packages/ocrad.scm index ee35256123..8ad4f32670 100644 --- a/gnu/packages/ocrad.scm +++ b/gnu/packages/ocrad.scm @@ -27,14 +27,14 @@ (define-public ocrad (package (name "ocrad") - (version "0.23") + (version "0.24") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/ocrad/ocrad-" version ".tar.lz")) (sha256 (base32 - "0vx0v4sz8ivgcp04zggdq9cv9sb5zxnn7j1nm15cds0zq1wr9g7m")))) + "0hhlx072d00bi9qia0nj5izsq4qkscpfz2mpbyfc72msl3hfvslv")))) (build-system gnu-build-system) (native-inputs `(("lzip" ,lzip))) (home-page "http://www.gnu.org/software/ocrad/") From 0bee13a4d9c2f515745a1d065589f152cffd3123 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:33:44 +0100 Subject: [PATCH 091/221] gnu: parallel: Update to 20141122. * gnu/packages/parallel.scm (parallel): Update to 20141122. --- gnu/packages/parallel.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/parallel.scm b/gnu/packages/parallel.scm index eaf789f828..6524110f2a 100644 --- a/gnu/packages/parallel.scm +++ b/gnu/packages/parallel.scm @@ -27,7 +27,7 @@ (define-public parallel (package (name "parallel") - (version "20141022") + (version "20141122") (source (origin (method url-fetch) @@ -35,7 +35,7 @@ version ".tar.bz2")) (sha256 (base32 - "1dpssybids6k6na4rh2gwv1m581h28rcmsvq0hs56hrrh7qpjmvp")))) + "1kpd4ayd4lb867nfnpkam4b3mh86jl6cdy386x1rich938gbrg38")))) (build-system gnu-build-system) (inputs `(("perl" ,perl))) (home-page "http://www.gnu.org/software/parallel/") From 29cafd17f8389cddbee43be1a8d1c85564b2ba50 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:35:39 +0100 Subject: [PATCH 092/221] gnu: libtasn1: Update to 4.2. * gnu/packages/gnutls.scm (libtasn1): Update to 4.2. --- gnu/packages/gnutls.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnutls.scm b/gnu/packages/gnutls.scm index fd1b38d5ae..7ac7a9e304 100644 --- a/gnu/packages/gnutls.scm +++ b/gnu/packages/gnutls.scm @@ -36,7 +36,7 @@ (define-public libtasn1 (package (name "libtasn1") - (version "4.1") + (version "4.2") (source (origin (method url-fetch) @@ -44,7 +44,7 @@ version ".tar.gz")) (sha256 (base32 - "00gkyppzw6fqi5mnc3d8paf7bp6nfhi9213481awy07sviqnbvk0")))) + "1fydwh5hlnmprdzmzn4kiqb939br59qv1001k7ah5b626v5l2fv9")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) From e823c149185806fad407648473da834280a64aa5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 1 Dec 2014 22:39:47 +0100 Subject: [PATCH 093/221] gnu: libgpg-error: Update to 1.17. * gnu/packages/gnupg.scm (libgpg-error): Update to 1.17. --- gnu/packages/gnupg.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 6b0f35ae27..1ef8fe7e3a 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -39,7 +39,7 @@ (define-public libgpg-error (package (name "libgpg-error") - (version "1.13") + (version "1.17") (source (origin (method url-fetch) @@ -47,7 +47,7 @@ version ".tar.bz2")) (sha256 (base32 - "02lv5h865f8if391xjp3njg04k0l4x2pwjkcdbzcwilail1skazq")))) + "1dapxzxl1naghf342fwfc2w2f2c5hb9gr1a1s4n8dsqn26kybx1z")))) (build-system gnu-build-system) (home-page "http://gnupg.org") (synopsis "Library of error values for GnuPG components") From 85dbd3dcd00f294b6b9cc5214552799220a2465a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 22:12:23 +0100 Subject: [PATCH 094/221] build-system/glib-or-gtk: Clean up whitespace. * guix/build/glib-or-gtk-build-system.scm: M-x whitespace-cleanup. --- guix/build/glib-or-gtk-build-system.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm index 1d87a4cf27..bed7eb691a 100644 --- a/guix/build/glib-or-gtk-build-system.scm +++ b/guix/build/glib-or-gtk-build-system.scm @@ -36,14 +36,14 @@ (define (directory-included? directory directories-list) "Is DIRECTORY included in DIRECTORIES-LIST?" - (fold (lambda (s p) (or (string-ci=? s directory) p)) + (fold (lambda (s p) (or (string-ci=? s directory) p)) #f directories-list)) (define (gtk-module-directories inputs) "Check for the existence of \"libdir/gtk-v.0\" in INPUTS. Return a list with all found directories." - (let* ((version - (if (string-match "gtk\\+-3" + (let* ((version + (if (string-match "gtk\\+-3" (or (assoc-ref inputs "gtk+") (assoc-ref inputs "source") "gtk+-3")) ; we default to version 3 @@ -54,7 +54,7 @@ with all found directories." (let* ((in (match input ((_ . dir) dir) (_ ""))) - (libdir + (libdir (string-append in "/lib/gtk-" version))) (if (and (directory-exists? libdir) (not (directory-included? libdir prev))) @@ -85,18 +85,18 @@ if found." (bindir (string-append out "/bin")) (bin-list (find-files bindir ".*")) (schemas (schemas-directories (acons "out" out inputs))) - (schemas-env-var + (schemas-env-var (if (not (null? schemas)) `("XDG_DATA_DIRS" ":" prefix ,schemas) #f)) (gtk-mod-dirs (gtk-module-directories (acons "out" out inputs))) - (gtk-mod-env-var + (gtk-mod-env-var (if (not (null? gtk-mod-dirs)) `("GTK_PATH" ":" prefix ,gtk-mod-dirs) #f))) (cond ((and schemas-env-var gtk-mod-env-var) - (map (lambda (prog) + (map (lambda (prog) (wrap-program prog schemas-env-var gtk-mod-env-var)) bin-list)) (schemas-env-var @@ -110,16 +110,16 @@ if needed." (let* ((out (assoc-ref outputs "out")) (schemasdir (string-append out "/share/glib-2.0/schemas"))) (if (and (directory-exists? schemasdir) - (not (file-exists? + (not (file-exists? (string-append schemasdir "/gschemas.compiled")))) (system* "glib-compile-schemas" schemasdir) #t))) (define %standard-phases (alist-cons-after - 'install 'glib-or-gtk-wrap wrap-all-programs - (alist-cons-after - 'install 'glib-or-gtk-compile-schemas compile-glib-schemas + 'install 'glib-or-gtk-wrap wrap-all-programs + (alist-cons-after + 'install 'glib-or-gtk-compile-schemas compile-glib-schemas gnu:%standard-phases))) (define* (glib-or-gtk-build #:key inputs (phases %standard-phases) From 4efdabb810717cee845de30a81799c953915d1eb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 22:15:49 +0100 Subject: [PATCH 095/221] build-system/glib-or-gtk: Use 'for-each' and 'cut' as appropriate. * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Use 'for-each' instead of 'map' in for-effect contexts. Use 'cut' instead of 'lambda' when appropriate. --- guix/build/glib-or-gtk-build-system.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm index bed7eb691a..011f9b3f4f 100644 --- a/guix/build/glib-or-gtk-build-system.scm +++ b/guix/build/glib-or-gtk-build-system.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Federico Beffa +;;; Copyright © 2014 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,6 +23,7 @@ #:use-module (ice-9 match) #:use-module (ice-9 regex) #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) #:export (%standard-phases glib-or-gtk-build)) @@ -96,13 +98,15 @@ if found." #f))) (cond ((and schemas-env-var gtk-mod-env-var) - (map (lambda (prog) - (wrap-program prog schemas-env-var gtk-mod-env-var)) - bin-list)) + (for-each (cut wrap-program <> schemas-env-var gtk-mod-env-var) + bin-list)) (schemas-env-var - (map (lambda (prog) (wrap-program prog schemas-env-var)) bin-list)) + (for-each (cut wrap-program <> schemas-env-var) + bin-list)) (gtk-mod-env-var - (map (lambda (prog) (wrap-program prog gtk-mod-env-var)) bin-list))))) + (for-each (cut wrap-program <> gtk-mod-env-var) + bin-list))) + #t)) (define* (compile-glib-schemas #:key inputs outputs #:allow-other-keys) "Implement phase \"glib-or-gtk-compile-schemas\": compile \"glib\" schemas From c8b7569558d8cdde352960ad4eac9bc43a503c5a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 22:24:21 +0100 Subject: [PATCH 096/221] build-system/glib-or-gtk: Correctly handle multiple-output packages. * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Move body to 'handle-output' inner procedure, and parametrize it by output name and directory. Call it for each element of OUTPUTS. (compile-glib-schemas): Likewise. --- guix/build/glib-or-gtk-build-system.scm | 69 ++++++++++++++----------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm index 011f9b3f4f..5fc3b7c003 100644 --- a/guix/build/glib-or-gtk-build-system.scm +++ b/guix/build/glib-or-gtk-build-system.scm @@ -83,41 +83,50 @@ a list with all found directories." "Implement phase \"glib-or-gtk-wrap\": look for GSettings schemas and gtk+-v.0 libraries and create wrappers with suitably set environment variables if found." - (let* ((out (assoc-ref outputs "out")) - (bindir (string-append out "/bin")) - (bin-list (find-files bindir ".*")) - (schemas (schemas-directories (acons "out" out inputs))) + (define handle-output + (match-lambda + ((output . directory) + (let* ((bindir (string-append directory "/bin")) + (bin-list (find-files bindir ".*")) + (schemas (schemas-directories + (alist-cons output directory inputs))) + (gtk-mod-dirs (gtk-module-directories + (alist-cons output directory inputs))) + (schemas-env-var + (if (not (null? schemas)) + `("XDG_DATA_DIRS" ":" prefix ,schemas) + #f)) + (gtk-mod-env-var + (if (not (null? gtk-mod-dirs)) + `("GTK_PATH" ":" prefix ,gtk-mod-dirs) + #f))) + (cond + ((and schemas-env-var gtk-mod-env-var) + (for-each (cut wrap-program <> schemas-env-var gtk-mod-env-var) + bin-list)) (schemas-env-var - (if (not (null? schemas)) - `("XDG_DATA_DIRS" ":" prefix ,schemas) - #f)) - (gtk-mod-dirs (gtk-module-directories (acons "out" out inputs))) + (for-each (cut wrap-program <> schemas-env-var) + bin-list)) (gtk-mod-env-var - (if (not (null? gtk-mod-dirs)) - `("GTK_PATH" ":" prefix ,gtk-mod-dirs) - #f))) - (cond - ((and schemas-env-var gtk-mod-env-var) - (for-each (cut wrap-program <> schemas-env-var gtk-mod-env-var) - bin-list)) - (schemas-env-var - (for-each (cut wrap-program <> schemas-env-var) - bin-list)) - (gtk-mod-env-var - (for-each (cut wrap-program <> gtk-mod-env-var) - bin-list))) - #t)) + (for-each (cut wrap-program <> gtk-mod-env-var) + bin-list))))))) -(define* (compile-glib-schemas #:key inputs outputs #:allow-other-keys) + (for-each handle-output outputs) + #t) + +(define* (compile-glib-schemas #:key outputs #:allow-other-keys) "Implement phase \"glib-or-gtk-compile-schemas\": compile \"glib\" schemas if needed." - (let* ((out (assoc-ref outputs "out")) - (schemasdir (string-append out "/share/glib-2.0/schemas"))) - (if (and (directory-exists? schemasdir) - (not (file-exists? - (string-append schemasdir "/gschemas.compiled")))) - (system* "glib-compile-schemas" schemasdir) - #t))) + (every (match-lambda + ((output . directory) + (let ((schemasdir (string-append directory + "/share/glib-2.0/schemas"))) + (if (and (directory-exists? schemasdir) + (not (file-exists? + (string-append schemasdir "/gschemas.compiled")))) + (zero? (system* "glib-compile-schemas" schemasdir)) + #t)))) + outputs)) (define %standard-phases (alist-cons-after From 73aa8ddb75bf143ae21e383118ae69582a0d93b5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 22:39:05 +0100 Subject: [PATCH 097/221] build-system/glib-or-gtk: Allow specific outputs to be excluded from wrapping. * guix/build/glib-or-gtk-build-system.scm (wrap-all-programs): Add #:glib-or-gtk-wrap-excluded-outputs parameter and honor it. * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Add #:glib-or-gtk-wrap-excluded-outputs parameter and pass it in BUILDER. * doc/guix.texi (Build Systems): Mention it. --- doc/guix.texi | 7 +++ guix/build-system/glib-or-gtk.scm | 3 ++ guix/build/glib-or-gtk-build-system.scm | 60 ++++++++++++++----------- 3 files changed, 44 insertions(+), 26 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 75ce632602..157aecbe33 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -1808,6 +1808,13 @@ modules}. This is achieved by wrapping the programs in launch scripts that appropriately set the @code{XDG_DATA_DIRS} and @code{GTK_PATH} environment variables. +It is possible to exclude specific package outputs from that wrapping +process by listing their names in the +@code{#:glib-or-gtk-wrap-excluded-outputs} parameter. This is useful +when an output is known not to contain any GLib or GTK+ binaries, and +where wrapping would gratuitously add a dependency of that output on +GLib and GTK+. + @item glib-or-gtk-compile-schemas The phase @code{glib-or-gtk-compile-schemas} makes sure that all GLib's @uref{https://developer.gnome.org/gio/stable/glib-compile-schemas.html, diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 51e0c419e3..039bfb948c 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -122,6 +122,7 @@ "bin" "sbin")) (phases '(@ (guix build glib-or-gtk-build-system) %standard-phases)) + (glib-or-gtk-wrap-excluded-outputs '()) (system (%current-system)) (imported-modules %default-imported-modules) (modules %default-modules) @@ -153,6 +154,8 @@ #:search-paths ',(map search-path-specification->sexp search-paths) #:phases ,phases + #:glib-or-gtk-wrap-excluded-outputs + ,glib-or-gtk-wrap-excluded-outputs #:configure-flags ,configure-flags #:make-flags ,make-flags #:out-of-source? ,out-of-source? diff --git a/guix/build/glib-or-gtk-build-system.scm b/guix/build/glib-or-gtk-build-system.scm index 5fc3b7c003..9351a70a0e 100644 --- a/guix/build/glib-or-gtk-build-system.scm +++ b/guix/build/glib-or-gtk-build-system.scm @@ -79,37 +79,45 @@ a list with all found directories." (fold glib-schemas '() inputs)) -(define* (wrap-all-programs #:key inputs outputs #:allow-other-keys) +(define* (wrap-all-programs #:key inputs outputs + (glib-or-gtk-wrap-excluded-outputs '()) + #:allow-other-keys) "Implement phase \"glib-or-gtk-wrap\": look for GSettings schemas and gtk+-v.0 libraries and create wrappers with suitably set environment variables -if found." +if found. + +Wrapping is not applied to outputs whose name is listed in +GLIB-OR-GTK-WRAP-EXCLUDED-OUTPUTS. This is useful when an output is known not +to contain any GLib or GTK+ binaries, and where wrapping would gratuitously +add a dependency of that output on GLib and GTK+." (define handle-output (match-lambda ((output . directory) - (let* ((bindir (string-append directory "/bin")) - (bin-list (find-files bindir ".*")) - (schemas (schemas-directories - (alist-cons output directory inputs))) - (gtk-mod-dirs (gtk-module-directories - (alist-cons output directory inputs))) - (schemas-env-var - (if (not (null? schemas)) - `("XDG_DATA_DIRS" ":" prefix ,schemas) - #f)) - (gtk-mod-env-var - (if (not (null? gtk-mod-dirs)) - `("GTK_PATH" ":" prefix ,gtk-mod-dirs) - #f))) - (cond - ((and schemas-env-var gtk-mod-env-var) - (for-each (cut wrap-program <> schemas-env-var gtk-mod-env-var) - bin-list)) - (schemas-env-var - (for-each (cut wrap-program <> schemas-env-var) - bin-list)) - (gtk-mod-env-var - (for-each (cut wrap-program <> gtk-mod-env-var) - bin-list))))))) + (unless (member output glib-or-gtk-wrap-excluded-outputs) + (let* ((bindir (string-append directory "/bin")) + (bin-list (find-files bindir ".*")) + (schemas (schemas-directories + (alist-cons output directory inputs))) + (gtk-mod-dirs (gtk-module-directories + (alist-cons output directory inputs))) + (schemas-env-var + (if (not (null? schemas)) + `("XDG_DATA_DIRS" ":" prefix ,schemas) + #f)) + (gtk-mod-env-var + (if (not (null? gtk-mod-dirs)) + `("GTK_PATH" ":" prefix ,gtk-mod-dirs) + #f))) + (cond + ((and schemas-env-var gtk-mod-env-var) + (for-each (cut wrap-program <> schemas-env-var gtk-mod-env-var) + bin-list)) + (schemas-env-var + (for-each (cut wrap-program <> schemas-env-var) + bin-list)) + (gtk-mod-env-var + (for-each (cut wrap-program <> gtk-mod-env-var) + bin-list)))))))) (for-each handle-output outputs) #t) From 4cdec09a39580a920d1d20a0e1cf735124a327c2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 22:40:30 +0100 Subject: [PATCH 098/221] gnu: bittorrent: Build with 'glib-or-gtk-build-system'. Fixes . * gnu/packages/bittorrent.scm (transmission)[build-system]: Change to GLIB-OR-GTK-BUILD-SYSTEM. [arguments]: Add #:glib-or-gtk-wrap-excluded-outputs argument. --- gnu/packages/bittorrent.scm | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/bittorrent.scm b/gnu/packages/bittorrent.scm index 722341fa06..20a2bdca8c 100644 --- a/gnu/packages/bittorrent.scm +++ b/gnu/packages/bittorrent.scm @@ -21,6 +21,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module ((guix licenses) #:prefix l:) #:use-module (gnu packages openssl) #:use-module (gnu packages libevent) @@ -49,11 +50,12 @@ (sha256 (base32 "1sxr1magqb5s26yvr5yhs1f7bmir8gl09niafg64lhgfnhv1kz59")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (outputs '("out" ; library and command-line interface "gui")) ; graphical user interface (arguments - '(#:phases (alist-cons-after + '(#:glib-or-gtk-wrap-excluded-outputs '("out") + #:phases (alist-cons-after 'install 'move-gui (lambda* (#:key outputs #:allow-other-keys) ;; Move the GUI to its own output, so that "out" doesn't From 2ee8869a694803e582e203208d04a0725bfc8241 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 1 Dec 2014 13:28:24 +0100 Subject: [PATCH 099/221] gnu: Add numpy. * gnu/packages/python.scm (python-numpy, python2-numpy): New variables. --- gnu/packages/python.scm | 71 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index dad68fdde5..88f892799f 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -46,6 +46,8 @@ #: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 (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -1939,6 +1941,75 @@ capabilities.") (define python2-numpy-bootstrap (package-with-python2 python-numpy-bootstrap)) +(define-public python-numpy + (package (inherit python-numpy-bootstrap) + (name "python-numpy") + (outputs '("out" "doc")) + (inputs + `(("which" ,which) + ("python-setuptools" ,python-setuptools) + ("python-matplotlib" ,python-matplotlib) + ("python-sphinx" ,python-sphinx) + ("python-pyparsing" ,python-pyparsing) + ("python-numpydoc" ,python-numpydoc) + ,@(package-inputs python-numpy-bootstrap))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("texlive" ,texlive) + ("texinfo" ,texinfo) + ("perl" ,perl) + ,@(package-native-inputs python-numpy-bootstrap))) + (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 "-" + ,(package-version python-numpy-bootstrap))) + (info (string-append data "/info")) + (html (string-append doc "/html")) + (pyver ,(string-append "PYVER="))) + (with-directory-excursion "doc" + (mkdir-p html) + (system* "make" "html" pyver) + (system* "make" "latex" "PAPER=a4" pyver) + (system* "make" "-C" "build/latex" + "all-pdf" "PAPER=a4" pyver) + ;; FIXME: Generation of the info file fails. + ;; (system* "make" "info" pyver) + ;; (mkdir-p info) + ;; (copy-file "build/texinfo/numpy.info" + ;; (string-append info "/numpy.info")) + (for-each (lambda (file) + (copy-file (string-append "build/latex" file) + (string-append doc file))) + '("/numpy-ref.pdf" "/numpy-user.pdf")) + (with-directory-excursion "build/html" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + ,phases))))))) + +(define-public python2-numpy + (let ((numpy (package-with-python2 python-numpy))) + (package (inherit numpy) + ;; Make sure we use exactly PYTHON2-NUMPYDOC, which is customized for + ;; Python 2. Since it is also an input to PYTHON2-MATPLOTLIB, we need to + ;; import the right version of 'matplotlib' as well. + (inputs `(("python2-numpydoc" ,python2-numpydoc) + ("python2-matplotlib" ,python2-matplotlib) + ,@(alist-delete "python-numpydoc" + (alist-delete "python-matplotlib" + (package-inputs numpy)))))))) + (define-public python-pyparsing (package (name "python-pyparsing") From 3c156c8a9446f45347526f925d59fe7d9ea07af6 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Tue, 2 Dec 2014 14:29:01 +0100 Subject: [PATCH 100/221] gnu: move xorg to xdisorg * gnu/packages/xorg.scm (xeyes, pixman, libdrm, libdrm-2.4.33, mtdev): Move to ... * gnu/packages/xdisorg.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/xdisorg.scm | 169 +++++++++++++++++++++++++++++++++++++++ gnu/packages/xorg.scm | 138 -------------------------------- 3 files changed, 170 insertions(+), 138 deletions(-) create mode 100644 gnu/packages/xdisorg.scm diff --git a/gnu-system.am b/gnu-system.am index ac0bfa1cc3..f7532f0164 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -274,6 +274,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/xlockmore.scm \ gnu/packages/xml.scm \ gnu/packages/xnee.scm \ + gnu/packages/xdisorg.scm \ gnu/packages/xorg.scm \ gnu/packages/yasm.scm \ gnu/packages/zile.scm \ diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm new file mode 100644 index 0000000000..2fc9bb0d76 --- /dev/null +++ b/gnu/packages/xdisorg.scm @@ -0,0 +1,169 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013, 2014 Andreas Enge +;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages xdisorg) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages image) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xorg)) + + + +;; packages outside the x.org system proper + +(define-public xeyes + (package + (name "xeyes") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_" + version + ".orig.tar.gz")) + (sha256 + (base32 + "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9")))) + (build-system gnu-build-system) + (inputs + `(("libxext" ,libxext) + ("libxmu" ,libxmu) + ("libxt" ,libxt))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://xeyes.sourcearchive.com/") + (synopsis "Follow-the-mouse X demo") + (description "Xeyes is a demo program for x.org. It shows eyes +following the mouse.") + (license license:x11))) + + +(define-public pixman + (package + (name "pixman") + (version "0.32.4") + (source + (origin + (method url-fetch) + (uri (string-append + "http://cairographics.org/releases/pixman-" + version + ".tar.gz")) + (sha256 + (base32 + "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("zlib" ,zlib))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.pixman.org/") + (synopsis "Low-level pixel manipulation library") + (description "Pixman is a low-level software library for pixel +manipulation, providing features such as image compositing and trapezoid +rasterisation.") + (license license:x11))) + + +(define-public libdrm + (package + (name "libdrm") + (version "2.4.46") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dri.freedesktop.org/libdrm/libdrm-" + version + ".tar.bz2")) + (sha256 + (base32 + "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk")))) + (build-system gnu-build-system) + (inputs + `(("libpciaccess" ,libpciaccess) + ("libpthread-stubs" ,libpthread-stubs))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://dri.freedesktop.org/wiki/") + (synopsis "Direct rendering userspace library") + (description "The Direct Rendering Infrastructure, also known as the DRI, +is a framework for allowing direct access to graphics hardware under the +X Window System in a safe and efficient manner. It includes changes to the +X server, to several client libraries, and to the kernel (DRM, Direct +Rendering Manager). The most important use for the DRI is to create fast +OpenGL implementations providing hardware acceleration for Mesa. +Several 3D accelerated drivers have been written to the DRI specification, +including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel +and Matrox.") + (license license:x11))) + + +;; old version, required by old mesa, see +;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html +(define-public libdrm-2.4.33 + (package (inherit libdrm) + (version "2.4.33") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dri.freedesktop.org/libdrm/libdrm-" + version + ".tar.bz2")) + (sha256 + (base32 + "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd")))) + (arguments + `(#:configure-flags + ;; create libdrm_nouveau.so, needed by mesa, see + ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261 + `("--enable-nouveau-experimental-api"))))) + + +(define-public mtdev + (package + (name "mtdev") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "http://bitmath.org/code/mtdev/mtdev-" + version ".tar.bz2")) + (sha256 + (base32 + "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d")))) + (build-system gnu-build-system) + (home-page "http://bitmath.org/code/mtdev/") + (synopsis "Multitouch protocol translation library") + (description "Mtdev is a stand-alone library which transforms all +variants of kernel MT events to the slotted type B protocol. The events +put into mtdev may be from any MT device, specifically type A without +contact tracking, type A with contact tracking, or type B with contact +tracking.") + (license license:x11))) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 292845c64e..643e26bb5f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -45,144 +45,6 @@ -;; packages outside the x.org system proper - -(define-public xeyes - (package - (name "xeyes") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "http://xeyes.sourcearchive.com/downloads/1.0.1/xeyes_" - version - ".orig.tar.gz")) - (sha256 - (base32 - "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9")))) - (build-system gnu-build-system) - (inputs - `(("libxext" ,libxext) - ("libxmu" ,libxmu) - ("libxt" ,libxt))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://xeyes.sourcearchive.com/") - (synopsis "Follow-the-mouse X demo") - (description "Xeyes is a demo program for x.org. It shows eyes -following the mouse.") - (license license:x11))) - - -(define-public pixman - (package - (name "pixman") - (version "0.32.4") - (source - (origin - (method url-fetch) - (uri (string-append - "http://cairographics.org/releases/pixman-" - version - ".tar.gz")) - (sha256 - (base32 - "113ycngcssbrps217dyajq96hm9xghsfch82h14yffla1r1fviw0")))) - (build-system gnu-build-system) - (inputs - `(("libpng" ,libpng) - ("zlib" ,zlib))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://www.pixman.org/") - (synopsis "Low-level pixel manipulation library") - (description "Pixman is a low-level software library for pixel -manipulation, providing features such as image compositing and trapezoid -rasterisation.") - (license license:x11))) - - -(define-public libdrm - (package - (name "libdrm") - (version "2.4.46") - (source - (origin - (method url-fetch) - (uri (string-append - "http://dri.freedesktop.org/libdrm/libdrm-" - version - ".tar.bz2")) - (sha256 - (base32 - "1wah4qmrrcv0gnx65lhrlxb6gprxch92wy8lhxv6102fml6k5krk")))) - (build-system gnu-build-system) - (inputs - `(("libpciaccess" ,libpciaccess) - ("libpthread-stubs" ,libpthread-stubs))) - (native-inputs - `(("pkg-config" ,pkg-config))) - (home-page "http://dri.freedesktop.org/wiki/") - (synopsis "Direct rendering userspace library") - (description "The Direct Rendering Infrastructure, also known as the DRI, -is a framework for allowing direct access to graphics hardware under the -X Window System in a safe and efficient manner. It includes changes to the -X server, to several client libraries, and to the kernel (DRM, Direct -Rendering Manager). The most important use for the DRI is to create fast -OpenGL implementations providing hardware acceleration for Mesa. -Several 3D accelerated drivers have been written to the DRI specification, -including drivers for chipsets produced by 3DFX, AMD (formerly ATI), Intel -and Matrox.") - (license license:x11))) - - -;; old version, required by old mesa, see -;; http://www.mail-archive.com/nouveau@lists.freedesktop.org/msg10098.html -(define-public libdrm-2.4.33 - (package (inherit libdrm) - (version "2.4.33") - (source - (origin - (method url-fetch) - (uri (string-append - "http://dri.freedesktop.org/libdrm/libdrm-" - version - ".tar.bz2")) - (sha256 - (base32 - "1slgi61n4dlsfli47ql354fd1ppj7n40jd94wvnsdqx0mna9syrd")))) - (arguments - `(#:configure-flags - ;; create libdrm_nouveau.so, needed by mesa, see - ;; http://comments.gmane.org/gmane.linux.lfs.beyond.support/43261 - `("--enable-nouveau-experimental-api"))))) - - -(define-public mtdev - (package - (name "mtdev") - (version "1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append - "http://bitmath.org/code/mtdev/mtdev-" - version ".tar.bz2")) - (sha256 - (base32 - "159ndzwfpw0xr8mw4lhl47w9c2krshlfrscs7k6n186vknv2hk3d")))) - (build-system gnu-build-system) - (home-page "http://bitmath.org/code/mtdev/") - (synopsis "Multitouch protocol translation library") - (description "Mtdev is a stand-alone library which transforms all -variants of kernel MT events to the slotted type B protocol. The events -put into mtdev may be from any MT device, specifically type A without -contact tracking, type A with contact tracking, or type B with contact -tracking.") - (license license:x11))) - - ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to From de878f1b296ec585c86fc041fce9d619e47c231f Mon Sep 17 00:00:00 2001 From: John Darrington Date: Tue, 2 Dec 2014 15:06:51 +0100 Subject: [PATCH 101/221] gnu: Add xclip. * gnu/packages/xdisorg.scm (xclip): New variable. --- gnu/packages/xdisorg.scm | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index 2fc9bb0d76..a4e6bce22d 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -29,10 +29,32 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages xorg)) - - ;; packages outside the x.org system proper +(define-public xclip + (package + (name "xclip") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/" name "/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0ibcf46rldnv0r424qcnai1fa5iq3lm5q5rdd7snsi5sb78gmixp")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f)) ; There is no test suite + (inputs `(("libxmu" ,libxmu) + ("libxt" ,libxt))) + (home-page "http://xclip.sourceforge.net/") + (synopsis "Command line interface to X11 clipboard") + (description "Xclip is a command line interface to the X11 clipboard. It +can also be used for copying files, as an alternative to sftp/scp, thus +avoiding password prompts when X11 forwarding has already been setup.") + (license license:gpl2+))) + (define-public xeyes (package (name "xeyes") From 7639105b1270dd8063c97e822276104595207211 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 17 Nov 2014 21:22:16 -0600 Subject: [PATCH 102/221] gnu: subversion: Fix libtool wrapper execution in hooks. * gnu/packages/version-control.scm (subversion)[arguments]: New 'patch-libtool-wrapper-ls phase. --- gnu/packages/version-control.scm | 52 ++++++++++++++++++++------------ 1 file changed, 32 insertions(+), 20 deletions(-) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 8ee624f909..f5e9a27736 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -427,33 +427,45 @@ property manipulation.") (version "1.7.18") (source (origin (method url-fetch) - (uri (string-append "http://archive.apache.org/dist/subversion/subversion-" - version ".tar.bz2")) + (uri (string-append "http://archive.apache.org/dist/subversion/" + "subversion-" version ".tar.bz2")) (sha256 (base32 "06nrqnn3qq1hhskkcdbm0ilk2xv6ay2gyf2c7qvxp6xncb782wzn")))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-after - 'install 'instal-perl-bindings - (lambda* (#:key outputs #:allow-other-keys) - ;; Follow the instructions from - ;; 'subversion/bindings/swig/INSTALL'. - (let ((out (assoc-ref outputs "out"))) - (and (zero? (system* "make" "swig-pl-lib")) - ;; FIXME: Test failures. - ;; (zero? (system* "make" "check-swig-pl")) - (zero? (system* "make" "install-swig-pl-lib")) + 'configure 'patch-libtool-wrapper-ls + (lambda* (#:key inputs #:allow-other-keys) + ;; This substitution allows tests svnauthz_tests and + ;; svnlook_tests to pass. These tests execute svnauthz and + ;; svnlook through their libtool wrapper scripts from svn + ;; hooks, whose empty environments cause "ls: command not + ;; found" errors. It would be nice if this fix ultimately + ;; made its way into libtool. + (let ((coreutils (assoc-ref inputs "coreutils"))) + (substitute* "libtool" + (("\\\\`ls") (string-append "\\`" coreutils "/bin/ls"))))) + (alist-cons-after + 'install 'instal-perl-bindings + (lambda* (#:key outputs #:allow-other-keys) + ;; Follow the instructions from + ;; 'subversion/bindings/swig/INSTALL'. + (let ((out (assoc-ref outputs "out"))) + (and (zero? (system* "make" "swig-pl-lib")) + ;; FIXME: Test failures. + ;; (zero? (system* "make" "check-swig-pl")) + (zero? (system* "make" "install-swig-pl-lib")) - ;; Set the right installation prefix. - (with-directory-excursion - "subversion/bindings/swig/perl/native" - (and (zero? - (system* "perl" "Makefile.PL" - (string-append "PREFIX=" out))) - (zero? - (system* "make" "install"))))))) - %standard-phases))) + ;; Set the right installation prefix. + (with-directory-excursion + "subversion/bindings/swig/perl/native" + (and (zero? + (system* "perl" "Makefile.PL" + (string-append "PREFIX=" out))) + (zero? + (system* "make" "install"))))))) + %standard-phases)))) (native-inputs `(("pkg-config" ,pkg-config) ;; For the Perl bindings. From b88e1b0a626aa434e3934732392140dc9e919dd6 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 17 Nov 2014 19:36:01 -0600 Subject: [PATCH 103/221] gnu: python: Add sqlite input. * gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch, gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch: New patches. * gnu-system.am (dist_patch_DATA): Add them. * gnu/packages/python.scm (python-2)[source]: Add patch. [inputs]: Add sqlite. (python)[source]: Add patch. --- gnu-system.am | 2 ++ .../patches/python-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++ .../patches/python2-sqlite-3.8.4-test-fix.patch | 15 +++++++++++++++ gnu/packages/python.scm | 8 +++++++- 4 files changed, 39 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch create mode 100644 gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch diff --git a/gnu-system.am b/gnu-system.am index f7532f0164..161580f43f 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -417,6 +417,8 @@ dist_patch_DATA = \ gnu/packages/patches/pybugz-stty.patch \ 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-sqlite-3.8.4-test-fix.patch \ gnu/packages/patches/qt4-tests.patch \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..2f8b159870 --- /dev/null +++ b/gnu/packages/patches/python-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertGreater(first_count, second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch new file mode 100644 index 0000000000..f121e8852a --- /dev/null +++ b/gnu/packages/patches/python2-sqlite-3.8.4-test-fix.patch @@ -0,0 +1,15 @@ +From resolution of upstream python issue #20901: http://bugs.python.org/issue20901 + +diff --git a/Lib/sqlite3/test/hooks.py b/Lib/sqlite3/test/hooks.py +--- Lib/sqlite3/test/hooks.py ++++ Lib/sqlite3/test/hooks.py +@@ -162,7 +162,7 @@ class ProgressTests(unittest.TestCase): + create table bar (a, b) + """) + second_count = len(progress_calls) +- self.assertTrue(first_count > second_count) ++ self.assertGreaterEqual(first_count, second_count) + + def CheckCancelOperation(self): + """ + diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 88f892799f..de60dca0a0 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -65,7 +65,8 @@ (method url-fetch) (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) - (patches (list (search-patch "python-libffi-mips-n32-fix.patch"))) + (patches (list (search-patch "python-libffi-mips-n32-fix.patch") + (search-patch "python2-sqlite-3.8.4-test-fix.patch"))) (patch-flags '("-p0")) (sha256 (base32 @@ -119,6 +120,7 @@ (let ((bz2 (assoc-ref %build-inputs "bzip2")) (gdbm (assoc-ref %build-inputs "gdbm")) (libffi (assoc-ref %build-inputs "libffi")) + (sqlite (assoc-ref %build-inputs "sqlite")) (openssl (assoc-ref %build-inputs "openssl")) (readline (assoc-ref %build-inputs "readline")) (zlib (assoc-ref %build-inputs "zlib"))) @@ -127,6 +129,7 @@ (string-append "CPPFLAGS=" "-I" bz2 "/include " "-I" gdbm "/include " + "-I" sqlite "/include " "-I" openssl "/include " "-I" readline "/include " "-I" zlib "/include") @@ -134,6 +137,7 @@ "-L" bz2 "/lib " "-L" gdbm "/lib " "-L" libffi "/lib " + "-L" sqlite "/lib " "-L" openssl "/lib " "-L" readline "/lib " "-L" zlib "/lib"))) @@ -177,6 +181,7 @@ `(("bzip2" ,bzip2) ("gdbm" ,gdbm) ("libffi" ,libffi) ; for ctypes + ("sqlite" ,sqlite) ; for sqlite extension ("openssl" ,openssl) ("readline" ,readline) ("zlib" ,zlib) @@ -208,6 +213,7 @@ data types.") (uri (string-append "https://www.python.org/ftp/python/" version "/Python-" version ".tar.xz")) (patches (list (search-patch "python-fix-tests.patch") + (search-patch "python-sqlite-3.8.4-test-fix.patch") (search-patch "python-libffi-mips-n32-fix.patch"))) (patch-flags '("-p0")) (sha256 From 94914805c2501928c0d23fc8632a36ad4036fb9c Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 18 Nov 2014 18:31:57 -0600 Subject: [PATCH 104/221] gnu: Add python-sqlalchemy. * gnu/packages/python.scm (python-sqlalchemy, python2-sqlalchemy): New variables. --- gnu/packages/python.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index de60dca0a0..e8c80b2216 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2192,3 +2192,38 @@ toolkits.") (inputs `(("python2-numpydoc" ,python2-numpydoc) ,@(alist-delete "python-numpydoc" (package-inputs matplotlib))))))) + +(define-public python-sqlalchemy + (package + (name "python-sqlalchemy") + (version "0.9.7") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/S/" + "SQLAlchemy/SQLAlchemy-" version ".tar.gz")) + (sha256 + (base32 + "059ayifj5l08v6vv56anhyibyllscn10dlzr2fcw68gz1hfjdzsz")))) + (build-system python-build-system) + (native-inputs + `(("python-cython" ,python-cython) ;for c extensions + ("python-pytest" ,python-pytest) + ("python-mock" ,python-mock))) ;for tests + (arguments + `(#:phases (alist-replace + 'check + (lambda _ (zero? (system* "py.test"))) + %standard-phases))) + (home-page "http://www.sqlalchemy.org") + (synopsis "Database abstraction library") + (description + "SQLAlchemy is the Python SQL toolkit and Object Relational Mapper that +gives application developers the full power and flexibility of SQL. It +provides a full suite of well known enterprise-level persistence patterns, +designed for efficient and high-performing database access, adapted into a +simple and Pythonic domain language.") + (license x11))) + +(define-public python2-sqlalchemy + (package-with-python2 python-sqlalchemy)) From c937562e2fd2f27c2adcd2b1c78a43c2587c0efe Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Nov 2014 22:34:57 -0600 Subject: [PATCH 105/221] gnu: Add python-pillow. * gnu/packages/python.scm (python-pillow, python2-pillow): New variables. --- gnu/packages/python.scm | 52 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 52 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index e8c80b2216..0e9d7923ea 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -31,6 +31,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gdbm) #:use-module (gnu packages icu4c) + #:use-module (gnu packages image) #:use-module (gnu packages libffi) #:use-module (gnu packages readline) #:use-module (gnu packages openssl) @@ -40,6 +41,7 @@ #: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 texlive) #:use-module (gnu packages texinfo) @@ -2227,3 +2229,53 @@ simple and Pythonic domain language.") (define-public python2-sqlalchemy (package-with-python2 python-sqlalchemy)) + +(define-public python-pillow + (package + (name "python-pillow") + (version "2.6.1") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/P/" + "Pillow/Pillow-" version ".tar.gz")) + (sha256 + (base32 + "0iw36c73wkhz88wa78v6l43llsb080ihw8yq7adhfqxdib7l4hzr")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools) + ("python-nose" ,python-nose))) + (inputs + `(("lcms" ,lcms) + ("zlib" ,zlib) + ("libjpeg" ,libjpeg) + ("openjpeg" ,openjpeg) + ("libtiff" ,libtiff))) + (propagated-inputs + `(;; Used at runtime for pkg_resources + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:phases (alist-cons-after + 'install 'check-installed + (lambda _ + (begin + (setenv "HOME" (getcwd)) + (and (zero? (system* "python" "selftest.py" "--installed")) + (zero? (system* "python" "test-installed.py"))))) + (alist-delete 'check %standard-phases)))) + (home-page "https://pypi.python.org/pypi/Pillow") + (synopsis "Fork of the Python Imaging Library") + (description + "The Python Imaging Library adds image processing capabilities to your +Python interpreter. This library provides extensive file format support, an +efficient internal representation, and fairly powerful image processing +capabilities. The core image library is designed for fast access to data +stored in a few basic pixel formats. It should provide a solid foundation for +a general image processing tool.") + (license (x11-style + "http://www.pythonware.com/products/pil/license.htm" + "The PIL Software License")))) + +(define-public python2-pillow + (package-with-python2 python-pillow)) From 1671c07cc713525bd91d5e0a704e01b5d423c0ba Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Nov 2014 22:35:41 -0600 Subject: [PATCH 106/221] gnu: Add python-distutils-extra. * gnu/packages/python.scm (python-distutils-extra, python2-distutils-extra): New variables. --- gnu/packages/python.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 0e9d7923ea..d024c1c360 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2230,6 +2230,32 @@ simple and Pythonic domain language.") (define-public python2-sqlalchemy (package-with-python2 python-sqlalchemy)) +(define-public python-distutils-extra + (package + (name "python-distutils-extra") + (version "2.38") + (source + (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/python-distutils-extra/trunk/" + version "/+download/python-distutils-extra-" + version ".tar.gz")) + (sha256 + (base32 + "0lx15kcbby9zisx33p2h5hgakgwh2bvh0ibag8z0px4j6ifhs41x")))) + (build-system python-build-system) + (native-inputs + `(("python-setuptools" ,python-setuptools))) + (home-page "https://launchpad.net/python-distutils-extra/") + (synopsis "Enhancements to Python's distutils") + (description + "The python-distutils-extra module enables you to easily integrate +gettext support, themed icons, and scrollkeeper-based documentation into +Python's distutils.") + (license gpl2))) + +(define-public python2-distutils-extra + (package-with-python2 python-distutils-extra)) (define-public python-pillow (package (name "python-pillow") From ea5456c88cc79809035f2e95769aec96cb733095 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Nov 2014 22:36:34 -0600 Subject: [PATCH 107/221] gnu: Add python-elib.intl. * gnu/packages/python.scm (python-elib.intl, python2-elib.intl): New variables. --- gnu/packages/python.scm | 38 +++++++++++++++++++++++++++++++++++++- 1 file changed, 37 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index d024c1c360..3b0e97e8fc 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -24,7 +24,7 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style - gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ + gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ lgpl3+ psfl public-domain)) #:use-module ((guix licenses) #:select (zlib) #:prefix license:) #:use-module (gnu packages) @@ -52,6 +52,7 @@ #:use-module (gnu packages perl) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix git-download) #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system python) @@ -2256,6 +2257,41 @@ Python's distutils.") (define-public python2-distutils-extra (package-with-python2 python-distutils-extra)) + +(define-public python2-elib.intl + (package + (name "python2-elib.intl") + (version "0.0.3") + (source + (origin + ;; This project doesn't tag releases or publish tarballs, so we take + ;; source from a (semi-arbitrary, i.e. latest as of now) git commit. + (method git-fetch) + (uri (git-reference + (url "https://github.com/dieterv/elib.intl.git") + (commit "d09997cfef"))) + (sha256 + (base32 + "0y7vzff9xgbnaay7m0va1arl6g68ncwrvbgwl7jqlclsahzzb09d")))) + (build-system python-build-system) + (native-inputs + `(("python2-setuptools" ,python2-setuptools))) + (arguments + ;; incompatible with Python 3 (exception syntax) + `(#:python ,python-2 + #:tests? #f + ;; With standard flags, the install phase attempts to create a zip'd + ;; egg file, and fails with an error: 'ZIP does not support timestamps + ;; before 1980' + #:configure-flags '("--single-version-externally-managed" + "--record=elib.txt"))) + (home-page "https://github.com/dieterv/elib.intl") + (synopsis "Enhanced internationalization for Python") + (description + "The elib.intl module provides enhanced internationalization (I18N) +services for your Python modules and applications.") + (license lgpl3+))) + (define-public python-pillow (package (name "python-pillow") From fbcfa730744648bcd894c4fc15ef179d6a668d84 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Nov 2014 22:37:23 -0600 Subject: [PATCH 108/221] gnu: Add python-pycairo. * gnu/packages/gtk.scm (python-pycairo, python2-py2cairo): New variables. --- gnu/packages/gtk.scm | 106 ++++++++++++++++++++++++++++++++++++++++ gnu/packages/python.scm | 2 +- 2 files changed, 107 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 15d6ab441b..862f6ccce3 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -634,3 +634,109 @@ extensive documentation, including API reference and a tutorial.") ("atkmm" ,atkmm) ("gtk+" ,gtk+-2) ("glibmm" ,glibmm))))) + +(define-public python-pycairo + (package + (name "python-pycairo") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://cairographics.org/releases/pycairo-" + version ".tar.bz2")) + (sha256 + (base32 + "1gjkf8x6hyx1skq3hhwcbvwifxvrf9qxis5vx8x5igmmgs70g94s")))) + (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (propagated-inputs ;pycairo.pc references cairo + `(("cairo" ,cairo))) + (arguments + `(#:tests? #f + #:phases (alist-cons-before + 'build 'configure + (lambda* (#:key outputs #:allow-other-keys) + (zero? (system* "./waf" "configure" + (string-append "--prefix=" + (assoc-ref outputs "out"))))) + (alist-replace + 'build + (lambda _ + (zero? (system* "./waf" "build"))) + (alist-replace + 'install + (lambda _ + (zero? (system* "./waf" "install"))) + %standard-phases))))) + (home-page "http://cairographics.org/pycairo/") + (synopsis "Python bindings for cairo") + (description + "Pycairo is a set of Python bindings for the Cairo graphics library.") + (license license:lgpl3+))) + +(define-public python2-py2cairo + (package (inherit python-pycairo) + (name "python2-py2cairo") + (version "1.10.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://cairographics.org/releases/py2cairo-" + version ".tar.bz2")) + (sha256 + (base32 + "0cblk919wh6w0pgb45zf48xwxykfif16qk264yga7h9fdkq3j16k")))) + (arguments + `(#:python ,python-2 + ,@(package-arguments python-pycairo))) + ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 + (license '(license:lgpl2.1 license:mpl1.1)))) + +(define-public python2-pygtk + (package + (name "python2-pygtk") + (version "2.24.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources" + "/pygtk/" (version-major+minor version) + "/pygtk-" version ".tar.bz2")) + (sha256 + (base32 + "04k942gn8vl95kwf0qskkv6npclfm31d78ljkrkgyqxxcni1w76d")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python-2) + ("glib" ,glib))) + (propagated-inputs + `(("python-pycairo" ,python2-py2cairo) ;loaded at runtime + ("python-pygobject" ,python2-pygobject-2) ;referenced in pc file + ("gtk+" ,gtk+-2))) + (arguments + `(#:tests? #f + #:phases (alist-cons-after + 'install 'install-pth + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; pygtk's modules are stored in a subdirectory of python's + ;; site-packages directory. Add a .pth file so that python + ;; will add that subdirectory to its module search path. + (let* ((out (assoc-ref outputs "out")) + (site (string-append out "/lib/python" + ,(version-major+minor + (package-version python-2)) + "/site-packages"))) + (call-with-output-file (string-append site "/pygtk.pth") + (lambda (port) + (format port "gtk-2.0~%"))))) + %standard-phases))) + (home-page "http://www.pygtk.org/") + (synopsis "Python bindings for GTK+") + (description + "PyGTK allows you to write full featured GTK programs in Python. It is +targetted at GTK 2.x, and can be used in conjunction with gnome-python to +write GNOME applications.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3b0e97e8fc..b9c6b74167 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -24,7 +24,7 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (asl2.0 bsd-3 bsd-2 bsd-style cc0 expat x11 x11-style - gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1+ lgpl3+ + gpl2 gpl2+ gpl3+ lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3+ psfl public-domain)) #:use-module ((guix licenses) #:select (zlib) #:prefix license:) #:use-module (gnu packages) From a1de06b6ab382bf8fa0f715ec938467f5dcc25a5 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Tue, 18 Nov 2014 18:57:41 -0600 Subject: [PATCH 109/221] gnu: Add python-pygobject. * gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. * gnu/packages/glib.scm (python-pygobject, python2-pygobject-2): New variables. --- gnu-system.am | 1 + gnu/packages/glib.scm | 84 +++++++++++++++++++ ...ygobject-2-gi-info-type-error-domain.patch | 39 +++++++++ 3 files changed, 124 insertions(+) create mode 100644 gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch diff --git a/gnu-system.am b/gnu-system.am index 161580f43f..adf27874a9 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -419,6 +419,7 @@ dist_patch_DATA = \ gnu/packages/patches/python-libffi-mips-n32-fix.patch \ gnu/packages/patches/python-sqlite-3.8.4-test-fix.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 \ gnu/packages/patches/ratpoison-shell.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index be2924c606..b472349d49 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -22,6 +22,7 @@ #: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 base) @@ -37,6 +38,7 @@ #:use-module (gnu packages xml) #:use-module (gnu packages bash) #:use-module (gnu packages file) + #:use-module (gnu packages which) #:use-module (gnu packages xorg) #:use-module (gnu packages m4) @@ -430,3 +432,85 @@ has an ease of use unmatched by other C++ callback libraries.") "Glibmm provides a C++ programming interface to the part of GLib that are useful for C++.") (license license:lgpl2.1+))) + +(define-public python2-pygobject-2 + (package + (name "python2-pygobject") + ;; This was the last version to declare the 2.0 platform number, i.e. its + ;; pkg-config files were named pygobject-2.0.pc + (version "2.28.6") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "1f5dfxjnil2glfwxnqr14d2cjfbkghsbsn8n04js2c2icr7iv2pv")) + (patches + (list (search-patch + "python2-pygobject-2-gi-info-type-error-domain.patch"))))) + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config) + ("dbus" ,dbus))) ;for tests + (inputs + `(("python" ,python-2) + ("glib" ,glib) + ("python2-py2cairo" ,python2-py2cairo) + ("gobject-introspection" ,gobject-introspection))) + (propagated-inputs + `(("libffi" ,libffi))) ;mentioned in pygobject-2.0.pc + (arguments + `(#:tests? #f ;segfaults during tests + #:configure-flags '("LIBS=-lcairo-gobject"))) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) + +(define-public python-pygobject + (package + (name "python-pygobject") + (version "3.12.2") ;last version that works with + ;gobject-introspection 1.38 + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/pygobject/" + (version-major+minor version) + "/pygobject-" version ".tar.xz")) + (sha256 + (base32 + "08m5yad1hjdax4g39w6lgjk4124mcwpa8fc5iyvb8nygk8s3syky")))) + ;; 3.14.0: 0m1d75iwxa6k1xbkn6c6yq5r10pxnf7i5c2a5yvwsnab7ylzz7kp + (build-system gnu-build-system) + (native-inputs + `(("which" ,which) + ("glib-bin" ,glib "bin") ;for tests: glib-compile-schemas + ("pkg-config" ,pkg-config))) + (inputs + `(("python" ,python) + ("glib" ,glib) + ("python-pycairo" ,python-pycairo) + ("gobject-introspection" ,gobject-introspection) + ("libffi" ,libffi))) + (arguments + ;; TODO: failing tests: test_native_calls_async + ;; test_native_calls_async_errors test_native_calls_sync + ;; test_native_calls_sync_errors test_python_calls_async + ;; test_python_calls_async_error test_python_calls_async_error_result + ;; test_python_calls_sync test_python_calls_sync_errors + ;; test_python_calls_sync_noargs test_callback_user_data_middle_none + ;; test_callback_user_data_middle_single + ;; test_callback_user_data_middle_tuple + '(#:tests? #f)) + (home-page "https://pypi.python.org/pypi/PyGObject") + (synopsis "Python bindings for GObject") + (description + "Python bindings for GLib, GObject, and GIO.") + (license license:lgpl2.1+))) diff --git a/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch new file mode 100644 index 0000000000..6a08e56351 --- /dev/null +++ b/gnu/packages/patches/python2-pygobject-2-gi-info-type-error-domain.patch @@ -0,0 +1,39 @@ +From e5df32ffbf37481dbb6a70c4d4e7b7b9778c5549 Mon Sep 17 00:00:00 2001 +From: "John (J5) Palmieri" +Date: Sat, 13 Aug 2011 04:13:28 -0400 +Subject: remove references to deprecated GI_INFO_TYPE_ERROR_DOMAIN + + +diff --git a/gi/pygi-info.c b/gi/pygi-info.c +index 8729e25..007b609 100644 +--- a/gi/pygi-info.c ++++ b/gi/pygi-info.c +@@ -165,9 +165,6 @@ _pygi_info_new (GIBaseInfo *info) + case GI_INFO_TYPE_CONSTANT: + type = &PyGIConstantInfo_Type; + break; +- case GI_INFO_TYPE_ERROR_DOMAIN: +- type = &PyGIErrorDomainInfo_Type; +- break; + case GI_INFO_TYPE_UNION: + type = &PyGIUnionInfo_Type; + break; +@@ -484,7 +481,6 @@ _pygi_g_type_info_size (GITypeInfo *type_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +@@ -863,7 +859,6 @@ pygi_g_struct_info_is_simple (GIStructInfo *struct_info) + case GI_INFO_TYPE_INVALID: + case GI_INFO_TYPE_FUNCTION: + case GI_INFO_TYPE_CONSTANT: +- case GI_INFO_TYPE_ERROR_DOMAIN: + case GI_INFO_TYPE_VALUE: + case GI_INFO_TYPE_SIGNAL: + case GI_INFO_TYPE_PROPERTY: +-- +cgit v0.10.1 + From 0b96fb2ac02dc5f0bcebf45a31b4682de4c96a24 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 19 Nov 2014 20:25:24 -0600 Subject: [PATCH 110/221] gnu: Add python2-pygtk. * gnu/packages/gtk.scm (python2-pygtk): New variable. --- gnu/packages/gtk.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 862f6ccce3..6fc059b97f 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -25,6 +25,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system python) #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages ghostscript) From f4c4513d478df5b22c7bae53b876dbd7b9cf5639 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Thu, 20 Nov 2014 22:16:52 -0600 Subject: [PATCH 111/221] gnu: Add gourmet. * gnu/packages/nutrition.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/nutrition.scm | 68 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 69 insertions(+) create mode 100644 gnu/packages/nutrition.scm diff --git a/gnu-system.am b/gnu-system.am index adf27874a9..1cf16213c5 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -190,6 +190,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/node.scm \ gnu/packages/noweb.scm \ gnu/packages/ntp.scm \ + gnu/packages/nutrition.scm \ gnu/packages/nvi.scm \ gnu/packages/ocaml.scm \ gnu/packages/ocrad.scm \ diff --git a/gnu/packages/nutrition.scm b/gnu/packages/nutrition.scm new file mode 100644 index 0000000000..72bd5b0d3e --- /dev/null +++ b/gnu/packages/nutrition.scm @@ -0,0 +1,68 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages nutrition) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system python) + #:use-module (gnu packages) + #:use-module (gnu packages gtk) + #:use-module (gnu packages glib) + #:use-module (gnu packages image) + #:use-module (gnu packages python)) + +(define-public gourmet + (package + (name "gourmet") + (version "0.17.4") + (source + (origin + (method url-fetch) + (uri (string-append "https://github.com/thinkle/gourmet/archive/" + version ".tar.gz")) + (sha256 + (base32 + "1qvz175arzqm10lpfx8ffadrgirs3240zzqcp0h7sl53qfwx7v8k")))) + (build-system python-build-system) + (native-inputs + `(("distutils-extra" ,python2-distutils-extra) + ("intltool" ,intltool) + ("python-pygtk" ,python2-pygtk))) ;for tests + ;; TODO: Add python-reportlab and/or python-poppler for printing/pdf + ;; export, and python-beautifulsoup for web import plugin. + (inputs + `(("pygtk" ,python2-pygtk) + ("sqlalchemy" ,python2-sqlalchemy) + ("python-pillow" ,python2-pillow) + ("elib.intl" ,python2-elib.intl) + ;; XXX: This really isn't an input for gourmet but of pillow. Making + ;; it a propagated input in pillow doesn't seem to get its site path + ;; into gourmet's wrapper's PYTHONPATH however... + ("python-setuptools" ,python2-setuptools))) + (arguments + `(#:python ,python-2 ;exception and print syntax + #:tests? #f)) ;tests look bitrotted + (home-page "http://thinkle.github.io/gourmet/") + (synopsis "Recipe organizer") + (description + "Gourmet Recipe Manager is a recipe organizer that allows you to collect, +search, organize, and browse your recipes. Gourmet can also generate shopping +lists and calculate nutritional information. It imports Mealmaster, +MasterCook and KRecipe files and exports PDFs, webpages, and other formats.") + (license gpl2+))) From cc7fa5929c26fcdd53ce83ce7a46de4dfc7af1a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Dec 2014 23:07:11 +0100 Subject: [PATCH 112/221] guix system: Use 'mbegin' for 'install'. * guix/scripts/system.scm (install): Use 'mbegin'. Lift FORMAT and POPULATE-ROOT-FILE-SYSTEM, and use the result. --- guix/scripts/system.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8ea77e4f3c..8e049a4f45 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -151,18 +151,22 @@ When GRUB? is true, install GRUB on DEVICE, using GRUB.CFG." ;; Copy items to the new store. (copy-closure to-copy target #:log-port log-port))))) - (mlet* %store-monad ((os-dir -> (derivation->output-path os-drv)) - (% (maybe-copy os-dir))) + (let ((os-dir (derivation->output-path os-drv)) + (format (lift %store-monad format)) + (populate (lift2 %store-monad populate-root-file-system))) - ;; Create a bunch of additional files. - (format log-port "populating '~a'...~%" target) - (populate-root-file-system os-dir target) + (mbegin %store-monad + (maybe-copy os-dir) - (when grub? - (unless (false-if-exception (install-grub grub.cfg device target)) - (leave (_ "failed to install GRUB on device '~a'~%") device))) + ;; Create a bunch of additional files. + (format log-port "populating '~a'...~%" target) + (populate os-dir target) - (return #t))) + (begin + (when grub? + (unless (false-if-exception (install-grub grub.cfg device target)) + (leave (_ "failed to install GRUB on device '~a'~%") device))) + (return #t))))) ;;; From 21caa6deebee28f07467c5fd1dcd5b8997393ca4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 10:11:11 +0100 Subject: [PATCH 113/221] monads: Add 'mwhen' and 'munless'. * guix/monads.scm (mbegin): Add special '%current-monad' syntactic keyword. (mwhen, munless): New macros. --- .dir-locals.el | 2 ++ guix/monads.scm | 30 +++++++++++++++++++++++++++++- 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/.dir-locals.el b/.dir-locals.el index 106c35bce6..b099068dac 100644 --- a/.dir-locals.el +++ b/.dir-locals.el @@ -46,6 +46,8 @@ (eval . (put 'syntax-parameterize 'scheme-indent-function 1)) (eval . (put 'with-monad 'scheme-indent-function 1)) (eval . (put 'mbegin 'scheme-indent-function 1)) + (eval . (put 'mwhen 'scheme-indent-function 1)) + (eval . (put 'munless 'scheme-indent-function 1)) (eval . (put 'mlet* 'scheme-indent-function 2)) (eval . (put 'mlet 'scheme-indent-function 2)) (eval . (put 'run-with-store 'scheme-indent-function 1)) diff --git a/guix/monads.scm b/guix/monads.scm index b419ba066a..52cb3f5ed0 100644 --- a/guix/monads.scm +++ b/guix/monads.scm @@ -39,6 +39,8 @@ mlet mlet* mbegin + mwhen + munless lift1 lift2 lift3 lift4 lift5 lift6 lift7 lift listm foldm @@ -173,9 +175,15 @@ form is (VAR -> VAL), bind VAR to the non-monadic value VAL in the same way as body ...))))))) (define-syntax mbegin - (syntax-rules () + (syntax-rules (%current-monad) "Bind the given monadic expressions in sequence, returning the result of the last one." + ((_ %current-monad mexp) + mexp) + ((_ %current-monad mexp rest ...) + (>>= mexp + (lambda (unused-value) + (mbegin %current-monad rest ...)))) ((_ monad mexp) (with-monad monad mexp)) @@ -185,6 +193,26 @@ the last one." (lambda (unused-value) (mbegin monad rest ...))))))) +(define-syntax mwhen + (syntax-rules () + "When CONDITION is true, evaluate EXP0..EXP* as in an 'mbegin'. When +CONDITION is false, return *unspecified* in the current monad." + ((_ condition exp0 exp* ...) + (if condition + (mbegin %current-monad + exp0 exp* ...) + (return *unspecified*))))) + +(define-syntax munless + (syntax-rules () + "When CONDITION is false, evaluate EXP0..EXP* as in an 'mbegin'. When +CONDITION is true, return *unspecified* in the current monad." + ((_ condition exp0 exp* ...) + (if condition + (return *unspecified*) + (mbegin %current-monad + exp0 exp* ...))))) + (define-syntax define-lift (syntax-rules () ((_ liftn (args ...)) From b307c06456eefa10ebe59216599f554dae641cd6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 10:10:51 +0100 Subject: [PATCH 114/221] monads: Add 'lift0'. * guix/monads.scm (lift0): New variable. --- guix/monads.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/monads.scm b/guix/monads.scm index 52cb3f5ed0..65683e65de 100644 --- a/guix/monads.scm +++ b/guix/monads.scm @@ -41,7 +41,7 @@ mbegin mwhen munless - lift1 lift2 lift3 lift4 lift5 lift6 lift7 lift + lift0 lift1 lift2 lift3 lift4 lift5 lift6 lift7 lift listm foldm mapm @@ -222,6 +222,7 @@ CONDITION is true, return *unspecified* in the current monad." (with-monad monad (return (proc args ...)))))))) +(define-lift lift0 ()) (define-lift lift1 (a)) (define-lift lift2 (a b)) (define-lift lift3 (a b c)) From bc73aa439fea24a84777a0e764b7bd377684bbf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 14:03:33 +0100 Subject: [PATCH 115/221] doc: Adjust misleading 'user-account' example. Reported by Sleep_Walker on #guix. * doc/guix.texi (Using the Configuration System): Remove numeric UID and GID from example. --- doc/guix.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 157aecbe33..e804d79ed0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -3533,7 +3533,7 @@ kernel, initial RAM disk, and boot loader looks like this: %base-file-systems)) (users (list (user-account (name "alice") - (uid 1000) (group 100) + (group "users") (comment "Bob's sister") (home-directory "/home/alice")))) (packages (cons emacs %base-packages)) From 7ce7361b764f999b7ff7aa63bb9a87fddd617b5f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 16:45:45 +0100 Subject: [PATCH 116/221] derivations: Export 'derivation-builder'. * guix/derivations.scm: Export 'derivation-builder'. --- guix/derivations.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/guix/derivations.scm b/guix/derivations.scm index b1ba573190..69cef1a4cd 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -37,6 +37,7 @@ derivation-inputs derivation-sources derivation-system + derivation-builder derivation-builder-arguments derivation-builder-environment-vars derivation-file-name From ec38437f9400fa4b2fa8f4a876d3e35c64fdb213 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 16:47:00 +0100 Subject: [PATCH 117/221] packages: Use the target's system Guile when downloading patches. * guix/packages.scm (patch-and-repack)[patch-inputs]: Pass SYSTEM in 'package-source-derivation' call. --- guix/packages.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index 67a767106e..07f6d0ccbc 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -376,7 +376,7 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET." (add-to-store store (basename patch) #t "sha256" patch)) ((? origin?) - (package-source-derivation store patch))))) + (package-source-derivation store patch system))))) (iota (length patches)) patches)) From 6c0e878e682f10ce5b9dabb7a725db1332af01b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 17:16:58 +0100 Subject: [PATCH 118/221] gnu: Add missing uses of (gnu packages xdisorg). This is a followup to 3c156c8. * gnu/packages/gtk.scm: Use (gnu packages xdisorg). * gnu/packages/xorg.scm: Likewise. --- gnu/packages/gtk.scm | 3 ++- gnu/packages/xorg.scm | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 6fc059b97f..c07062df3c 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -39,7 +39,8 @@ #:use-module (gnu packages python) #:use-module (gnu packages guile) #:use-module (gnu packages xml) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public atk (package diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 643e26bb5f..7336fddb36 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -41,7 +41,8 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages xml) - #:use-module (gnu packages ncurses)) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages xdisorg)) From b2b7def1cc60eb61f7ebf654e95ba5d8d3af3015 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 17:47:42 +0100 Subject: [PATCH 119/221] gnu: Add missing (gnu packages xdisorg) import. This is a followup to 3c156c8.. * gnu/packages/gl.scm: Use (gnu packages xdisorg). --- gnu/packages/gl.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gl.scm b/gnu/packages/gl.scm index 94f03cb1ec..17a6d4fd3c 100644 --- a/gnu/packages/gl.scm +++ b/gnu/packages/gl.scm @@ -31,7 +31,8 @@ #:use-module (gnu packages xorg) #:use-module (gnu packages xml) #:use-module (gnu packages fontutils) - #:use-module (gnu packages guile)) + #:use-module (gnu packages guile) + #:use-module (gnu packages xdisorg)) (define-public glu (package From ece9b4173b3e1d266e6171d3af656fbc93b51a8b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Dec 2014 18:29:55 +0100 Subject: [PATCH 120/221] gnu: Add more missing (gnu packages xdisorg) import. This is a followup to 3c156c8.. * gnu/packages/qemu.scm, gnu/packages/texlive.scm: Use (gnu packages xdisorg). --- gnu/packages/qemu.scm | 2 +- gnu/packages/texlive.scm | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index 75a14b6e8f..0a37a246bd 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -33,7 +33,7 @@ #:use-module (gnu packages image) #:use-module (gnu packages attr) #:use-module (gnu packages linux) - #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages gl) #:use-module (gnu packages sdl) #:use-module (gnu packages perl)) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 02637befe4..f14bbb8c06 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages tcsh) #:use-module (gnu packages which) #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg) #:use-module (gnu packages zip) #:autoload (gnu packages texinfo) (texinfo)) From 3db349cb09844e2770be3d0dee4e990f1228c2b6 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 26 Nov 2014 01:32:24 +0300 Subject: [PATCH 121/221] emacs: Move profiles code to "guix-profiles.el.in". * emacs/guix-base.el (guix-user-profile, guix-default-profile, guix-current-profile, guix-profile-prompt, guix-set-current-profile): Move to... * emacs/guix-init.el.in (guix-default-profile): Move to... * emacs/guix-profiles.el.in: ... here. New file. * configure.ac (AC_CONFIG_FILES): Add "emacs/guix-profiles.el". * emacs.am (nodist_lisp_DATA): Likewise. --- .gitignore | 1 + configure.ac | 1 + emacs.am | 3 +- emacs/guix-base.el | 42 +------------------------- emacs/guix-init.el.in | 7 ----- emacs/guix-profiles.el.in | 62 +++++++++++++++++++++++++++++++++++++++ 6 files changed, 67 insertions(+), 49 deletions(-) create mode 100644 emacs/guix-profiles.el.in diff --git a/.gitignore b/.gitignore index a424a397c4..bcb82aa26d 100644 --- a/.gitignore +++ b/.gitignore @@ -110,3 +110,4 @@ GTAGS /emacs/guix-autoloads.el /emacs/guix-helper.scm /emacs/guix-init.el +/emacs/guix-profiles.el diff --git a/configure.ac b/configure.ac index 9380f75767..235990edc3 100644 --- a/configure.ac +++ b/configure.ac @@ -185,6 +185,7 @@ AM_CONDITIONAL([HAVE_EMACS], [test "x$EMACS" != "xno"]) emacsuidir="${guilemoduledir}/guix/emacs" AC_SUBST([emacsuidir]) AC_CONFIG_FILES([emacs/guix-init.el + emacs/guix-profiles.el emacs/guix-helper.scm]) AC_OUTPUT diff --git a/emacs.am b/emacs.am index be7e77ecd8..d1f4d84243 100644 --- a/emacs.am +++ b/emacs.am @@ -36,7 +36,8 @@ dist_lisp_DATA = \ $(AUTOLOADS) nodist_lisp_DATA = \ - emacs/guix-init.el + emacs/guix-init.el \ + emacs/guix-profiles.el $(AUTOLOADS): $(ELFILES) $(EMACS) --batch --eval \ diff --git a/emacs/guix-base.el b/emacs/guix-base.el index 23575ac2bf..5129c87a5d 100644 --- a/emacs/guix-base.el +++ b/emacs/guix-base.el @@ -28,52 +28,12 @@ ;;; Code: (require 'cl-lib) +(require 'guix-profiles) (require 'guix-backend) (require 'guix-utils) (require 'guix-history) (require 'guix-messages) - -;;; Profiles - -(defvar guix-user-profile - (expand-file-name "~/.guix-profile") - "User profile.") - -(defvar guix-default-profile - (concat (or (getenv "NIX_STATE_DIR") "/var/guix") - "/profiles/per-user/" - (getenv "USER") - "/guix-profile") - "Default Guix profile.") - -(defvar guix-current-profile guix-default-profile - "Current profile.") - -(defun guix-profile-prompt (&optional default) - "Prompt for profile and return it. -Use DEFAULT as a start directory. If it is nil, use -`guix-current-profile'." - (let* ((path (read-file-name "Profile: " - (file-name-directory - (or default guix-current-profile)))) - (path (directory-file-name (expand-file-name path)))) - (if (string= path guix-user-profile) - guix-default-profile - path))) - -(defun guix-set-current-profile (path) - "Set `guix-current-profile' to PATH. -Interactively, prompt for PATH. With prefix, use -`guix-default-profile'." - (interactive - (list (if current-prefix-arg - guix-default-profile - (guix-profile-prompt)))) - (setq guix-current-profile path) - (message "Current profile has been set to '%s'." - guix-current-profile)) - ;;; Parameters of the entries diff --git a/emacs/guix-init.el.in b/emacs/guix-init.el.in index 4e62728187..775c90fef9 100644 --- a/emacs/guix-init.el.in +++ b/emacs/guix-init.el.in @@ -4,11 +4,4 @@ (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@") "Directory with scheme files for \"guix.el\" package.") -(defvar guix-default-profile - (concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix") - "/profiles/per-user/" - (getenv "USER") - "/guix-profile") - "Default Guix profile.") - (provide 'guix-init) diff --git a/emacs/guix-profiles.el.in b/emacs/guix-profiles.el.in new file mode 100644 index 0000000000..1e43707b68 --- /dev/null +++ b/emacs/guix-profiles.el.in @@ -0,0 +1,62 @@ +;;; guix-profiles.el --- Guix profiles + +;; Copyright © 2014 Alex Kost + +;; This file is part of GNU Guix. + +;; GNU Guix is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Guix is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Code: + +(defvar guix-user-profile + (expand-file-name "~/.guix-profile") + "User profile.") + +(defvar guix-default-profile + (concat (or (getenv "NIX_STATE_DIR") "@guix_localstatedir@/guix") + "/profiles/per-user/" + (getenv "USER") + "/guix-profile") + "Default Guix profile.") + +(defvar guix-current-profile guix-default-profile + "Current profile.") + +(defun guix-profile-prompt (&optional default) + "Prompt for profile and return it. +Use DEFAULT as a start directory. If it is nil, use +`guix-current-profile'." + (let* ((path (read-file-name "Profile: " + (file-name-directory + (or default guix-current-profile)))) + (path (directory-file-name (expand-file-name path)))) + (if (string= path guix-user-profile) + guix-default-profile + path))) + +(defun guix-set-current-profile (path) + "Set `guix-current-profile' to PATH. +Interactively, prompt for PATH. With prefix, use +`guix-default-profile'." + (interactive + (list (if current-prefix-arg + guix-default-profile + (guix-profile-prompt)))) + (setq guix-current-profile path) + (message "Current profile has been set to '%s'." + guix-current-profile)) + +(provide 'guix-profiles) + +;;; guix-profiles.el ends here From 12f2490aa3b9341e6df9df75bf88d7b2b502376d Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Sun, 30 Nov 2014 23:38:43 +0300 Subject: [PATCH 122/221] emacs: Handle autoloading Emacs packages installed with Guix. * emacs/guix-emacs.el: New file. * emacs.am (ELFILES): Add it. * emacs/guix-backend.el (guix-after-repl-operation-hook): Add 'guix-emacs-load-autoloads-maybe'. * emacs/guix-init.el.in: Autoload emacs packages. (guix-package-enable-at-startup): New variable. --- emacs.am | 1 + emacs/guix-backend.el | 4 ++- emacs/guix-emacs.el | 79 +++++++++++++++++++++++++++++++++++++++++++ emacs/guix-init.el.in | 14 ++++++++ 4 files changed, 97 insertions(+), 1 deletion(-) create mode 100644 emacs/guix-emacs.el diff --git a/emacs.am b/emacs.am index d1f4d84243..a43168e2cf 100644 --- a/emacs.am +++ b/emacs.am @@ -21,6 +21,7 @@ AUTOLOADS = emacs/guix-autoloads.el ELFILES = \ emacs/guix-backend.el \ emacs/guix-base.el \ + emacs/guix-emacs.el \ emacs/guix-history.el \ emacs/guix-info.el \ emacs/guix-list.el \ diff --git a/emacs/guix-backend.el b/emacs/guix-backend.el index a320eae35a..73a429b9ee 100644 --- a/emacs/guix-backend.el +++ b/emacs/guix-backend.el @@ -52,6 +52,7 @@ ;;; Code: (require 'geiser-mode) +(require 'guix-emacs) (defvar guix-load-path (file-name-directory (or load-file-name @@ -125,7 +126,8 @@ This REPL is used for receiving information only if "Hook run before executing an operation in Guix REPL.") (defvar guix-after-repl-operation-hook - '(guix-repl-operation-success-message) + '(guix-emacs-load-autoloads-maybe + guix-repl-operation-success-message) "Hook run after executing successful operation in Guix REPL.") (defvar guix-repl-operation-p nil diff --git a/emacs/guix-emacs.el b/emacs/guix-emacs.el new file mode 100644 index 0000000000..512a2e2b1a --- /dev/null +++ b/emacs/guix-emacs.el @@ -0,0 +1,79 @@ +;;; guix-emacs.el --- Emacs packages installed with Guix + +;; Copyright © 2014 Alex Kost + +;; This file is part of GNU Guix. + +;; GNU Guix is free software; you can redistribute it and/or modify +;; it under the terms of the GNU General Public License as published by +;; the Free Software Foundation, either version 3 of the License, or +;; (at your option) any later version. + +;; GNU Guix is distributed in the hope that it will be useful, +;; but WITHOUT ANY WARRANTY; without even the implied warranty of +;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;; GNU General Public License for more details. + +;; You should have received a copy of the GNU General Public License +;; along with this program. If not, see . + +;;; Commentary: + +;; This file provides auxiliary code for working with Emacs packages +;; installed with Guix. + +;;; Code: + +(require 'guix-profiles) + +(defcustom guix-emacs-activate-after-operation t + "Activate Emacs packages after installing. +If nil, do not load autoloads of the Emacs packages after +they are successfully installed." + :type 'boolean + :group 'guix) + +(defvar guix-emacs-autoloads nil + "List of the last loaded Emacs autoloads.") + +(defun guix-emacs-directory (&optional profile) + "Return directory with Emacs packages installed in PROFILE. +If PROFILE is nil, use `guix-user-profile'." + (expand-file-name "share/emacs/site-lisp" + (or profile guix-user-profile))) + +(defun guix-emacs-find-autoloads (&optional profile) + "Return list of autoloads of Emacs packages installed in PROFILE. +If PROFILE is nil, use `guix-user-profile'. +Return nil if there are no emacs packages installed in PROFILE." + (let ((dir (guix-emacs-directory profile))) + (if (file-directory-p dir) + (directory-files dir 'full-name "-autoloads\\.el\\'") + (message "Directory '%s' does not exist." dir) + nil))) + +;;;###autoload +(defun guix-emacs-load-autoloads (&optional all) + "Load autoloads for Emacs packages installed in a user profile. +If ALL is nil, activate only those packages that were installed +after the last activation, otherwise activate all Emacs packages +installed in `guix-user-profile'." + (interactive "P") + (let* ((autoloads (guix-emacs-find-autoloads)) + (files (if all + autoloads + (cl-nset-difference autoloads guix-emacs-autoloads + :test #'string=)))) + (dolist (file files) + (load file 'noerror)) + (setq guix-emacs-autoloads autoloads))) + +(defun guix-emacs-load-autoloads-maybe () + "Load autoloads for Emacs packages if needed. +See `guix-emacs-activate-after-operation' for details." + (and guix-emacs-activate-after-operation + (guix-emacs-load-autoloads))) + +(provide 'guix-emacs) + +;;; guix-emacs.el ends here diff --git a/emacs/guix-init.el.in b/emacs/guix-init.el.in index 775c90fef9..4e40d7171a 100644 --- a/emacs/guix-init.el.in +++ b/emacs/guix-init.el.in @@ -1,7 +1,21 @@ (require 'guix-autoloads) +(require 'guix-emacs) (defvar guix-load-path (replace-regexp-in-string "${prefix}" "@prefix@" "@emacsuidir@") "Directory with scheme files for \"guix.el\" package.") +(defcustom guix-package-enable-at-startup t + "If non-nil, activate Emacs packages installed in a user profile. +Set this variable to nil before requiring `guix-init' file to +avoid loading autoloads of Emacs packages installed in +`guix-user-profile'." + :type 'boolean + :group 'guix) + +(add-to-list 'load-path (guix-emacs-directory)) + +(when guix-package-enable-at-startup + (guix-emacs-load-autoloads 'all)) + (provide 'guix-init) From 0b08600ca5fa791731135111000243a9942aab41 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Mon, 1 Dec 2014 20:21:08 +0300 Subject: [PATCH 123/221] build: emacs-utils: Add 'emacs-generate-autoloads'. * guix/build/emacs-utils.scm (emacs-generate-autoloads): New procedure. --- guix/build/emacs-utils.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/guix/build/emacs-utils.scm b/guix/build/emacs-utils.scm index 10ef3c8d0f..0cff28b45b 100644 --- a/guix/build/emacs-utils.scm +++ b/guix/build/emacs-utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ #:export (%emacs emacs-batch-eval emacs-batch-edit-file + emacs-generate-autoloads emacs-substitute-sexps emacs-substitute-variables)) @@ -47,6 +49,14 @@ (format #f "--eval=~S" expr))) (error "emacs-batch-edit-file failed!" file expr))) +(define (emacs-generate-autoloads name directory) + "Generate autoloads for Emacs package NAME placed in DIRECTORY." + (let* ((file (string-append directory "/" name "-autoloads.el")) + (expr `(let ((backup-inhibited t) + (generated-autoload-file ,file)) + (update-directory-autoloads ,directory)))) + (emacs-batch-eval expr))) + (define-syntax emacs-substitute-sexps (syntax-rules () "Substitute the S-expression immediately following the first occurrence of From d51cafb041fb517cc48b01fa68e45af45f9a223a Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 25 Nov 2014 16:50:11 +0300 Subject: [PATCH 124/221] gnu: emacs: Add autoloads for Emacs packages. * gnu/packages/emacs.scm (geiser): Make "geiser-autoloads.el" by symlinking "geiser-install.el". (emacs-w3m): Make "w3m-autoloads.el" by symlinking "w3m-load.el". (emms): Make "emms-autoloads.el" by symlinking "emms-auto.el". (paredit): Generate "paredit-autoloads.el". (magit): Generate "magit-autoloads.el". (emacs-wget): Generate "wget-autoloads.el". --- gnu/packages/emacs.scm | 31 +++++++++++++++++++++++++++++-- 1 file changed, 29 insertions(+), 2 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 2ce88de315..d65cf64711 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer ;;; Copyright © 2013, 2014 Ludovic Courtès ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -139,6 +140,15 @@ editor (without an X toolkit)" ) (sha256 (base32 "1mrk0bzqcpfhsw6635qznn47nzfy9ps7wrhkpymswdfpw5mdsry5")))) (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (symlink "geiser-install.el" + (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/" + "geiser-autoloads.el"))) + %standard-phases))) (inputs `(("guile" ,guile-2.0) ("emacs" ,emacs))) (home-page "http://nongnu.org/geiser/") @@ -190,6 +200,7 @@ giving her access to live metadata.") (copy-file source target) (with-directory-excursion lisp-dir (parameterize ((%emacs emacs)) + (emacs-generate-autoloads ,name lisp-dir) (emacs-batch-eval '(byte-compile-file "paredit.el")))))))) (home-page "http://mumble.net/~campbell/emacs/paredit/") (synopsis "Emacs minor mode for editing parentheses") @@ -244,7 +255,13 @@ when typing parentheses directly or commenting out code line by line.") (emacs-substitute-variables "magit.el" ("magit-git-executable" (string-append git "/bin/git")) ("magit-gitk-executable" (string-append git:gui "/bin/gitk"))))) - %standard-phases)))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + ,name (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/"))) + %standard-phases))))) (home-page "http://magit.github.io/") (synopsis "Emacs interface for the Git version control system") (description @@ -321,6 +338,7 @@ operations.") (string-append (assoc-ref outputs "out") "/share/emacs/site-lisp") (for-each delete-file '("ChangeLog" "ChangeLog.1")) + (symlink "w3m-load.el" "w3m-autoloads.el") #t))) %standard-phases))))) (home-page "http://emacs-w3m.namazu.org/") @@ -363,7 +381,13 @@ operations.") (let ((wget (assoc-ref inputs "wget"))) (emacs-substitute-variables "wget.el" ("wget-command" (string-append wget "/bin/wget"))))) - %standard-phases)))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + (emacs-generate-autoloads + "wget" (string-append (assoc-ref outputs "out") + "/share/emacs/site-lisp/"))) + %standard-phases))))) (home-page "http://www.emacswiki.org/emacs/EmacsWget") (synopsis "Simple file downloader for Emacs based on wget") (description @@ -469,6 +493,9 @@ operations.") (let* ((out (assoc-ref outputs "out")) (target (string-append out "/bin/emms-print-metadata"))) + (symlink "emms-auto.el" + (string-append out "/share/emacs/site-lisp/" + "emms-autoloads.el")) (mkdir-p (dirname target)) (copy-file "src/emms-print-metadata" target) (chmod target #o555))) From a7f862e4dade6942bb67322a97d733e7f89f564f Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 2 Dec 2014 10:36:25 +0300 Subject: [PATCH 125/221] doc: emacs: Document autoloading Emacs packages. * doc/emacs.texi (Emacs Initial Setup): Describe how Emacs packages installed in a user profile are autoloaded by "guix.el" --- doc/emacs.texi | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/doc/emacs.texi b/doc/emacs.texi index ad2dcd8f65..a9f706e11c 100644 --- a/doc/emacs.texi +++ b/doc/emacs.texi @@ -56,11 +56,21 @@ Manual}): (require 'guix-init) @end example -Do not worry about the efficiency of that @code{require} thing. It will -not load the whole ``guix.el'' package, it will just autoload the main -interactive commands (@pxref{Autoload,,, elisp, The GNU Emacs Lisp -Reference Manual}). +By default, along with autoloading (@pxref{Autoload,,, elisp, The GNU +Emacs Lisp Reference Manual}) the main interactive commands for +``guix.el'' (@pxref{Emacs Commands}), requiring @code{guix-init} will +also autoload commands for the Emacs packages installed in your user +profile. +To disable automatic loading of installed Emacs packages, set +@code{guix-package-enable-at-startup} variable to @code{nil} before +requiring @code{guix-init}. This variable has the same meaning for +Emacs packages installed with Guix, as @code{package-enable-at-startup} +for the inbuilt Emacs package system (@pxref{Package Installation,,, +emacs, The GNU Emacs Manual}). + +You can activate Emacs packages installed in your profile whenever you +want using @kbd{M-x@tie{}guix-emacs-load-autoloads}. @node Emacs Usage @subsection Usage From 1567bb197698da49f6aad5db8394636e8f60c173 Mon Sep 17 00:00:00 2001 From: John Darrington Date: Wed, 3 Dec 2014 09:46:41 +0100 Subject: [PATCH 126/221] gnu: Add tre (including the agrep utility) * gnu/packages/tre.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/tre.scm | 45 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+) create mode 100644 gnu/packages/tre.scm diff --git a/gnu-system.am b/gnu-system.am index 1cf16213c5..b3ba176b5b 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -251,6 +251,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/time.scm \ gnu/packages/tmux.scm \ gnu/packages/tor.scm \ + gnu/packages/tre.scm \ gnu/packages/unclutter.scm \ gnu/packages/unrtf.scm \ gnu/packages/upnp.scm \ diff --git a/gnu/packages/tre.scm b/gnu/packages/tre.scm new file mode 100644 index 0000000000..33d2cff093 --- /dev/null +++ b/gnu/packages/tre.scm @@ -0,0 +1,45 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright 2014 John Darrington +;;; +;;; 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 tre) + #:use-module (gnu packages) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses)) + +(define-public tre + (package + (name "tre") + (version "0.8.0") + (source + (origin + (method url-fetch) + (uri + (string-append "http://laurikari.net/tre/" name "-" version + ".tar.bz2")) + (sha256 + (base32 "0n36cgqys59r2gmb7jzbqiwsy790v8nbxk82d2n2saz0rp145ild")))) + + (build-system gnu-build-system) + (synopsis "Approximate regex matching library and agrep utility") + (description "Superset of the POSIX regex API, enabling approximate +matching. Also ships a version of the agrep utility which behaves similar to +grep but features ineaxct matching.") + (home-page "http://laurikari.net/tre") + (license bsd-2))) From 5ec98c3de5600a915ffe5908a97f12d09968ba5a Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Wed, 3 Dec 2014 20:25:27 +0300 Subject: [PATCH 127/221] doc: emacs: Fix typo. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Reported by Ludovic Courtès . * doc/emacs.texi (Emacs Initial Setup): Replace "inbuilt" with "built-in". --- doc/emacs.texi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/emacs.texi b/doc/emacs.texi index a9f706e11c..86e0048538 100644 --- a/doc/emacs.texi +++ b/doc/emacs.texi @@ -66,7 +66,7 @@ To disable automatic loading of installed Emacs packages, set @code{guix-package-enable-at-startup} variable to @code{nil} before requiring @code{guix-init}. This variable has the same meaning for Emacs packages installed with Guix, as @code{package-enable-at-startup} -for the inbuilt Emacs package system (@pxref{Package Installation,,, +for the built-in Emacs package system (@pxref{Package Installation,,, emacs, The GNU Emacs Manual}). You can activate Emacs packages installed in your profile whenever you From 845d48e7a1a9068e1d6df0c1e0294633c05b7c7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 3 Dec 2014 21:55:20 +0100 Subject: [PATCH 128/221] nls: Add Hungarian translation. * po/packages/hu.po: New file. * po/packages/LINGUAS: Add it. --- po/packages/LINGUAS | 1 + po/packages/hu.po | 1262 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 1263 insertions(+) create mode 100644 po/packages/hu.po diff --git a/po/packages/LINGUAS b/po/packages/LINGUAS index 74504b6f07..6ba2fe22cc 100644 --- a/po/packages/LINGUAS +++ b/po/packages/LINGUAS @@ -4,6 +4,7 @@ de en@boldquot en@quot eo +hu pt_BR sr vi diff --git a/po/packages/hu.po b/po/packages/hu.po new file mode 100644 index 0000000000..f03c0af959 --- /dev/null +++ b/po/packages/hu.po @@ -0,0 +1,1262 @@ +# Hungarian translation for guix-packages. +# Copyright (C) 2014 Free Software Foundation, Inc. +# This file is distributed under the same license as the guix package. +# +# Balázs Úr , 2014. +msgid "" +msgstr "" +"Project-Id-Version: guix-packages 0.8\n" +"Report-Msgid-Bugs-To: ludo@gnu.org\n" +"POT-Creation-Date: 2014-11-10 15:37+0100\n" +"PO-Revision-Date: 2014-12-03 21:17+0100\n" +"Last-Translator: Balázs Úr \n" +"Language-Team: Hungarian \n" +"Language: hu\n" +"MIME-Version: 1.0\n" +"Content-Type: text/plain; charset=UTF-8\n" +"Content-Transfer-Encoding: 8bit\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"X-Generator: Lokalize 1.5\n" + +#: gnu/packages/aspell.scm:42 +msgid "Spell checker" +msgstr "Helyesírás-ellenőrző" + +#: gnu/packages/aspell.scm:44 +msgid "" +"Aspell is a spell-checker which can be used either as a library or as\n" +"a standalone program. Notable features of Aspell include its full support of\n" +"documents written in the UTF-8 encoding and its ability to use multiple\n" +"dictionaries, including personal ones." +msgstr "" + +#: gnu/packages/aspell.scm:84 +msgid "This package provides a dictionary for the GNU Aspell spell checker." +msgstr "Ez a csomag egy szótárat biztosít a GNU Aspell helyesírás-ellenőrzőhöz." + +#: gnu/packages/backup.scm:87 +msgid "Encrypted backup using rsync algorithm" +msgstr "Titkosított biztonsági mentés az rsync algoritmus használatával" + +#: gnu/packages/backup.scm:89 +msgid "" +"Duplicity backs up directories by producing encrypted tar-format volumes\n" +"and uploading them to a remote or local file server. Because duplicity uses\n" +"librsync, the incremental archives are space efficient and only record the\n" +"parts of files that have changed since the last backup. Because duplicity\n" +"uses GnuPG to encrypt and/or sign these archives, they will be safe from\n" +"spying and/or modification by the server." +msgstr "" + +#: gnu/packages/backup.scm:123 +msgid "Simple incremental backup tool" +msgstr "Egyszerű növekményes biztonsági mentés eszköz" + +#: gnu/packages/backup.scm:125 +msgid "" +"Hdup2 is a backup utilty, its aim is to make backup really simple. The\n" +"backup scheduling is done by means of a cron job. It supports an\n" +"include/exclude mechanism, remote backups, encrypted backups and split\n" +"backups (called chunks) to allow easy burning to CD/DVD." +msgstr "" + +#: gnu/packages/backup.scm:178 +msgid "Multi-format archive and compression library" +msgstr "" + +#: gnu/packages/backup.scm:180 +msgid "" +"Libarchive provides a flexible interface for reading and writing\n" +"archives in various formats such as tar and cpio. Libarchive also supports\n" +"reading and writing archives compressed using various compression filters such\n" +"as gzip and bzip2. The library is inherently stream-oriented; readers\n" +"serially iterate through the archive, writers serially add things to the\n" +"archive. In particular, note that there is currently no built-in support for\n" +"random access nor for in-place modification." +msgstr "" + +#: gnu/packages/backup.scm:243 +msgid "Provide a list of files to backup" +msgstr "" + +#: gnu/packages/backup.scm:245 +msgid "" +"Rdup is a utility inspired by rsync and the plan9 way of doing backups.\n" +"Rdup itself does not backup anything, it only print a list of absolute\n" +"filenames to standard output. Auxiliary scripts are needed that act on this\n" +"list and implement the backup strategy." +msgstr "" + +#: gnu/packages/backup.scm:275 +msgid "Tar-compatible archiver" +msgstr "Tar-kompatibilis archiváló" + +#: gnu/packages/backup.scm:277 +msgid "" +"Btar is a tar-compatible archiver which allows arbitrary compression and\n" +"ciphering, redundancy, differential backup, indexed extraction, multicore\n" +"compression, input and output serialisation, and tolerance to partial archive\n" +"errors." +msgstr "" + +#: gnu/packages/backup.scm:305 +msgid "Local/remote mirroring+incremental backup" +msgstr "Helyi/távoli tükröző + növekményes biztonsági mentés" + +#: gnu/packages/backup.scm:307 +msgid "" +"Rdiff-backup backs up one directory to another, possibly over a network.\n" +"The target directory ends up a copy of the source directory, but extra reverse\n" +"diffs are stored in a special subdirectory of that target directory, so you\n" +"can still recover files lost some time ago. The idea is to combine the best\n" +"features of a mirror and an incremental backup. Rdiff-backup also preserves\n" +"subdirectories, hard links, dev files, permissions, uid/gid ownership,\n" +"modification times, extended attributes, acls, and resource forks. Also,\n" +"rdiff-backup can operate in a bandwidth efficient manner over a pipe, like\n" +"rsync. Thus you can use rdiff-backup and ssh to securely back a hard drive up\n" +"to a remote location, and only the differences will be transmitted. Finally,\n" +"rdiff-backup is easy to use and settings have sensical defaults." +msgstr "" + +#: gnu/packages/base.scm:56 +msgid "Hello, GNU world: An example GNU package" +msgstr "Helló, GNU világ: egy példa GNU csomag" + +#: gnu/packages/base.scm:58 +msgid "" +"GNU Hello prints the message \"Hello, world!\" and then exits. It\n" +"serves as an example of standard GNU coding practices. As such, it supports\n" +"command-line arguments, multiple languages, and so on." +msgstr "" +"A GNU Helló a „Helló, világ!” üzenetet írja ki, majd kilép. Ez a szabványos\n" +"GNU kódolási gyakorlatok példájaként szolgál. Mint olyan, támogatja a\n" +"parancssori argumentumokat, több nyelvet, és így tovább." + +#: gnu/packages/base.scm:76 +msgid "Print lines matching a pattern" +msgstr "Egy mintára illeszkedő sorok kiírása" + +#: gnu/packages/base.scm:78 +msgid "" +"grep is a tool for finding text inside files. Text is found by\n" +"matching a pattern provided by the user in one or many files. The pattern\n" +"may be provided as a basic or extended regular expression, or as fixed\n" +"strings. By default, the matching text is simply printed to the screen,\n" +"however the output can be greatly customized to include, for example, line\n" +"numbers. GNU grep offers many extensions over the standard utility,\n" +"including, for example, recursive directory searching." +msgstr "" +"A grep a fájlokon belüli szöveg keresésére szolgáló eszköz. A szöveg a\n" +"felhasználó által megadott mintákra illeszkedve található meg egy vagy több\n" +"fájlban. A minta megadható alap vagy kiterjesztett reguláris kifejezésként,\n" +"illetve rögzített szövegként. Alapértelmezetten az illeszkedő szöveg\n" +"egyszerűen kiírásra kerül a képernyőre, viszont a kimenet nagymértékben\n" +"testre szabható a beágyazáshoz, például sorok számozásához. A GNU grep számos\n" +"kiterjesztést nyújt a szabványos segédprogramokon túl, beleértve például a\n" +"rekurzív könyvtárkeresést." + +#: gnu/packages/base.scm:100 +msgid "Stream editor" +msgstr "Folyamszerkesztő" + +#: gnu/packages/base.scm:115 +msgid "" +"Sed is a non-interactive, text stream editor. It receives a text\n" +"input from a file or from standard input and it then applies a series of text\n" +"editing commands to the stream and prints its output to standard output. It\n" +"is often used for substituting text patterns in a stream. The GNU\n" +"implementation offers several extensions over the standard utility." +msgstr "" +"A sed egy nem interaktív szövegfolyam-szerkesztő. Szöveges bemenetet fogad\n" +"egy fájlból vagy a szabványos bemenetről, majd egy sor szövegszerkesztési\n" +"parancsot alkalmaz a folyamon, és kiírja a kimenetét a szabványos kimenetre.\n" +"Gyakran használják szövegminták helyettesítésére egy folyamban. A GNU\n" +"megvalósítása számos kiterjesztést nyújt a szabványos segédprogramokon túl." + +#: gnu/packages/base.scm:135 +msgid "Managing tar archives" +msgstr "Tar archívumok kezelése" + +#: gnu/packages/base.scm:137 +msgid "" +"Tar provides the ability to create tar archives, as well as the\n" +"ability to extract, update or list files in an existing archive. It is\n" +"useful for combining many files into one larger file, while maintaining\n" +"directory structure and file information such as permissions and\n" +"creation/modification dates. GNU tar offers many extensions over the\n" +"standard utility." +msgstr "" + +#: gnu/packages/base.scm:161 +msgid "Apply differences to originals, with optional backups" +msgstr "" + +#: gnu/packages/base.scm:163 +msgid "" +"Patch is a program that applies changes to files based on differences\n" +"laid out as by the program \"diff\". The changes may be applied to one or more\n" +"files depending on the contents of the diff file. It accepts several\n" +"different diff formats. It may also be used to revert previously applied\n" +"differences." +msgstr "" + +#: gnu/packages/base.scm:183 +msgid "Comparing and merging files" +msgstr "" + +#: gnu/packages/base.scm:185 +msgid "" +"GNU Diffutils is a package containing tools for finding the\n" +"differences between files. The \"diff\" command is used to show how two files\n" +"differ, while \"cmp\" shows the offsets and line numbers where they differ. \n" +"\"diff3\" allows you to compare three files. Finally, \"sdiff\" offers an\n" +"interactive means to merge two files." +msgstr "" + +#: gnu/packages/base.scm:212 +msgid "Operating on files matching given criteria" +msgstr "" + +#: gnu/packages/base.scm:214 +msgid "" +"Findutils supplies the basic file directory searching utilities of the\n" +"GNU system. It consists of two primary searching utilities: \"find\"\n" +"recursively searches for files in a directory according to given criteria and\n" +"\"locate\" lists files in a database that match a query. Two auxiliary tools\n" +"are included: \"updatedb\" updates the file name database and \"xargs\" may be\n" +"used to apply commands with arbitrarily long arguments." +msgstr "" + +#: gnu/packages/base.scm:264 +msgid "Core GNU utilities (file, text, shell)" +msgstr "" + +#: gnu/packages/base.scm:266 +msgid "" +"GNU Coreutils includes all of the basic command-line tools that are\n" +"expected in a POSIX system. These provide the basic file, shell and text\n" +"manipulation functions of the GNU system. Most of these tools offer extended\n" +"functionality beyond that which is outlined in the POSIX standard." +msgstr "" + +#: gnu/packages/base.scm:300 +msgid "Remake files automatically" +msgstr "" + +#: gnu/packages/base.scm:302 +msgid "" +"Make is a program that is used to control the production of\n" +"executables or other files from their source files. The process is\n" +"controlled from a Makefile, in which the developer specifies how each file is\n" +"generated from its source. It has powerful dependency resolution and the\n" +"ability to determine when files have to be regenerated after their sources\n" +"change. GNU make offers many powerful extensions over the standard utility." +msgstr "" + +#: gnu/packages/base.scm:347 +msgid "Binary utilities: bfd gas gprof ld" +msgstr "" + +#: gnu/packages/base.scm:349 +msgid "" +"GNU Binutils is a collection of tools for working with binary files.\n" +"Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler.\n" +"Other tools include programs to display binary profiling information, list\n" +"the strings in a binary file, and utilities for working with archives. The\n" +"\"bfd\" library for working with executable and object formats is also\n" +"included." +msgstr "" + +#: gnu/packages/base.scm:491 +msgid "The GNU C Library" +msgstr "" + +#: gnu/packages/base.scm:493 +msgid "" +"Any Unix-like operating system needs a C library: the library which\n" +"defines the \"system calls\" and other basic facilities such as open, malloc,\n" +"printf, exit...\n" +"\n" +"The GNU C library is used as the C library in the GNU system and most systems\n" +"with the Linux kernel." +msgstr "" + +#: gnu/packages/base.scm:562 +msgid "Database of current and historical time zones" +msgstr "" + +#: gnu/packages/base.scm:563 +msgid "" +"The Time Zone Database (often called tz or zoneinfo)\n" +"contains code and data that represent the history of local time for many\n" +"representative locations around the globe. It is updated periodically to\n" +"reflect changes made by political bodies to time zone boundaries, UTC offsets,\n" +"and daylight-saving rules." +msgstr "" + +#: gnu/packages/databases.scm:83 +msgid "Berkeley database" +msgstr "" + +#: gnu/packages/databases.scm:85 +msgid "" +"Berkeley DB is an embeddable database allowing developers the choice of\n" +"SQL, Key/Value, XML/XQuery or Java Object storage for their data model." +msgstr "" + +#: gnu/packages/databases.scm:143 +msgid "Fast, easy to use, and popular database" +msgstr "" + +#: gnu/packages/databases.scm:145 +msgid "" +"MySQL is a fast, reliable, and easy to use relational database\n" +"management system that supports the standardized Structured Query\n" +"Language." +msgstr "" + +#: gnu/packages/databases.scm:166 +msgid "Powerful object-relational database system" +msgstr "" + +#: gnu/packages/databases.scm:168 +msgid "" +"PostgreSQL is a powerful object-relational database system. It is fully\n" +"ACID compliant, has full support for foreign keys, joins, views, triggers, and\n" +"stored procedures (in multiple languages). It includes most SQL:2008 data\n" +"types, including INTEGER, NUMERIC, BOOLEAN, CHAR, VARCHAR, DATE, INTERVAL, and\n" +"TIMESTAMP. It also supports storage of binary large objects, including\n" +"pictures, sounds, or video." +msgstr "" + +#: gnu/packages/databases.scm:203 +msgid "Manipulate plain text files as databases" +msgstr "" + +#: gnu/packages/databases.scm:205 +msgid "" +"GNU Recutils is a set of tools and libraries for creating and\n" +"manipulating text-based, human-editable databases. Despite being text-based,\n" +"databases created with Recutils carry all of the expected features such as\n" +"unique fields, primary keys, time stamps and more. Many different field\n" +"types are supported, as is encryption." +msgstr "" + +#: gnu/packages/databases.scm:243 +msgid "The SQLite database management system" +msgstr "" + +#: gnu/packages/databases.scm:245 +msgid "" +"SQLite is a software library that implements a self-contained, serverless,\n" +"zero-configuration, transactional SQL database engine. SQLite is the most\n" +"widely deployed SQL database engine in the world. The source code for SQLite\n" +"is in the public domain." +msgstr "" + +#: gnu/packages/databases.scm:280 +msgid "Trivial database" +msgstr "" + +#: gnu/packages/databases.scm:282 +msgid "" +"TDB is a Trivial Database. In concept, it is very much like GDBM,\n" +"and BSD's DB except that it allows multiple simultaneous writers and uses\n" +"locking internally to keep writers from trampling on each other. TDB is also\n" +"extremely small." +msgstr "" + +#: gnu/packages/databases.scm:301 +msgid "Database independent interface for Perl" +msgstr "" + +#: gnu/packages/databases.scm:302 +msgid "This package provides an database interface for Perl." +msgstr "" + +#: gnu/packages/databases.scm:321 +msgid "SQlite interface for Perl" +msgstr "" + +#: gnu/packages/databases.scm:322 +msgid "" +"DBD::SQLite is a Perl DBI driver for SQLite, that includes\n" +"the entire thing in the distribution. So in order to get a fast transaction\n" +"capable RDBMS working for your Perl project you simply have to install this\n" +"module, and nothing else." +msgstr "" + +#: gnu/packages/databases.scm:342 +msgid "Data source abstraction library" +msgstr "" + +#: gnu/packages/databases.scm:343 +msgid "" +"Unixodbc is a library providing an API with which to access\n" +"data sources. Data sources include SQL Servers and any software with an ODBC\n" +"Driver." +msgstr "" + +#: gnu/packages/gcc.scm:254 +msgid "GNU Compiler Collection" +msgstr "" + +#: gnu/packages/gcc.scm:256 +msgid "" +"GCC is the GNU Compiler Collection. It provides compiler front-ends\n" +"for several languages, including C, C++, Objective-C, Fortran, Java, Ada, and\n" +"Go. It also includes runtime support libraries for these languages." +msgstr "" + +#: gnu/packages/gcc.scm:340 +msgid "Manipulating sets and relations of integer points bounded by linear constraints" +msgstr "" + +#: gnu/packages/gcc.scm:343 +msgid "" +"isl is a library for manipulating sets and relations of integer points\n" +"bounded by linear constraints. Supported operations on sets include\n" +"intersection, union, set difference, emptiness check, convex hull, (integer)\n" +"affine hull, integer projection, computing the lexicographic minimum using\n" +"parametric integer programming, coalescing and parametric vertex\n" +"enumeration. It also includes an ILP solver based on generalized basis\n" +"reduction, transitive closures on maps (which may encode infinite graphs),\n" +"dependence analysis and bounds on piecewise step-polynomials." +msgstr "" + +#: gnu/packages/gcc.scm:375 +msgid "Library to generate code for scanning Z-polyhedra" +msgstr "" + +#: gnu/packages/gcc.scm:377 +msgid "" +"CLooG is a free software library to generate code for scanning\n" +"Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that\n" +"reaches each integral point of one or more parameterized polyhedra.\n" +"CLooG has been originally written to solve the code generation problem\n" +"for optimizing compilers based on the polytope model. Nevertheless it\n" +"is used now in various area e.g., to build control automata for\n" +"high-level synthesis or to find the best polynomial approximation of a\n" +"function. CLooG may help in any situation where scanning polyhedra\n" +"matters. While the user has full control on generated code quality,\n" +"CLooG is designed to avoid control overhead and to produce a very\n" +"effective code." +msgstr "" + +#: gnu/packages/gettext.scm:74 +msgid "Tools and documentation for translation" +msgstr "" + +#: gnu/packages/gettext.scm:76 +msgid "" +"GNU Gettext is a package providing a framework for translating the\n" +"textual output of programs into multiple languages. It provides translators\n" +"with the means to create message catalogs, as well as an Emacs mode to work\n" +"with them, and a runtime library to load translated messages from the\n" +"catalogs. Nearly all GNU packages use Gettext." +msgstr "" + +#: gnu/packages/guile.scm:100 gnu/packages/guile.scm:163 +msgid "Scheme implementation intended especially for extensions" +msgstr "" + +#: gnu/packages/guile.scm:102 gnu/packages/guile.scm:165 +msgid "" +"Guile is the GNU Ubiquitous Intelligent Language for Extensions, the\n" +"official extension language of the GNU system. It is an implementation of\n" +"the Scheme language which can be easily embedded in other applications to\n" +"provide a convenient means of extending the functionality of the application\n" +"without requiring the source code to be rewritten." +msgstr "" + +#: gnu/packages/guile.scm:208 +msgid "Framework for building readers for GNU Guile" +msgstr "" + +#: gnu/packages/guile.scm:210 +msgid "" +"Guile-Reader is a simple framework for building readers for GNU Guile.\n" +"\n" +"The idea is to make it easy to build procedures that extend Guile’s read\n" +"procedure. Readers supporting various syntax variants can easily be written,\n" +"possibly by re-using existing “token readers” of a standard Scheme\n" +"readers. For example, it is used to implement Skribilo’s R5RS-derived\n" +"document syntax.\n" +"\n" +"Guile-Reader’s approach is similar to Common Lisp’s “read table”, but\n" +"hopefully more powerful and flexible (for instance, one may instantiate as\n" +"many readers as needed)." +msgstr "" + +#: gnu/packages/guile.scm:263 +msgid "Guile bindings to ncurses" +msgstr "" + +#: gnu/packages/guile.scm:265 +msgid "" +"guile-ncurses provides Guile language bindings for the ncurses\n" +"library." +msgstr "" + +#: gnu/packages/guile.scm:285 +msgid "Run jobs at scheduled times" +msgstr "" + +#: gnu/packages/guile.scm:287 +msgid "" +"GNU Mcron is a complete replacement for Vixie cron. It is used to run\n" +"tasks on a schedule, such as every hour or every Monday. Mcron is written in\n" +"Guile, so its configuration can be written in Scheme; the original cron\n" +"format is also supported." +msgstr "" + +#: gnu/packages/guile.scm:315 +msgid "Collection of useful Guile Scheme modules" +msgstr "" + +#: gnu/packages/guile.scm:317 +msgid "" +"Guile-Lib is intended as an accumulation place for pure-scheme Guile\n" +"modules, allowing for people to cooperate integrating their generic Guile\n" +"modules into a coherent library. Think \"a down-scaled, limited-scope CPAN\n" +"for Guile\"." +msgstr "" + +#: gnu/packages/guile.scm:348 +msgid "JSON module for Guile" +msgstr "" + +#: gnu/packages/guile.scm:350 +msgid "" +"Guile-json supports parsing and building JSON documents according to the\n" +"http:://json.org specification. These are the main features:\n" +"- Strictly complies to http://json.org specification.\n" +"- Build JSON documents programmatically via macros.\n" +"- Unicode support for strings.\n" +"- Allows JSON pretty printing." +msgstr "" + +#: gnu/packages/guile.scm:381 +msgid "Create charts and graphs in Guile" +msgstr "" + +#: gnu/packages/guile.scm:383 +msgid "" +"Guile-Charting is a Guile Scheme library to create bar charts and graphs\n" +"using the Cairo drawing library." +msgstr "" + +#: gnu/packages/inkscape.scm:78 +msgid "Vector graphics editor" +msgstr "" + +#: gnu/packages/inkscape.scm:79 +msgid "" +"Inkscape is a vector graphics editor. What sets Inkscape\n" +"apart is its use of Scalable Vector Graphics (SVG), an XML-based W3C standard,\n" +"as the native format." +msgstr "" + +#: gnu/packages/linux.scm:131 +msgid "GNU Linux-Libre kernel headers" +msgstr "" + +#: gnu/packages/linux.scm:132 +msgid "Headers of the Linux-Libre kernel." +msgstr "" + +#: gnu/packages/linux.scm:163 +msgid "Tools for loading and managing Linux kernel modules" +msgstr "" + +#: gnu/packages/linux.scm:165 +msgid "" +"Tools for loading and managing Linux kernel modules, such as `modprobe',\n" +"`insmod', `lsmod', and more." +msgstr "" + +#: gnu/packages/linux.scm:296 +msgid "100% free redistribution of a cleaned Linux kernel" +msgstr "" + +#: gnu/packages/linux.scm:298 +msgid "" +"GNU Linux-Libre is a free (as in freedom) variant of the Linux kernel.\n" +"It has been modified to remove all non-free binary blobs." +msgstr "" + +#: gnu/packages/linux.scm:341 +msgid "Pluggable authentication modules for Linux" +msgstr "" + +#: gnu/packages/linux.scm:343 +msgid "" +"A *Free* project to implement OSF's RFC 86.0.\n" +"Pluggable authentication modules are small shared object files that can\n" +"be used through the PAM API to perform tasks, like authenticating a user\n" +"at login. Local and dynamic reconfiguration are its key features" +msgstr "" + +#: gnu/packages/linux.scm:370 +msgid "Small utilities that use the proc filesystem" +msgstr "" + +#: gnu/packages/linux.scm:372 +msgid "" +"This PSmisc package is a set of some small useful utilities that\n" +"use the proc filesystem. We're not about changing the world, but\n" +"providing the system administrator with some help in common tasks." +msgstr "" + +#: gnu/packages/linux.scm:416 +msgid "Collection of utilities for the Linux kernel" +msgstr "" + +#: gnu/packages/linux.scm:418 +msgid "Util-linux is a random collection of utilities for the Linux kernel." +msgstr "" + +#: gnu/packages/linux.scm:472 +msgid "Utilities that give information about processes" +msgstr "" + +#: gnu/packages/linux.scm:474 +msgid "" +"Procps is the package that has a bunch of small useful utilities\n" +"that give information about processes using the Linux /proc file system.\n" +"The package includes the programs ps, top, vmstat, w, kill, free,\n" +"slabtop, and skill." +msgstr "" + +#: gnu/packages/linux.scm:499 +msgid "Tools for working with USB devices, such as lsusb" +msgstr "" + +#: gnu/packages/linux.scm:501 +msgid "Tools for working with USB devices, such as lsusb." +msgstr "" + +#: gnu/packages/linux.scm:542 +msgid "Creating and checking ext2/ext3/ext4 file systems" +msgstr "" + +#: gnu/packages/linux.scm:544 +msgid "This package provides tools for manipulating ext2/ext3/ext4 file systems." +msgstr "" + +#: gnu/packages/linux.scm:575 +msgid "Statically-linked fsck.* commands from e2fsprogs" +msgstr "" + +#: gnu/packages/linux.scm:577 +msgid "" +"This package provides statically-linked command of fsck.ext[234] taken\n" +"from the e2fsprogs package. It is meant to be used in initrds." +msgstr "" + +#: gnu/packages/linux.scm:596 +msgid "System call tracer for Linux" +msgstr "" + +#: gnu/packages/linux.scm:598 +msgid "" +"strace is a system call tracer, i.e. a debugging tool which prints out a\n" +"trace of all the system calls made by a another process/program." +msgstr "" + +#: gnu/packages/linux.scm:617 +msgid "The Advanced Linux Sound Architecture libraries" +msgstr "" + +#: gnu/packages/linux.scm:619 gnu/packages/linux.scm:661 +msgid "" +"The Advanced Linux Sound Architecture (ALSA) provides audio and\n" +"MIDI functionality to the Linux-based operating system." +msgstr "" + +#: gnu/packages/linux.scm:659 +msgid "Utilities for the Advanced Linux Sound Architecture (ALSA)" +msgstr "" + +#: gnu/packages/linux.scm:683 +msgid "Program to configure the Linux IP packet filtering rules" +msgstr "" + +#: gnu/packages/linux.scm:685 +msgid "" +"iptables is the userspace command line program used to configure the\n" +"Linux 2.4.x and later IPv4 packet filtering ruleset. It is targeted towards\n" +"system administrators. Since Network Address Translation is also configured\n" +"from the packet filter ruleset, iptables is used for this, too. The iptables\n" +"package also includes ip6tables. ip6tables is used for configuring the IPv6\n" +"packet filter." +msgstr "" + +#: gnu/packages/linux.scm:733 +msgid "Utilities for controlling TCP/IP networking and traffic in Linux" +msgstr "" + +#: gnu/packages/linux.scm:735 +msgid "" +"Iproute2 is a collection of utilities for controlling TCP/IP\n" +"networking and traffic with the Linux kernel.\n" +"\n" +"Most network configuration manuals still refer to ifconfig and route as the\n" +"primary network configuration tools, but ifconfig is known to behave\n" +"inadequately in modern network environments. They should be deprecated, but\n" +"most distros still include them. Most network configuration systems make use\n" +"of ifconfig and thus provide a limited feature set. The /etc/net project aims\n" +"to support most modern network technologies, as it doesn't use ifconfig and\n" +"allows a system administrator to make use of all iproute2 features, including\n" +"traffic control.\n" +"\n" +"iproute2 is usually shipped in a package called iproute or iproute2 and\n" +"consists of several tools, of which the most important are ip and tc. ip\n" +"controls IPv4 and IPv6 configuration and tc stands for traffic control. Both\n" +"tools print detailed usage messages and are accompanied by a set of\n" +"manpages." +msgstr "" + +#: gnu/packages/linux.scm:827 +msgid "Tools for controlling the network subsystem in Linux" +msgstr "" + +#: gnu/packages/linux.scm:829 +msgid "" +"This package includes the important tools for controlling the network\n" +"subsystem of the Linux kernel. This includes arp, hostname, ifconfig,\n" +"netstat, rarp and route. Additionally, this package contains utilities\n" +"relating to particular network hardware types (plipconfig, slattach) and\n" +"advanced aspects of IP configuration (iptunnel, ipmaddr)." +msgstr "" + +#: gnu/packages/linux.scm:862 +msgid "Library for working with POSIX capabilities" +msgstr "" + +#: gnu/packages/linux.scm:864 +msgid "" +"Libcap2 provides a programming interface to POSIX capabilities on\n" +"Linux-based operating systems." +msgstr "" + +#: gnu/packages/linux.scm:896 +msgid "Manipulate Ethernet bridges" +msgstr "" + +#: gnu/packages/linux.scm:898 +msgid "" +"Utilities for Linux's Ethernet bridging facilities. A bridge is a way\n" +"to connect two Ethernet segments together in a protocol independent way.\n" +"Packets are forwarded based on Ethernet address, rather than IP address (like\n" +"a router). Since forwarding is done at Layer 2, all protocols can go\n" +"transparently through a bridge." +msgstr "" + +#: gnu/packages/linux.scm:920 +msgid "NetLink protocol library suite" +msgstr "" + +#: gnu/packages/linux.scm:922 +msgid "" +"The libnl suite is a collection of libraries providing APIs to netlink\n" +"protocol based Linux kernel interfaces. Netlink is an IPC mechanism primarly\n" +"between the kernel and user space processes. It was designed to be a more\n" +"flexible successor to ioctl to provide mainly networking related kernel\n" +"configuration and monitoring interfaces." +msgstr "" + +#: gnu/packages/linux.scm:955 +msgid "Analyze power consumption on Intel-based laptops" +msgstr "" + +#: gnu/packages/linux.scm:957 +msgid "" +"PowerTOP is a Linux tool to diagnose issues with power consumption and\n" +"power management. In addition to being a diagnostic tool, PowerTOP also has\n" +"an interactive mode where the user can experiment various power management\n" +"settings for cases where the operating system has not enabled these\n" +"settings." +msgstr "" + +#: gnu/packages/linux.scm:979 +msgid "Audio mixer for X and the console" +msgstr "" + +#: gnu/packages/linux.scm:981 +msgid "" +"Aumix adjusts an audio mixer from X, the console, a terminal,\n" +"the command line or a script." +msgstr "" + +#: gnu/packages/linux.scm:1005 +msgid "Displays the IO activity of running processes" +msgstr "" + +#: gnu/packages/linux.scm:1007 +msgid "" +"Iotop is a Python program with a top like user interface to show the\n" +"processes currently causing I/O." +msgstr "" + +#: gnu/packages/linux.scm:1058 +msgid "Support file systems implemented in user space" +msgstr "" + +#: gnu/packages/linux.scm:1060 +msgid "" +"As a consequence of its monolithic design, file system code for Linux\n" +"normally goes into the kernel itself---which is not only a robustness issue,\n" +"but also an impediment to system extensibility. FUSE, for \"file systems in\n" +"user space\", is a kernel module and user-space library that tries to address\n" +"part of this problem by allowing users to run file system implementations as\n" +"user-space processes." +msgstr "" + +#: gnu/packages/linux.scm:1085 +msgid "User-space union file system" +msgstr "" + +#: gnu/packages/linux.scm:1087 +msgid "" +"UnionFS-FUSE is a flexible union file system implementation in user\n" +"space, using the FUSE library. Mounting a union file system allows you to\n" +"\"aggregate\" the contents of several directories into a single mount point.\n" +"UnionFS-FUSE additionally supports copy-on-write." +msgstr "" + +#: gnu/packages/linux.scm:1112 +msgid "User-space union file system (statically linked)" +msgstr "" + +#: gnu/packages/linux.scm:1154 +msgid "Mount remote file systems over SSH" +msgstr "" + +#: gnu/packages/linux.scm:1156 +msgid "" +"This is a file system client based on the SSH File Transfer Protocol.\n" +"Since most SSH servers already support this protocol it is very easy to set\n" +"up: on the server side there's nothing to do; on the client side mounting the\n" +"file system is as easy as logging into the server with an SSH client." +msgstr "" + +#: gnu/packages/linux.scm:1204 +msgid "Tools for non-uniform memory access (NUMA) machines" +msgstr "" + +#: gnu/packages/linux.scm:1206 +msgid "" +"NUMA stands for Non-Uniform Memory Access, in other words a system whose\n" +"memory is not all in one place. The numactl program allows you to run your\n" +"application program on specific CPU's and memory nodes. It does this by\n" +"supplying a NUMA memory policy to the operating system before running your\n" +"program.\n" +"\n" +"The package contains other commands, such as numademo, numastat and memhog.\n" +"The numademo command provides a quick overview of NUMA performance on your\n" +"system." +msgstr "" + +#: gnu/packages/linux.scm:1269 +msgid "Linux keyboard utilities and keyboard maps" +msgstr "" + +#: gnu/packages/linux.scm:1271 +msgid "" +"This package contains keytable files and keyboard utilities compatible\n" +"for systems using the Linux kernel. This includes commands such as\n" +"'loadkeys', 'setfont', 'kbdinfo', and 'chvt'." +msgstr "" + +#: gnu/packages/linux.scm:1290 +msgid "Monitor file accesses" +msgstr "" + +#: gnu/packages/linux.scm:1292 +msgid "" +"The inotify-tools packages provides a C library and command-line tools\n" +"to use Linux' inotify mechanism, which allows file accesses to be monitored." +msgstr "" + +#: gnu/packages/linux.scm:1330 +msgid "Kernel module tools" +msgstr "" + +#: gnu/packages/linux.scm:1331 +msgid "" +"Kmod is a set of tools to handle common tasks with Linux\n" +"kernel modules like insert, remove, list, check properties, resolve\n" +"dependencies and aliases.\n" +"\n" +"These tools are designed on top of libkmod, a library that is shipped with\n" +"kmod. The aim is to be compatible with tools, configurations and indices\n" +"from the module-init-tools project." +msgstr "" + +#: gnu/packages/linux.scm:1380 +msgid "Userspace device management" +msgstr "" + +#: gnu/packages/linux.scm:1381 +msgid "" +"Udev is a daemon which dynamically creates and removes\n" +"device nodes from /dev/, handles hotplug events and loads drivers at boot\n" +"time." +msgstr "" + +#: gnu/packages/linux.scm:1470 +msgid "Logical volume management for Linux" +msgstr "" + +#: gnu/packages/linux.scm:1472 +msgid "" +"LVM2 is the logical volume management tool set for Linux-based systems.\n" +"This package includes the user-space libraries and tools, including the device\n" +"mapper. Kernel components are part of Linux-libre." +msgstr "" + +#: gnu/packages/linux.scm:1499 +msgid "Tools for manipulating Linux Wireless Extensions" +msgstr "" + +#: gnu/packages/linux.scm:1500 +msgid "" +"Wireless Tools are used to manipulate the Linux Wireless\n" +"Extensions. The Wireless Extension is an interface allowing you to set\n" +"Wireless LAN specific parameters and get the specific stats." +msgstr "" + +#: gnu/packages/linux.scm:1572 +msgid "Utilities to read temperature/voltage/fan sensors" +msgstr "" + +#: gnu/packages/linux.scm:1574 +msgid "" +"Lm-sensors is a hardware health monitoring package for Linux. It allows\n" +"you to access information from temperature, voltage, and fan speed sensors.\n" +"It works with most newer systems." +msgstr "" + +#: gnu/packages/linux.scm:1609 +msgid "Hardware health information viewer" +msgstr "" + +#: gnu/packages/linux.scm:1611 +msgid "" +"Xsensors reads data from the libsensors library regarding hardware\n" +"health such as temperature, voltage and fan speed and displays the information\n" +"in a digital read-out." +msgstr "" + +#: gnu/packages/linux.scm:1654 +msgid "Linux profiling with performance counters" +msgstr "" + +#: gnu/packages/linux.scm:1656 +msgid "" +"perf is a tool suite for profiling using hardware performance counters,\n" +"with support in the Linux kernel. perf can instrument CPU performance\n" +"counters, tracepoints, kprobes, and uprobes (dynamic tracing). It is capable\n" +"of lightweight profiling. This package contains the user-land tools and in\n" +"particular the 'perf' command." +msgstr "" + +#: gnu/packages/lout.scm:109 +msgid "Document layout system" +msgstr "" + +#: gnu/packages/lout.scm:111 +msgid "" +"The Lout document formatting system reads a high-level description of\n" +"a document similar in style to LaTeX and produces a PostScript or plain text\n" +"output file.\n" +"\n" +"Lout offers an unprecedented range of advanced features, including optimal\n" +"paragraph and page breaking, automatic hyphenation, PostScript EPS file\n" +"inclusion and generation, equation formatting, tables, diagrams, rotation and\n" +"scaling, sorted indexes, bibliographic databases, running headers and\n" +"odd-even pages, automatic cross referencing, multilingual documents including\n" +"hyphenation (most European languages are supported), formatting of computer\n" +"programs, and much more, all ready to use. Furthermore, Lout is easily\n" +"extended with definitions which are very much easier to write than troff of\n" +"TeX macros because Lout is a high-level, purely functional language, the\n" +"outcome of an eight-year research project that went back to the\n" +"beginning." +msgstr "" + +#: gnu/packages/mpd.scm:62 +msgid "Music Player Daemon client library" +msgstr "" + +#: gnu/packages/mpd.scm:63 +msgid "" +"A stable, documented, asynchronous API library for\n" +"interfacing MPD in the C, C++ & Objective C languages." +msgstr "" + +#: gnu/packages/mpd.scm:121 +msgid "Music Player Daemon" +msgstr "" + +#: gnu/packages/mpd.scm:122 +msgid "" +"Music Player Daemon (MPD) is a flexible, powerful,\n" +"server-side application for playing music. Through plugins and libraries it\n" +"can play a variety of sound files while being controlled by its network\n" +"protocol." +msgstr "" + +#: gnu/packages/mpd.scm:147 +msgid "Curses Music Player Daemon client" +msgstr "" + +#: gnu/packages/mpd.scm:148 +msgid "" +"ncmpc is a fully featured MPD client, which runs in a\n" +"terminal using ncurses." +msgstr "" + +#: gnu/packages/mpd.scm:169 +msgid "Featureful ncurses based MPD client inspired by ncmpc" +msgstr "" + +#: gnu/packages/mpd.scm:170 +msgid "" +"Ncmpcpp is an mpd client with a UI very similar to ncmpc,\n" +"but it provides new useful features such as support for regular expressions\n" +"for library searches, extended song format, items filtering, the ability to\n" +"sort playlists, and a local filesystem browser." +msgstr "" + +#: gnu/packages/pdf.scm:79 +msgid "PDF rendering library" +msgstr "" + +#: gnu/packages/pdf.scm:81 +msgid "Poppler is a PDF rendering library based on the xpdf-3.0 code base." +msgstr "" + +#: gnu/packages/pdf.scm:124 +msgid "Viewer for PDF files based on the Motif toolkit" +msgstr "" + +#: gnu/packages/pdf.scm:126 +msgid "Xpdf is a viewer for Portable Document Format (PDF) files" +msgstr "" + +#: gnu/packages/pdf.scm:154 +msgid "Tools to work with the PDF file format" +msgstr "" + +#: gnu/packages/pdf.scm:156 +msgid "" +"PoDoFo is a C++ library and set of command-line tools to work with the\n" +"PDF file format. It can parse PDF files and load them into memory, and makes\n" +"it easy to modify them and write the changes to disk. It is primarily useful\n" +"for applications that wish to do lower level manipulation of PDF, such as\n" +"extracting content or merging files." +msgstr "" + +#: gnu/packages/pdf.scm:217 +msgid "Lightweight PDF viewer and toolkit" +msgstr "" + +#: gnu/packages/pdf.scm:219 +msgid "" +"MuPDF is a C library that implements a PDF and XPS parsing and\n" +"rendering engine. It is used primarily to render pages into bitmaps,\n" +"but also provides support for other operations such as searching and\n" +"listing the table of contents and hyperlinks.\n" +"\n" +"The library ships with a rudimentary X11 viewer, and a set of command\n" +"line tools for batch rendering (pdfdraw), examining the file structure\n" +"(pdfshow), and rewriting files (pdfclean)." +msgstr "" + +#: gnu/packages/ratpoison.scm:60 +msgid "Simple mouse-free tiling window manager" +msgstr "" + +#: gnu/packages/ratpoison.scm:62 +msgid "" +"Ratpoison is a simple window manager with no fat library\n" +"dependencies, no fancy graphics, no window decorations, and no\n" +"rodent dependence. It is largely modelled after GNU Screen which\n" +"has done wonders in the virtual terminal market.\n" +"\n" +"The screen can be split into non-overlapping frames. All windows\n" +"are kept maximized inside their frames to take full advantage of\n" +"your precious screen real estate.\n" +"\n" +"All interaction with the window manager is done through keystrokes.\n" +"Ratpoison has a prefix map to minimize the key clobbering that\n" +"cripples Emacs and other quality pieces of software." +msgstr "" + +#: gnu/packages/scanner.scm:52 +msgid "Raster image scanner library and drivers" +msgstr "" + +#: gnu/packages/scanner.scm:53 +msgid "" +"SANE stands for \"Scanner Access Now Easy\" and is an API\n" +"proving access to any raster image scanner hardware (flatbed scanner,\n" +"hand-held scanner, video- and still-cameras, frame-grabbers, etc.). The\n" +"package contains the library and drivers." +msgstr "" + +#: gnu/packages/scheme.scm:126 +msgid "A Scheme implementation with integrated editor and debugger" +msgstr "" + +#: gnu/packages/scheme.scm:128 +msgid "" +"GNU/MIT Scheme is an implementation of the Scheme programming\n" +"language. It provides an interpreter, a compiler and a debugger. It also\n" +"features an integrated Emacs-like editor and a large runtime library." +msgstr "" + +#: gnu/packages/scheme.scm:208 +msgid "Efficient Scheme compiler" +msgstr "" + +#: gnu/packages/scheme.scm:210 +msgid "" +"Bigloo is a Scheme implementation devoted to one goal: enabling\n" +"Scheme based programming style where C(++) is usually\n" +"required. Bigloo attempts to make Scheme practical by offering\n" +"features usually presented by traditional programming languages\n" +"but not offered by Scheme and functional programming. Bigloo\n" +"compiles Scheme modules. It delivers small and fast stand alone\n" +"binary executables. Bigloo enables full connections between\n" +"Scheme and C programs and between Scheme and Java programs." +msgstr "" + +#: gnu/packages/scheme.scm:281 +msgid "Multi-tier programming language for the Web 2.0" +msgstr "" + +#: gnu/packages/scheme.scm:283 +msgid "" +"HOP is a multi-tier programming language for the Web 2.0 and the\n" +"so-called diffuse Web. It is designed for programming interactive web\n" +"applications in many fields such as multimedia (web galleries, music players,\n" +"...), ubiquitous and house automation (SmartPhones, personal appliance),\n" +"mashups, office (web agendas, mail clients, ...), etc." +msgstr "" + +#: gnu/packages/scheme.scm:323 +msgid "R5RS Scheme implementation that compiles native code via C" +msgstr "" + +#: gnu/packages/scheme.scm:325 +msgid "" +"CHICKEN is a compiler for the Scheme programming language. CHICKEN\n" +"produces portable and efficient C, supports almost all of the R5RS Scheme\n" +"language standard, and includes many enhancements and extensions." +msgstr "" + +#: gnu/packages/scheme.scm:344 +msgid "Scheme implementation using a bytecode interpreter" +msgstr "" + +#: gnu/packages/scheme.scm:346 +msgid "" +"Scheme 48 is an implementation of Scheme based on a byte-code\n" +"interpreter and is designed to be used as a testbed for experiments in\n" +"implementation techniques and as an expository tool." +msgstr "" + +#: gnu/packages/scheme.scm:419 +msgid "Implementation of Scheme and related languages" +msgstr "" + +#: gnu/packages/scheme.scm:421 +msgid "" +"Racket is an implementation of the Scheme programming language (R5RS and\n" +"R6RS) and related languages, such as Typed Racket. It features a compiler and\n" +"a virtual machine with just-in-time native compilation, as well as a large set\n" +"of libraries." +msgstr "" + +#: gnu/packages/wordnet.scm:79 +msgid "Lexical database for the English language" +msgstr "" + +#: gnu/packages/wordnet.scm:81 +msgid "" +"WordNet® is a large lexical database of English. Nouns, verbs,\n" +"adjectives and adverbs are grouped into sets of cognitive synonyms\n" +"(synsets), each expressing a distinct concept. Synsets are interlinked by\n" +"means of conceptual-semantic and lexical relations. The resulting network of\n" +"meaningfully related words and concepts can be navigated with the browser.\n" +"WordNet is also freely and publicly available for download. WordNet's\n" +"structure makes it a useful tool for computational linguistics and natural\n" +"language processing." +msgstr "" + +#: gnu/packages/zip.scm:56 +msgid "Compression and file packing utility" +msgstr "" + +#: gnu/packages/zip.scm:58 +msgid "" +"Zip is a compression and file packaging/archive utility. Zip is useful\n" +"for packaging a set of files for distribution, for archiving files, and for\n" +"saving disk space by temporarily compressing unused files or directories.\n" +"Zip puts one or more compressed files into a single ZIP archive, along with\n" +"information about the files (name, path, date, time of last modification,\n" +"protection, and check information to verify file integrity). An entire\n" +"directory structure can be packed into a ZIP archive with a single command.\n" +"\n" +"Zip has one compression method (deflation) and can also store files without\n" +"compression. Zip automatically chooses the better of the two for each file.\n" +"Compression ratios of 2:1 to 3:1 are common for text files." +msgstr "" + +#: gnu/packages/zip.scm:98 +msgid "Decompression and file extraction utility" +msgstr "" + +#: gnu/packages/zip.scm:100 +msgid "" +"UnZip is an extraction utility for archives compressed in .zip format,\n" +"also called \"zipfiles\".\n" +"\n" +"UnZip lists, tests, or extracts files from a .zip archive. The default\n" +"behaviour (with no options) is to extract into the current directory, and\n" +"subdirectories below it, all files from the specified zipfile. UnZip\n" +"recreates the stored directory structure by default." +msgstr "" + +#: gnu/packages/zip.scm:134 +msgid "Library for accessing zip files" +msgstr "" + +#: gnu/packages/zip.scm:136 +msgid "ZZipLib is a library based on zlib for accessing zip files." +msgstr "" + +#: gnu/packages/zip.scm:154 +msgid "Provides an interface to ZIP archive files" +msgstr "" + +#: gnu/packages/zip.scm:155 +msgid "" +"The Archive::Zip module allows a Perl program to create,\n" +"manipulate, read, and write Zip archive files." +msgstr "" + +#: gnu/packages/zsh.scm:63 +msgid "Powerful shell for interactive use and scripting" +msgstr "" + +#: gnu/packages/zsh.scm:64 +msgid "" +"The Z shell (zsh) is a Unix shell that can be used\n" +"as an interactive login shell and as a powerful command interpreter\n" +"for shell scripting. Zsh can be thought of as an extended Bourne shell\n" +"with a large number of improvements, including some features of bash,\n" +"ksh, and tcsh." +msgstr "" From f2122ed1dc89353cad49a0ade54060d9946ba8d3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 3 Dec 2014 22:49:07 +0100 Subject: [PATCH 129/221] gnu: dbus: Update to 1.8.10. * gnu/packages/glib.scm (dbus): Update to 1.8.10. (dbus-1.8.10): Remove. --- gnu/packages/glib.scm | 19 ++----------------- 1 file changed, 2 insertions(+), 17 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index b472349d49..fd4aa8860d 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -56,8 +56,7 @@ (define dbus (package (name "dbus") - (version "1.8.8") - (replacement dbus-1.8.10) ;fix for CVE-2014-7824 + (version "1.8.10") (source (origin (method url-fetch) (uri @@ -65,7 +64,7 @@ version ".tar.gz")) (sha256 (base32 - "1zfi5grrlryppgrl23im82cqw6l9fk1wlc2ayvzx0yd994v2dayz")) + "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh")) (patches (list (search-patch "dbus-localstatedir.patch"))))) (build-system gnu-build-system) (arguments @@ -116,20 +115,6 @@ or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") (license license:gpl2+))) ; or Academic Free License 2.1 -(define-public dbus-1.8.10 - (let ((real-version "1.8.10")) - (package (inherit dbus) - (source (origin - (method url-fetch) - (uri - (string-append "http://dbus.freedesktop.org/releases/dbus/dbus-" - real-version ".tar.gz")) - (sha256 - (base32 - "13mgvwigm931r8n9363imnn0vn6dvc0m322k3p8fs5c8nvyqggqh")) - (patches (list (search-patch "dbus-localstatedir.patch"))))) - (replacement #f)))) - (define glib (package (name "glib") From 36d2a3afeb9fba6f00de77cc62ef51e74380aff9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 3 Dec 2014 22:51:18 +0100 Subject: [PATCH 130/221] gnu: glib: Work around unreliable GIO test. Fixes . * gnu/packages/patches/glib-tests-gapplication.patch: New file * gnu/packages/glib.scm (glib)[source]: Add it. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/glib.scm | 3 +- .../patches/glib-tests-gapplication.patch | 28 +++++++++++++++++++ 3 files changed, 31 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/glib-tests-gapplication.patch diff --git a/gnu-system.am b/gnu-system.am index b3ba176b5b..ddcf2e4943 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -358,6 +358,7 @@ dist_patch_DATA = \ gnu/packages/patches/glib-tests-homedir.patch \ gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glib-tests-timer.patch \ + gnu/packages/patches/glib-tests-gapplication.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/gnunet-fix-scheduler.patch \ diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fd4aa8860d..a6149cdc0e 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -129,7 +129,8 @@ shared NFS home directories.") (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") - (search-patch "glib-tests-timer.patch"))))) + (search-patch "glib-tests-timer.patch") + (search-patch "glib-tests-gapplication.patch"))))) (build-system gnu-build-system) (outputs '("out" ; everything "bin" ; glib-mkenums, gtester, etc.; depends on Python diff --git a/gnu/packages/patches/glib-tests-gapplication.patch b/gnu/packages/patches/glib-tests-gapplication.patch new file mode 100644 index 0000000000..1845fcb9b8 --- /dev/null +++ b/gnu/packages/patches/glib-tests-gapplication.patch @@ -0,0 +1,28 @@ +This test has proven to be unreliable, often leading to things like this +in gapplication.log: + + PASS: gapplication 3 /gapplication/properties + Failed to register: The connection is closed + ** + GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + ok 4 /gapplication/app-id + PASS: gapplication 4 /gapplication/app-id + ../../tap-test: line 5: 24133 Aborted $1 -k --tap + # GLib-GIO:ERROR:gapplication.c:564:test_quit: assertion failed: (activated) + cleaning up pid 24154 + ERROR: gapplication - missing test plan + ERROR: gapplication - exited with status 134 (terminated by signal 6?) + +See and . + + +--- glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:44.566667649 +0100 ++++ glib-2.40.2/gio/tests/gapplication.c 2014-12-03 22:34:45.346674179 +0100 +@@ -685,7 +685,6 @@ main (int argc, char **argv) + /* g_test_add_func ("/gapplication/non-unique", test_nonunique); */ + g_test_add_func ("/gapplication/properties", properties); + g_test_add_func ("/gapplication/app-id", appid); +- g_test_add_func ("/gapplication/quit", test_quit); + g_test_add_func ("/gapplication/local-actions", test_local_actions); + /* g_test_add_func ("/gapplication/remote-actions", test_remote_actions); */ + g_test_add_func ("/gapplication/local-command-line", test_local_command_line); From f47f6761203c670d51725fff3de595ff2f22b345 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 3 Dec 2014 22:51:41 +0100 Subject: [PATCH 131/221] gnu: glib: Update to 2.40.2. * gnu/packages/glib.scm (glib): Update to 2.40.2. --- gnu/packages/glib.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a6149cdc0e..a6a7b03573 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -118,14 +118,15 @@ shared NFS home directories.") (define glib (package (name "glib") - (version "2.40.0") + (version "2.40.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnome/sources/" name "/" (string-take version 4) "/" name "-" version ".tar.xz")) (sha256 - (base32 "1d98mbqjmc34s8095lkw1j1bwvnnkw9581yfvjaikjvfjsaz29qd")) + (base32 + "0ykcf99mhpkza3xwa3k79vgfml8mqiac9044802yi5q8jpr8mzz8")) (patches (list (search-patch "glib-tests-homedir.patch") (search-patch "glib-tests-desktop.patch") (search-patch "glib-tests-prlimit.patch") From 65a056900f02c1739224bcb89d9bc2f1343c8c56 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 3 Dec 2014 20:37:33 +0800 Subject: [PATCH 132/221] gnu: Add dmenu. * gnu/packages/dwm.scm (dmenu): New variable. --- gnu/packages/dwm.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm index b5dbe73cda..88758f21d3 100644 --- a/gnu/packages/dwm.scm +++ b/gnu/packages/dwm.scm @@ -84,3 +84,31 @@ left corner. dwm draws a small customizable border around windows to indicate the focus state.") (license x11))) + +(define-public dmenu + (package + (name "dmenu") + (version "4.5") + (source (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/tools/dmenu-" + version ".tar.gz")) + (sha256 + (base32 + "0l58jpxrr80fmyw5pgw5alm5qry49aw6y049745wl991v2cdcb08")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases + (alist-delete 'configure %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("libxinerama" ,libxinerama))) + (home-page "http://tools.suckless.org/dmenu/") + (synopsis "Dynamic menu") + (description + "A dynamic menu for X, originally designed for dwm. It manages large +numbers of user-defined menu items efficiently.") + (license x11))) From bb986599e6967f0a990f78b57a886970981cf9f8 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 3 Dec 2014 21:15:55 +0100 Subject: [PATCH 133/221] gnu: Add scipy. * gnu/packages/python.scm (python-scipy, python2-scipy): New variables. --- gnu/packages/python.scm | 108 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 108 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index b9c6b74167..c9f9b16cfe 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2196,6 +2196,113 @@ toolkits.") ,@(alist-delete "python-numpydoc" (package-inputs matplotlib))))))) +;; Scipy 0.14.0 with Numpy 0.19.X fails several tests. This is known and +;; planned to be fixed in 0.14.1. It is claimed that the failures can safely +;; be ignored: +;; http://mail.scipy.org/pipermail/scipy-dev/2014-September/020043.html +;; https://github.com/scipy/scipy/issues/3853 +;; +;; The main test suite procedure prints the summary message: +;; +;; Ran 16412 tests in 245.033s +;; FAILED (KNOWNFAIL=277, SKIP=921, errors=327, failures=42) +;; +;; However, it still does return normally. +(define-public python-scipy + (package + (name "python-scipy") + (version "0.14.0") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/scipy" + "/scipy-" version ".tar.gz")) + (sha256 + (base32 + "053bmz4qmnk4dmxvspfak8r10rpmy6mzwfzgy33z338ppzka6hab")))) + (build-system python-build-system) + (inputs + `(("python-numpy" ,python-numpy) + ("python-matplotlib" ,python-matplotlib) + ("python-pyparsing" ,python-pyparsing) + ("python-nose" ,python-nose) + ("python-sphinx" ,python-sphinx) + ("atlas" ,atlas))) + (native-inputs + `(("gfortran" ,gfortran-4.8) + ("texlive" ,texlive) + ("perl" ,perl))) + (outputs '("out" "doc")) + (arguments + `(#:phases + (alist-cons-before + 'build 'set-environment-variables + (lambda* (#:key inputs #:allow-other-keys) + (let* ((atlas-threaded + (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") + "/lib/libsatlas.so")))) + (setenv "ATLAS" atlas-lib))) + (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 "-" ,version)) + (html (string-append doc "/html")) + (pyver ,(string-append "PYVER="))) + (with-directory-excursion "doc" + ;; Without setting this variable we get an encoding error. + (setenv "LANG" "en_US.UTF-8") + ;; Fix generation of images for mathematical expressions. + (substitute* (find-files "source" "conf\\.py") + (("pngmath_use_preview = True") + "pngmath_use_preview = False")) + (mkdir-p html) + (system* "make" "html" pyver) + (system* "make" "latex" "PAPER=a4" pyver) + (system* "make" "-C" "build/latex" "all-pdf" "PAPER=a4" pyver) + (copy-file "build/latex/scipy-ref.pdf" + (string-append doc "/scipy-ref.pdf")) + (with-directory-excursion "build/html" + (for-each (lambda (file) + (let* ((dir (dirname file)) + (tgt-dir (string-append html "/" dir))) + (unless (equal? "." dir) + (mkdir-p tgt-dir)) + (copy-file file (string-append html "/" file)))) + (find-files "." ".*")))))) + ;; Tests can only be run after the library has been installed and not + ;; within the source directory. + (alist-cons-after + 'install 'check + (lambda _ + (with-directory-excursion "/tmp" + (zero? (system* "python" "-c" "import scipy; scipy.test()")))) + (alist-delete + 'check + %standard-phases)))))) + (home-page "http://www.scipy.org/") + (synopsis "The Scipy library provides efficient numerical routines") + (description "The SciPy library is one of the core packages that make up +the SciPy stack. It provides many user-friendly and efficient numerical +routines such as routines for numerical integration and optimization.") + (license bsd-3))) + +(define-public python2-scipy + (let ((scipy (package-with-python2 python-scipy))) + (package (inherit scipy) + ;; Use packages customized for python-2. + (inputs `(("python2-matplotlib" ,python2-matplotlib) + ("python2-numpy" ,python2-numpy) + ,@(alist-delete "python-matplotlib" + (alist-delete "python-numpy" + (package-inputs scipy)))))))) + (define-public python-sqlalchemy (package (name "python-sqlalchemy") @@ -2341,3 +2448,4 @@ a general image processing tool.") (define-public python2-pillow (package-with-python2 python-pillow)) + From c3e79cde060a4dbbadd15235c6ea61aa8600cffe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 Dec 2014 19:14:07 +0100 Subject: [PATCH 134/221] guix system: Factorize 'grub-install' error handling, and use more 'mbegin'. * guix/scripts/system.scm (install-grub*): New procedure. (install): Use it, and use 'mwhen?'. (perform-action) : Likewise. --- guix/scripts/system.scm | 28 +++++++++++++++------------- 1 file changed, 15 insertions(+), 13 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8e049a4f45..35f858cf29 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -131,6 +131,14 @@ TARGET, and register them." (map (cut copy-item <> target #:log-port log-port) to-copy)))) +(define (install-grub* grub.cfg device target) + "This is a variant of 'install-grub' with error handling, lifted in +%STORE-MONAD" + (with-monad %store-monad + (unless (false-if-exception (install-grub grub.cfg device target)) + (leave (_ "failed to install GRUB on device '~a'~%") device)) + (return #t))) + (define* (install os-drv target #:key (log-port (current-output-port)) grub? grub.cfg device) @@ -162,11 +170,8 @@ When GRUB? is true, install GRUB on DEVICE, using GRUB.CFG." (format log-port "populating '~a'...~%" target) (populate os-dir target) - (begin - (when grub? - (unless (false-if-exception (install-grub grub.cfg device target)) - (leave (_ "failed to install GRUB on device '~a'~%") device))) - (return #t))))) + (mwhen grub? + (install-grub* grub.cfg device target))))) ;;; @@ -338,14 +343,11 @@ boot directly to the kernel or to the bootloader." (case action ((reconfigure) - (mlet %store-monad ((% (switch-to-system os))) - (when grub? - (unless (false-if-exception - (install-grub (derivation->output-path grub.cfg) - device "/")) - (leave (_ "failed to install GRUB on device '~a'~%") - device))) - (return #t))) + (mbegin %store-monad + (switch-to-system os) + (mwhen grub? + (install-grub* (derivation->output-path grub.cfg) + device "/")))) ((init) (newline) (format #t (_ "initializing operating system under '~a'...~%") From 764ee9e808e0de0c780c4286410dc9408f4bff4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 Dec 2014 22:26:58 +0100 Subject: [PATCH 135/221] nls: Update Hungarian translation. --- po/guix/hu.po | 603 +++++++++++++++++++++++++++++++------------------- 1 file changed, 373 insertions(+), 230 deletions(-) diff --git a/po/guix/hu.po b/po/guix/hu.po index 33b42f71dc..7d4322cdb6 100644 --- a/po/guix/hu.po +++ b/po/guix/hu.po @@ -5,10 +5,10 @@ # Balázs Úr , 2014. msgid "" msgstr "" -"Project-Id-Version: guix 0.7-pre1\n" +"Project-Id-Version: guix 0.8\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2014-07-25 00:55+0200\n" -"PO-Revision-Date: 2014-07-18 17:37+0200\n" +"POT-Creation-Date: 2014-11-09 22:32+0100\n" +"PO-Revision-Date: 2014-12-03 21:49+0100\n" "Last-Translator: Balázs Úr \n" "Language-Team: Hungarian \n" "Language: hu\n" @@ -18,37 +18,55 @@ msgstr "" "Plural-Forms: nplurals=2; plural=(n != 1);\n" "X-Generator: Lokalize 1.5\n" -#: gnu/packages.scm:102 +#: gnu/packages.scm:120 #, scheme-format msgid "cannot access `~a': ~a~%" msgstr "nem sikerült elérni: „~a”: ~a~%" -#: guix/scripts/build.scm:54 guix/scripts/package.scm:349 +#: gnu/packages.scm:350 +#, scheme-format +msgid "looking for the latest release of GNU ~a..." +msgstr "a GNU ~a legutóbbi kiadásának keresése…" + +#: gnu/packages.scm:354 +#, scheme-format +msgid "~a: note: using ~a but ~a is available upstream~%" +msgstr "~a: megjegyzés: ~a használata, de ~a elérhető a tárolóban~%" + +#: gnu/packages.scm:376 guix/scripts/package.scm:305 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "nem egyértelmű csomag specifikáció: „~a”~%" -#: guix/scripts/build.scm:55 guix/scripts/package.scm:351 +#: gnu/packages.scm:377 guix/scripts/package.scm:307 #, scheme-format msgid "choosing ~a from ~a~%" msgstr "~a választása innen: ~a~%" -#: guix/scripts/build.scm:61 +#: gnu/packages.scm:383 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: nem található csomag ehhez a verzióhoz: ~a~%" -#: guix/scripts/build.scm:63 +#: gnu/packages.scm:385 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: ismeretlen csomag~%" -#: guix/scripts/build.scm:86 +#: guix/scripts/build.scm:65 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "nem sikerült a GC gyökér létrehozása: „~a”: ~a~%" -#: guix/scripts/build.scm:123 +#: guix/scripts/build.scm:102 +msgid "" +"\n" +" -L, --load-path=DIR prepend DIR to the package module search path" +msgstr "" +"\n" +" -L, --load-path=KVT KVT beszúrása a csomag modul keresési útvonalhoz" + +#: guix/scripts/build.scm:104 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" @@ -57,7 +75,7 @@ msgstr "" " -K, --keep-failed sikertelen összeállítások összeállítási fájának\n" " megtartása" -#: guix/scripts/build.scm:125 +#: guix/scripts/build.scm:106 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -65,7 +83,7 @@ msgstr "" "\n" " -n, --dry-run ne állítsa össze a származékokat" -#: guix/scripts/build.scm:127 +#: guix/scripts/build.scm:108 msgid "" "\n" " --fallback fall back to building when the substituter fails" @@ -74,7 +92,7 @@ msgstr "" " --fallback térjen vissza az összeállításra, ha a helyettesítő\n" " sikertelen" -#: guix/scripts/build.scm:129 +#: guix/scripts/build.scm:110 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" @@ -83,7 +101,7 @@ msgstr "" " --no-substitutes összeállítás az előre összeállított helyettesítők\n" " felhasználása helyett" -#: guix/scripts/build.scm:131 +#: guix/scripts/build.scm:112 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" @@ -92,7 +110,7 @@ msgstr "" " --no-build-hook ne próbáljon meg összeállításokat tehermentesíteni\n" " az összeállítási hurkon keresztül" -#: guix/scripts/build.scm:133 +#: guix/scripts/build.scm:114 msgid "" "\n" " --max-silent-time=SECONDS\n" @@ -103,7 +121,7 @@ msgstr "" " az összeállítás sikertelennek jelölése MÁSODPERC\n" " hallgatás után" -#: guix/scripts/build.scm:136 +#: guix/scripts/build.scm:117 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" @@ -112,7 +130,7 @@ msgstr "" " --timeout=MÁSODPERC az összeállítás sikertelennek jelölése MÁSODPERC\n" " aktivitás után" -#: guix/scripts/build.scm:138 +#: guix/scripts/build.scm:119 msgid "" "\n" " --verbosity=LEVEL use the given verbosity LEVEL" @@ -120,7 +138,7 @@ msgstr "" "\n" " --verbosity=SZINT a megadott bőbeszédűségi SZINT használata" -#: guix/scripts/build.scm:140 +#: guix/scripts/build.scm:121 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" @@ -129,12 +147,12 @@ msgstr "" " -c, --cores=N legfeljebb N CPU-mag használatának engedélyezése\n" " az összeállításhoz" -#: guix/scripts/build.scm:206 +#: guix/scripts/build.scm:195 #, scheme-format msgid "~a: not a number~%" msgstr "~a: nem szám~%" -#: guix/scripts/build.scm:223 +#: guix/scripts/build.scm:213 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" @@ -143,7 +161,7 @@ msgstr "" "A megadott CSOMAG-VAGY-SZÁRMAZTATOTT összeállítása, és a kimeneti elérési\n" "útjaik visszaadása.\n" -#: guix/scripts/build.scm:225 +#: guix/scripts/build.scm:215 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" @@ -152,7 +170,7 @@ msgstr "" " -e, --expression=KIF a csomag vagy a kiértékelt származtatott KIF\n" " összeállítása" -#: guix/scripts/build.scm:227 +#: guix/scripts/build.scm:217 msgid "" "\n" " -S, --source build the packages' source derivations" @@ -160,7 +178,7 @@ msgstr "" "\n" " -S, --source a csomagok forrásszármazékainak összeállítása" -#: guix/scripts/build.scm:229 +#: guix/scripts/build.scm:219 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" @@ -169,7 +187,7 @@ msgstr "" " -s, --system=RENDSZER kísérlet a RENDSZERRE történő összeállításra,\n" " például „i686-linux”" -#: guix/scripts/build.scm:231 +#: guix/scripts/build.scm:221 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" @@ -178,7 +196,7 @@ msgstr "" " --target=HÁRMAS kereszt összeállítás a HÁRMASRA, például\n" " „armel-linux-gnu”" -#: guix/scripts/build.scm:233 +#: guix/scripts/build.scm:223 msgid "" "\n" " --with-source=SOURCE\n" @@ -188,7 +206,15 @@ msgstr "" " --with-source=FORRÁS\n" " FORRÁS használata a megfelelő csomag összeállításakor" -#: guix/scripts/build.scm:236 +#: guix/scripts/build.scm:226 +msgid "" +"\n" +" --no-grafts do not graft packages" +msgstr "" +"\n" +" --no-grafts ne oltsa be a csomagokat" + +#: guix/scripts/build.scm:228 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" @@ -196,7 +222,7 @@ msgstr "" "\n" " -d, --derivations a megadott csomagok származék-útvonalának visszaadása" -#: guix/scripts/build.scm:238 +#: guix/scripts/build.scm:230 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" @@ -206,7 +232,7 @@ msgstr "" " -r, --root=FÁJL a FÁJL az eredmény egy szimbolikus linkje legyen,\n" " és regisztrálja gyökér szemétgyűjtőként" -#: guix/scripts/build.scm:241 +#: guix/scripts/build.scm:233 msgid "" "\n" " --log-file return the log file names for the given derivations" @@ -214,10 +240,11 @@ msgstr "" "\n" " --log-file a megadott származékok naplófájl-neveinek visszaadása" -#: guix/scripts/build.scm:246 guix/scripts/download.scm:53 -#: guix/scripts/package.scm:525 guix/scripts/gc.scm:58 -#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:82 -#: guix/scripts/substitute-binary.scm:564 guix/scripts/system.scm:362 +#: guix/scripts/build.scm:238 guix/scripts/download.scm:53 +#: guix/scripts/package.scm:451 guix/scripts/gc.scm:58 +#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:81 +#: guix/scripts/substitute-binary.scm:560 guix/scripts/system.scm:371 +#: guix/scripts/lint.scm:262 msgid "" "\n" " -h, --help display this help and exit" @@ -225,10 +252,11 @@ msgstr "" "\n" " -h, --help ezen súgó megjelenítése és kilépés" -#: guix/scripts/build.scm:248 guix/scripts/download.scm:55 -#: guix/scripts/package.scm:527 guix/scripts/gc.scm:60 -#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:84 -#: guix/scripts/substitute-binary.scm:566 guix/scripts/system.scm:364 +#: guix/scripts/build.scm:240 guix/scripts/download.scm:55 +#: guix/scripts/package.scm:453 guix/scripts/gc.scm:60 +#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:83 +#: guix/scripts/substitute-binary.scm:562 guix/scripts/system.scm:373 +#: guix/scripts/lint.scm:266 msgid "" "\n" " -V, --version display version information and exit" @@ -236,19 +264,20 @@ msgstr "" "\n" " -V, --version verzióinformációk megjelenítése és kilépés" -#: guix/scripts/build.scm:368 +#: guix/scripts/build.scm:366 #, scheme-format msgid "sources do not match any package:~{ ~a~}~%" msgstr "a források nem illeszkednek semmilyen csomagra:~{ ~a~}~%" -#: guix/scripts/build.scm:397 guix/scripts/download.scm:96 -#: guix/scripts/package.scm:763 guix/scripts/gc.scm:122 -#: guix/scripts/pull.scm:115 guix/scripts/system.scm:414 +#: guix/scripts/build.scm:395 guix/scripts/download.scm:96 +#: guix/scripts/package.scm:673 guix/scripts/gc.scm:122 +#: guix/scripts/pull.scm:213 guix/scripts/system.scm:426 +#: guix/scripts/lint.scm:313 #, scheme-format msgid "~A: unrecognized option~%" msgstr "~A: ismeretlen kapcsoló~%" -#: guix/scripts/build.scm:425 +#: guix/scripts/build.scm:423 #, scheme-format msgid "no build log for '~a'~%" msgstr "nincs összeállítási napló ehhez: „~a”~%" @@ -292,73 +321,42 @@ msgstr "~a: az URI feldolgozása sikertelen~%" msgid "~a: download failed~%" msgstr "~a: letöltés sikertelen~%" -#: guix/scripts/package.scm:88 +#: guix/scripts/package.scm:97 #, scheme-format msgid "failed to build the empty profile~%" msgstr "az üres profil összeállítása sikertelen~%" -#: guix/scripts/package.scm:97 +#: guix/scripts/package.scm:113 #, scheme-format msgid "switching from generation ~a to ~a~%" msgstr "átváltás a(z) ~a generációról erre: ~a~%" -#: guix/scripts/package.scm:108 guix/scripts/package.scm:873 -#: guix/scripts/package.scm:985 -#, scheme-format -msgid "profile '~a' does not exist~%" -msgstr "a(z) „~a” profil nem létezik~%" - -#: guix/scripts/package.scm:112 +#: guix/scripts/package.scm:132 #, scheme-format msgid "nothing to do: already at the empty profile~%" msgstr "nincs mit tenni: már az üres profilnál van~%" -#: guix/scripts/package.scm:197 +#: guix/scripts/package.scm:144 #, scheme-format -msgid "The following package would be removed:~%~{~a~%~}~%" -msgstr "A következő csomagot el kellene távolítani:~%~{~a~%~}~%" +msgid "deleting ~a~%" +msgstr "~a törlése~%" -#: guix/scripts/package.scm:202 -#, scheme-format -msgid "The following package will be removed:~%~{~a~%~}~%" -msgstr "A következő csomag el lesz távolítva:~%~{~a~%~}~%" - -#: guix/scripts/package.scm:214 -#, scheme-format -msgid "The following package would be installed:~%~{~a~%~}~%" -msgstr "A következő csomagot telepíteni kellene:~%~{~a~%~}~%" - -#: guix/scripts/package.scm:219 -#, scheme-format -msgid "The following package will be installed:~%~{~a~%~}~%" -msgstr "A következő csomag telepítve lesz:~%~{~a~%~}~%" - -#: guix/scripts/package.scm:339 +#: guix/scripts/package.scm:295 #, scheme-format msgid "package `~a' lacks output `~a'~%" msgstr "a(z) „~a” csomag hiányolja a kimenetet: „~a”~%" -#: guix/scripts/package.scm:356 +#: guix/scripts/package.scm:312 #, scheme-format msgid "~a: package not found~%" msgstr "~a: a csomag nem található~%" -#: guix/scripts/package.scm:391 -#, scheme-format -msgid "looking for the latest release of GNU ~a..." -msgstr "a GNU ~a legutóbbi kiadásának keresése…" - -#: guix/scripts/package.scm:395 -#, scheme-format -msgid "~a: note: using ~a but ~a is available upstream~%" -msgstr "~a: megjegyzés: ~a használata, de ~a elérhető a tárolóban~%" - -#: guix/scripts/package.scm:467 +#: guix/scripts/package.scm:390 #, scheme-format msgid "The following environment variable definitions may be needed:~%" msgstr "A következő környezeti változó meghatározások lehetnek szükségesek:~%" -#: guix/scripts/package.scm:483 +#: guix/scripts/package.scm:406 msgid "" "Usage: guix package [OPTION]... PACKAGES...\n" "Install, remove, or upgrade PACKAGES in a single transaction.\n" @@ -366,7 +364,7 @@ msgstr "" "Használat: guix package [KAPCSOLÓ]… CSOMAGOK…\n" "CSOMAGOK telepítése, eltávolítása vagy frissítése egyetlen tranzakcióban.\n" -#: guix/scripts/package.scm:485 +#: guix/scripts/package.scm:408 msgid "" "\n" " -i, --install=PACKAGE install PACKAGE" @@ -374,7 +372,7 @@ msgstr "" "\n" " -i, --install=CSOMAG CSOMAG telepítése" -#: guix/scripts/package.scm:487 +#: guix/scripts/package.scm:410 msgid "" "\n" " -e, --install-from-expression=EXP\n" @@ -384,7 +382,7 @@ msgstr "" " -e, --install-from-expression=KIF\n" " a kiértékelt KIF csomag telepítése" -#: guix/scripts/package.scm:490 +#: guix/scripts/package.scm:413 msgid "" "\n" " -r, --remove=PACKAGE remove PACKAGE" @@ -392,7 +390,7 @@ msgstr "" "\n" " -r, --remove=CSOMAG CSOMAG eltávolítása" -#: guix/scripts/package.scm:492 +#: guix/scripts/package.scm:415 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" @@ -401,7 +399,7 @@ msgstr "" " -u, --upgrade[=REGKIF] az összes REGKIF-re illeszkedő telepített csomag\n" " frissítése" -#: guix/scripts/package.scm:494 +#: guix/scripts/package.scm:417 msgid "" "\n" " --roll-back roll back to the previous generation" @@ -409,7 +407,7 @@ msgstr "" "\n" " --roll-back visszagörgetés az előző generációra" -#: guix/scripts/package.scm:496 +#: guix/scripts/package.scm:419 msgid "" "\n" " --search-paths display needed environment variable definitions" @@ -418,7 +416,7 @@ msgstr "" " --search-paths a szükséges környezeti változó meghatározások\n" " megjelenítése" -#: guix/scripts/package.scm:498 +#: guix/scripts/package.scm:421 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" @@ -428,7 +426,7 @@ msgstr "" " -l, --list-generations[=MINTA]\n" " a MINTÁRA illeszkedő generációk listázása" -#: guix/scripts/package.scm:501 +#: guix/scripts/package.scm:424 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" @@ -438,7 +436,17 @@ msgstr "" " -d, --delete-generations[=MINTA]\n" " a MINTÁRA illeszkedő generációk törlése" -#: guix/scripts/package.scm:504 +#: guix/scripts/package.scm:427 +msgid "" +"\n" +" -S, --switch-generation=PATTERN\n" +" switch to a generation matching PATTERN" +msgstr "" +"\n" +" -S, --switch-generation=MINTA\n" +" átváltás a MINTÁRA illeszkedő generációra" + +#: guix/scripts/package.scm:430 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" @@ -447,7 +455,7 @@ msgstr "" " -p, --profile=PROFIL a PROFIL használata a felhasználó alapértelmezett\n" " profilja helyett" -#: guix/scripts/package.scm:507 +#: guix/scripts/package.scm:433 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" @@ -456,7 +464,7 @@ msgstr "" " --bootstrap a Guile rendszertöltő használata a profil\n" " összeállításához" -#: guix/scripts/package.scm:509 guix/scripts/pull.scm:75 +#: guix/scripts/package.scm:435 guix/scripts/pull.scm:74 msgid "" "\n" " --verbose produce verbose output" @@ -464,7 +472,7 @@ msgstr "" "\n" " --verbose bőbeszédű kimenet előállítása" -#: guix/scripts/package.scm:512 +#: guix/scripts/package.scm:438 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" @@ -473,7 +481,7 @@ msgstr "" " -s, --search=REGKIF keresés az összegzésben és a leírásban REGKIF\n" " használatával" -#: guix/scripts/package.scm:514 +#: guix/scripts/package.scm:440 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" @@ -483,7 +491,7 @@ msgstr "" " -I, --list-installed[=REGKIF]\n" " a REGKIF-re illeszkedő telepített csomagok listázása" -#: guix/scripts/package.scm:517 +#: guix/scripts/package.scm:443 msgid "" "\n" " -A, --list-available[=REGEXP]\n" @@ -493,73 +501,74 @@ msgstr "" " -A, --list-available[=REGKIF]\n" " a REGKIF-re illeszkedő elérhető csomagok listázása" -#: guix/scripts/package.scm:520 -#, fuzzy +#: guix/scripts/package.scm:446 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" msgstr "" "\n" -" -i, --install=CSOMAG CSOMAG telepítése" +" --show=CSOMAG a CSOMAG részleteinek megjelenítése" -#: guix/scripts/package.scm:767 +#: guix/scripts/package.scm:677 #, scheme-format msgid "~A: extraneous argument~%" msgstr "~A: nem odatartozó argumentum~%" -#: guix/scripts/package.scm:782 +#: guix/scripts/package.scm:687 #, scheme-format msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" msgstr "" "További információkért próbálja az „info '(guix) Invoking guix package'”\n" "parancsot.~%" -#: guix/scripts/package.scm:804 +#: guix/scripts/package.scm:709 #, scheme-format msgid "error: while creating directory `~a': ~a~%" msgstr "hiba: a(z) „~a” könyvtár létrehozása közben: ~a~%" -#: guix/scripts/package.scm:808 +#: guix/scripts/package.scm:713 #, scheme-format msgid "Please create the `~a' directory, with you as the owner.~%" msgstr "Hozza létre a(z) „~a” könyvtárat az ön nevében, tulajdonosként.~%" -#: guix/scripts/package.scm:815 +#: guix/scripts/package.scm:720 #, scheme-format msgid "error: directory `~a' is not owned by you~%" msgstr "hiba: a(z) „~a” könyvtárnak nem ön a tulajdonosa~%" -#: guix/scripts/package.scm:818 +#: guix/scripts/package.scm:723 #, scheme-format msgid "Please change the owner of `~a' to user ~s.~%" msgstr "Változtassa meg a(z) „~a” tulajdonosát erre a felhasználóra: ~s.~%" -#: guix/scripts/package.scm:843 +#: guix/scripts/package.scm:756 #, scheme-format -msgid "deleting ~a~%" -msgstr "~a törlése~%" +msgid "cannot switch to generation '~a'~%" +msgstr "nem sikerült átváltani erre a generációra: „~a”~%" -#: guix/scripts/package.scm:896 guix/scripts/package.scm:1001 +#: guix/scripts/package.scm:788 guix/scripts/package.scm:889 #, scheme-format msgid "invalid syntax: ~a~%" msgstr "érvénytelen szintaxis: ~a~%" -#: guix/scripts/package.scm:925 +#: guix/scripts/package.scm:825 #, scheme-format msgid "nothing to be done~%" msgstr "nincs mit tenni~%" -#: guix/scripts/package.scm:948 +#: guix/scripts/package.scm:840 #, scheme-format msgid "~a package in profile~%" -msgstr "~a csomag a profilban~%" +msgid_plural "~a packages in profile~%" +msgstr[0] "~a csomag a profilban~%" +msgstr[1] "~a csomag a profilban~%" -#: guix/scripts/package.scm:963 +#: guix/scripts/package.scm:855 #, scheme-format msgid "Generation ~a\t~a" msgstr "~a generáció\t~a" -#: guix/scripts/package.scm:970 +#: guix/scripts/package.scm:862 #, scheme-format msgid "~a\t(current)~%" msgstr "~a\t(jelenlegi)~%" @@ -662,7 +671,7 @@ msgstr "" msgid "unrecognized option: ~a~%" msgstr "ismeretlen kapcsoló: ~a~%" -#: guix/scripts/hash.scm:134 guix/ui.scm:233 +#: guix/scripts/hash.scm:134 guix/ui.scm:252 #, scheme-format msgid "~a~%" msgstr "~a~%" @@ -672,7 +681,7 @@ msgstr "~a~%" msgid "wrong number of arguments~%" msgstr "nem megfelelő számú argumentum~%" -#: guix/scripts/pull.scm:73 +#: guix/scripts/pull.scm:72 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" @@ -680,7 +689,7 @@ msgstr "" "Használat: guix pull [KAPCSOLÓ]…\n" "A Guix legújabb verziójának letöltése és telepítése.\n" -#: guix/scripts/pull.scm:77 +#: guix/scripts/pull.scm:76 msgid "" "\n" " --url=URL download the Guix tarball from URL" @@ -688,7 +697,7 @@ msgstr "" "\n" " --url=URL a Guix tarball letöltése az URL-ről" -#: guix/scripts/pull.scm:79 +#: guix/scripts/pull.scm:78 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the new Guix" @@ -697,29 +706,42 @@ msgstr "" " --bootstrap a Guile rendszertöltő használata az új Guix\n" " összeállításához" -#: guix/scripts/pull.scm:117 +#: guix/scripts/pull.scm:132 +msgid "tarball did not produce a single source directory" +msgstr "a tarball nem hozott létre egyedüli forráskönyvtárat" + +#: guix/scripts/pull.scm:150 #, scheme-format -msgid "~A: unexpected argument~%" -msgstr "~A: nem várt argumentum~%" +msgid "unpacking '~a'...~%" +msgstr "kibontás: „~a”...~%" -#: guix/scripts/pull.scm:126 -msgid "failed to download up-to-date source, exiting\n" -msgstr "a legfrissebb forrás letöltése sikertelen, kilépés\n" +#: guix/scripts/pull.scm:159 +msgid "failed to unpack source code" +msgstr "nem sikerült a forráskód kibontása" -#: guix/scripts/pull.scm:145 +#: guix/scripts/pull.scm:200 #, scheme-format msgid "updated ~a successfully deployed under `~a'~%" msgstr "a(z) ~a frissítése sikeresen telepítve ez alá: „~a”~%" -#: guix/scripts/pull.scm:148 +#: guix/scripts/pull.scm:203 #, scheme-format msgid "failed to update Guix, check the build log~%" msgstr "a Guix frissítése sikertelen, nézze meg az összeállítási naplót~%" -#: guix/scripts/pull.scm:150 +#: guix/scripts/pull.scm:205 msgid "Guix already up to date\n" msgstr "A Guix már naprakész\n" +#: guix/scripts/pull.scm:215 +#, scheme-format +msgid "~A: unexpected argument~%" +msgstr "~A: nem várt argumentum~%" + +#: guix/scripts/pull.scm:224 +msgid "failed to download up-to-date source, exiting\n" +msgstr "a legfrissebb forrás letöltése sikertelen, kilépés\n" + #: guix/scripts/substitute-binary.scm:80 #, scheme-format msgid "authentication and authorization of substitutes disabled!~%" @@ -795,12 +817,12 @@ msgstr "Letöltés, kérem várjon…~%" msgid "(Please consider upgrading Guile to get proper progress report.)~%" msgstr "(Fontolja meg a Guile frissítését a megfelelő állapotjelentés beszerzéséhez.)~%" -#: guix/scripts/substitute-binary.scm:545 +#: guix/scripts/substitute-binary.scm:541 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "gépnév keresési hiba: ~a~%" -#: guix/scripts/substitute-binary.scm:554 +#: guix/scripts/substitute-binary.scm:550 msgid "" "Usage: guix substitute-binary [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" @@ -809,7 +831,7 @@ msgstr "" "Belső eszköz egy előre összeállított binárisnak egy helyi összeállítással\n" "való helyettesítéséhez.\n" -#: guix/scripts/substitute-binary.scm:556 +#: guix/scripts/substitute-binary.scm:552 msgid "" "\n" " --query report on the availability of substitutes for the\n" @@ -819,7 +841,7 @@ msgstr "" " --query a helyettesítők elérhetőségének jelentése a\n" " szabványos bemeneten átadott tároló fájlnevekhez" -#: guix/scripts/substitute-binary.scm:559 +#: guix/scripts/substitute-binary.scm:555 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -831,18 +853,23 @@ msgstr "" " TÁROLÓ-FÁJL letöltése és eltárolása Nar formátumban\n" " a CÉL fájlban" -#: guix/scripts/substitute-binary.scm:604 +#: guix/scripts/substitute-binary.scm:600 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "" "Az ACL előkészítetlennek tűnik az archívum importokhoz, a helyettesítők\n" "elérhetetlenek lehetnek\n" -#: guix/scripts/substitute-binary.scm:625 +#: guix/scripts/substitute-binary.scm:634 +#, scheme-format +msgid "these substitute URLs will not be used:~{ ~a~}~%" +msgstr "ezek a helyettesítő URL-ek nem lesznek használva:~{ ~a~}~%" + +#: guix/scripts/substitute-binary.scm:660 #, scheme-format msgid "failed to look up host '~a' (~a), substituter disabled~%" msgstr "a(z) „~a” (~a) gép keresése sikertelen, a helyettesítő letiltva~%" -#: guix/scripts/substitute-binary.scm:732 +#: guix/scripts/substitute-binary.scm:767 #, scheme-format msgid "~a: unrecognized options~%" msgstr "~a: ismeretlen kapcsolók~%" @@ -886,7 +913,7 @@ msgstr "hibás argumentumok" msgid "failed to open operating system file '~a': ~a~%" msgstr "a(z) „~a” operációs rendszer fájl megnyitása sikertelen: ~a~%" -#: guix/scripts/system.scm:78 guix/ui.scm:238 +#: guix/scripts/system.scm:78 guix/ui.scm:258 #, scheme-format msgid "~a: ~a~%" msgstr "~a: ~a~%" @@ -906,7 +933,7 @@ msgstr "a(z) „~a” regisztrálása sikertelen ez alá: „~a”~%" msgid "initializing the current root file system~%" msgstr "a jelenlegi gyökér fájlrendszer előkészítése~%" -#: guix/scripts/system.scm:162 guix/scripts/system.scm:318 +#: guix/scripts/system.scm:162 guix/scripts/system.scm:325 #, scheme-format msgid "failed to install GRUB on device '~a'~%" msgstr "a GRUB telepítése sikertelen a(z) „~a” eszközre~%" @@ -916,17 +943,17 @@ msgstr "a GRUB telepítése sikertelen a(z) „~a” eszközre~%" msgid "activating system...~%" msgstr "a rendszer aktiválása…~%" -#: guix/scripts/system.scm:236 +#: guix/scripts/system.scm:239 #, scheme-format msgid "unrecognized boot parameters for '~a'~%" msgstr "azonosítatlan indítási paraméterek ehhez: „~a”~%" -#: guix/scripts/system.scm:323 +#: guix/scripts/system.scm:330 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "az operációs rendszer előkészítése „~a” alá…~%" -#: guix/scripts/system.scm:339 +#: guix/scripts/system.scm:346 msgid "" "Usage: guix system [OPTION] ACTION FILE\n" "Build the operating system declared in FILE according to ACTION.\n" @@ -934,37 +961,37 @@ msgstr "" "Használat: guix system [KAPCSOLÓ] MŰVELET FÁJL\n" "A FÁJLBAN meghatározott operációs rendszer összeállítása a MŰVELET szerint.\n" -#: guix/scripts/system.scm:342 +#: guix/scripts/system.scm:349 msgid "The valid values for ACTION are:\n" msgstr "A MŰVELET érvényes értékei a következők:\n" -#: guix/scripts/system.scm:343 +#: guix/scripts/system.scm:350 msgid " - 'reconfigure', switch to a new operating system configuration\n" msgstr " - „reconfigure”, átváltás egy új operációs rendszer beállításra\n" -#: guix/scripts/system.scm:345 +#: guix/scripts/system.scm:352 msgid " - 'build', build the operating system without installing anything\n" msgstr " - „build”, az operációs rendszer összeállítása bármi telepítése nélkül\n" -#: guix/scripts/system.scm:347 +#: guix/scripts/system.scm:354 msgid " - 'vm', build a virtual machine image that shares the host's store\n" msgstr "" " - „vm”, egy virtuális gép lemezkép összeállítása, amely megosztja a gazda\n" " tárolóját\n" -#: guix/scripts/system.scm:349 +#: guix/scripts/system.scm:356 msgid " - 'vm-image', build a freestanding virtual machine image\n" msgstr " - „vm-image”, egy szabadon álló virtuális gép lemezkép összeállítása\n" -#: guix/scripts/system.scm:351 +#: guix/scripts/system.scm:358 msgid " - 'disk-image', build a disk image, suitable for a USB stick\n" msgstr " - „disk-image”, egy USB-meghajtóhoz megfelelő lemezkép összeállítása\n" -#: guix/scripts/system.scm:353 +#: guix/scripts/system.scm:360 msgid " - 'init', initialize a root file system to run GNU.\n" msgstr " - „init”, a gyökér fájlrendszer előkészítése a GNU futtatásához.\n" -#: guix/scripts/system.scm:357 +#: guix/scripts/system.scm:364 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" @@ -972,7 +999,7 @@ msgstr "" "\n" " --image-size=MÉRET a „vm-image”-hez, adott MÉRETŰ lemezkép előállítása" -#: guix/scripts/system.scm:359 +#: guix/scripts/system.scm:366 msgid "" "\n" " --no-grub for 'init', do not install GRUB" @@ -980,21 +1007,86 @@ msgstr "" "\n" " --no-grub az „init”-hez, ne telepítse a GRUB rendszerbetöltőt" -#: guix/scripts/system.scm:422 +#: guix/scripts/system.scm:368 +msgid "" +"\n" +" --full-boot for 'vm', make a full boot sequence" +msgstr "" +"\n" +" --full-boot „vm” esetén, teljes indítási sorozat készítése" + +#: guix/scripts/system.scm:434 #, scheme-format msgid "~a: unknown action~%" msgstr "~a: ismeretlen művelet~%" -#: guix/scripts/system.scm:439 +#: guix/scripts/system.scm:451 #, scheme-format msgid "wrong number of arguments for action '~a'~%" msgstr "nem megfelelő számú argumentum a(z) „~a” művelethez~%" -#: guix/scripts/system.scm:459 +#: guix/scripts/system.scm:471 #, scheme-format msgid "no configuration file specified~%" msgstr "nincs beállítófájl megadva~%" +#: guix/scripts/lint.scm:51 +#, scheme-format +msgid "~a: ~a: ~a~%" +msgstr "~a: ~a: ~a~%" + +#: guix/scripts/lint.scm:72 +#, scheme-format +msgid "Available checkers:~%" +msgstr "Elérhető ellenőrzők:~%" + +#: guix/scripts/lint.scm:226 +msgid "Validate package descriptions" +msgstr "Csomagleírások ellenőrzése" + +#: guix/scripts/lint.scm:230 +msgid "Identify inputs that should be native inputs" +msgstr "Bemenetek azonosítása, amelyek natív bemenetek lehetnek" + +#: guix/scripts/lint.scm:234 +msgid "Validate filenames of patches" +msgstr "Javítócsomagok fájlneveinek ellenőrzése" + +#: guix/scripts/lint.scm:238 +msgid "Validate package synopsis" +msgstr "Csomagáttekintés ellenőrzése" + +#: guix/scripts/lint.scm:257 +msgid "" +"Usage: guix lint [OPTION]... [PACKAGE]...\n" +"Run a set of checkers on the specified package; if none is specified, run the checkers on all packages.\n" +msgstr "" +"Használat: guix lint [KAPCSOLÓ]… [CSOMAG]…\n" +"Számos ellenőrző futtatása a megadott csomagon. Ha semmi sincs megadva, az ellenőrzők futtatása minden csomagon.\n" + +#: guix/scripts/lint.scm:259 +msgid "" +"\n" +" -c, --checkers=CHECKER1,CHECKER2...\n" +" only run the specificed checkers" +msgstr "" +"\n" +" -c, --checkers=ELLENŐRZŐ1,ELLENŐRZŐ2…\n" +" csak a megadott ellenőrzők futtatása" + +#: guix/scripts/lint.scm:264 +msgid "" +"\n" +" -l, --list-checkers display the list of available lint checkers" +msgstr "" +"\n" +" -l, --list-checkers az elérhető lint ellenőrzők listájának megjelenítése" + +#: guix/scripts/lint.scm:283 +#, scheme-format +msgid "~a: invalid checker" +msgstr "~a: érvénytelen ellenőrző" + #: guix/gnu-maintenance.scm:373 #, scheme-format msgid "signature verification failed for `~a'~%" @@ -1015,12 +1107,12 @@ msgstr "~a: nem található a forrásfájl" msgid "~a: ~a: no `version' field in source; skipping~%" msgstr "~a: ~a: nincs „version” mező a forrásban; kihagyás~%" -#: guix/ui.scm:131 +#: guix/ui.scm:135 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "a területi beállítás telepítése sikertelen: ~a~%" -#: guix/ui.scm:150 +#: guix/ui.scm:154 msgid "" "Copyright (C) 2014 the Guix authors\n" "License GPLv3+: GNU GPL version 3 or later \n" @@ -1033,7 +1125,7 @@ msgstr "" "Ez egy szabad szoftver, terjesztheti és/vagy módosíthatja.\n" "NINCS GARANCIA, a törvény által engedélyezett mértékig.\n" -#: guix/ui.scm:158 +#: guix/ui.scm:162 #, scheme-format msgid "" "\n" @@ -1042,7 +1134,7 @@ msgstr "" "\n" "A hibákat ide jelentse: ~a." -#: guix/ui.scm:160 +#: guix/ui.scm:164 #, scheme-format msgid "" "\n" @@ -1051,7 +1143,7 @@ msgstr "" "\n" "~a honlap: <~a>" -#: guix/ui.scm:162 +#: guix/ui.scm:166 msgid "" "\n" "General help using GNU software: " @@ -1059,100 +1151,160 @@ msgstr "" "\n" "Általános segítség a GNU szoftverek használatához: " -#: guix/ui.scm:169 +#: guix/ui.scm:173 #, scheme-format msgid "~a: invalid number~%" msgstr "~a: érvénytelen szám~%" -#: guix/ui.scm:186 +#: guix/ui.scm:190 #, scheme-format msgid "invalid number: ~a~%" msgstr "érvénytelen szám: ~a~%" -#: guix/ui.scm:201 +#: guix/ui.scm:213 #, scheme-format msgid "unknown unit: ~a~%" msgstr "ismeretlen egység: ~a~%" -#: guix/ui.scm:212 +#: guix/ui.scm:224 #, scheme-format msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" msgstr "~a:~a:~a: a(z) „~a” csomagnak érvénytelen bemenete van: ~s~%" -#: guix/ui.scm:219 +#: guix/ui.scm:231 #, scheme-format msgid "~a: ~a: build system `~a' does not support cross builds~%" msgstr "~a: ~a: a(z) „~a” összeállítási rendszer nem támogatja a kereszt összeállításokat~%" -#: guix/ui.scm:224 +#: guix/ui.scm:236 +#, scheme-format +msgid "profile '~a' does not exist~%" +msgstr "a(z) „~a” profil nem létezik~%" + +#: guix/ui.scm:239 +#, scheme-format +msgid "generation ~a of profile '~a' does not exist~%" +msgstr "a(z) ~a generáció a(z) „~a” profilhoz nem létezik~%" + +#: guix/ui.scm:243 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "sikertelen csatlakozás ehhez: „~a”: ~a~%" -#: guix/ui.scm:229 +#: guix/ui.scm:248 #, scheme-format msgid "build failed: ~a~%" msgstr "az összeállítás sikertelen: ~a~%" -#: guix/ui.scm:257 +#: guix/ui.scm:277 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "a(z) ~s kifejezés olvasása sikertelen: ~s~%" -#: guix/ui.scm:263 +#: guix/ui.scm:283 #, scheme-format msgid "failed to evaluate expression `~a': ~s~%" msgstr "a(z) „~a” kifejezés kiértékelése sikertelen: ~s~%" -#: guix/ui.scm:272 +#: guix/ui.scm:292 #, scheme-format msgid "expression ~s does not evaluate to a package~%" msgstr "a(z) ~s kifejezés nem értékelhető ki a csomaghoz~%" -#: guix/ui.scm:319 +#: guix/ui.scm:339 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" -msgstr "~:[A következő származékot kellene összeállítani:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[A következő származékot kellene összeállítani:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[A következő származékokat kellene összeállítani:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:324 +#: guix/ui.scm:344 #, scheme-format msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" -msgstr "~:[A következő fájlt kellene letölteni:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[A következő fájlt kellene letölteni:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[A következő fájlokat kellene letölteni:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:330 +#: guix/ui.scm:350 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" -msgstr "~:[A következő származék lesz összeállítva:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[A következő származék lesz összeállítva:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[A következő származékok lesznek összeállítva:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:335 +#: guix/ui.scm:355 #, scheme-format msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" -msgstr "~:[A következő fájl lesz letöltve:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[A következő fájl lesz letöltve:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[A következő fájlok lesznek letöltve:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:352 +#: guix/ui.scm:407 +#, scheme-format +msgid "The following package would be removed:~%~{~a~%~}~%" +msgid_plural "The following packages would be removed:~%~{~a~%~}~%" +msgstr[0] "A következő csomagot el kellene távolítani:~%~{~a~%~}~%" +msgstr[1] "A következő csomagokat el kellene távolítani:~%~{~a~%~}~%" + +#: guix/ui.scm:412 +#, scheme-format +msgid "The following package will be removed:~%~{~a~%~}~%" +msgid_plural "The following packages will be removed:~%~{~a~%~}~%" +msgstr[0] "A következő csomag el lesz távolítva:~%~{~a~%~}~%" +msgstr[1] "A következő csomagok el lesznek távolítva:~%~{~a~%~}~%" + +#: guix/ui.scm:425 +#, scheme-format +msgid "The following package would be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgstr[0] "A következő csomagot kellene frissíteni:~%~{~a~%~}~%" +msgstr[1] "A következő csomagokat kellene frissíteni:~%~{~a~%~}~%" + +#: guix/ui.scm:430 +#, scheme-format +msgid "The following package will be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgstr[0] "A következő csomag lesz frissítve:~%~{~a~%~}~%" +msgstr[1] "A következő csomagok lesznek frissítve:~%~{~a~%~}~%" + +#: guix/ui.scm:441 +#, scheme-format +msgid "The following package would be installed:~%~{~a~%~}~%" +msgid_plural "The following packages would be installed:~%~{~a~%~}~%" +msgstr[0] "A következő csomagot kellene telepíteni:~%~{~a~%~}~%" +msgstr[1] "A következő csomagokat kellene telepíteni:~%~{~a~%~}~%" + +#: guix/ui.scm:446 +#, scheme-format +msgid "The following package will be installed:~%~{~a~%~}~%" +msgid_plural "The following packages will be installed:~%~{~a~%~}~%" +msgstr[0] "A következő csomag lesz telepítve:~%~{~a~%~}~%" +msgstr[1] "A következő csomagok lesznek telepítve:~%~{~a~%~}~%" + +#: guix/ui.scm:463 msgid "" msgstr "" -#: guix/ui.scm:380 +#: guix/ui.scm:489 #, scheme-format msgid "failed to create configuration directory `~a': ~a~%" msgstr "a(z) „~a” beállítási könyvtár létrehozása sikertelen: ~a~%" -#: guix/ui.scm:475 guix/ui.scm:489 +#: guix/ui.scm:589 guix/ui.scm:603 msgid "unknown" msgstr "ismeretlen" -#: guix/ui.scm:598 +#: guix/ui.scm:712 #, scheme-format msgid "invalid argument: ~a~%" msgstr "érvénytelen argumentum: ~a~%" -#: guix/ui.scm:603 +#: guix/ui.scm:717 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "További információkért próbálja a „guix --help” parancsot.~%" -#: guix/ui.scm:633 +#: guix/ui.scm:747 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -1160,21 +1312,21 @@ msgstr "" "Használat: guix PARANCS ARGUMENTUMOK…\n" "A PARANCS futtatása ARGUMENTUMOKKAL.\n" -#: guix/ui.scm:636 +#: guix/ui.scm:750 msgid "COMMAND must be one of the sub-commands listed below:\n" msgstr "A PARANCSNAK a lenti listában lévő alparancsok egyikének kell lennie:\n" -#: guix/ui.scm:656 +#: guix/ui.scm:770 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: a parancs nem található~%" -#: guix/ui.scm:674 +#: guix/ui.scm:788 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: hiányzó parancsnév~%" -#: guix/ui.scm:682 +#: guix/ui.scm:796 #, scheme-format msgid "guix: unrecognized option '~a'~%" msgstr "guix: ismeretlen kapcsoló: „~a”~%" @@ -1198,80 +1350,71 @@ msgstr "átirányítás követése ide: „~a”…~%" msgid "download failed" msgstr "letöltés sikertelen" -#: guix/nar.scm:134 -msgid "unexpected executable file marker" -msgstr "nem várt végrehajtható fájljelölő" - -#: guix/nar.scm:141 -msgid "unsupported nar file type" -msgstr "nem támogatott nar fájltípus" - -#: guix/nar.scm:209 -msgid "unsupported file type" -msgstr "nem támogatott fájltípus" - -#: guix/nar.scm:219 -msgid "invalid nar signature" -msgstr "érvénytelen nar aláírás" - -#: guix/nar.scm:230 -msgid "invalid nar end-of-file marker" -msgstr "érvénytelen nar fájlvége jelölő" - -#: guix/nar.scm:244 -msgid "invalid symlink tokens" -msgstr "érvénytelen szimbolikus link jelsorok" - -#: guix/nar.scm:263 -msgid "unexpected directory entry termination" -msgstr "nem várt könyvtárbejegyzés végződés" - -#: guix/nar.scm:272 -msgid "unexpected directory inter-entry marker" -msgstr "nem várt könyvtár belső-bejegyzés jelölő" - -#: guix/nar.scm:277 -msgid "unsupported nar entry type" -msgstr "nem támogatott nar bejegyzéstípus" - -#: guix/nar.scm:376 +#: guix/nar.scm:155 msgid "signature is not a valid s-expression" msgstr "az aláírás nem érvényes s-kifejezés" -#: guix/nar.scm:385 +#: guix/nar.scm:164 msgid "invalid signature" msgstr "érvénytelen aláírás" -#: guix/nar.scm:389 +#: guix/nar.scm:168 msgid "invalid hash" msgstr "érvénytelen hash" -#: guix/nar.scm:397 +#: guix/nar.scm:176 msgid "unauthorized public key" msgstr "jogosulatlan nyilvános kulcs" -#: guix/nar.scm:402 +#: guix/nar.scm:181 msgid "corrupt signature data" msgstr "sérült aláírás adatok" -#: guix/nar.scm:422 +#: guix/nar.scm:201 msgid "corrupt file set archive" msgstr "sérült fájlhalmaz archívum" -#: guix/nar.scm:432 +#: guix/nar.scm:211 #, scheme-format msgid "importing file or directory '~a'...~%" msgstr "fájl vagy könyvtár importálása: „~a”…~%" -#: guix/nar.scm:441 +#: guix/nar.scm:220 #, scheme-format msgid "found valid signature for '~a'~%" msgstr "érvényes aláírás található ehhez: „~a”~%" -#: guix/nar.scm:448 +#: guix/nar.scm:227 msgid "imported file lacks a signature" msgstr "az importált fájl egy aláírást hiányol" -#: guix/nar.scm:487 +#: guix/nar.scm:266 msgid "invalid inter-file archive mark" msgstr "érvénytelen belső-fájl archívum jelölő" + +#~ msgid "unexpected executable file marker" +#~ msgstr "nem várt végrehajtható fájljelölő" + +#~ msgid "unsupported nar file type" +#~ msgstr "nem támogatott nar fájltípus" + +#~ msgid "unsupported file type" +#~ msgstr "nem támogatott fájltípus" + +#~ msgid "invalid nar signature" +#~ msgstr "érvénytelen nar aláírás" + +#~ msgid "invalid nar end-of-file marker" +#~ msgstr "érvénytelen nar fájlvége jelölő" + +#~ msgid "invalid symlink tokens" +#~ msgstr "érvénytelen szimbolikus link jelsorok" + +#~ msgid "unexpected directory entry termination" +#~ msgstr "nem várt könyvtárbejegyzés végződés" + +#~ msgid "unexpected directory inter-entry marker" +#~ msgstr "nem várt könyvtár belső-bejegyzés jelölő" + +#~ msgid "unsupported nar entry type" +#~ msgstr "nem támogatott nar bejegyzéstípus" From 39d1f82b520df44c80fa4acf6614709bb05a0f4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 Dec 2014 23:52:28 +0100 Subject: [PATCH 136/221] system: Make /boot/grub/grub.cfg an indirect GC root. Fixes . * guix/scripts/system.scm (install-grub*): Make /boot/grub/grub.cfg an indirect GC root. * gnu/build/install.scm (install-grub): Make TARGET a symlink. * gnu/build/vm.scm (register-grub.cfg-root): New procedure. (initialize-hard-disk): Use it. --- gnu/build/install.scm | 9 +++++---- gnu/build/vm.scm | 16 ++++++++++++++++ guix/scripts/system.scm | 12 ++++++++---- 3 files changed, 29 insertions(+), 8 deletions(-) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index a472259a4a..111b79ee59 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -36,14 +36,15 @@ (define* (install-grub grub.cfg device mount-point) "Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on -MOUNT-POINT." +MOUNT-POINT. Note that the caller must make sure that GRUB.CFG is registered +as a GC root." (let* ((target (string-append mount-point "/boot/grub/grub.cfg")) (pivot (string-append target ".new"))) (mkdir-p (dirname target)) - ;; Copy GRUB.CFG instead of just symlinking it since it's not a GC root. - ;; Do that atomically. - (copy-file grub.cfg pivot) + ;; Symlink GRUB.CFG, under the assumption that it has been registered as a + ;; GC root somewhere. Do that atomically. + (symlink grub.cfg pivot) (rename-file pivot target) (unless (zero? (system* "grub-install" "--no-floppy" diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 03db1cd5f9..1762582343 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -178,6 +178,18 @@ volume name." (display "populating...\n") (populate-root-file-system system-directory target-directory)) +(define (register-grub.cfg-root target) + "On file system TARGET, make '/boot/grub/grub.cfg' an indirect GC root." + (define hash + ;; XXX: Believe it or not, this is that nix-base32-encoded SHA1 of the + ;; string "/boot/grub/grub.cfg". We need it here, but gcrypt isn't + ;; available (a random hash would do as well, though.) + "kv0yq1d48kavqfhjfzvc4lcyazx2mqhv") + + (let ((directory (string-append target "/var/guix/gcroots/auto"))) + (mkdir-p directory) + (symlink "/boot/grub/grub.cfg" (string-append directory "/" hash)))) + (define* (initialize-hard-disk device #:key system-directory @@ -222,6 +234,10 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (install-grub grub.cfg device target-directory) + ;; Register $target/boot/grub/grub.cfg as an indirect root, so that GRUB.CFG + ;; is not reclaimed. + (register-grub.cfg-root target-directory) + ;; 'guix-register' resets timestamps and everything, so no need to do it ;; once more in that case. (unless register-closures? diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 35f858cf29..f2a25dd65a 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -134,10 +134,14 @@ TARGET, and register them." (define (install-grub* grub.cfg device target) "This is a variant of 'install-grub' with error handling, lifted in %STORE-MONAD" - (with-monad %store-monad - (unless (false-if-exception (install-grub grub.cfg device target)) - (leave (_ "failed to install GRUB on device '~a'~%") device)) - (return #t))) + (let ((add-root (store-lift add-indirect-root))) + (mbegin %store-monad + (munless (false-if-exception (install-grub grub.cfg device target)) + (leave (_ "failed to install GRUB on device '~a'~%") device)) + + ;; Register GRUB.CFG as a GC root so that its dependencies (background + ;; image, font, etc.) are not reclaimed. + (add-root "/boot/grub/grub.cfg")))) (define* (install os-drv target #:key (log-port (current-output-port)) From 4c8d523f9358665ff06b5af2b36c609eab2d1a78 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 6 Dec 2014 14:26:29 +0800 Subject: [PATCH 137/221] gnu: fish: Update to 2.1.1. * gnu/packages/fish.scm (fish): Update to 2.1.1. --- gnu/packages/fish.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm index 6f818b4ed9..ee11124748 100644 --- a/gnu/packages/fish.scm +++ b/gnu/packages/fish.scm @@ -28,14 +28,14 @@ (define-public fish (package (name "fish") - (version "2.1.0") + (version "2.1.1") (source (origin (method url-fetch) (uri (string-append "http://fishshell.com/files/" version "/fish-" version ".tar.gz")) (sha256 (base32 - "0i7h3hx8iszli3d4kphw79sz9m07f2lc2c9hr9smdps5s7wpllmg")))) + "096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p")))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen))) From 6496de9bc2deb30306922ace8498afa237dee1b1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 5 Dec 2014 00:19:39 +0100 Subject: [PATCH 138/221] activation: Don't create unneeded "/var/guix/gcroots/etc-directory". * gnu/build/activation.scm (activate-etc): Don't create "/var/guix/gcroots/etc-directory". --- gnu/build/activation.scm | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 3eebb71dfc..c27cda3666 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -205,11 +205,7 @@ numeric gid or #f." ;; The default is 'string-locale Date: Fri, 5 Dec 2014 01:28:12 +0100 Subject: [PATCH 139/221] guix: scripts: Parse $GUIX_BUILD_OPTIONS separately. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Appending to "raw" args broke optional parameters in 'guix package -I' and 'guix package -A', and possibly other places. Therefore, switch to parsing each set of options on its own and append resulting alists together afterwards. * guix/scripts/archive.scm (parse-options-from): Rename from (parse-options) and add explicit argument. New form of (parse-options) using its old algorithm via -from function. * guix/scripts/build.scm: Ditto. * guix/scripts/environment.scm: Ditto. * guix/scripts/package.scm: Ditto. * guix/scripts/system.scm: Ditto. * tests/guix-package.sh: Add test. * doc/guix.texi (Invoking guix build): Make it clear that the options are parsed independently. Co-authored-by: Ludovic Courtès --- doc/guix.texi | 3 ++- guix/scripts/archive.scm | 8 ++++++-- guix/scripts/build.scm | 8 ++++++-- guix/scripts/environment.scm | 9 +++++++-- guix/scripts/package.scm | 8 ++++++-- guix/scripts/system.scm | 8 ++++++-- tests/guix-package.sh | 13 +++++++++++++ 7 files changed, 46 insertions(+), 11 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e804d79ed0..1d4a012b16 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -2802,7 +2802,8 @@ below: $ export GUIX_BUILD_OPTIONS="--no-substitutes -c 2 -L /foo/bar" @end example -These options are appended to the ones passed on the command line. +These options are parsed independently, and the result is appended to +the parsed command-line options. @end defvr diff --git a/guix/scripts/archive.scm b/guix/scripts/archive.scm index 29a3ad15a7..781ffc5f58 100644 --- a/guix/scripts/archive.scm +++ b/guix/scripts/archive.scm @@ -293,8 +293,12 @@ the input port." (define (guix-archive . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* (append args (environment-build-options)) - %options + (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) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 76a743f0b3..26e9f42774 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -401,8 +401,12 @@ arguments with packages that use the specified source." (define (guix-build . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* (append args (environment-build-options)) - %options + (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) diff --git a/guix/scripts/environment.scm b/guix/scripts/environment.scm index a309dfa362..c388b0c52c 100644 --- a/guix/scripts/environment.scm +++ b/guix/scripts/environment.scm @@ -213,8 +213,13 @@ packages." ;; Entry point. (define (guix-environment . args) (define (parse-options) - (args-fold* (append args (environment-build-options)) - %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) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 9ff4d17bf4..21dc66cb75 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -668,8 +668,12 @@ removed from MANIFEST." (define (guix-package . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* (append args (environment-build-options)) - %options + (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) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index f2a25dd65a..56228601cc 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -477,8 +477,12 @@ Build the operating system declared in FILE according to ACTION.\n")) (define (guix-system . args) (define (parse-options) ;; Return the alist of option values. - (args-fold* (append args (environment-build-options)) - %options + (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) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 3e0e36fa23..f4e091a5a2 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -289,3 +289,16 @@ GUIX_PACKAGE_PATH="$module_dir" export GUIX_PACKAGE_PATH guix package -A emacs-foo-bar | grep 42 guix package -i emacs-foo-bar-42 -n +unset GUIX_PACKAGE_PATH + +# Using 'GUIX_BUILD_OPTIONS'. + +available="`guix package -A | sort`" +GUIX_BUILD_OPTIONS="--dry-run" +export GUIX_BUILD_OPTIONS + +# Make sure $GUIX_BUILD_OPTIONS is not simply appended to the command-line, +# which would break 'guix package -A' and similar. +available2="`guix package -A | sort`" +test "$available2" = "$available" +guix package -I From c9e46f1c3967297ff14287f6d511d252a409518f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 00:00:42 +0100 Subject: [PATCH 140/221] guix system: Fix typo affecting 'guix system init'. Fixes . Fixes a regression introduced in cc7fa59. Reported by Tomas Cech . * guix/scripts/system.scm (install): Fix order of arguments to 'lift' and 'lift2'. --- guix/scripts/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 56228601cc..6a2586086e 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -164,8 +164,8 @@ When GRUB? is true, install GRUB on DEVICE, using GRUB.CFG." (copy-closure to-copy target #:log-port log-port))))) (let ((os-dir (derivation->output-path os-drv)) - (format (lift %store-monad format)) - (populate (lift2 %store-monad populate-root-file-system))) + (format (lift format %store-monad)) + (populate (lift2 populate-root-file-system %store-monad))) (mbegin %store-monad (maybe-copy os-dir) From 6036453fff4c92396a0c2fbbfabd6baa07164716 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 00:02:43 +0100 Subject: [PATCH 141/221] gnu: Add libyubikey and ykclient. * gnu/packages/yubico.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/yubico.scm | 76 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 77 insertions(+) create mode 100644 gnu/packages/yubico.scm diff --git a/gnu-system.am b/gnu-system.am index ddcf2e4943..62fd9e54f4 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/xdisorg.scm \ gnu/packages/xorg.scm \ gnu/packages/yasm.scm \ + gnu/packages/yubico.scm \ gnu/packages/zile.scm \ gnu/packages/zip.scm \ gnu/packages/zsh.scm \ diff --git a/gnu/packages/yubico.scm b/gnu/packages/yubico.scm new file mode 100644 index 0000000000..f2e8ff133c --- /dev/null +++ b/gnu/packages/yubico.scm @@ -0,0 +1,76 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages yubico) + #:use-module (gnu packages) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages man) + #:use-module (gnu packages curl)) + +(define-public libyubikey + (package + (name "libyubikey") + (version "1.12") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/yubico-c/Releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1f0plzmr1gwry4rfgq9q70v6qwqny009hac289ad5m6sj7vqflxr")))) + (build-system gnu-build-system) + (synopsis "Development kit for the YubiKey authentication device") + (description + "This package contains a C library and command-line tools that make up +the low-level development kit for the Yubico YubiKey authentication device.") + (home-page "https://developers.yubico.com/yubico-c/") + (license bsd-2))) + +(define-public ykclient + (package + (name "ykclient") + (version "2.13") + (source (origin + (method url-fetch) + (uri (string-append + "https://developers.yubico.com/yubico-c-client/Releases/" + name "-" version ".tar.gz")) + (sha256 + (base32 + "1lw1j61rfjngs8vvv9m348zl4166zg24bq0dy72r44wiz79yic4j")))) + (build-system gnu-build-system) + + ;; There's just one test, and it requires network access to access + ;; yubico.com, so skip it. + (arguments '(#:tests? #f)) + + (native-inputs `(("pkg-config" ,pkg-config) + ("help2man" ,help2man))) + (inputs `(("curl" ,curl))) + (synopsis "C library to validate one-time-password YubiKeys") + (description + "YubiKey C Client Library (libykclient) is a C library used to validate a +one-time-password (OTP) YubiKey against Yubico’s servers. See the Yubico +website for more information about Yubico and the YubiKey.") + (home-page "https://developers.yubico.com/yubico-c-client/") + (license bsd-2))) From fa9d66538528e3e7f4f4a8498c233915c6996a97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 6 Dec 2014 14:53:00 +0800 Subject: [PATCH 142/221] gnu: fish: Use /etc as sysconfdir. * gnu/packages/fish.scm (fish) [arguments]: Add #:configure-flags. [origin]: Add snippet. --- gnu/packages/fish.scm | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/gnu/packages/fish.scm b/gnu/packages/fish.scm index ee11124748..9398446a0c 100644 --- a/gnu/packages/fish.scm +++ b/gnu/packages/fish.scm @@ -35,14 +35,20 @@ version "/fish-" version ".tar.gz")) (sha256 (base32 - "096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p")))) + "096rhi911s3j618cvp8fj9pb4jniy3y6415jvjg8bhszsp1x7r5p")) + (modules '((guix build utils))) + ;; Don't try to install /etc/fish/config.fish. + (snippet + '(substitute* "Makefile.in" + ((".*INSTALL.*sysconfdir.*fish.*") ""))))) (build-system gnu-build-system) (native-inputs `(("doxygen" ,doxygen))) (inputs `(("ncurses" ,ncurses))) (arguments - '(#:tests? #f)) ; no check target + '(#:tests? #f ; no check target + #:configure-flags '("--sysconfdir=/etc"))) (synopsis "The friendly interactive shell") (description "Fish (friendly interactive shell) is a shell focused on interactive use, From 4c8425b783fd179f0ea757096dbba85598cfee55 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 5 Dec 2014 15:59:00 +0300 Subject: [PATCH 143/221] gnu: tzdata: Update to 2014j. * gnu/packages/base.scm (tzdata): Update to 2014j. --- gnu/packages/base.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 4f28306652..85e92aad3b 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -3,6 +3,7 @@ ;;; Copyright © 2014 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014 Mark H Weaver +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -502,7 +503,7 @@ with the Linux kernel.") (define-public tzdata (package (name "tzdata") - (version "2014a") + (version "2014j") (source (origin (method url-fetch) (uri (string-append @@ -510,7 +511,7 @@ with the Linux kernel.") version ".tar.gz")) (sha256 (base32 - "1cg843ajz4g16axpz56zvalwsbp1s764na2bk4fb44ayx162bzvw")))) + "038fvj6zf51k6z9sbbxbj87ajaf69l3whal2vwshbm4l0qr71n52")))) (build-system gnu-build-system) (arguments '(#:tests? #f @@ -557,7 +558,7 @@ with the Linux kernel.") version ".tar.gz")) (sha256 (base32 - "1xfkqi1q8cnxqbv8azdj5pqlzhkjz6xag09f1z0s8rxi86jkpf85")))))) + "1qpd12imy7q5hb5fhk48mfw65s0xlrkmms0zr2gk0mj88qjn3m3z")))))) (home-page "http://www.iana.org/time-zones") (synopsis "Database of current and historical time zones") (description "The Time Zone Database (often called tz or zoneinfo) From 0d6a83390def166743d3c3c17d924c7435013d97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 12:13:34 +0100 Subject: [PATCH 144/221] gnu: python2-py2cairo: Fix 'license' field. * gnu/packages/gtk.scm (python2-py2cairo)[license]: Change to a list of (was a list of symbols.) --- gnu/packages/gtk.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index c07062df3c..bcfe651a75 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -693,7 +693,7 @@ extensive documentation, including API reference and a tutorial.") `(#:python ,python-2 ,@(package-arguments python-pycairo))) ;; Dual-licensed under LGPL 2.1 or Mozilla Public License 1.1 - (license '(license:lgpl2.1 license:mpl1.1)))) + (license (list license:lgpl2.1 license:mpl1.1)))) (define-public python2-pygtk (package From 9668b3bb386bb95fa7597d450f64028ab9b557bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 21:50:58 +0100 Subject: [PATCH 145/221] nls: Update 'eo' translation. --- po/guix/eo.po | 606 +++++++++++++++++++++++++++++++------------------- 1 file changed, 375 insertions(+), 231 deletions(-) diff --git a/po/guix/eo.po b/po/guix/eo.po index cffc546dc1..ee57c6520b 100644 --- a/po/guix/eo.po +++ b/po/guix/eo.po @@ -5,49 +5,68 @@ # msgid "" msgstr "" -"Project-Id-Version: guix 0.7-pre1\n" +"Project-Id-Version: guix 0.8\n" "Report-Msgid-Bugs-To: ludo@gnu.org\n" -"POT-Creation-Date: 2014-07-25 00:55+0200\n" -"PO-Revision-Date: 2014-07-14 11:29-0300\n" +"POT-Creation-Date: 2014-11-09 22:32+0100\n" +"PO-Revision-Date: 2014-12-07 16:05-0300\n" "Last-Translator: Felipe Castro \n" "Language-Team: Esperanto \n" "Language: eo\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"X-Generator: Poedit 1.5.4\n" +"X-Generator: Poedit 1.6.10\n" +"Plural-Forms: nplurals=2; plural=(n != 1);\n" -#: gnu/packages.scm:102 +#: gnu/packages.scm:120 #, scheme-format msgid "cannot access `~a': ~a~%" msgstr "ne eblas atingi '~a': ~a~%" -#: guix/scripts/build.scm:54 guix/scripts/package.scm:349 +#: gnu/packages.scm:350 +#, scheme-format +msgid "looking for the latest release of GNU ~a..." +msgstr "ni serĉas la lastan eldonon de GNU ~a..." + +#: gnu/packages.scm:354 +#, scheme-format +msgid "~a: note: using ~a but ~a is available upstream~%" +msgstr "~a: rimarko: ni uzas ~a sed ~a disponeblas unuanivele~%" + +#: gnu/packages.scm:376 guix/scripts/package.scm:305 #, scheme-format msgid "ambiguous package specification `~a'~%" msgstr "plursenca pak-specifigo '~a'~%" -#: guix/scripts/build.scm:55 guix/scripts/package.scm:351 +#: gnu/packages.scm:377 guix/scripts/package.scm:307 #, scheme-format msgid "choosing ~a from ~a~%" msgstr "ni elektas ~a el ~a~%" -#: guix/scripts/build.scm:61 +#: gnu/packages.scm:383 #, scheme-format msgid "~A: package not found for version ~a~%" msgstr "~A: pako ne trovita por versio ~a~%" -#: guix/scripts/build.scm:63 +#: gnu/packages.scm:385 #, scheme-format msgid "~A: unknown package~%" msgstr "~A: nekonata pako~%" -#: guix/scripts/build.scm:86 +#: guix/scripts/build.scm:65 #, scheme-format msgid "failed to create GC root `~a': ~a~%" msgstr "fiasko dum kreo de radiko GC '~a': ~a~%" -#: guix/scripts/build.scm:123 +#: guix/scripts/build.scm:102 +msgid "" +"\n" +" -L, --load-path=DIR prepend DIR to the package module search path" +msgstr "" +"\n" +" -L, --load-path=UJO antaŭmedi UJOn al la modula serĉvojo de la pako" + +#: guix/scripts/build.scm:104 msgid "" "\n" " -K, --keep-failed keep build tree of failed builds" @@ -55,7 +74,7 @@ msgstr "" "\n" " -K, --keep-failed teni konstru-arbon el fiaskintaj konstruoj" -#: guix/scripts/build.scm:125 +#: guix/scripts/build.scm:106 msgid "" "\n" " -n, --dry-run do not build the derivations" @@ -63,7 +82,7 @@ msgstr "" "\n" " -n, --dry-run ne konstrui derivaĵojn" -#: guix/scripts/build.scm:127 +#: guix/scripts/build.scm:108 msgid "" "\n" " --fallback fall back to building when the substituter fails" @@ -71,7 +90,7 @@ msgstr "" "\n" " --fallback retropaŝi al konstruado kiam la anstataŭiganto fiaskas" -#: guix/scripts/build.scm:129 +#: guix/scripts/build.scm:110 msgid "" "\n" " --no-substitutes build instead of resorting to pre-built substitutes" @@ -79,7 +98,7 @@ msgstr "" "\n" " --no-substitutes konstrui anstataŭ provi jam-konstruitajn anstataŭigantojn" -#: guix/scripts/build.scm:131 +#: guix/scripts/build.scm:112 msgid "" "\n" " --no-build-hook do not attempt to offload builds via the build hook" @@ -87,7 +106,7 @@ msgstr "" "\n" " --no-build-hook ne provi disŝarĝi konstruojn per la konstru-hoko" -#: guix/scripts/build.scm:133 +#: guix/scripts/build.scm:114 msgid "" "\n" " --max-silent-time=SECONDS\n" @@ -97,7 +116,7 @@ msgstr "" " --max-silent-time=SEKUNDOJ\n" " marki la konstruon kiel fiaskintan post SEKUNDOJ da silento" -#: guix/scripts/build.scm:136 +#: guix/scripts/build.scm:117 msgid "" "\n" " --timeout=SECONDS mark the build as failed after SECONDS of activity" @@ -105,7 +124,7 @@ msgstr "" "\n" " --timeout=SEKUNDOJ marki la konstruon kiel fiaskintan post SEKUNDOJ da aktivado" -#: guix/scripts/build.scm:138 +#: guix/scripts/build.scm:119 msgid "" "\n" " --verbosity=LEVEL use the given verbosity LEVEL" @@ -113,7 +132,7 @@ msgstr "" "\n" " --verbosity=NIVELO uzi la indikitan detaligan NIVELOn" -#: guix/scripts/build.scm:140 +#: guix/scripts/build.scm:121 msgid "" "\n" " -c, --cores=N allow the use of up to N CPU cores for the build" @@ -121,12 +140,12 @@ msgstr "" "\n" " -c, --cores=N permesigi uzon de ĝis N CPU-nukleojn por la konstruo" -#: guix/scripts/build.scm:206 +#: guix/scripts/build.scm:195 #, scheme-format msgid "~a: not a number~%" msgstr "~a: ne estas numero~%" -#: guix/scripts/build.scm:223 +#: guix/scripts/build.scm:213 msgid "" "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION...\n" "Build the given PACKAGE-OR-DERIVATION and return their output paths.\n" @@ -134,7 +153,7 @@ msgstr "" "Uzado: guix build [MODIFILO]... PAKO-AŬ-DERIVAĴO...\n" "Konstrui la indikitan PAKO-AŬ-DERIVAĴOn kaj montri iliajn eligajn vojojn.\n" -#: guix/scripts/build.scm:225 +#: guix/scripts/build.scm:215 msgid "" "\n" " -e, --expression=EXPR build the package or derivation EXPR evaluates to" @@ -142,7 +161,7 @@ msgstr "" "\n" " -e, --expression=ESPR konstrui la pakon aŭ derivaĵon kiu rezultas de ESPR" -#: guix/scripts/build.scm:227 +#: guix/scripts/build.scm:217 msgid "" "\n" " -S, --source build the packages' source derivations" @@ -150,7 +169,7 @@ msgstr "" "\n" " -S, --source konstrui la font-derivaĵojn de la pakoj" -#: guix/scripts/build.scm:229 +#: guix/scripts/build.scm:219 msgid "" "\n" " -s, --system=SYSTEM attempt to build for SYSTEM--e.g., \"i686-linux\"" @@ -158,7 +177,7 @@ msgstr "" "\n" " -s, --system=SISTEMO provi konstrui por SISTEMO--ekz., \"i686-linux\"" -#: guix/scripts/build.scm:231 +#: guix/scripts/build.scm:221 msgid "" "\n" " --target=TRIPLET cross-build for TRIPLET--e.g., \"armel-linux-gnu\"" @@ -166,7 +185,7 @@ msgstr "" "\n" " --target=TRIOPO cruc-konstrui por TRIOPO--ekz., \"armel-linux-gnu\"" -#: guix/scripts/build.scm:233 +#: guix/scripts/build.scm:223 msgid "" "\n" " --with-source=SOURCE\n" @@ -176,7 +195,15 @@ msgstr "" " --with-source=FONTO\n" " uzi FONTOn dum konstruo de la koresponda pako" -#: guix/scripts/build.scm:236 +#: guix/scripts/build.scm:226 +msgid "" +"\n" +" --no-grafts do not graft packages" +msgstr "" +"\n" +" --no-grafts ne kunmetu pakojn" + +#: guix/scripts/build.scm:228 msgid "" "\n" " -d, --derivations return the derivation paths of the given packages" @@ -184,7 +211,7 @@ msgstr "" "\n" " -d, --derivations liveri la derivaĵajn vojojn de la indikitaj pakoj" -#: guix/scripts/build.scm:238 +#: guix/scripts/build.scm:230 msgid "" "\n" " -r, --root=FILE make FILE a symlink to the result, and register it\n" @@ -194,7 +221,7 @@ msgstr "" " -r, --root=DOSIERO igi DOSIEROn simbola ligo al la rezulto, kaj registri\n" " ĝin kiel radikon de rubaĵ-kolektanto" -#: guix/scripts/build.scm:241 +#: guix/scripts/build.scm:233 msgid "" "\n" " --log-file return the log file names for the given derivations" @@ -202,10 +229,11 @@ msgstr "" "\n" " --log-file liveri la protokol-dosierajn nomojn por la indikitaj derivaĵoj" -#: guix/scripts/build.scm:246 guix/scripts/download.scm:53 -#: guix/scripts/package.scm:525 guix/scripts/gc.scm:58 -#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:82 -#: guix/scripts/substitute-binary.scm:564 guix/scripts/system.scm:362 +#: guix/scripts/build.scm:238 guix/scripts/download.scm:53 +#: guix/scripts/package.scm:451 guix/scripts/gc.scm:58 +#: guix/scripts/hash.scm:55 guix/scripts/pull.scm:81 +#: guix/scripts/substitute-binary.scm:560 guix/scripts/system.scm:371 +#: guix/scripts/lint.scm:262 msgid "" "\n" " -h, --help display this help and exit" @@ -213,10 +241,11 @@ msgstr "" "\n" " -h, --help montri ĉi tiun helpon kaj eliri" -#: guix/scripts/build.scm:248 guix/scripts/download.scm:55 -#: guix/scripts/package.scm:527 guix/scripts/gc.scm:60 -#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:84 -#: guix/scripts/substitute-binary.scm:566 guix/scripts/system.scm:364 +#: guix/scripts/build.scm:240 guix/scripts/download.scm:55 +#: guix/scripts/package.scm:453 guix/scripts/gc.scm:60 +#: guix/scripts/hash.scm:57 guix/scripts/pull.scm:83 +#: guix/scripts/substitute-binary.scm:562 guix/scripts/system.scm:373 +#: guix/scripts/lint.scm:266 msgid "" "\n" " -V, --version display version information and exit" @@ -224,19 +253,20 @@ msgstr "" "\n" " -V, --version montri informon pri versio kaj eliri" -#: guix/scripts/build.scm:368 +#: guix/scripts/build.scm:366 #, scheme-format msgid "sources do not match any package:~{ ~a~}~%" msgstr "fontoj ne kongruas al iu ajn pako:~{ ~a~}~%" -#: guix/scripts/build.scm:397 guix/scripts/download.scm:96 -#: guix/scripts/package.scm:763 guix/scripts/gc.scm:122 -#: guix/scripts/pull.scm:115 guix/scripts/system.scm:414 +#: guix/scripts/build.scm:395 guix/scripts/download.scm:96 +#: guix/scripts/package.scm:673 guix/scripts/gc.scm:122 +#: guix/scripts/pull.scm:213 guix/scripts/system.scm:426 +#: guix/scripts/lint.scm:313 #, scheme-format msgid "~A: unrecognized option~%" msgstr "~A: nerekonata modifilo~%" -#: guix/scripts/build.scm:425 +#: guix/scripts/build.scm:423 #, scheme-format msgid "no build log for '~a'~%" msgstr "neniu konstruita protokolo por '~a'~%" @@ -280,73 +310,42 @@ msgstr "~a: analizo de URI fiaskis~%" msgid "~a: download failed~%" msgstr "~a: elŝuto fiaskis~%" -#: guix/scripts/package.scm:88 +#: guix/scripts/package.scm:97 #, scheme-format msgid "failed to build the empty profile~%" msgstr "fiasko dum konstruo de malplena profilo~%" -#: guix/scripts/package.scm:97 +#: guix/scripts/package.scm:113 #, scheme-format msgid "switching from generation ~a to ~a~%" msgstr "alterno el generacio ~a al ~a~%" -#: guix/scripts/package.scm:108 guix/scripts/package.scm:873 -#: guix/scripts/package.scm:985 -#, scheme-format -msgid "profile '~a' does not exist~%" -msgstr "profilo '~a' ne ekzistas~%" - -#: guix/scripts/package.scm:112 +#: guix/scripts/package.scm:132 #, scheme-format msgid "nothing to do: already at the empty profile~%" msgstr "nenio por fari: jam estas ĉe la malplena profilo~%" -#: guix/scripts/package.scm:197 +#: guix/scripts/package.scm:144 #, scheme-format -msgid "The following package would be removed:~%~{~a~%~}~%" -msgstr "La jena pako devos esti forigata:~%~{~a~%~}~%" +msgid "deleting ~a~%" +msgstr "ni forigas ~a~%" -#: guix/scripts/package.scm:202 -#, scheme-format -msgid "The following package will be removed:~%~{~a~%~}~%" -msgstr "La jena pako estos forigata:~%~{~a~%~}~%" - -#: guix/scripts/package.scm:214 -#, scheme-format -msgid "The following package would be installed:~%~{~a~%~}~%" -msgstr "La jena pako estus instalata:~% ~{~a~%~}~%" - -#: guix/scripts/package.scm:219 -#, scheme-format -msgid "The following package will be installed:~%~{~a~%~}~%" -msgstr "La jena pako estos instalata:~% ~{~a~%~}~%" - -#: guix/scripts/package.scm:339 +#: guix/scripts/package.scm:295 #, scheme-format msgid "package `~a' lacks output `~a'~%" msgstr "pako '~a' malhavas eligon '~a'~%" -#: guix/scripts/package.scm:356 +#: guix/scripts/package.scm:312 #, scheme-format msgid "~a: package not found~%" msgstr "~a: pako ne trovita~%" -#: guix/scripts/package.scm:391 -#, scheme-format -msgid "looking for the latest release of GNU ~a..." -msgstr "ni serĉas la lastan eldonon de GNU ~a..." - -#: guix/scripts/package.scm:395 -#, scheme-format -msgid "~a: note: using ~a but ~a is available upstream~%" -msgstr "~a: rimarko: ni uzas ~a sed ~a disponeblas unuanivele~%" - -#: guix/scripts/package.scm:467 +#: guix/scripts/package.scm:390 #, scheme-format msgid "The following environment variable definitions may be needed:~%" msgstr "La jenaj medi-variablaj difinoj povos esti necesaj:~%" -#: guix/scripts/package.scm:483 +#: guix/scripts/package.scm:406 msgid "" "Usage: guix package [OPTION]... PACKAGES...\n" "Install, remove, or upgrade PACKAGES in a single transaction.\n" @@ -354,7 +353,7 @@ msgstr "" "Uzmaniero: guix package [MODIFILO]... PAKOJ...\n" "Instalas, forigas, aŭ ĝisdatigas PAKOJn en ununura ago.\n" -#: guix/scripts/package.scm:485 +#: guix/scripts/package.scm:408 msgid "" "\n" " -i, --install=PACKAGE install PACKAGE" @@ -362,7 +361,7 @@ msgstr "" "\n" " -i, --install=PAKO instali PAKOn" -#: guix/scripts/package.scm:487 +#: guix/scripts/package.scm:410 msgid "" "\n" " -e, --install-from-expression=EXP\n" @@ -372,7 +371,7 @@ msgstr "" " -e, --install-from-expression=ESP\n" " instali la pakon ESP rezultas al" -#: guix/scripts/package.scm:490 +#: guix/scripts/package.scm:413 msgid "" "\n" " -r, --remove=PACKAGE remove PACKAGE" @@ -380,7 +379,7 @@ msgstr "" "\n" " -r, --remove=PAKO forigi PAKOn" -#: guix/scripts/package.scm:492 +#: guix/scripts/package.scm:415 msgid "" "\n" " -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP" @@ -388,7 +387,7 @@ msgstr "" "\n" " -u, --upgrade[=REGESP] ĝisdatigi ĉiujn instalitajn pakojn kongruantajn al REGESP" -#: guix/scripts/package.scm:494 +#: guix/scripts/package.scm:417 msgid "" "\n" " --roll-back roll back to the previous generation" @@ -396,7 +395,7 @@ msgstr "" "\n" " --roll-back retropaŝi al la antaŭa generacio" -#: guix/scripts/package.scm:496 +#: guix/scripts/package.scm:419 msgid "" "\n" " --search-paths display needed environment variable definitions" @@ -404,7 +403,7 @@ msgstr "" "\n" " --search-paths montri necesajn medi-variablajn difinojn" -#: guix/scripts/package.scm:498 +#: guix/scripts/package.scm:421 msgid "" "\n" " -l, --list-generations[=PATTERN]\n" @@ -414,7 +413,7 @@ msgstr "" " -I, --list-generations[=ŜABLONO]\n" " listigi generaciojn kongruantajn al ŜABLONO" -#: guix/scripts/package.scm:501 +#: guix/scripts/package.scm:424 msgid "" "\n" " -d, --delete-generations[=PATTERN]\n" @@ -424,7 +423,17 @@ msgstr "" " -d, --delete-generations[=ŜABLONO]\n" " forigi generaciojn kongruantajn al ŜABLONO" -#: guix/scripts/package.scm:504 +#: guix/scripts/package.scm:427 +msgid "" +"\n" +" -S, --switch-generation=PATTERN\n" +" switch to a generation matching PATTERN" +msgstr "" +"\n" +" -S, --switch-generations=ŜABLONO\n" +" ŝalti al generacio kongruanta al ŜABLONO" + +#: guix/scripts/package.scm:430 msgid "" "\n" " -p, --profile=PROFILE use PROFILE instead of the user's default profile" @@ -432,7 +441,7 @@ msgstr "" "\n" " -p, --profile=PROFILO uzi PROFILOn anstataŭ la apriora profilo de la uzanto" -#: guix/scripts/package.scm:507 +#: guix/scripts/package.scm:433 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the profile" @@ -440,7 +449,7 @@ msgstr "" "\n" " --bootstrap uzi la praŝargilon Guile por konstrui la profilon" -#: guix/scripts/package.scm:509 guix/scripts/pull.scm:75 +#: guix/scripts/package.scm:435 guix/scripts/pull.scm:74 msgid "" "\n" " --verbose produce verbose output" @@ -448,7 +457,7 @@ msgstr "" "\n" " --verbose produkti detalplenan eligon" -#: guix/scripts/package.scm:512 +#: guix/scripts/package.scm:438 msgid "" "\n" " -s, --search=REGEXP search in synopsis and description using REGEXP" @@ -456,7 +465,7 @@ msgstr "" "\n" " -s, --search=REGESP serĉi en resumo kaj priskribo uzante REGESP" -#: guix/scripts/package.scm:514 +#: guix/scripts/package.scm:440 msgid "" "\n" " -I, --list-installed[=REGEXP]\n" @@ -466,7 +475,7 @@ msgstr "" " -I, --list-installed[=REGESP]\n" " listigi instalitajn pakojn kongruantajn al REGESP" -#: guix/scripts/package.scm:517 +#: guix/scripts/package.scm:443 msgid "" "\n" " -A, --list-available[=REGEXP]\n" @@ -476,71 +485,72 @@ msgstr "" " -A, --list-available[=REGESP]\n" " listigi disponeblajn pakojn kongruantajn al REGESP" -#: guix/scripts/package.scm:520 -#, fuzzy +#: guix/scripts/package.scm:446 msgid "" "\n" " --show=PACKAGE show details about PACKAGE" msgstr "" "\n" -" -i, --install=PAKO instali PAKOn" +" -show=PAKO montri detalojn pri PAKO" -#: guix/scripts/package.scm:767 +#: guix/scripts/package.scm:677 #, scheme-format msgid "~A: extraneous argument~%" msgstr "~A: fremda argumento~%" -#: guix/scripts/package.scm:782 +#: guix/scripts/package.scm:687 #, scheme-format msgid "Try \"info '(guix) Invoking guix package'\" for more information.~%" msgstr "Provu \"info '(guix) Invoking guix package'\" por pli da informo.'%" -#: guix/scripts/package.scm:804 +#: guix/scripts/package.scm:709 #, scheme-format msgid "error: while creating directory `~a': ~a~%" msgstr "eraro: dum kreo de dosierujo '~a': ~a~%" -#: guix/scripts/package.scm:808 +#: guix/scripts/package.scm:713 #, scheme-format msgid "Please create the `~a' directory, with you as the owner.~%" msgstr "Bonvolu krei la dosierujon '~a', kun vi kiel posedanto.~%" -#: guix/scripts/package.scm:815 +#: guix/scripts/package.scm:720 #, scheme-format msgid "error: directory `~a' is not owned by you~%" msgstr "eraro: dosierujo '~a' ne estas posedata de vi~%" -#: guix/scripts/package.scm:818 +#: guix/scripts/package.scm:723 #, scheme-format msgid "Please change the owner of `~a' to user ~s.~%" msgstr "Bonvole ŝanĝu la posedanton de '~a' al la uzanto ~s.~%" -#: guix/scripts/package.scm:843 +#: guix/scripts/package.scm:756 #, scheme-format -msgid "deleting ~a~%" -msgstr "ni forigas ~a~%" +msgid "cannot switch to generation '~a'~%" +msgstr "ne eblas ŝalti al generacio '~a'~%" -#: guix/scripts/package.scm:896 guix/scripts/package.scm:1001 +#: guix/scripts/package.scm:788 guix/scripts/package.scm:889 #, scheme-format msgid "invalid syntax: ~a~%" msgstr "malvalida sintakso: ~a~%" -#: guix/scripts/package.scm:925 +#: guix/scripts/package.scm:825 #, scheme-format msgid "nothing to be done~%" msgstr "nenio por fari~%" -#: guix/scripts/package.scm:948 +#: guix/scripts/package.scm:840 #, scheme-format msgid "~a package in profile~%" -msgstr "pako ~a en profilo~%" +msgid_plural "~a packages in profile~%" +msgstr[0] "pako ~a en profilo~%" +msgstr[1] "pakoj ~a en profilo~%" -#: guix/scripts/package.scm:963 +#: guix/scripts/package.scm:855 #, scheme-format msgid "Generation ~a\t~a" msgstr "Generacio ~a\t~a" -#: guix/scripts/package.scm:970 +#: guix/scripts/package.scm:862 #, scheme-format msgid "~a\t(current)~%" msgstr "~a\t(nuna)~%" @@ -643,7 +653,7 @@ msgstr "" msgid "unrecognized option: ~a~%" msgstr "nerekonata modifilo: ~a~%" -#: guix/scripts/hash.scm:134 guix/ui.scm:233 +#: guix/scripts/hash.scm:134 guix/ui.scm:252 #, scheme-format msgid "~a~%" msgstr "~a~%" @@ -653,7 +663,7 @@ msgstr "~a~%" msgid "wrong number of arguments~%" msgstr "malĝusta nombro da argumentoj~%" -#: guix/scripts/pull.scm:73 +#: guix/scripts/pull.scm:72 msgid "" "Usage: guix pull [OPTION]...\n" "Download and deploy the latest version of Guix.\n" @@ -661,7 +671,7 @@ msgstr "" "Uzmaniero: guix pull [MODIFILO]...\n" "Elŝuti kaj liveri la lastan version de Guix.\n" -#: guix/scripts/pull.scm:77 +#: guix/scripts/pull.scm:76 msgid "" "\n" " --url=URL download the Guix tarball from URL" @@ -669,7 +679,7 @@ msgstr "" "\n" " --url=URL elŝuti la tar-dosiero de Guix el URL" -#: guix/scripts/pull.scm:79 +#: guix/scripts/pull.scm:78 msgid "" "\n" " --bootstrap use the bootstrap Guile to build the new Guix" @@ -677,29 +687,42 @@ msgstr "" "\n" " --bootstrap uzi la 'bootstrap' Guile por konstrui novan Guix" -#: guix/scripts/pull.scm:117 +#: guix/scripts/pull.scm:132 +msgid "tarball did not produce a single source directory" +msgstr "tarball ne produktis ununuran fontan dosierujon" + +#: guix/scripts/pull.scm:150 #, scheme-format -msgid "~A: unexpected argument~%" -msgstr "~A: neatendita argumento~%" +msgid "unpacking '~a'...~%" +msgstr "malpakado de '~a'...~%" -#: guix/scripts/pull.scm:126 -msgid "failed to download up-to-date source, exiting\n" -msgstr "fiasko dum elŝuto de aktuala fonto, ni ĉesas\n" +#: guix/scripts/pull.scm:159 +msgid "failed to unpack source code" +msgstr "ni malsukcesis malpaki font-kodon" -#: guix/scripts/pull.scm:145 +#: guix/scripts/pull.scm:200 #, scheme-format msgid "updated ~a successfully deployed under `~a'~%" msgstr "ni ĝisdatigis ~a sukcese, liverita sur '~a'~%" -#: guix/scripts/pull.scm:148 +#: guix/scripts/pull.scm:203 #, scheme-format msgid "failed to update Guix, check the build log~%" msgstr "fiasko dum ĝisdatigo de Guix, kontrolu la konstru-protokolon~%" -#: guix/scripts/pull.scm:150 +#: guix/scripts/pull.scm:205 msgid "Guix already up to date\n" msgstr "Guix jam estas ĝisdata\n" +#: guix/scripts/pull.scm:215 +#, scheme-format +msgid "~A: unexpected argument~%" +msgstr "~A: neatendita argumento~%" + +#: guix/scripts/pull.scm:224 +msgid "failed to download up-to-date source, exiting\n" +msgstr "fiasko dum elŝuto de aktuala fonto, ni ĉesas\n" + #: guix/scripts/substitute-binary.scm:80 #, scheme-format msgid "authentication and authorization of substitutes disabled!~%" @@ -775,12 +798,12 @@ msgstr "Ni elŝutas, bonvolu atendi...~%" msgid "(Please consider upgrading Guile to get proper progress report.)~%" msgstr "(Bonvolu konsideri pri ĝisdatigo de Guile por havigi ĝustan progres-raporton.)~%" -#: guix/scripts/substitute-binary.scm:545 +#: guix/scripts/substitute-binary.scm:541 #, scheme-format msgid "host name lookup error: ~a~%" msgstr "eraro en serĉado de gastigant-nomo: ~a~%" -#: guix/scripts/substitute-binary.scm:554 +#: guix/scripts/substitute-binary.scm:550 msgid "" "Usage: guix substitute-binary [OPTION]...\n" "Internal tool to substitute a pre-built binary to a local build.\n" @@ -788,7 +811,7 @@ msgstr "" "Uzmaniero: guix substitute-binary [MODIFILO]...\n" "Interna ilo por anstataŭigi antaŭ-konstruitan duumaĵon al loka kompilaĵo.\n" -#: guix/scripts/substitute-binary.scm:556 +#: guix/scripts/substitute-binary.scm:552 msgid "" "\n" " --query report on the availability of substitutes for the\n" @@ -798,7 +821,7 @@ msgstr "" " --query raporti pri la disponebleco de anstataŭigoj por la\n" " konservaj dosier-nomoj indikitaj per la ĉefenigujo" -#: guix/scripts/substitute-binary.scm:559 +#: guix/scripts/substitute-binary.scm:555 msgid "" "\n" " --substitute STORE-FILE DESTINATION\n" @@ -810,16 +833,21 @@ msgstr "" " elŝuti KONSERV-DOSIEROn kaj konservi ĝin kiel Nar en la\n" " dosiero CELO" -#: guix/scripts/substitute-binary.scm:604 +#: guix/scripts/substitute-binary.scm:600 msgid "ACL for archive imports seems to be uninitialized, substitutes may be unavailable\n" msgstr "ACL por importo de arĥivoj ŝajnas esti ne-ekigita, anstataŭoj eble ne disponeblos\n" -#: guix/scripts/substitute-binary.scm:625 +#: guix/scripts/substitute-binary.scm:634 +#, scheme-format +msgid "these substitute URLs will not be used:~{ ~a~}~%" +msgstr "tiuj ĉi anstataŭigaj URL-oj ne estos uzataj:~{ ~a~}~%" + +#: guix/scripts/substitute-binary.scm:660 #, scheme-format msgid "failed to look up host '~a' (~a), substituter disabled~%" msgstr "ni malsukcesis serĉi gastiganton '~a' (~a), anstataŭiganto estas malebligata~%" -#: guix/scripts/substitute-binary.scm:732 +#: guix/scripts/substitute-binary.scm:767 #, scheme-format msgid "~a: unrecognized options~%" msgstr "~a: nerekonata modifiloj~%" @@ -863,7 +891,7 @@ msgstr "malĝustaj argumentoj" msgid "failed to open operating system file '~a': ~a~%" msgstr "fiasko dum malfermo de la operaci-sistema dosiero '~a': ~a~%" -#: guix/scripts/system.scm:78 guix/ui.scm:238 +#: guix/scripts/system.scm:78 guix/ui.scm:258 #, scheme-format msgid "~a: ~a~%" msgstr "~a: ~a~%" @@ -883,7 +911,7 @@ msgstr "fiasko dum registro de '~a' sub '~a'~%" msgid "initializing the current root file system~%" msgstr "ekigado de la nuna radika dosiersistemo~%" -#: guix/scripts/system.scm:162 guix/scripts/system.scm:318 +#: guix/scripts/system.scm:162 guix/scripts/system.scm:325 #, scheme-format msgid "failed to install GRUB on device '~a'~%" msgstr "fiasko dum instalo de GRUB en la aparato '~a'~%" @@ -893,17 +921,17 @@ msgstr "fiasko dum instalo de GRUB en la aparato '~a'~%" msgid "activating system...~%" msgstr "ni aktivas la sistemon...~%" -#: guix/scripts/system.scm:236 +#: guix/scripts/system.scm:239 #, scheme-format msgid "unrecognized boot parameters for '~a'~%" msgstr "nerekonataj ekŝargaj parametroj por '~a'~%" -#: guix/scripts/system.scm:323 +#: guix/scripts/system.scm:330 #, scheme-format msgid "initializing operating system under '~a'...~%" msgstr "ni ekigas la operaci-sistemon sub '~a'...~%" -#: guix/scripts/system.scm:339 +#: guix/scripts/system.scm:346 msgid "" "Usage: guix system [OPTION] ACTION FILE\n" "Build the operating system declared in FILE according to ACTION.\n" @@ -911,35 +939,35 @@ msgstr "" "Uzmaniero: guix system [MODIFILO] AGO DOSIERO\n" "Konstrui la operaci-sistemon deklarita en DOSIERO akorde al AGO.\n" -#: guix/scripts/system.scm:342 +#: guix/scripts/system.scm:349 msgid "The valid values for ACTION are:\n" msgstr "La validaj valoroj por AGO estas:\n" -#: guix/scripts/system.scm:343 +#: guix/scripts/system.scm:350 msgid " - 'reconfigure', switch to a new operating system configuration\n" msgstr " - 'reconfigure', alterni al nova operaci-sistema agordaro\n" -#: guix/scripts/system.scm:345 +#: guix/scripts/system.scm:352 msgid " - 'build', build the operating system without installing anything\n" msgstr " - 'build', konstrui la operaci-sistemon sen instali ion ajn\n" -#: guix/scripts/system.scm:347 +#: guix/scripts/system.scm:354 msgid " - 'vm', build a virtual machine image that shares the host's store\n" msgstr " - 'vm', konstrui virtual-maŝinan bildon kiu kundividas la gastigantan memoron\n" -#: guix/scripts/system.scm:349 +#: guix/scripts/system.scm:356 msgid " - 'vm-image', build a freestanding virtual machine image\n" msgstr " - 'vm-image', konstrui memstaran virtual-maŝinan bildon\n" -#: guix/scripts/system.scm:351 +#: guix/scripts/system.scm:358 msgid " - 'disk-image', build a disk image, suitable for a USB stick\n" msgstr " - 'disk-image', konstrui disk-bildon, taŭga por USB-memoro\n" -#: guix/scripts/system.scm:353 +#: guix/scripts/system.scm:360 msgid " - 'init', initialize a root file system to run GNU.\n" msgstr " - 'init', ekigi radikan dosiersistemon por lanĉi GNU-on.\n" -#: guix/scripts/system.scm:357 +#: guix/scripts/system.scm:364 msgid "" "\n" " --image-size=SIZE for 'vm-image', produce an image of SIZE" @@ -947,7 +975,7 @@ msgstr "" "\n" " --image-size=GRANDO por 'vm-image', produkti bildon je GRANDO" -#: guix/scripts/system.scm:359 +#: guix/scripts/system.scm:366 msgid "" "\n" " --no-grub for 'init', do not install GRUB" @@ -955,21 +983,86 @@ msgstr "" "\n" " --no-grub por 'init', ne instali GRUB" -#: guix/scripts/system.scm:422 +#: guix/scripts/system.scm:368 +msgid "" +"\n" +" --full-boot for 'vm', make a full boot sequence" +msgstr "" +"\n" +" --full-boot por 'vm', fari kompletan ekŝargan sekvon" + +#: guix/scripts/system.scm:434 #, scheme-format msgid "~a: unknown action~%" msgstr "~a: nekonata pako~%" -#: guix/scripts/system.scm:439 +#: guix/scripts/system.scm:451 #, scheme-format msgid "wrong number of arguments for action '~a'~%" msgstr "malĝusta nombro da argumentoj por la ago '~a'~%" -#: guix/scripts/system.scm:459 +#: guix/scripts/system.scm:471 #, scheme-format msgid "no configuration file specified~%" msgstr "neniu agorda dosiero estis indikata~%" +#: guix/scripts/lint.scm:51 +#, scheme-format +msgid "~a: ~a: ~a~%" +msgstr "~a: ~a: ~a~%" + +#: guix/scripts/lint.scm:72 +#, scheme-format +msgid "Available checkers:~%" +msgstr "Disponeblaj kontroliloj:~%" + +#: guix/scripts/lint.scm:226 +msgid "Validate package descriptions" +msgstr "Validigi pak-priskribojn" + +#: guix/scripts/lint.scm:230 +msgid "Identify inputs that should be native inputs" +msgstr "Identigi enigojn kiuj devus esti originalaj enigoj" + +#: guix/scripts/lint.scm:234 +msgid "Validate filenames of patches" +msgstr "Validigi dosiernomojn de flikaĵoj" + +#: guix/scripts/lint.scm:238 +msgid "Validate package synopsis" +msgstr "Validigi pak-resumojn" + +#: guix/scripts/lint.scm:257 +msgid "" +"Usage: guix lint [OPTION]... [PACKAGE]...\n" +"Run a set of checkers on the specified package; if none is specified, run the checkers on all packages.\n" +msgstr "" +"Uzmaniero: guix lint [MODIFILO]... [PAKO]...\n" +"Lanĉi aron da kontroliloj por la indikita pako; se neniu estas indikita, lanĉi la konstrolilojn por ĉiuj pakoj.\n" + +#: guix/scripts/lint.scm:259 +msgid "" +"\n" +" -c, --checkers=CHECKER1,CHECKER2...\n" +" only run the specificed checkers" +msgstr "" +"\n" +" -c, --checkers=KONTROL1,KONTROL2...\n" +" nur lanĉi la indikitajn kontrolilojn" + +#: guix/scripts/lint.scm:264 +msgid "" +"\n" +" -l, --list-checkers display the list of available lint checkers" +msgstr "" +"\n" +" -l, --list-checkers montri la liston de disponeblaj kontroliloj" + +#: guix/scripts/lint.scm:283 +#, scheme-format +msgid "~a: invalid checker" +msgstr "~a: malvalida kontrolilo" + #: guix/gnu-maintenance.scm:373 #, scheme-format msgid "signature verification failed for `~a'~%" @@ -990,12 +1083,12 @@ msgstr "~a: ne eblis trovi fontan dosieron" msgid "~a: ~a: no `version' field in source; skipping~%" msgstr "~a: ~a: neniu kampo 'version' en la fonto; ni saltas~%" -#: guix/ui.scm:131 +#: guix/ui.scm:135 #, scheme-format msgid "failed to install locale: ~a~%" msgstr "fiasko dum instalo de lokaĵaro: ~a~%" -#: guix/ui.scm:150 +#: guix/ui.scm:154 msgid "" "Copyright (C) 2014 the Guix authors\n" "License GPLv3+: GNU GPL version 3 or later \n" @@ -1007,7 +1100,7 @@ msgstr "" "Tio ĉi estas libera programaro: vi estas libera por modifi kaj redisdoni ĝin.\n" "Estas NENIU GARANTIO, plejamplekse permesate de leĝoj.\n" -#: guix/ui.scm:158 +#: guix/ui.scm:162 #, scheme-format msgid "" "\n" @@ -1016,7 +1109,7 @@ msgstr "" "\n" "Raportu program-misojn al: ~a." -#: guix/ui.scm:160 +#: guix/ui.scm:164 #, scheme-format msgid "" "\n" @@ -1025,7 +1118,7 @@ msgstr "" "\n" "hejm-paĝo de ~a: <~a>" -#: guix/ui.scm:162 +#: guix/ui.scm:166 msgid "" "\n" "General help using GNU software: " @@ -1033,100 +1126,160 @@ msgstr "" "\n" "Ĝenerala helpo por uzi programaron de GNU: " -#: guix/ui.scm:169 +#: guix/ui.scm:173 #, scheme-format msgid "~a: invalid number~%" msgstr "~a: malvalida numero~%" -#: guix/ui.scm:186 +#: guix/ui.scm:190 #, scheme-format msgid "invalid number: ~a~%" msgstr "malvalida numero: ~a~%" -#: guix/ui.scm:201 +#: guix/ui.scm:213 #, scheme-format msgid "unknown unit: ~a~%" msgstr "nekonata unuo: ~a~%" -#: guix/ui.scm:212 +#: guix/ui.scm:224 #, scheme-format msgid "~a:~a:~a: package `~a' has an invalid input: ~s~%" msgstr "~a:~a:~a: pako '~a' havas malvalidan enigon: ~s~%" -#: guix/ui.scm:219 +#: guix/ui.scm:231 #, scheme-format msgid "~a: ~a: build system `~a' does not support cross builds~%" msgstr "~a: ~a: konstrui sistemon '~a' ne subtenas crucajn konstruojn~%" -#: guix/ui.scm:224 +#: guix/ui.scm:236 +#, scheme-format +msgid "profile '~a' does not exist~%" +msgstr "profilo '~a' ne ekzistas~%" + +#: guix/ui.scm:239 +#, scheme-format +msgid "generation ~a of profile '~a' does not exist~%" +msgstr "generacio ~a de la profilo '~a' ne ekzistas~%" + +#: guix/ui.scm:243 #, scheme-format msgid "failed to connect to `~a': ~a~%" msgstr "fiasko dum konekto al '~a': ~a~%" -#: guix/ui.scm:229 +#: guix/ui.scm:248 #, scheme-format msgid "build failed: ~a~%" msgstr "konstruo fiakis: ~a~%" -#: guix/ui.scm:257 +#: guix/ui.scm:277 #, scheme-format msgid "failed to read expression ~s: ~s~%" msgstr "fiasko dum lego de esprimo ~s: ~s~%" -#: guix/ui.scm:263 +#: guix/ui.scm:283 #, scheme-format msgid "failed to evaluate expression `~a': ~s~%" msgstr "fiasko dum analizo de esprimo '~a': ~a~%" -#: guix/ui.scm:272 +#: guix/ui.scm:292 #, scheme-format msgid "expression ~s does not evaluate to a package~%" msgstr "la esprimo ~s ne rezultas pakon~%" -#: guix/ui.scm:319 +#: guix/ui.scm:339 #, scheme-format msgid "~:[The following derivation would be built:~%~{ ~a~%~}~;~]" -msgstr "~:[La jena derivo povus esti konstruata:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations would be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[La jena derivo estus konstruata:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[La jenaj derivoj estus konstruataj:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:324 +#: guix/ui.scm:344 #, scheme-format msgid "~:[The following file would be downloaded:~%~{ ~a~%~}~;~]" -msgstr "~:[La jena derivo povus esti elŝutata:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files would be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[La jena derivo estus elŝutata:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[La jenaj derivoj estus elŝutataj:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:330 +#: guix/ui.scm:350 #, scheme-format msgid "~:[The following derivation will be built:~%~{ ~a~%~}~;~]" -msgstr "~:[La jena derivo estos esti konstruata:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following derivations will be built:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[La jena derivo estos konstruata:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[La jenaj derivoj estos konstruataj:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:335 +#: guix/ui.scm:355 #, scheme-format msgid "~:[The following file will be downloaded:~%~{ ~a~%~}~;~]" -msgstr "~:[La jena derivo estos esti elŝutata:~%~{ ~a~%~}~;~]" +msgid_plural "~:[The following files will be downloaded:~%~{ ~a~%~}~;~]" +msgstr[0] "~:[La jena derivo estos elŝutata:~%~{ ~a~%~}~;~]" +msgstr[1] "~:[La jenaj derivoj estos elŝutataj:~%~{ ~a~%~}~;~]" -#: guix/ui.scm:352 +#: guix/ui.scm:407 +#, scheme-format +msgid "The following package would be removed:~%~{~a~%~}~%" +msgid_plural "The following packages would be removed:~%~{~a~%~}~%" +msgstr[0] "La jena pako estus forigata:~%~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estus forigataj:~%~{~a~%~}~%" + +#: guix/ui.scm:412 +#, scheme-format +msgid "The following package will be removed:~%~{~a~%~}~%" +msgid_plural "The following packages will be removed:~%~{~a~%~}~%" +msgstr[0] "La jena pako estos forigata:~%~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estos forigataj:~%~{~a~%~}~%" + +#: guix/ui.scm:425 +#, scheme-format +msgid "The following package would be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages would be upgraded:~%~{~a~%~}~%" +msgstr[0] "La jena pako estus ĝisdatigata:~%~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estus ĝisdatigataj:~%~{~a~%~}~%" + +#: guix/ui.scm:430 +#, scheme-format +msgid "The following package will be upgraded:~%~{~a~%~}~%" +msgid_plural "The following packages will be upgraded:~%~{~a~%~}~%" +msgstr[0] "La jena pako estos ĝisdatigata:~%~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estos ĝisdatigataj:~%~{~a~%~}~%" + +#: guix/ui.scm:441 +#, scheme-format +msgid "The following package would be installed:~%~{~a~%~}~%" +msgid_plural "The following packages would be installed:~%~{~a~%~}~%" +msgstr[0] "La jena pako estus instalata:~% ~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estus instalataj:~% ~{~a~%~}~%" + +#: guix/ui.scm:446 +#, scheme-format +msgid "The following package will be installed:~%~{~a~%~}~%" +msgid_plural "The following packages will be installed:~%~{~a~%~}~%" +msgstr[0] "La jena pako estos instalata:~% ~{~a~%~}~%" +msgstr[1] "La jenaj pakoj estos instalataj:~% ~{~a~%~}~%" + +#: guix/ui.scm:463 msgid "" msgstr "" -#: guix/ui.scm:380 +#: guix/ui.scm:489 #, scheme-format msgid "failed to create configuration directory `~a': ~a~%" msgstr "fiasko dum kreo de agorda dosierujo '~a': ~a~%" -#: guix/ui.scm:475 guix/ui.scm:489 +#: guix/ui.scm:589 guix/ui.scm:603 msgid "unknown" msgstr "nekonata" -#: guix/ui.scm:598 +#: guix/ui.scm:712 #, scheme-format msgid "invalid argument: ~a~%" msgstr "malvalida argumento: ~a~%" -#: guix/ui.scm:603 +#: guix/ui.scm:717 #, scheme-format msgid "Try `guix --help' for more information.~%" msgstr "Provu 'guix --help' por pli da informo.~%" -#: guix/ui.scm:633 +#: guix/ui.scm:747 msgid "" "Usage: guix COMMAND ARGS...\n" "Run COMMAND with ARGS.\n" @@ -1134,21 +1287,21 @@ msgstr "" "Uzmaniero: guix KOMANDO ARGj...\n" "Lanĉas KOMANDOn kun ARGj.\n" -#: guix/ui.scm:636 +#: guix/ui.scm:750 msgid "COMMAND must be one of the sub-commands listed below:\n" msgstr "KOMANDO devas esti unu el la sub-komandoj sube listataj:\n" -#: guix/ui.scm:656 +#: guix/ui.scm:770 #, scheme-format msgid "guix: ~a: command not found~%" msgstr "guix: ~a: komando ne trovita~%" -#: guix/ui.scm:674 +#: guix/ui.scm:788 #, scheme-format msgid "guix: missing command name~%" msgstr "guix: mankas komanda nomo~%" -#: guix/ui.scm:682 +#: guix/ui.scm:796 #, scheme-format msgid "guix: unrecognized option '~a'~%" msgstr "guix: nerekonata modifilo: '~a'~%" @@ -1172,84 +1325,75 @@ msgstr "ni sekvas la redirektigon al '~a'...~%" msgid "download failed" msgstr "elŝuto fiaskis" -#: guix/nar.scm:134 -msgid "unexpected executable file marker" -msgstr "neatendita rul-dosiera markilo" - -#: guix/nar.scm:141 -msgid "unsupported nar file type" -msgstr "nesubtenata dosier-tipo nar" - -#: guix/nar.scm:209 -msgid "unsupported file type" -msgstr "nesubtenata dosier-tipo" - -#: guix/nar.scm:219 -msgid "invalid nar signature" -msgstr "malvalida subskribo nar" - -#: guix/nar.scm:230 -msgid "invalid nar end-of-file marker" -msgstr "malvalida dosierfina markilo nar" - -#: guix/nar.scm:244 -msgid "invalid symlink tokens" -msgstr "malvalidaj simbol-ligaj ĵetonoj" - -#: guix/nar.scm:263 -msgid "unexpected directory entry termination" -msgstr "neatendita fino de dosieruja enigo" - -#: guix/nar.scm:272 -msgid "unexpected directory inter-entry marker" -msgstr "neatendita dosieruja inter-eniga markilo" - -#: guix/nar.scm:277 -msgid "unsupported nar entry type" -msgstr "nesubtenata enig-tipo nar" - -#: guix/nar.scm:376 +#: guix/nar.scm:155 msgid "signature is not a valid s-expression" msgstr "subskribo ne estas valida s-esprimo" -#: guix/nar.scm:385 +#: guix/nar.scm:164 msgid "invalid signature" msgstr "nevalida subskribo" -#: guix/nar.scm:389 +#: guix/nar.scm:168 msgid "invalid hash" msgstr "nevalida haketo" -#: guix/nar.scm:397 +#: guix/nar.scm:176 msgid "unauthorized public key" msgstr "nerajtigita publika ŝlosilo" -#: guix/nar.scm:402 +#: guix/nar.scm:181 msgid "corrupt signature data" msgstr "difektita subskriba datumaro" -#: guix/nar.scm:422 +#: guix/nar.scm:201 msgid "corrupt file set archive" msgstr "difektita arĥivo de dosier-grupo" -#: guix/nar.scm:432 +#: guix/nar.scm:211 #, scheme-format msgid "importing file or directory '~a'...~%" msgstr "ni importas dosieron aŭ dosierujon '~a'...~%" -#: guix/nar.scm:441 +#: guix/nar.scm:220 #, scheme-format msgid "found valid signature for '~a'~%" msgstr "ni trovis validan subskribon por '~a'~%" -#: guix/nar.scm:448 +#: guix/nar.scm:227 msgid "imported file lacks a signature" msgstr "importita dosiero malhavas subskribon" -#: guix/nar.scm:487 +#: guix/nar.scm:266 msgid "invalid inter-file archive mark" msgstr "malvalida inter-dosiera arĥiva marko" +#~ msgid "unexpected executable file marker" +#~ msgstr "neatendita rul-dosiera markilo" + +#~ msgid "unsupported nar file type" +#~ msgstr "nesubtenata dosier-tipo nar" + +#~ msgid "unsupported file type" +#~ msgstr "nesubtenata dosier-tipo" + +#~ msgid "invalid nar signature" +#~ msgstr "malvalida subskribo nar" + +#~ msgid "invalid nar end-of-file marker" +#~ msgstr "malvalida dosierfina markilo nar" + +#~ msgid "invalid symlink tokens" +#~ msgstr "malvalidaj simbol-ligaj ĵetonoj" + +#~ msgid "unexpected directory entry termination" +#~ msgstr "neatendita fino de dosieruja enigo" + +#~ msgid "unexpected directory inter-entry marker" +#~ msgstr "neatendita dosieruja inter-eniga markilo" + +#~ msgid "unsupported nar entry type" +#~ msgstr "nesubtenata enig-tipo nar" + #~ msgid "Hello, GNU world: An example GNU package" #~ msgstr "Saluton, mondo GNU: ekzemplo de pako GNU" From d8b94dbd76101f9090d2ffc60125dbcca6ff029b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 22:55:06 +0100 Subject: [PATCH 146/221] doc: Give example uses of 'deco'. Suggested by Sleep_Walker on #guix. * doc/guix.texi (Services): Add 'deco' examples. --- doc/guix.texi | 37 ++++++++++++++++++++++++++++++++++--- 1 file changed, 34 insertions(+), 3 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1d4a012b16..22f248481f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -4078,11 +4078,42 @@ An important part of preparing an @code{operating-system} declaration is listing @dfn{system services} and their configuration (@pxref{Using the Configuration System}). System services are typically daemons launched when the system boots, or other actions needed at that time---e.g., -configuring network access. They are managed by GNU@tie{}dmd -(@pxref{Introduction,,, dmd, GNU dmd Manual}). +configuring network access. + +Services are managed by GNU@tie{}dmd (@pxref{Introduction,,, dmd, GNU +dmd Manual}). On a running system, the @command{deco} command allows +you to list the available services, show their status, start and stop +them, or do other specific operations (@pxref{Jump Start,,, dmd, GNU dmd +Manual}). For example: + +@example +# deco status dmd +@end example + +The above command, run as @code{root}, lists the currently defined +services. The @command{deco doc} command shows a synopsis of the given +service: + +@example +# deco doc nscd +Run libc's name service cache daemon (nscd). +@end example + +The @command{start}, @command{stop}, and @command{restart} sub-commands +have the effect you would expect. For instance, the commands below stop +the nscd service and restart the Xorg display server: + +@example +# deco stop nscd +Service nscd has been stopped. +# deco restart xorg-server +Service xorg-server has been stopped. +Service xorg-server has been started. +@end example The following sections document the available services, starting with -the core services. +the core services, that may be used in an @code{operating-system} +declaration. @menu * Base Services:: Essential system services. From 18316d8656570ce218da97fc3f070cb58f66a739 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 7 Dec 2014 22:59:46 +0100 Subject: [PATCH 147/221] system: Add 'man-db' to '%base-packages'. Suggested by Tsutsukakushi on #guix. * gnu/system.scm (%base-packages): Add MAN-DB. --- gnu/system.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/gnu/system.scm b/gnu/system.scm index e1ed1a2f19..899a16d6ee 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -38,6 +38,7 @@ #:use-module (gnu packages nano) #:use-module (gnu packages lsof) #:use-module (gnu packages gawk) + #:use-module (gnu packages man) #:use-module (gnu packages compression) #:use-module (gnu packages firmware) #:autoload (gnu packages cryptsetup) (cryptsetup) @@ -333,6 +334,7 @@ explicitly appear in OS." pciutils usbutils util-linux inetutils isc-dhcp wireless-tools net-tools ; XXX: remove when Inetutils suffices + man-db ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev ;; already depends on it anyway. From e1bdb56e3b5d495d5d588bc7d908f7fa4a9060a5 Mon Sep 17 00:00:00 2001 From: Jason Self Date: Sun, 7 Dec 2014 20:52:55 -0800 Subject: [PATCH 148/221] gnu: linux-libre: Update to 3.18 * gnu/packages/linux.scm (linux-libre): Update to version 3.18. --- gnu/packages/linux-libre-i686.conf | 170 +++++++++++++++++++------- gnu/packages/linux-libre-x86_64.conf | 172 ++++++++++++++++++++------- gnu/packages/linux.scm | 4 +- 3 files changed, 259 insertions(+), 87 deletions(-) diff --git a/gnu/packages/linux-libre-i686.conf b/gnu/packages/linux-libre-i686.conf index e14994c38b..d50f5ca246 100644 --- a/gnu/packages/linux-libre-i686.conf +++ b/gnu/packages/linux-libre-i686.conf @@ -1,11 +1,12 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.17.0-gnu Kernel Configuration +# Linux/x86 3.18.0-gnu Kernel Configuration # # CONFIG_64BIT is not set CONFIG_X86_32=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y +CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf32-i386" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/i386_defconfig" CONFIG_LOCKDEP_SUPPORT=y @@ -127,6 +128,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # 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 CONFIG_RCU_FANOUT_LEAF=16 @@ -139,7 +141,6 @@ CONFIG_RCU_FAST_NO_HZ=y CONFIG_LOG_BUF_SHIFT=17 CONFIG_LOG_CPU_MAX_BUF_SHIFT=12 CONFIG_HAVE_UNSTABLE_SCHED_CLOCK=y -CONFIG_ARCH_WANTS_PROT_NUMA_PROT_NONE=y CONFIG_CGROUPS=y # CONFIG_CGROUP_DEBUG is not set CONFIG_CGROUP_FREEZER=y @@ -184,6 +185,7 @@ CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_SGETMASK_SYSCALL=y @@ -201,8 +203,10 @@ CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y +CONFIG_BPF_SYSCALL=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y CONFIG_PCI_QUIRKS=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y @@ -289,6 +293,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_LBDAF=y @@ -361,12 +366,15 @@ CONFIG_FREEZER=y # CONFIG_ZONE_DMA=y CONFIG_SMP=y +CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_MPPARSE=y # CONFIG_X86_BIGSMP is not set CONFIG_X86_EXTENDED_PLATFORM=y # CONFIG_X86_GOLDFISH is not set CONFIG_X86_INTEL_MID=y CONFIG_X86_INTEL_LPSS=y +CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI_DEBUG=y # CONFIG_X86_RDC321X is not set # CONFIG_X86_32_NON_STANDARD is not set CONFIG_X86_32_IRIS=m @@ -499,6 +507,7 @@ CONFIG_MEMORY_HOTPLUG_SPARSE=y CONFIG_MEMORY_HOTREMOVE=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y @@ -803,7 +812,6 @@ CONFIG_BINFMT_AOUT=m CONFIG_BINFMT_MISC=m CONFIG_COREDUMP=y CONFIG_HAVE_ATOMIC_IOMAP=y -CONFIG_IOSF_MBI=m CONFIG_PMC_ATOM=y CONFIG_NET=y @@ -847,6 +855,8 @@ CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -872,6 +882,7 @@ CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" @@ -908,7 +919,7 @@ CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=m # # Core Netfilter Configuration @@ -967,6 +978,7 @@ CONFIG_NFT_HASH=m CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1070,6 +1082,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m @@ -1098,6 +1111,7 @@ CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m @@ -1126,10 +1140,13 @@ CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_TABLES_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_REJECT_IPV4=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NF_TABLES_ARP=m CONFIG_NF_NAT_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NFT_MASQ_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1163,10 +1180,13 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_TABLES_IPV6=m CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_REJECT_IPV6=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NFT_MASQ_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1266,6 +1286,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y @@ -1373,6 +1394,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_OPENVSWITCH=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 @@ -1447,6 +1469,7 @@ CONFIG_CAN_TSCAN1=m CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_M_CAN=m CONFIG_CAN_CC770=m CONFIG_CAN_CC770_ISA=m CONFIG_CAN_CC770_PLATFORM=m @@ -1657,6 +1680,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1784,6 +1808,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m CONFIG_MTD_NAND_DENALI_DT=m CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m @@ -1807,6 +1832,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -1979,6 +2005,7 @@ CONFIG_VMWARE_VMCI=m # Intel MIC Card Driver # CONFIG_ECHO=m +# CONFIG_CXL_BASE is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1990,6 +2017,7 @@ CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_SCSI_PROC_FS=y # @@ -2077,6 +2105,7 @@ CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m +CONFIG_XEN_SCSI_FRONTEND=m CONFIG_HYPERV_STORAGE=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m @@ -2295,6 +2324,7 @@ CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m +CONFIG_TCM_USER=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m @@ -2422,6 +2452,8 @@ CONFIG_NET_DSA_MV88E6060=m 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_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y @@ -2433,6 +2465,8 @@ CONFIG_VORTEX=m CONFIG_TYPHOON=m CONFIG_NET_VENDOR_ADAPTEC=y CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set @@ -2523,6 +2557,8 @@ CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y CONFIG_IP1000=m CONFIG_JME=m @@ -2579,6 +2615,7 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2668,6 +2705,7 @@ CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MICREL_KS8995MA=m CONFIG_PLIP=m CONFIG_PPP=y @@ -2764,8 +2802,10 @@ CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2852,6 +2892,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -2926,6 +2967,8 @@ CONFIG_RTL8192DE=m CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_PCI=m @@ -3346,6 +3389,7 @@ CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MAX77693_HAPTIC=m CONFIG_INPUT_MAX8925_ONKEY=m CONFIG_INPUT_MAX8997_HAPTIC=m CONFIG_INPUT_MC13783_PWRBUTTON=m @@ -3369,6 +3413,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m CONFIG_INPUT_TWL4030_VIBRA=m CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_PWM_BEEPER=m @@ -3386,6 +3431,8 @@ CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m # # Hardware I/O ports @@ -3464,6 +3511,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=m # # Non-8250 serial port support @@ -3553,6 +3601,8 @@ CONFIG_TCG_ST33_I2C=m CONFIG_TCG_XEN=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_PCIE=m # # I2C support @@ -3736,6 +3786,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 @@ -3781,6 +3832,7 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders: # CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m # @@ -3954,6 +4006,7 @@ CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_ADCXX=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM70=m @@ -4046,12 +4099,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_EMULATION=y CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_PKG_TEMP_THERMAL=m -CONFIG_ACPI_INT3403_THERMAL=m CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_ACPI_THERMAL_REL=m # # Texas Instruments thermal drivers @@ -4066,10 +4121,13 @@ CONFIG_WATCHDOG_CORE=y CONFIG_SOFT_WATCHDOG=m CONFIG_DA9052_WATCHDOG=m CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_MENF21BMC_WATCHDOG=m CONFIG_WM831X_WATCHDOG=m CONFIG_WM8350_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m CONFIG_DW_WATCHDOG=m +CONFIG_RN5T618_WATCHDOG=m CONFIG_TWL4030_WATCHDOG=m CONFIG_RETU_WATCHDOG=m CONFIG_ACQUIRE_WDT=m @@ -4203,6 +4261,7 @@ CONFIG_MFD_MAX8907=m CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y +CONFIG_MFD_MENF21BMC=m CONFIG_EZX_PCAP=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m @@ -4214,6 +4273,7 @@ CONFIG_MFD_RDC321X=m CONFIG_MFD_RTSX_PCI=m CONFIG_MFD_RTSX_USB=m CONFIG_MFD_RC5T583=y +CONFIG_MFD_RN5T618=m CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m @@ -4285,6 +4345,7 @@ CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_FAN53555=m CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m @@ -4304,6 +4365,7 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MAX8998=m CONFIG_REGULATOR_MAX77686=m CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m CONFIG_REGULATOR_MC13XXX_CORE=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m @@ -4311,7 +4373,9 @@ CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCAP=m CONFIG_REGULATOR_PCF50633=m CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PWM=m CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RN5T618=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m CONFIG_REGULATOR_S5M8767=m @@ -4388,6 +4452,7 @@ CONFIG_IR_XMP_DECODER=m CONFIG_RC_DEVICES=y CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m +CONFIG_IR_HIX5HD2=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m @@ -4547,11 +4612,13 @@ CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_USB_DRV=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m # # Webcam, TV (analog/digital) USB devices @@ -4565,8 +4632,9 @@ CONFIG_VIDEO_EM28XX_RC=m # # Software defined radio USB devices # -CONFIG_USB_MSI2500=m CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m CONFIG_MEDIA_PCI_SUPPORT=y # @@ -4592,6 +4660,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW68=m # # Media capture/analog/hybrid TV support @@ -4615,11 +4684,13 @@ CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # +CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m @@ -4632,6 +4703,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_PLUTO2=m CONFIG_DVB_DM1105=m CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m @@ -4646,9 +4718,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m -CONFIG_VIDEO_RENESAS_VSP1=m CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VIVID=m CONFIG_VIDEO_MEM2MEM_TESTDEV=m # @@ -4865,6 +4936,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends @@ -4938,6 +5011,7 @@ CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m # # DVB-C (cable) frontends @@ -4969,6 +5043,7 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -5022,7 +5097,6 @@ CONFIG_VGA_SWITCHEROO=y # Direct Rendering Manager # CONFIG_DRM=m -CONFIG_DRM_USB=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_LOAD_EDID_FIRMWARE=y @@ -5063,13 +5137,14 @@ CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_QXL=m -CONFIG_DRM_BOCHS=m +# CONFIG_DRM_BOCHS is not set # # Frame buffer Devices # CONFIG_FB=y CONFIG_FIRMWARE_EDID=y +CONFIG_FB_CMDLINE=y CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y @@ -5243,7 +5318,7 @@ CONFIG_LOGO=y CONFIG_LOGO_LIBRE_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m @@ -5494,6 +5569,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_CS35L32=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m @@ -5503,6 +5579,7 @@ CONFIG_SND_SOC_CS4271=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_MAX98090=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM1792A=m @@ -5519,6 +5596,10 @@ CONFIG_SND_SOC_SIGMADSP_I2C=m CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m CONFIG_SND_SOC_SN95031=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m @@ -5539,6 +5620,7 @@ CONFIG_SND_SOC_WM8776=m CONFIG_SND_SOC_WM8804=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SIMPLE_CARD=m # CONFIG_SOUND_PRIME is not set @@ -5601,6 +5683,7 @@ CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y @@ -5679,6 +5762,7 @@ CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_C67X00_HCD=m CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y @@ -5701,13 +5785,11 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -5857,7 +5939,6 @@ CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_ZTE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_DEBUG=m @@ -5901,9 +5982,6 @@ CONFIG_USB_XUSBATM=m # CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=m -CONFIG_SAMSUNG_USBPHY=m -CONFIG_SAMSUNG_USB2PHY=m -CONFIG_SAMSUNG_USB3PHY=m CONFIG_USB_GPIO_VBUS=m CONFIG_TAHVO_USB=m CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y @@ -5921,7 +5999,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_FOTG210_UDC=m CONFIG_USB_GR_UDC=m CONFIG_USB_R8A66597=m -CONFIG_USB_RENESAS_USBHS_UDC=m CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m @@ -5948,6 +6025,8 @@ CONFIG_USB_F_SUBSET=m CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UVC=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5988,6 +6067,7 @@ CONFIG_USB_G_DBGP=m # CONFIG_USB_G_DBGP_PRINTK is not set CONFIG_USB_G_DBGP_SERIAL=y CONFIG_USB_G_WEBCAM=m +CONFIG_USB_LED_TRIG=y CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m @@ -6085,6 +6165,7 @@ CONFIG_LEDS_TCA6507=m CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m CONFIG_LEDS_OT200=m +CONFIG_LEDS_MENF21BMC=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) @@ -6188,6 +6269,7 @@ CONFIG_RTC_DRV_MAX8925=m CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX77802=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -6245,7 +6327,6 @@ CONFIG_RTC_DRV_DS2404=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DA9063=m -CONFIG_RTC_DRV_EFI=m CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m @@ -6348,11 +6429,11 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=m CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_ACPI_PROCESSOR=y CONFIG_XEN_HAVE_PVMMU=y CONFIG_STAGING=y -CONFIG_ET131X=m CONFIG_SLICOSS=m CONFIG_PRISM2_USB=m CONFIG_COMEDI=m @@ -6360,12 +6441,10 @@ CONFIG_COMEDI=m CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 CONFIG_COMEDI_MISC_DRIVERS=y -CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_BOND=m CONFIG_COMEDI_TEST=m CONFIG_COMEDI_PARPORT=m CONFIG_COMEDI_SERIAL2002=m -CONFIG_COMEDI_SKEL=m CONFIG_COMEDI_SSV_DNP=m CONFIG_COMEDI_ISA_DRIVERS=y CONFIG_COMEDI_PCL711=m @@ -6480,12 +6559,13 @@ CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_8255=m -CONFIG_COMEDI_FC=m +CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_AMPLC_DIO200=m CONFIG_COMEDI_AMPLC_PC236=m CONFIG_COMEDI_DAS08=m @@ -6505,13 +6585,10 @@ CONFIG_RTL8192E=m CONFIG_R8712U=m CONFIG_R8188EU=m CONFIG_88EU_AP_MODE=y -CONFIG_R8192EE=m CONFIG_R8723AU=m CONFIG_8723AU_AP_MODE=y CONFIG_8723AU_BT_COEXIST=y -CONFIG_R8821AE=m CONFIG_RTS5208=m -# CONFIG_RTS5208_DEBUG is not set CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set CONFIG_VT6655=m @@ -6561,13 +6638,8 @@ CONFIG_AD7746=m # # Direct Digital Synthesis # -CONFIG_AD5930=m CONFIG_AD9832=m CONFIG_AD9834=m -CONFIG_AD9850=m -CONFIG_AD9852=m -CONFIG_AD9910=m -CONFIG_AD9951=m # # Digital gyroscope sensors @@ -6647,7 +6719,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_STAGING_MEDIA=y -CONFIG_DVB_AS102=m CONFIG_I2C_BCM2048=m CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m @@ -6691,8 +6762,6 @@ CONFIG_LNET=m CONFIG_LNET_MAX_PAYLOAD=1048576 CONFIG_LNET_SELFTEST=m CONFIG_LNET_XPRT_IB=m -CONFIG_XILLYBUS=m -CONFIG_XILLYBUS_PCIE=m CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -6761,6 +6830,7 @@ 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 @@ -6769,11 +6839,14 @@ CONFIG_COMMON_CLK=y # Common Clock Framework # CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_MAX_GEN=y CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m +# CONFIG_COMMON_CLK_PXA is not set # # Hardware Spinlock drivers @@ -6787,6 +6860,7 @@ CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y CONFIG_DW_APB_TIMER=y +# CONFIG_ATMEL_PIT is not set # CONFIG_SH_TIMER_CMT is not set # CONFIG_SH_TIMER_MTU2 is not set # CONFIG_SH_TIMER_TMU is not set @@ -6808,6 +6882,10 @@ CONFIG_STE_MODEM_RPROC=m # # Rpmsg drivers # + +# +# SOC (System On Chip) specific Drivers +# CONFIG_PM_DEVFREQ=y # @@ -6833,6 +6911,7 @@ CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX77693=m CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_MEMORY=y CONFIG_IIO=m @@ -6847,6 +6926,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Accelerometers # CONFIG_BMA180=m +CONFIG_BMC150_ACCEL=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -6876,6 +6956,7 @@ CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m CONFIG_TI_ADC081C=m +CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m @@ -6937,6 +7018,7 @@ CONFIG_ADIS16130=m CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m +CONFIG_BMG160=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -6962,6 +7044,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y # Light sensors # CONFIG_ADJD_S311=m +CONFIG_AL3320A=m CONFIG_APDS9300=m CONFIG_CM32181=m CONFIG_CM36651=m @@ -7044,6 +7127,8 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m +CONFIG_PWM_LPSS_PCI=m +CONFIG_PWM_LPSS_PLATFORM=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -7162,6 +7247,7 @@ CONFIG_QUOTACTL=y CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=y CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m # # Caches @@ -7317,6 +7403,7 @@ CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_V4_SECURITY_LABEL=y # CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_GRACE_PERIOD=m CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m @@ -7488,6 +7575,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7592,7 +7680,7 @@ CONFIG_TEST_KSTRTOX=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set -CONFIG_TEST_MODULE=m +CONFIG_TEST_LKM=m CONFIG_TEST_USER_COPY=m CONFIG_TEST_BPF=m CONFIG_TEST_FIRMWARE=m @@ -7663,6 +7751,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set CONFIG_SECURITY_SMACK=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 @@ -7676,8 +7765,8 @@ CONFIG_SECURITY_YAMA=y CONFIG_SECURITY_YAMA_STACKED=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y -CONFIG_INTEGRITY_AUDIT=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y @@ -7693,10 +7782,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y CONFIG_EVM=y - -# -# EVM options -# CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y # CONFIG_DEFAULT_SECURITY_SELINUX is not set @@ -7738,6 +7823,7 @@ CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_MCRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_ABLK_HELPER=m diff --git a/gnu/packages/linux-libre-x86_64.conf b/gnu/packages/linux-libre-x86_64.conf index fcad0654b5..e7ecc6829e 100644 --- a/gnu/packages/linux-libre-x86_64.conf +++ b/gnu/packages/linux-libre-x86_64.conf @@ -1,11 +1,12 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 3.17.0-gnu Kernel Configuration +# Linux/x86 3.18.0-gnu Kernel Configuration # CONFIG_64BIT=y CONFIG_X86_64=y CONFIG_X86=y CONFIG_INSTRUCTION_DECODER=y +CONFIG_PERF_EVENTS_INTEL_UNCORE=y CONFIG_OUTPUT_FORMAT="elf64-x86-64" CONFIG_ARCH_DEFCONFIG="arch/x86/configs/x86_64_defconfig" CONFIG_LOCKDEP_SUPPORT=y @@ -132,6 +133,7 @@ CONFIG_TASK_IO_ACCOUNTING=y # 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 CONFIG_RCU_USER_QS=y @@ -152,8 +154,6 @@ 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_ARCH_WANTS_PROT_NUMA_PROT_NONE=y -CONFIG_ARCH_USES_NUMA_PROT_NONE=y CONFIG_NUMA_BALANCING_DEFAULT_ENABLED=y CONFIG_NUMA_BALANCING=y CONFIG_CGROUPS=y @@ -200,6 +200,7 @@ CONFIG_ANON_INODES=y CONFIG_HAVE_UID16=y CONFIG_SYSCTL_EXCEPTION_TRACE=y CONFIG_HAVE_PCSPKR_PLATFORM=y +CONFIG_BPF=y CONFIG_EXPERT=y CONFIG_UID16=y CONFIG_SGETMASK_SYSCALL=y @@ -217,8 +218,10 @@ CONFIG_EPOLL=y CONFIG_SIGNALFD=y CONFIG_TIMERFD=y CONFIG_EVENTFD=y +CONFIG_BPF_SYSCALL=y CONFIG_SHMEM=y CONFIG_AIO=y +CONFIG_ADVISE_SYSCALLS=y CONFIG_PCI_QUIRKS=y # CONFIG_EMBEDDED is not set CONFIG_HAVE_PERF_EVENTS=y @@ -309,6 +312,7 @@ CONFIG_MODULE_UNLOAD=y CONFIG_MODVERSIONS=y CONFIG_MODULE_SRCVERSION_ALL=y # CONFIG_MODULE_SIG is not set +# CONFIG_MODULE_COMPRESS is not set CONFIG_STOP_MACHINE=y CONFIG_BLOCK=y CONFIG_BLK_DEV_BSG=y @@ -381,6 +385,7 @@ CONFIG_FREEZER=y # CONFIG_ZONE_DMA=y CONFIG_SMP=y +CONFIG_X86_FEATURE_NAMES=y CONFIG_X86_X2APIC=y CONFIG_X86_MPPARSE=y CONFIG_X86_EXTENDED_PLATFORM=y @@ -389,6 +394,8 @@ CONFIG_X86_NUMACHIP=y # CONFIG_X86_UV is not set # CONFIG_X86_GOLDFISH is not set CONFIG_X86_INTEL_LPSS=y +CONFIG_IOSF_MBI=m +CONFIG_IOSF_MBI_DEBUG=y CONFIG_X86_SUPPORTS_MEMORY_FAILURE=y CONFIG_SCHED_OMIT_FRAME_POINTER=y CONFIG_HYPERVISOR_GUEST=y @@ -496,6 +503,7 @@ CONFIG_MEMORY_HOTREMOVE=y CONFIG_PAGEFLAGS_EXTENDED=y CONFIG_SPLIT_PTLOCK_CPUS=4 CONFIG_ARCH_ENABLE_SPLIT_PMD_PTLOCK=y +CONFIG_MEMORY_BALLOON=y CONFIG_BALLOON_COMPACTION=y CONFIG_COMPACTION=y CONFIG_MIGRATION=y @@ -782,7 +790,6 @@ CONFIG_COMPAT_FOR_U64_ALIGNMENT=y CONFIG_SYSVIPC_COMPAT=y CONFIG_KEYS_COMPAT=y CONFIG_X86_DEV_DMA_OPS=y -CONFIG_IOSF_MBI=m CONFIG_PMC_ATOM=y CONFIG_NET=y CONFIG_COMPAT_NETLINK_MESSAGES=y @@ -827,6 +834,8 @@ CONFIG_IP_PIMSM_V2=y CONFIG_SYN_COOKIES=y CONFIG_NET_IPVTI=m CONFIG_NET_UDP_TUNNEL=m +CONFIG_NET_FOU=m +CONFIG_GENEVE=m CONFIG_INET_AH=m CONFIG_INET_ESP=m CONFIG_INET_IPCOMP=m @@ -852,6 +861,7 @@ CONFIG_TCP_CONG_LP=m CONFIG_TCP_CONG_VENO=m CONFIG_TCP_CONG_YEAH=m CONFIG_TCP_CONG_ILLINOIS=m +CONFIG_TCP_CONG_DCTCP=m CONFIG_DEFAULT_CUBIC=y # CONFIG_DEFAULT_RENO is not set CONFIG_DEFAULT_TCP_CONG="cubic" @@ -888,7 +898,7 @@ CONFIG_NET_PTP_CLASSIFY=y CONFIG_NETFILTER=y # CONFIG_NETFILTER_DEBUG is not set CONFIG_NETFILTER_ADVANCED=y -CONFIG_BRIDGE_NETFILTER=y +CONFIG_BRIDGE_NETFILTER=m # # Core Netfilter Configuration @@ -947,6 +957,7 @@ CONFIG_NFT_HASH=m CONFIG_NFT_COUNTER=m CONFIG_NFT_LOG=m CONFIG_NFT_LIMIT=m +CONFIG_NFT_MASQ=m CONFIG_NFT_NAT=m CONFIG_NFT_QUEUE=m CONFIG_NFT_REJECT=m @@ -1050,6 +1061,7 @@ CONFIG_IP_SET_HASH_IPMARK=m CONFIG_IP_SET_HASH_IPPORT=m CONFIG_IP_SET_HASH_IPPORTIP=m CONFIG_IP_SET_HASH_IPPORTNET=m +CONFIG_IP_SET_HASH_MAC=m CONFIG_IP_SET_HASH_NETPORTNET=m CONFIG_IP_SET_HASH_NET=m CONFIG_IP_SET_HASH_NETNET=m @@ -1078,6 +1090,7 @@ CONFIG_IP_VS_RR=m CONFIG_IP_VS_WRR=m CONFIG_IP_VS_LC=m CONFIG_IP_VS_WLC=m +CONFIG_IP_VS_FO=m CONFIG_IP_VS_LBLC=m CONFIG_IP_VS_LBLCR=m CONFIG_IP_VS_DH=m @@ -1106,10 +1119,13 @@ CONFIG_NF_LOG_ARP=m CONFIG_NF_LOG_IPV4=m CONFIG_NF_TABLES_IPV4=m CONFIG_NFT_CHAIN_ROUTE_IPV4=m -CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_REJECT_IPV4=m CONFIG_NFT_REJECT_IPV4=m CONFIG_NF_TABLES_ARP=m CONFIG_NF_NAT_IPV4=m +CONFIG_NFT_CHAIN_NAT_IPV4=m +CONFIG_NF_NAT_MASQUERADE_IPV4=m +CONFIG_NFT_MASQ_IPV4=m CONFIG_NF_NAT_SNMP_BASIC=m CONFIG_NF_NAT_PROTO_GRE=m CONFIG_NF_NAT_PPTP=m @@ -1143,10 +1159,13 @@ CONFIG_NF_DEFRAG_IPV6=m CONFIG_NF_CONNTRACK_IPV6=m CONFIG_NF_TABLES_IPV6=m CONFIG_NFT_CHAIN_ROUTE_IPV6=m -CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_REJECT_IPV6=m CONFIG_NFT_REJECT_IPV6=m CONFIG_NF_LOG_IPV6=m CONFIG_NF_NAT_IPV6=m +CONFIG_NFT_CHAIN_NAT_IPV6=m +CONFIG_NF_NAT_MASQUERADE_IPV6=m +CONFIG_NFT_MASQ_IPV6=m CONFIG_IP6_NF_IPTABLES=m CONFIG_IP6_NF_MATCH_AH=m CONFIG_IP6_NF_MATCH_EUI64=m @@ -1246,6 +1265,7 @@ CONFIG_BRIDGE_IGMP_SNOOPING=y CONFIG_BRIDGE_VLAN_FILTERING=y CONFIG_HAVE_NET_DSA=y CONFIG_NET_DSA=m +CONFIG_NET_DSA_TAG_BRCM=y CONFIG_NET_DSA_TAG_DSA=y CONFIG_NET_DSA_TAG_EDSA=y CONFIG_NET_DSA_TAG_TRAILER=y @@ -1349,6 +1369,7 @@ CONFIG_BATMAN_ADV_MCAST=y CONFIG_OPENVSWITCH=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 @@ -1418,6 +1439,7 @@ CONFIG_CAN_PLX_PCI=m CONFIG_CAN_C_CAN=m CONFIG_CAN_C_CAN_PLATFORM=m CONFIG_CAN_C_CAN_PCI=m +CONFIG_CAN_M_CAN=m CONFIG_CAN_CC770=m CONFIG_CAN_CC770_ISA=m CONFIG_CAN_CC770_PLATFORM=m @@ -1628,6 +1650,7 @@ CONFIG_FIRMWARE_IN_KERNEL=y CONFIG_EXTRA_FIRMWARE="" CONFIG_FW_LOADER_USER_HELPER=y CONFIG_FW_LOADER_USER_HELPER_FALLBACK=y +CONFIG_ALLOW_DEV_COREDUMP=y # CONFIG_DEBUG_DRIVER is not set # CONFIG_DEBUG_DEVRES is not set CONFIG_SYS_HYPERVISOR=y @@ -1754,6 +1777,7 @@ CONFIG_MTD_NAND_DENALI_PCI=m CONFIG_MTD_NAND_DENALI_DT=m CONFIG_MTD_NAND_DENALI_SCRATCH_REG_ADDR=0xFF108018 CONFIG_MTD_NAND_GPIO=m +# CONFIG_MTD_NAND_OMAP_BCH_BUILD is not set CONFIG_MTD_NAND_IDS=m CONFIG_MTD_NAND_RICOH=m CONFIG_MTD_NAND_DISKONCHIP=m @@ -1776,6 +1800,7 @@ CONFIG_MTD_ONENAND_2X_PROGRAM=y CONFIG_MTD_LPDDR=m CONFIG_MTD_QINFO_PROBE=m CONFIG_MTD_SPI_NOR=m +CONFIG_MTD_SPI_NOR_USE_4K_SECTORS=y CONFIG_MTD_UBI=m CONFIG_MTD_UBI_WL_THRESHOLD=4096 CONFIG_MTD_UBI_BEB_LIMIT=20 @@ -1947,6 +1972,7 @@ CONFIG_INTEL_MIC_CARD=m CONFIG_GENWQE=m CONFIG_GENWQE_PLATFORM_ERROR_RECOVERY=0 CONFIG_ECHO=m +# CONFIG_CXL_BASE is not set CONFIG_HAVE_IDE=y # CONFIG_IDE is not set @@ -1958,6 +1984,7 @@ CONFIG_RAID_ATTRS=m CONFIG_SCSI=y CONFIG_SCSI_DMA=y CONFIG_SCSI_NETLINK=y +# CONFIG_SCSI_MQ_DEFAULT is not set CONFIG_SCSI_PROC_FS=y # @@ -2040,6 +2067,7 @@ CONFIG_SCSI_HPTIOP=m CONFIG_SCSI_BUSLOGIC=m CONFIG_SCSI_FLASHPOINT=y CONFIG_VMWARE_PVSCSI=m +CONFIG_XEN_SCSI_FRONTEND=m CONFIG_HYPERV_STORAGE=m CONFIG_LIBFC=m CONFIG_LIBFCOE=m @@ -2233,6 +2261,7 @@ CONFIG_TARGET_CORE=m CONFIG_TCM_IBLOCK=m CONFIG_TCM_FILEIO=m CONFIG_TCM_PSCSI=m +CONFIG_TCM_USER=m CONFIG_LOOPBACK_TARGET=m CONFIG_TCM_FC=m CONFIG_ISCSI_TARGET=m @@ -2359,6 +2388,8 @@ CONFIG_NET_DSA_MV88E6060=m 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_BCM_SF2=m CONFIG_ETHERNET=y CONFIG_MDIO=m CONFIG_NET_VENDOR_3COM=y @@ -2368,6 +2399,8 @@ CONFIG_VORTEX=m CONFIG_TYPHOON=m CONFIG_NET_VENDOR_ADAPTEC=y CONFIG_ADAPTEC_STARFIRE=m +CONFIG_NET_VENDOR_AGERE=y +CONFIG_ET131X=m CONFIG_NET_VENDOR_ALTEON=y CONFIG_ACENIC=m # CONFIG_ACENIC_OMIT_TIGON_I is not set @@ -2453,6 +2486,8 @@ CONFIG_I40E=m CONFIG_I40E_VXLAN=y CONFIG_I40E_DCB=y CONFIG_I40EVF=m +CONFIG_FM10K=m +CONFIG_FM10K_VXLAN=y CONFIG_NET_VENDOR_I825XX=y CONFIG_IP1000=m CONFIG_JME=m @@ -2505,6 +2540,7 @@ CONFIG_QLCNIC_VXLAN=y CONFIG_QLCNIC_HWMON=y CONFIG_QLGE=m CONFIG_NETXEN_NIC=m +CONFIG_NET_VENDOR_QUALCOMM=y CONFIG_NET_VENDOR_REALTEK=y CONFIG_ATP=m CONFIG_8139CP=m @@ -2593,6 +2629,7 @@ CONFIG_MICREL_PHY=m CONFIG_FIXED_PHY=y CONFIG_MDIO_BITBANG=m CONFIG_MDIO_GPIO=m +CONFIG_MDIO_BCM_UNIMAC=m CONFIG_MICREL_KS8995MA=m CONFIG_PLIP=m CONFIG_PPP=y @@ -2689,8 +2726,10 @@ CONFIG_ATH9K_PCI=y CONFIG_ATH9K_AHB=y CONFIG_ATH9K_DEBUGFS=y CONFIG_ATH9K_STATION_STATISTICS=y +# CONFIG_ATH9K_DYNACK is not set CONFIG_ATH9K_WOW=y CONFIG_ATH9K_RFKILL=y +CONFIG_ATH9K_CHANNEL_CONTEXT=y CONFIG_ATH9K_HTC=m CONFIG_ATH9K_HTC_DEBUGFS=y CONFIG_CARL9170=m @@ -2777,6 +2816,7 @@ CONFIG_IWLDVM=m CONFIG_IWLMVM=m CONFIG_IWLWIFI_OPMODE_MODULAR=y # CONFIG_IWLWIFI_BCAST_FILTERING is not set +CONFIG_IWLWIFI_UAPSD=y # # Debugging Options @@ -2851,6 +2891,8 @@ CONFIG_RTL8192DE=m CONFIG_RTL8723AE=m CONFIG_RTL8723BE=m CONFIG_RTL8188EE=m +CONFIG_RTL8192EE=m +CONFIG_RTL8821AE=m CONFIG_RTL8192CU=m CONFIG_RTLWIFI=m CONFIG_RTLWIFI_PCI=m @@ -3244,6 +3286,7 @@ CONFIG_INPUT_AD714X_SPI=m CONFIG_INPUT_ARIZONA_HAPTICS=m CONFIG_INPUT_BMA150=m CONFIG_INPUT_PCSPKR=m +CONFIG_INPUT_MAX77693_HAPTIC=m CONFIG_INPUT_MAX8925_ONKEY=m CONFIG_INPUT_MAX8997_HAPTIC=m CONFIG_INPUT_MC13783_PWRBUTTON=m @@ -3266,6 +3309,7 @@ CONFIG_INPUT_TWL4030_PWRBUTTON=m CONFIG_INPUT_TWL4030_VIBRA=m CONFIG_INPUT_TWL6040_VIBRA=m CONFIG_INPUT_UINPUT=y +CONFIG_INPUT_PALMAS_PWRBUTTON=m CONFIG_INPUT_PCF50633_PMU=m CONFIG_INPUT_PCF8574=m CONFIG_INPUT_PWM_BEEPER=m @@ -3283,6 +3327,8 @@ CONFIG_INPUT_CMA3000_I2C=m CONFIG_INPUT_XEN_KBDDEV_FRONTEND=m CONFIG_INPUT_IDEAPAD_SLIDEBAR=m CONFIG_INPUT_SOC_BUTTON_ARRAY=m +CONFIG_INPUT_DRV260X_HAPTICS=m +CONFIG_INPUT_DRV2667_HAPTICS=m # # Hardware I/O ports @@ -3356,6 +3402,7 @@ CONFIG_SERIAL_8250_SHARE_IRQ=y # CONFIG_SERIAL_8250_DETECT_IRQ is not set CONFIG_SERIAL_8250_RSA=y CONFIG_SERIAL_8250_DW=m +CONFIG_SERIAL_8250_FINTEK=m # # Non-8250 serial port support @@ -3436,6 +3483,8 @@ CONFIG_TCG_ST33_I2C=m CONFIG_TCG_XEN=m CONFIG_TELCLOCK=m CONFIG_DEVPORT=y +CONFIG_XILLYBUS=m +CONFIG_XILLYBUS_PCIE=m # # I2C support @@ -3614,6 +3663,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 @@ -3656,6 +3706,7 @@ CONFIG_GPIO_RDC321X=m # SPI GPIO expanders: # CONFIG_GPIO_MAX7301=m +CONFIG_GPIO_MCP23S08=m CONFIG_GPIO_MC33880=m # @@ -3827,6 +3878,7 @@ CONFIG_SENSORS_MAX6650=m CONFIG_SENSORS_MAX6697=m CONFIG_SENSORS_HTU21=m CONFIG_SENSORS_MCP3021=m +CONFIG_SENSORS_MENF21BMC_HWMON=m CONFIG_SENSORS_ADCXX=m CONFIG_SENSORS_LM63=m CONFIG_SENSORS_LM70=m @@ -3919,12 +3971,14 @@ CONFIG_THERMAL_DEFAULT_GOV_STEP_WISE=y # CONFIG_THERMAL_DEFAULT_GOV_USER_SPACE is not set CONFIG_THERMAL_GOV_FAIR_SHARE=y CONFIG_THERMAL_GOV_STEP_WISE=y +CONFIG_THERMAL_GOV_BANG_BANG=y CONFIG_THERMAL_GOV_USER_SPACE=y CONFIG_THERMAL_EMULATION=y CONFIG_INTEL_POWERCLAMP=m CONFIG_X86_PKG_TEMP_THERMAL=m -CONFIG_ACPI_INT3403_THERMAL=m CONFIG_INTEL_SOC_DTS_THERMAL=m +CONFIG_INT340X_THERMAL=m +CONFIG_ACPI_THERMAL_REL=m # # Texas Instruments thermal drivers @@ -3939,10 +3993,13 @@ CONFIG_WATCHDOG_CORE=y CONFIG_SOFT_WATCHDOG=m CONFIG_DA9052_WATCHDOG=m CONFIG_DA9055_WATCHDOG=m +CONFIG_DA9063_WATCHDOG=m +CONFIG_MENF21BMC_WATCHDOG=m CONFIG_WM831X_WATCHDOG=m CONFIG_WM8350_WATCHDOG=m CONFIG_XILINX_WATCHDOG=m CONFIG_DW_WATCHDOG=m +CONFIG_RN5T618_WATCHDOG=m CONFIG_TWL4030_WATCHDOG=m CONFIG_RETU_WATCHDOG=m CONFIG_ACQUIRE_WDT=m @@ -4062,6 +4119,7 @@ CONFIG_MFD_MAX8907=m CONFIG_MFD_MAX8925=y CONFIG_MFD_MAX8997=y CONFIG_MFD_MAX8998=y +CONFIG_MFD_MENF21BMC=m CONFIG_EZX_PCAP=y CONFIG_MFD_VIPERBOARD=m CONFIG_MFD_RETU=m @@ -4073,6 +4131,7 @@ CONFIG_MFD_RDC321X=m CONFIG_MFD_RTSX_PCI=m CONFIG_MFD_RTSX_USB=m CONFIG_MFD_RC5T583=y +CONFIG_MFD_RN5T618=m CONFIG_MFD_SEC_CORE=y CONFIG_MFD_SI476X_CORE=m CONFIG_MFD_SM501=m @@ -4143,6 +4202,7 @@ CONFIG_REGULATOR_DA9210=m CONFIG_REGULATOR_DA9211=m CONFIG_REGULATOR_FAN53555=m CONFIG_REGULATOR_GPIO=m +CONFIG_REGULATOR_ISL9305=m CONFIG_REGULATOR_ISL6271A=m CONFIG_REGULATOR_LP3971=m CONFIG_REGULATOR_LP3972=m @@ -4162,6 +4222,7 @@ CONFIG_REGULATOR_MAX8997=m CONFIG_REGULATOR_MAX8998=m CONFIG_REGULATOR_MAX77686=m CONFIG_REGULATOR_MAX77693=m +CONFIG_REGULATOR_MAX77802=m CONFIG_REGULATOR_MC13XXX_CORE=m CONFIG_REGULATOR_MC13783=m CONFIG_REGULATOR_MC13892=m @@ -4169,7 +4230,9 @@ CONFIG_REGULATOR_PALMAS=m CONFIG_REGULATOR_PCAP=m CONFIG_REGULATOR_PCF50633=m CONFIG_REGULATOR_PFUZE100=m +CONFIG_REGULATOR_PWM=m CONFIG_REGULATOR_RC5T583=m +CONFIG_REGULATOR_RN5T618=m CONFIG_REGULATOR_S2MPA01=m CONFIG_REGULATOR_S2MPS11=m CONFIG_REGULATOR_S5M8767=m @@ -4245,6 +4308,7 @@ CONFIG_IR_XMP_DECODER=m CONFIG_RC_DEVICES=y CONFIG_RC_ATI_REMOTE=m CONFIG_IR_ENE=m +CONFIG_IR_HIX5HD2=m CONFIG_IR_IMON=m CONFIG_IR_MCEUSB=m CONFIG_IR_ITE_CIR=m @@ -4404,11 +4468,13 @@ CONFIG_DVB_USB_GL861=m CONFIG_DVB_USB_LME2510=m CONFIG_DVB_USB_MXL111SF=m CONFIG_DVB_USB_RTL28XXU=m +CONFIG_DVB_USB_DVBSKY=m CONFIG_DVB_TTUSB_BUDGET=m CONFIG_DVB_TTUSB_DEC=m CONFIG_SMS_USB_DRV=m CONFIG_DVB_B2C2_FLEXCOP_USB=m # CONFIG_DVB_B2C2_FLEXCOP_USB_DEBUG is not set +CONFIG_DVB_AS102=m # # Webcam, TV (analog/digital) USB devices @@ -4422,8 +4488,9 @@ CONFIG_VIDEO_EM28XX_RC=m # # Software defined radio USB devices # -CONFIG_USB_MSI2500=m CONFIG_USB_AIRSPY=m +CONFIG_USB_HACKRF=m +CONFIG_USB_MSI2500=m CONFIG_MEDIA_PCI_SUPPORT=y # @@ -4449,6 +4516,7 @@ CONFIG_VIDEO_HEXIUM_GEMINI=m CONFIG_VIDEO_HEXIUM_ORION=m CONFIG_VIDEO_MXB=m CONFIG_VIDEO_SOLO6X10=m +CONFIG_VIDEO_TW68=m # # Media capture/analog/hybrid TV support @@ -4472,11 +4540,13 @@ CONFIG_VIDEO_SAA7134=m CONFIG_VIDEO_SAA7134_ALSA=m CONFIG_VIDEO_SAA7134_RC=y CONFIG_VIDEO_SAA7134_DVB=m +CONFIG_VIDEO_SAA7134_GO7007=m CONFIG_VIDEO_SAA7164=m # # Media digital TV PCI Adapters # +CONFIG_DVB_AV7110_IR=y CONFIG_DVB_AV7110=m CONFIG_DVB_AV7110_OSD=y CONFIG_DVB_BUDGET_CORE=m @@ -4489,6 +4559,7 @@ CONFIG_DVB_B2C2_FLEXCOP_PCI=m CONFIG_DVB_PLUTO2=m CONFIG_DVB_DM1105=m CONFIG_DVB_PT1=m +CONFIG_DVB_PT3=m CONFIG_MANTIS_CORE=m CONFIG_DVB_MANTIS=m CONFIG_DVB_HOPPER=m @@ -4502,9 +4573,8 @@ CONFIG_SOC_CAMERA_PLATFORM=m CONFIG_V4L_MEM2MEM_DRIVERS=y CONFIG_VIDEO_MEM2MEM_DEINTERLACE=m CONFIG_VIDEO_SH_VEU=m -CONFIG_VIDEO_RENESAS_VSP1=m CONFIG_V4L_TEST_DRIVERS=y -CONFIG_VIDEO_VIVI=m +CONFIG_VIDEO_VIVID=m CONFIG_VIDEO_MEM2MEM_TESTDEV=m # @@ -4704,6 +4774,8 @@ CONFIG_MEDIA_TUNER_TUA9001=m CONFIG_MEDIA_TUNER_SI2157=m CONFIG_MEDIA_TUNER_IT913X=m CONFIG_MEDIA_TUNER_R820T=m +CONFIG_MEDIA_TUNER_MXL301RF=m +CONFIG_MEDIA_TUNER_QM1D1C0042=m # # Multistandard (satellite) frontends @@ -4777,6 +4849,7 @@ CONFIG_DVB_RTL2830=m CONFIG_DVB_RTL2832=m CONFIG_DVB_RTL2832_SDR=m CONFIG_DVB_SI2168=m +CONFIG_DVB_AS102_FE=m # # DVB-C (cable) frontends @@ -4808,6 +4881,7 @@ CONFIG_DVB_S5H1411=m CONFIG_DVB_S921=m CONFIG_DVB_DIB8000=m CONFIG_DVB_MB86A20S=m +CONFIG_DVB_TC90522=m # # Digital terrestrial only tuners/PLL @@ -4855,7 +4929,6 @@ CONFIG_VGA_SWITCHEROO=y # Direct Rendering Manager # CONFIG_DRM=m -CONFIG_DRM_USB=m CONFIG_DRM_KMS_HELPER=m CONFIG_DRM_KMS_FB_HELPER=y CONFIG_DRM_LOAD_EDID_FIRMWARE=y @@ -4895,13 +4968,14 @@ CONFIG_DRM_AST=m # CONFIG_DRM_MGAG200 is not set CONFIG_DRM_CIRRUS_QEMU=m CONFIG_DRM_QXL=m -CONFIG_DRM_BOCHS=m +# CONFIG_DRM_BOCHS is not set # # Frame buffer Devices # CONFIG_FB=y CONFIG_FIRMWARE_EDID=y +CONFIG_FB_CMDLINE=y CONFIG_FB_DDC=m CONFIG_FB_BOOT_VESA_SUPPORT=y CONFIG_FB_CFB_FILLRECT=y @@ -5068,7 +5142,7 @@ CONFIG_LOGO=y CONFIG_LOGO_LIBRE_CLUT224=y CONFIG_SOUND=m CONFIG_SOUND_OSS_CORE=y -CONFIG_SOUND_OSS_CORE_PRECLAIM=y +# CONFIG_SOUND_OSS_CORE_PRECLAIM is not set CONFIG_SND=m CONFIG_SND_TIMER=m CONFIG_SND_PCM=m @@ -5276,6 +5350,7 @@ CONFIG_SND_SOC_AK4554=m CONFIG_SND_SOC_AK4642=m CONFIG_SND_SOC_AK5386=m CONFIG_SND_SOC_ALC5623=m +CONFIG_SND_SOC_CS35L32=m CONFIG_SND_SOC_CS42L52=m CONFIG_SND_SOC_CS42L56=m CONFIG_SND_SOC_CS42L73=m @@ -5285,6 +5360,7 @@ CONFIG_SND_SOC_CS4271=m CONFIG_SND_SOC_CS42XX8=m CONFIG_SND_SOC_CS42XX8_I2C=m CONFIG_SND_SOC_HDMI_CODEC=m +CONFIG_SND_SOC_ES8328=m CONFIG_SND_SOC_MAX98090=m CONFIG_SND_SOC_PCM1681=m CONFIG_SND_SOC_PCM1792A=m @@ -5300,6 +5376,10 @@ CONFIG_SND_SOC_SIGMADSP=m CONFIG_SND_SOC_SIGMADSP_I2C=m CONFIG_SND_SOC_SIRF_AUDIO_CODEC=m CONFIG_SND_SOC_SPDIF=m +CONFIG_SND_SOC_SSM2602=m +CONFIG_SND_SOC_SSM2602_SPI=m +CONFIG_SND_SOC_SSM2602_I2C=m +CONFIG_SND_SOC_SSM4567=m CONFIG_SND_SOC_STA350=m CONFIG_SND_SOC_TAS2552=m CONFIG_SND_SOC_TAS5086=m @@ -5320,6 +5400,7 @@ CONFIG_SND_SOC_WM8776=m CONFIG_SND_SOC_WM8804=m CONFIG_SND_SOC_WM8903=m CONFIG_SND_SOC_WM8962=m +CONFIG_SND_SOC_WM8978=m CONFIG_SND_SOC_TPA6130A2=m CONFIG_SND_SIMPLE_CARD=m # CONFIG_SOUND_PRIME is not set @@ -5382,6 +5463,7 @@ CONFIG_HID_NTRIG=m CONFIG_HID_ORTEK=m CONFIG_HID_PANTHERLORD=m CONFIG_PANTHERLORD_FF=y +CONFIG_HID_PENMOUNT=m CONFIG_HID_PETALYNX=m CONFIG_HID_PICOLCD=m CONFIG_HID_PICOLCD_FB=y @@ -5460,6 +5542,7 @@ CONFIG_USB_WUSB_CBAF=m # CONFIG_USB_C67X00_HCD=m CONFIG_USB_XHCI_HCD=y +CONFIG_USB_XHCI_PCI=y CONFIG_USB_XHCI_PLATFORM=m CONFIG_USB_EHCI_HCD=y CONFIG_USB_EHCI_ROOT_HUB_TT=y @@ -5482,13 +5565,11 @@ CONFIG_USB_SL811_HCD=m CONFIG_USB_SL811_HCD_ISO=y CONFIG_USB_SL811_CS=m CONFIG_USB_R8A66597_HCD=m -CONFIG_USB_RENESAS_USBHS_HCD=m CONFIG_USB_WHCI_HCD=m CONFIG_USB_HWA_HCD=m CONFIG_USB_HCD_BCMA=m CONFIG_USB_HCD_SSB=m # CONFIG_USB_HCD_TEST_MODE is not set -CONFIG_USB_RENESAS_USBHS=m # # USB Device Class drivers @@ -5638,7 +5719,6 @@ CONFIG_USB_SERIAL_OMNINET=m CONFIG_USB_SERIAL_OPTICON=m CONFIG_USB_SERIAL_XSENS_MT=m CONFIG_USB_SERIAL_WISHBONE=m -CONFIG_USB_SERIAL_ZTE=m CONFIG_USB_SERIAL_SSU100=m CONFIG_USB_SERIAL_QT2=m CONFIG_USB_SERIAL_DEBUG=m @@ -5682,9 +5762,6 @@ CONFIG_USB_XUSBATM=m # CONFIG_USB_PHY=y CONFIG_NOP_USB_XCEIV=m -CONFIG_SAMSUNG_USBPHY=m -CONFIG_SAMSUNG_USB2PHY=m -CONFIG_SAMSUNG_USB3PHY=m CONFIG_USB_GPIO_VBUS=m CONFIG_TAHVO_USB=m CONFIG_TAHVO_USB_HOST_BY_DEFAULT=y @@ -5702,7 +5779,6 @@ CONFIG_USB_GADGET_STORAGE_NUM_BUFFERS=2 CONFIG_USB_FOTG210_UDC=m CONFIG_USB_GR_UDC=m CONFIG_USB_R8A66597=m -CONFIG_USB_RENESAS_USBHS_UDC=m CONFIG_USB_PXA27X=m CONFIG_USB_MV_UDC=m CONFIG_USB_MV_U3D=m @@ -5729,6 +5805,8 @@ CONFIG_USB_F_SUBSET=m CONFIG_USB_F_RNDIS=m CONFIG_USB_F_MASS_STORAGE=m CONFIG_USB_F_FS=m +CONFIG_USB_F_UAC1=m +CONFIG_USB_F_UVC=m CONFIG_USB_CONFIGFS=m CONFIG_USB_CONFIGFS_SERIAL=y CONFIG_USB_CONFIGFS_ACM=y @@ -5769,6 +5847,7 @@ CONFIG_USB_G_DBGP=m # CONFIG_USB_G_DBGP_PRINTK is not set CONFIG_USB_G_DBGP_SERIAL=y CONFIG_USB_G_WEBCAM=m +CONFIG_USB_LED_TRIG=y CONFIG_UWB=m CONFIG_UWB_HWA=m CONFIG_UWB_WHCI=m @@ -5864,6 +5943,7 @@ CONFIG_LEDS_MC13783=m CONFIG_LEDS_TCA6507=m CONFIG_LEDS_MAX8997=m CONFIG_LEDS_LM355x=m +CONFIG_LEDS_MENF21BMC=m # # LED driver for blink(1) USB RGB LED is under Special HID drivers (HID_THINGM) @@ -5968,6 +6048,7 @@ CONFIG_RTC_DRV_MAX8925=m CONFIG_RTC_DRV_MAX8998=m CONFIG_RTC_DRV_MAX8997=m CONFIG_RTC_DRV_MAX77686=m +CONFIG_RTC_DRV_MAX77802=m CONFIG_RTC_DRV_RS5C372=m CONFIG_RTC_DRV_ISL1208=m CONFIG_RTC_DRV_ISL12022=m @@ -6024,7 +6105,6 @@ CONFIG_RTC_DRV_DS2404=m CONFIG_RTC_DRV_DA9052=m CONFIG_RTC_DRV_DA9055=m CONFIG_RTC_DRV_DA9063=m -CONFIG_RTC_DRV_EFI=m CONFIG_RTC_DRV_STK17TA8=m CONFIG_RTC_DRV_M48T86=m CONFIG_RTC_DRV_M48T35=m @@ -6126,13 +6206,13 @@ CONFIG_XEN_GRANT_DEV_ALLOC=m CONFIG_SWIOTLB_XEN=y CONFIG_XEN_TMEM=m CONFIG_XEN_PCIDEV_BACKEND=m +CONFIG_XEN_SCSI_BACKEND=m CONFIG_XEN_PRIVCMD=m CONFIG_XEN_ACPI_PROCESSOR=y CONFIG_XEN_MCE_LOG=y CONFIG_XEN_HAVE_PVMMU=y CONFIG_XEN_EFI=y CONFIG_STAGING=y -CONFIG_ET131X=m CONFIG_SLICOSS=m CONFIG_PRISM2_USB=m CONFIG_COMEDI=m @@ -6140,12 +6220,10 @@ CONFIG_COMEDI=m CONFIG_COMEDI_DEFAULT_BUF_SIZE_KB=2048 CONFIG_COMEDI_DEFAULT_BUF_MAXSIZE_KB=20480 CONFIG_COMEDI_MISC_DRIVERS=y -CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_BOND=m CONFIG_COMEDI_TEST=m CONFIG_COMEDI_PARPORT=m CONFIG_COMEDI_SERIAL2002=m -CONFIG_COMEDI_SKEL=m CONFIG_COMEDI_ISA_DRIVERS=y CONFIG_COMEDI_PCL711=m CONFIG_COMEDI_PCL724=m @@ -6259,12 +6337,13 @@ CONFIG_COMEDI_NI_MIO_CS=m CONFIG_COMEDI_QUATECH_DAQP_CS=m CONFIG_COMEDI_USB_DRIVERS=y CONFIG_COMEDI_DT9812=m +CONFIG_COMEDI_NI_USB6501=m CONFIG_COMEDI_USBDUX=m CONFIG_COMEDI_USBDUXFAST=m CONFIG_COMEDI_USBDUXSIGMA=m CONFIG_COMEDI_VMK80XX=m CONFIG_COMEDI_8255=m -CONFIG_COMEDI_FC=m +CONFIG_COMEDI_KCOMEDILIB=m CONFIG_COMEDI_AMPLC_DIO200=m CONFIG_COMEDI_AMPLC_PC236=m CONFIG_COMEDI_DAS08=m @@ -6284,13 +6363,10 @@ CONFIG_RTL8192E=m CONFIG_R8712U=m CONFIG_R8188EU=m CONFIG_88EU_AP_MODE=y -CONFIG_R8192EE=m CONFIG_R8723AU=m CONFIG_8723AU_AP_MODE=y CONFIG_8723AU_BT_COEXIST=y -CONFIG_R8821AE=m CONFIG_RTS5208=m -# CONFIG_RTS5208_DEBUG is not set CONFIG_LINE6_USB=m # CONFIG_LINE6_USB_IMPULSE_RESPONSE is not set CONFIG_VT6655=m @@ -6340,13 +6416,8 @@ CONFIG_AD7746=m # # Direct Digital Synthesis # -CONFIG_AD5930=m CONFIG_AD9832=m CONFIG_AD9834=m -CONFIG_AD9850=m -CONFIG_AD9852=m -CONFIG_AD9910=m -CONFIG_AD9951=m # # Digital gyroscope sensors @@ -6422,7 +6493,6 @@ CONFIG_SPEAKUP_SYNTH_DUMMY=m CONFIG_TOUCHSCREEN_CLEARPAD_TM1217=m CONFIG_TOUCHSCREEN_SYNAPTICS_I2C_RMI4=m CONFIG_STAGING_MEDIA=y -CONFIG_DVB_AS102=m CONFIG_I2C_BCM2048=m CONFIG_DVB_CXD2099=m CONFIG_VIDEO_DT3155=m @@ -6466,8 +6536,6 @@ CONFIG_LNET=m CONFIG_LNET_MAX_PAYLOAD=1048576 CONFIG_LNET_SELFTEST=m CONFIG_LNET_XPRT_IB=m -CONFIG_XILLYBUS=m -CONFIG_XILLYBUS_PCIE=m CONFIG_DGNC=m CONFIG_DGAP=m CONFIG_GS_FPGABOOT=m @@ -6540,6 +6608,7 @@ 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 @@ -6548,11 +6617,14 @@ CONFIG_COMMON_CLK=y # Common Clock Framework # CONFIG_COMMON_CLK_WM831X=m +CONFIG_COMMON_CLK_MAX_GEN=y CONFIG_COMMON_CLK_MAX77686=m +CONFIG_COMMON_CLK_MAX77802=m CONFIG_COMMON_CLK_SI5351=m CONFIG_COMMON_CLK_S2MPS11=m CONFIG_CLK_TWL6040=m CONFIG_COMMON_CLK_PALMAS=m +# CONFIG_COMMON_CLK_PXA is not set # # Hardware Spinlock drivers @@ -6564,6 +6636,7 @@ CONFIG_COMMON_CLK_PALMAS=m CONFIG_CLKEVT_I8253=y CONFIG_I8253_LOCK=y CONFIG_CLKBLD_I8253=y +# CONFIG_ATMEL_PIT is not set # CONFIG_SH_TIMER_CMT is not set # CONFIG_SH_TIMER_MTU2 is not set # CONFIG_SH_TIMER_TMU is not set @@ -6589,6 +6662,10 @@ CONFIG_STE_MODEM_RPROC=m # # Rpmsg drivers # + +# +# SOC (System On Chip) specific Drivers +# CONFIG_PM_DEVFREQ=y # @@ -6614,6 +6691,7 @@ CONFIG_EXTCON_MAX14577=m CONFIG_EXTCON_MAX77693=m CONFIG_EXTCON_MAX8997=m CONFIG_EXTCON_PALMAS=m +CONFIG_EXTCON_RT8973A=m CONFIG_EXTCON_SM5502=m CONFIG_MEMORY=y CONFIG_IIO=m @@ -6628,6 +6706,7 @@ CONFIG_IIO_CONSUMERS_PER_TRIGGER=2 # Accelerometers # CONFIG_BMA180=m +CONFIG_BMC150_ACCEL=m CONFIG_HID_SENSOR_ACCEL_3D=m CONFIG_IIO_ST_ACCEL_3AXIS=m CONFIG_IIO_ST_ACCEL_I2C_3AXIS=m @@ -6657,6 +6736,7 @@ CONFIG_MCP3422=m CONFIG_MEN_Z188_ADC=m CONFIG_NAU7802=m CONFIG_TI_ADC081C=m +CONFIG_TI_ADC128S052=m CONFIG_TI_AM335X_ADC=m CONFIG_TWL4030_MADC=m CONFIG_TWL6030_GPADC=m @@ -6718,6 +6798,7 @@ CONFIG_ADIS16130=m CONFIG_ADIS16136=m CONFIG_ADIS16260=m CONFIG_ADXRS450=m +CONFIG_BMG160=m CONFIG_HID_SENSOR_GYRO_3D=m CONFIG_IIO_ST_GYRO_3AXIS=m CONFIG_IIO_ST_GYRO_I2C_3AXIS=m @@ -6743,6 +6824,7 @@ CONFIG_IIO_ADIS_LIB_BUFFER=y # Light sensors # CONFIG_ADJD_S311=m +CONFIG_AL3320A=m CONFIG_APDS9300=m CONFIG_CM32181=m CONFIG_CM36651=m @@ -6825,6 +6907,8 @@ CONFIG_PWM=y CONFIG_PWM_SYSFS=y CONFIG_PWM_LP3943=m CONFIG_PWM_LPSS=m +CONFIG_PWM_LPSS_PCI=m +CONFIG_PWM_LPSS_PLATFORM=m CONFIG_PWM_TWL=m CONFIG_PWM_TWL_LED=m CONFIG_IPACK_BUS=m @@ -6944,6 +7028,7 @@ CONFIG_QUOTACTL_COMPAT=y CONFIG_AUTOFS4_FS=m CONFIG_FUSE_FS=y CONFIG_CUSE=m +CONFIG_OVERLAY_FS=m # # Caches @@ -7099,6 +7184,7 @@ CONFIG_NFSD_V3_ACL=y CONFIG_NFSD_V4=y CONFIG_NFSD_V4_SECURITY_LABEL=y # CONFIG_NFSD_FAULT_INJECTION is not set +CONFIG_GRACE_PERIOD=m CONFIG_LOCKD=m CONFIG_LOCKD_V4=y CONFIG_NFS_ACL_SUPPORT=m @@ -7269,6 +7355,7 @@ CONFIG_PANIC_ON_OOPS_VALUE=0 CONFIG_PANIC_TIMEOUT=0 CONFIG_SCHED_DEBUG=y CONFIG_SCHEDSTATS=y +# CONFIG_SCHED_STACK_END_CHECK is not set CONFIG_TIMER_STATS=y # @@ -7374,7 +7461,7 @@ CONFIG_TEST_KSTRTOX=m # CONFIG_TEST_RHASHTABLE is not set # CONFIG_PROVIDE_OHCI1394_DMA_INIT is not set # CONFIG_DMA_API_DEBUG is not set -CONFIG_TEST_MODULE=m +CONFIG_TEST_LKM=m CONFIG_TEST_USER_COPY=m CONFIG_TEST_BPF=m CONFIG_TEST_FIRMWARE=m @@ -7445,6 +7532,7 @@ CONFIG_SECURITY_SELINUX_AVC_STATS=y CONFIG_SECURITY_SELINUX_CHECKREQPROT_VALUE=1 # CONFIG_SECURITY_SELINUX_POLICYDB_VERSION_MAX is not set CONFIG_SECURITY_SMACK=y +# CONFIG_SECURITY_SMACK_BRINGUP is not set CONFIG_SECURITY_TOMOYO=y CONFIG_SECURITY_TOMOYO_MAX_ACCEPT_ENTRY=2048 CONFIG_SECURITY_TOMOYO_MAX_AUDIT_LOG=1024 @@ -7458,8 +7546,8 @@ CONFIG_SECURITY_YAMA=y CONFIG_SECURITY_YAMA_STACKED=y CONFIG_INTEGRITY=y CONFIG_INTEGRITY_SIGNATURE=y -CONFIG_INTEGRITY_AUDIT=y CONFIG_INTEGRITY_ASYMMETRIC_KEYS=y +CONFIG_INTEGRITY_AUDIT=y CONFIG_IMA=y CONFIG_IMA_MEASURE_PCR_IDX=10 CONFIG_IMA_LSM_RULES=y @@ -7475,10 +7563,6 @@ CONFIG_IMA_DEFAULT_HASH="sha1" CONFIG_IMA_APPRAISE=y CONFIG_IMA_TRUSTED_KEYRING=y CONFIG_EVM=y - -# -# EVM options -# CONFIG_EVM_ATTR_FSUUID=y CONFIG_EVM_EXTRA_SMACK_XATTRS=y # CONFIG_DEFAULT_SECURITY_SELINUX is not set @@ -7520,6 +7604,7 @@ CONFIG_CRYPTO_NULL=m CONFIG_CRYPTO_PCRYPT=m CONFIG_CRYPTO_WORKQUEUE=y CONFIG_CRYPTO_CRYPTD=m +CONFIG_CRYPTO_MCRYPTD=m CONFIG_CRYPTO_AUTHENC=m CONFIG_CRYPTO_TEST=m CONFIG_CRYPTO_ABLK_HELPER=m @@ -7572,6 +7657,7 @@ CONFIG_CRYPTO_SHA1=y CONFIG_CRYPTO_SHA1_SSSE3=m CONFIG_CRYPTO_SHA256_SSSE3=m CONFIG_CRYPTO_SHA512_SSSE3=m +CONFIG_CRYPTO_SHA1_MB=m CONFIG_CRYPTO_SHA256=y CONFIG_CRYPTO_SHA512=y CONFIG_CRYPTO_TGR192=m diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 0651c08f91..3f83711f32 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -192,7 +192,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." #f))) (define-public linux-libre - (let* ((version "3.17.4") + (let* ((version "3.18") (build-phase '(lambda* (#:key system inputs #:allow-other-keys #:rest args) ;; Apply the neat patch. @@ -265,7 +265,7 @@ for SYSTEM, or #f if there is no configuration for SYSTEM." (uri (linux-libre-urls version)) (sha256 (base32 - "1wiiapji45yrbji5p0mmrjn32jbwbfga8rznpl22rngsjjayci8f")))) + "1kv03bhls9rya4sg3qixyjirc79pn2g5bcwldcj7hs4apa77sd0g")))) (build-system gnu-build-system) (native-inputs `(("perl" ,perl) ("bc" ,bc) From 01480b9e1cd9fca9ca346a8a112e788b1593ab56 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 8 Dec 2014 09:30:40 +0100 Subject: [PATCH 149/221] gnu: atlas: Remove MIPS from 'supported-systems'. * gnu/packages/maths.scm (atlas): Drop support for "mips64el-linux". --- gnu/packages/maths.scm | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index cc068b98c7..7296d48d83 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -953,6 +953,9 @@ point numbers") (inputs `(("gfortran" ,gfortran-4.8) ("lapack-tar" ,(package-source lapack)))) (outputs '("out" "doc")) + ;; For the moment we drop support for MIPS at it fails to compile. See + ;; https://lists.gnu.org/archive/html/guix-devel/2014-11/msg00516.html + (supported-systems (delete "mips64el-linux" %supported-systems)) (arguments `(#:parallel-build? #f #:parallel-tests? #f From c3ea85d110dbad391045a09ab7e382b3007deff9 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 8 Dec 2014 09:45:46 +0100 Subject: [PATCH 150/221] build-system/python: Add handling of 'propagated-inputs' in 'package-with-explicit-python'. * guix/build-system/python.scm (package-with-explicit-python): Add mapping for 'propagated-inputs'. --- guix/build-system/python.scm | 2 ++ 1 file changed, 2 insertions(+) diff --git a/guix/build-system/python.scm b/guix/build-system/python.scm index 78348e9cf7..4bba7167ca 100644 --- a/guix/build-system/python.scm +++ b/guix/build-system/python.scm @@ -86,6 +86,8 @@ prepended to the name." arguments))) (inputs (map rewrite (package-inputs p))) + (propagated-inputs + (map rewrite (package-propagated-inputs p))) (native-inputs (map rewrite (package-native-inputs p)))))) From a182e94e2535e13f8c18132ec461f5c8abd3e003 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Dec 2014 23:06:57 +0100 Subject: [PATCH 151/221] linux-initrd: Add the 'virtio_console' module for QEMU guests. * gnu/system/linux-initrd.scm (base-initrd)[virtio-modules]: Add "virtio_console". --- gnu/system/linux-initrd.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index 27e3f19402..ee6ce48828 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -166,7 +166,8 @@ modules can be listed in EXTRA-MODULES. They will be added to the initrd, and loaded at boot time in the order in which they appear." (define virtio-modules ;; Modules for Linux para-virtualized devices, for use in QEMU guests. - '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net")) + '("virtio_pci" "virtio_balloon" "virtio_blk" "virtio_net" + "virtio_console")) (define cifs-modules ;; Modules needed to mount CIFS file systems. From f6d9b3ded7642260915e2217b856c376940e2aa3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Dec 2014 23:28:48 +0100 Subject: [PATCH 152/221] gnu: Add socat. * gnu/packages/socat.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/socat.scm | 55 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 56 insertions(+) create mode 100644 gnu/packages/socat.scm diff --git a/gnu-system.am b/gnu-system.am index 62fd9e54f4..e21771c669 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -239,6 +239,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/skribilo.scm \ gnu/packages/slim.scm \ gnu/packages/smalltalk.scm \ + gnu/packages/socat.scm \ gnu/packages/ssh.scm \ gnu/packages/stalonetray.scm \ gnu/packages/swig.scm \ diff --git a/gnu/packages/socat.scm b/gnu/packages/socat.scm new file mode 100644 index 0000000000..7c0bc3d964 --- /dev/null +++ b/gnu/packages/socat.scm @@ -0,0 +1,55 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Ludovic Courtès +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages socat) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages openssl)) + +;; XXX: Group with other networking tools like tcpdump in a module? +(define-public socat + (package + (name "socat") + (version "1.7.2.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.dest-unreach.org/socat/download/socat-" + version ".tar.bz2")) + (sha256 + (base32 + "028yjka2zr6j1i8pmfmvzqki8ajczdl1hnry1x31xbbg3j83jxsb")))) + (build-system gnu-build-system) + (arguments '(#:tests? #f)) ;no 'check' phase + (inputs `(("openssl" ,openssl))) + (home-page "http://www.dest-unreach.org/socat/") + (synopsis + "Open bidirectional communication channels from the command line") + (description + "socat is a relay for bidirectional data transfer between two independent +data channels---files, pipes, devices, sockets, etc. It can create +\"listening\" sockets, named pipes, and pseudo terminals. + +socat can be used, for instance, as TCP port forwarder, as a shell interface +to UNIX sockets, IPv6 relay, for redirecting TCP oriented programs to a serial +line, to logically connect serial lines on different computers, or to +establish a relatively secure environment (su and chroot) for running client +or server shell scripts with network connections. ") + (license license:gpl2))) From 6412e58a6843aaec573a65bacf58308ac4ee9035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 11:06:22 +0100 Subject: [PATCH 153/221] system: Don't make /boot/grub/grub.cfg a symlink to the store. This would not work when /boot is a separate partition, as reported by Nikita Karetnikov in . This fixes a regression introduced in 39d1f82. * gnu/build/install.scm (install-grub): Copy GRUB.CFG instead of symlinking it, as was the case before 39d1f82. * gnu/build/vm.scm (register-grub.cfg-root): Add 'grub.cfg' parameter. Make it a permanent GC root instead of an indirect GC root. (initialize-hard-disk): Adjust accordingly. * guix/scripts/system.scm (install-grub*): Replace use of 'add-indirect-root' by the addition of a permanent GC root in %GC-ROOTS-DIRECTORY. --- gnu/build/install.scm | 13 ++++++++----- gnu/build/vm.scm | 19 ++++++------------- guix/scripts/system.scm | 13 +++++++++++-- 3 files changed, 25 insertions(+), 20 deletions(-) diff --git a/gnu/build/install.scm b/gnu/build/install.scm index 111b79ee59..aa901f6971 100644 --- a/gnu/build/install.scm +++ b/gnu/build/install.scm @@ -36,15 +36,18 @@ (define* (install-grub grub.cfg device mount-point) "Install GRUB with GRUB.CFG on DEVICE, which is assumed to be mounted on -MOUNT-POINT. Note that the caller must make sure that GRUB.CFG is registered -as a GC root." +MOUNT-POINT. + +Note that the caller must make sure that GRUB.CFG is registered as a GC root +so that the fonts, background images, etc. referred to by GRUB.CFG are not +GC'd." (let* ((target (string-append mount-point "/boot/grub/grub.cfg")) (pivot (string-append target ".new"))) (mkdir-p (dirname target)) - ;; Symlink GRUB.CFG, under the assumption that it has been registered as a - ;; GC root somewhere. Do that atomically. - (symlink grub.cfg pivot) + ;; Copy GRUB.CFG instead of just symlinking it, because symlinks won't + ;; work when /boot is on a separate partition. Do that atomically. + (copy-file grub.cfg pivot) (rename-file pivot target) (unless (zero? (system* "grub-install" "--no-floppy" diff --git a/gnu/build/vm.scm b/gnu/build/vm.scm index 1762582343..2c53cf5dd9 100644 --- a/gnu/build/vm.scm +++ b/gnu/build/vm.scm @@ -178,17 +178,11 @@ volume name." (display "populating...\n") (populate-root-file-system system-directory target-directory)) -(define (register-grub.cfg-root target) - "On file system TARGET, make '/boot/grub/grub.cfg' an indirect GC root." - (define hash - ;; XXX: Believe it or not, this is that nix-base32-encoded SHA1 of the - ;; string "/boot/grub/grub.cfg". We need it here, but gcrypt isn't - ;; available (a random hash would do as well, though.) - "kv0yq1d48kavqfhjfzvc4lcyazx2mqhv") - - (let ((directory (string-append target "/var/guix/gcroots/auto"))) +(define (register-grub.cfg-root target grub.cfg) + "On file system TARGET, register GRUB.CFG as a GC root." + (let ((directory (string-append target "/var/guix/gcroots"))) (mkdir-p directory) - (symlink "/boot/grub/grub.cfg" (string-append directory "/" hash)))) + (symlink grub.cfg (string-append directory "/grub.cfg")))) (define* (initialize-hard-disk device #:key @@ -234,9 +228,8 @@ SYSTEM-DIRECTORY is the name of the directory of the 'system' derivation." (install-grub grub.cfg device target-directory) - ;; Register $target/boot/grub/grub.cfg as an indirect root, so that GRUB.CFG - ;; is not reclaimed. - (register-grub.cfg-root target-directory) + ;; Register GRUB.CFG as a GC root. + (register-grub.cfg-root target-directory grub.cfg) ;; 'guix-register' resets timestamps and everything, so no need to do it ;; once more in that case. diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 6a2586086e..27404772b7 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -134,14 +134,23 @@ TARGET, and register them." (define (install-grub* grub.cfg device target) "This is a variant of 'install-grub' with error handling, lifted in %STORE-MONAD" - (let ((add-root (store-lift add-indirect-root))) + (let* ((gc-root (string-append %gc-roots-directory "/grub.cfg")) + (temp-gc-root (string-append gc-root ".new")) + (delete-file (lift1 delete-file %store-monad)) + (make-symlink (lift2 switch-symlinks %store-monad)) + (rename (lift2 rename-file %store-monad))) (mbegin %store-monad + ;; Prepare the symlink to GRUB.CFG to make sure that it's a GC root when + ;; 'install-grub' completes (being a bit paranoid.) + (make-symlink temp-gc-root grub.cfg) + (munless (false-if-exception (install-grub grub.cfg device target)) + (delete-file temp-gc-root) (leave (_ "failed to install GRUB on device '~a'~%") device)) ;; Register GRUB.CFG as a GC root so that its dependencies (background ;; image, font, etc.) are not reclaimed. - (add-root "/boot/grub/grub.cfg")))) + (rename temp-gc-root gc-root)))) (define* (install os-drv target #:key (log-port (current-output-port)) From 5f742c84d4d908bee8bf88b5c30a9e8ffe5cac0c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 11:24:56 +0100 Subject: [PATCH 154/221] substitute-binary: Add missing newline in download progress report. Fixes . Reported by rekado . * guix/scripts/substitute-binary.scm (guix-substitute-binary) <--substitute>: Add 'newline' call. --- guix/scripts/substitute-binary.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 0801057e39..9c96411630 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -758,6 +758,10 @@ substituter disabled~%") progress))) ;; Unpack the Nar at INPUT into DESTINATION. (restore-file input destination) + + ;; Skip a line after what 'progress-proc' printed. + (newline (current-error-port)) + (every (compose zero? cdr waitpid) pids)))) (("--version") (show-version-and-exit "guix substitute-binary")) From 659a92fc7b99e1fdf153e469ea2471c5e143fdf9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 11:30:26 +0100 Subject: [PATCH 155/221] doc: Explain how to set the ownership and permissions of /gnu/store. Fixes . Reported by rekado . * doc/guix.texi (Build Environment Setup): Show commands to set the ownership and permissions of /gnu/store. --- doc/guix.texi | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/doc/guix.texi b/doc/guix.texi index 22f248481f..bb52cf713f 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -347,6 +347,15 @@ Bash syntax and the @code{shadow} commands): done @end example +The @file{/gnu/store} directory (or whichever was specified with the +@code{--with-store-dir} option) must have ownership and permissions as +follows: + +@example +# chgrp guix-builder /gnu/store +# chmod 1775 /gnu/store +@end example + @noindent The @code{guix-daemon} program may then be run as @code{root} with: From 9f6f1aacf64371e0536fd52ea032dd164d08f436 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 11:34:24 +0100 Subject: [PATCH 156/221] Thank rekado. --- THANKS | 1 + 1 file changed, 1 insertion(+) diff --git a/THANKS b/THANKS index dcd3717c36..d8968b78ac 100644 --- a/THANKS +++ b/THANKS @@ -26,6 +26,7 @@ infrastructure help: Niels Möller Yutaka Niibe Adam Pribyl + rekado Bruno Félix Rezende Ribeiro Cyrill Schenkel Benno Schulenberg From 6005bd0700544df27331c6aad9c7642dce9a91c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 11:44:21 +0100 Subject: [PATCH 157/221] build: Make sure the installed 'config.go' is newer than 'config.scm'. Fixes . Reported by rekado . * gnu-system.am (install-data-hook): Rename to... (set-bootstrap-executable-permissions): ... this. * Makefile.am (install-data-hook): New target. --- Makefile.am | 7 +++++++ gnu-system.am | 2 +- 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/Makefile.am b/Makefile.am index 25ff2224cc..bc0b95232e 100644 --- a/Makefile.am +++ b/Makefile.am @@ -282,6 +282,13 @@ SUFFIXES = .go guix_install_go_files = install-nobase_nodist_guilemoduleDATA $(guix_install_go_files): install-nobase_dist_guilemoduleDATA +# The above trick doesn't work for 'config.go' because both 'config.scm' and +# 'config.go' are listed in $(nobase_nodist_guilemodule_DATA). Thus, give it +# special treatment. +install-data-hook: set-bootstrap-executable-permissions + touch "$(DESTDIR)$(guilemoduledir)/guix/config.go" + + SUBDIRS = po/guix po/packages BUILT_SOURCES = diff --git a/gnu-system.am b/gnu-system.am index e21771c669..ab62510159 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -484,7 +484,7 @@ nodist_bootstrap_mips64el_linux_DATA = \ # Those files must remain executable, so they remain executable once # imported into the store. -install-data-hook: +set-bootstrap-executable-permissions: chmod +x $(DESTDIR)$(bootstrapdir)/*/{bash,mkdir,tar,xz} DISTCLEANFILES = \ From a693bba13510868a7edaabd37b8bd2c8335fdcf1 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 8 Dec 2014 21:36:03 +0800 Subject: [PATCH 158/221] gnu: Add startup-notification. * gnu/packages/xdisorg.scm (startup-notification): New variable. --- gnu/packages/xdisorg.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a4e6bce22d..a118fd745e 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -189,3 +189,29 @@ put into mtdev may be from any MT device, specifically type A without contact tracking, type A with contact tracking, or type B with contact tracking.") (license license:x11))) + +(define-public startup-notification + (package + (name "startup-notification") + (version "0.12") + (source + (origin + (method url-fetch) + (uri (string-append "http://www.freedesktop.org/software/" name + "/releases/" name "-" version ".tar.gz")) + (sha256 + (base32 + "0jmyryrpqb35y9hd5sgxqy2z0r1snw7d3ljw0jak0n0cjdz1yf9w")))) + (build-system gnu-build-system) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("xcb-util" ,xcb-util))) + (home-page "http://www.freedesktop.org/wiki/Software/startup-notification/") + (synopsis "Application startup notification and feedback library") + (description + "Startup-notification contains a reference implementation of the startup +notification protocol. The reference implementation is mostly under an X Window +System style license, and has no special dependencies.") + ;; Most of the code is provided under x11 license. + (license license:lgpl2.0+))) From fecbf86eaad42b5856438e5c02d58fcf57582286 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Mon, 8 Dec 2014 23:00:41 +0800 Subject: [PATCH 159/221] gnu: Add libwnck. * gnu/packages/gnome.scm (libwnck, libwnck-1): New variables. --- gnu/packages/gnome.scm | 47 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 46 insertions(+), 1 deletion(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 5fa892ad07..bbb700c8ab 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -46,7 +46,8 @@ #:use-module (gnu packages xml) #:use-module (gnu packages gl) #:use-module (gnu packages compression) - #:use-module (gnu packages xorg)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public brasero (package @@ -1119,6 +1120,50 @@ widgets built in the loading process.") controls using the Bonobo component framework.") (license license:lgpl2.0+))) +(define-public libwnck + (package + (name "libwnck") + (version "3.14.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 "074jww04z8g9r1acndqap79wx4kbm3rpkf4lcg1v82b66iv0027m")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + `(("gtk+" ,gtk+))) + (inputs + `(("startup-notification" ,startup-notification) + ("libxres" ,libxres))) + (home-page "https://developer.gnome.org/libwnck/") + (synopsis "Window Navigator Construction Kit") + (description + "Libwnck is the Window Navigator Construction Kit, a library for use in +writing pagers, tasklists, and more generally applications that are dealing +with window management. It tries hard to respect the Extended Window Manager +Hints specification (EWMH).") + (license license:lgpl2.0+))) + +;; stable version for gtk2, required by xfwm4. +(define-public libwnck-1 + (package (inherit libwnck) + (name "libwnck") + (version "2.30.7") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnome/sources/" name "/" + (version-major+minor version) "/" + name "-" version ".tar.xz")) + (sha256 + (base32 + "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b")))) + (propagated-inputs + `(("gtk+" ,gtk+-2))))) (define-public goffice (package From 4e2a21d3d2d72146059ad58b4832317990d37b24 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 5 Dec 2014 20:01:07 +0800 Subject: [PATCH 160/221] system: Cleanup bash startup files. * gnu/system.scm (etc-directory) (bashrc): Rename to 'profile'. * gnu/system/shadow.scm (default-skeletons): Rename '.bashrc' to '.bash_profile'. Don't source /etc/profile. --- gnu/system.scm | 15 +++++---------- gnu/system/shadow.scm | 13 +++++++++---- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 899a16d6ee..5cb6c9e947 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -386,11 +386,10 @@ This is the GNU system. Welcome.\n") (nsswitch (text-file "nsswitch.conf" "hosts: files dns\n")) - ;; TODO: Generate bashrc from packages' search-paths. - (bashrc (text-file* "bashrc" " -export PS1='\\u@\\h \\w\\$ ' - -export LC_ALL=\"" locale "\" + ;; Startup file for POSIX-compliant login shells, which set system-wide + ;; environment variables. + (profile (text-file* "profile" "\ +export LANG=\"" locale "\" export TZ=\"" timezone "\" export TZDIR=\"" tzdata "/share/zoneinfo\" @@ -399,11 +398,7 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH -export CPATH=$HOME/.guix-profile/include:" profile "/include -export LIBRARY_PATH=$HOME/.guix-profile/lib:" profile "/lib export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info -alias ls='ls -p --color' -alias ll='ls -l' ")) (skel (skeleton-directory skeletons))) (file-union "etc" @@ -416,7 +411,7 @@ alias ll='ls -l' ("nsswitch.conf" ,#~#$nsswitch) ("skel" ,#~#$skel) ("shells" ,#~#$shells) - ("profile" ,#~#$bashrc) + ("profile" ,#~#$profile) ("hosts" ,#~#$hosts-file) ("localtime" ,#~(string-append #$tzdata "/share/zoneinfo/" #$timezone)) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 6970021e1f..4a2322bf69 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -115,9 +115,13 @@ (copy-file (car (find-files #$guile-wm "wm-init-sample.scm")) #$output))) - (mlet %store-monad ((bashrc (text-file "bashrc" "\ -# Allow non-login shells such as an xterm to get things right. -test -f /etc/profile && source /etc/profile\n")) + (mlet %store-monad ((profile (text-file "bash_profile" "\ +# Honor per-interactive-shell startup file +if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) + (bashrc (text-file "bashrc" "\ +PS1='\\u@\\h \\w\\$ ' +alias ls='ls -p --color' +alias ll='ls -l'\n")) (guile-wm (gexp->derivation "guile-wm" copy-guile-wm #:modules '((guix build utils)))) @@ -127,7 +131,8 @@ XTerm*metaSendsEscape: true\n")) (gdbinit (text-file "gdbinit" "\ # Tell GDB where to look for separate debugging files. set debug-file-directory ~/.guix-profile/lib/debug\n"))) - (return `((".bashrc" ,bashrc) + (return `((".bash_profile" ,profile) + (".bashrc" ,bashrc) (".Xdefaults" ,xdefaults) (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit))))) From 02f707c590fa3c5bbd74168468bf561b47317f71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Fri, 5 Dec 2014 21:17:49 +0800 Subject: [PATCH 161/221] system: Add skeleton '.zlogin'. * gnu/system/shadow.scm (default-skeletons): Add .zlogin. --- gnu/system/shadow.scm | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/gnu/system/shadow.scm b/gnu/system/shadow.scm index 4a2322bf69..b4ba0060bd 100644 --- a/gnu/system/shadow.scm +++ b/gnu/system/shadow.scm @@ -122,6 +122,9 @@ if [ -f ~/.bashrc ]; then . ~/.bashrc; fi\n")) PS1='\\u@\\h \\w\\$ ' alias ls='ls -p --color' alias ll='ls -l'\n")) + (zlogin (text-file "zlogin" "\ +# Honor system-wide environment variables +source /etc/profile\n")) (guile-wm (gexp->derivation "guile-wm" copy-guile-wm #:modules '((guix build utils)))) @@ -133,6 +136,7 @@ XTerm*metaSendsEscape: true\n")) set debug-file-directory ~/.guix-profile/lib/debug\n"))) (return `((".bash_profile" ,profile) (".bashrc" ,bashrc) + (".zlogin" ,zlogin) (".Xdefaults" ,xdefaults) (".guile-wm" ,guile-wm) (".gdbinit" ,gdbinit))))) From 427476d57d01d7060d63c5d090ca953680060c71 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Tue, 9 Dec 2014 19:15:07 +0800 Subject: [PATCH 162/221] gnu: libwnck: Propagate inputs. * gnu/packages/gnome.scm (libwnck, libwnck-1): Propagate inputs libxres and startup-notification. --- gnu/packages/gnome.scm | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index bbb700c8ab..1d3ce25421 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -1136,10 +1136,9 @@ controls using the Bonobo component framework.") `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) (propagated-inputs - `(("gtk+" ,gtk+))) - (inputs - `(("startup-notification" ,startup-notification) - ("libxres" ,libxres))) + `(("gtk+" ,gtk+) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))) (home-page "https://developer.gnome.org/libwnck/") (synopsis "Window Navigator Construction Kit") (description @@ -1163,7 +1162,9 @@ Hints specification (EWMH).") (base32 "15713yl0f8f3p99jzqqfmbicrdswd3vwpx7r3bkf1bgh6d9lvs4b")))) (propagated-inputs - `(("gtk+" ,gtk+-2))))) + `(("gtk+" ,gtk+-2) + ("libxres" ,libxres) + ("startup-notification" ,startup-notification))))) (define-public goffice (package From d6e941bc95a508468243527c7a91403837ff3057 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Sun, 7 Dec 2014 10:12:33 +0100 Subject: [PATCH 163/221] gnu: add msmtp MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/mail.scm (msmtp): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/mail.scm | 35 +++++++++++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/gnu/packages/mail.scm b/gnu/packages/mail.scm index 752cb5162e..6051dabb29 100644 --- a/gnu/packages/mail.scm +++ b/gnu/packages/mail.scm @@ -36,9 +36,11 @@ #:use-module (gnu packages gnome) #:use-module (gnu packages gnupg) #:use-module (gnu packages gnutls) + #:use-module (gnu packages gsasl) #:use-module (gnu packages gtk) #:use-module (gnu packages guile) #:use-module (gnu packages libcanberra) + #:use-module (gnu packages libidn) #:use-module (gnu packages linux) #:use-module (gnu packages m4) #:use-module (gnu packages databases) @@ -493,4 +495,37 @@ which can add many functionalities to the base client.") (home-page "http://www.claws-mail.org/") (license gpl3+))) ; most files are actually public domain or x11 +(define-public msmtp + (package + (name "msmtp") + (version "1.4.32") + (source + (origin + (method url-fetch) + (uri (string-append + "http://downloads.sourceforge.net/project/msmtp/msmtp/" version + "/msmtp-" version ".tar.bz2")) + (sha256 (base32 + "122z38pv4q03w3mbnhrhg4w85a51258sfdg2ips0b6cgwz3wbw1b")))) + (build-system gnu-build-system) + (inputs + `(("libidn" ,libidn) + ("gnutls" ,gnutls) + ("zlib" ,zlib) + ("gsasl" ,gsasl))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://msmtp.sourceforge.net/") + (arguments + `(#:configure-flags (list "--with-libgsasl" + "--with-libidn" + "--with-ssl=gnutls"))) + (synopsis + "Simple and easy to use SMTP client with decent sendmail compatibility") + (description + "msmtp is an SMTP client. In the default mode, it transmits a mail to +an SMTP server (for example at a free mail provider) which takes care of further +delivery.") + (license gpl3+))) + ;;; mail.scm ends here From 03356e977567b76e981c04af20302018f9f02fac Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 13:16:58 +0100 Subject: [PATCH 164/221] =?UTF-8?q?Add=20Tom=C3=A1=C5=A1=20to=20'AUTHORS'.?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index ced88a1e4a..19cf492270 100644 --- a/AUTHORS +++ b/AUTHORS @@ -13,6 +13,7 @@ alphabetical order): Federico Beffa Marek Benc Sou Bunnbu (宋文武) + Tomáš Čech Ludovic Courtès John Darrington Andreas Enge From 15f5f68656902944ecc0717ad0e2afe776259ac7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Tom=C3=A1=C5=A1=20=C4=8Cech?= Date: Mon, 8 Dec 2014 10:17:49 +0100 Subject: [PATCH 165/221] gnu: Add slock. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/dwm.scm (slock): New variable. Signed-off-by: Ludovic Courtès --- gnu/packages/dwm.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm index 88758f21d3..1a02aa3769 100644 --- a/gnu/packages/dwm.scm +++ b/gnu/packages/dwm.scm @@ -112,3 +112,30 @@ state.") "A dynamic menu for X, originally designed for dwm. It manages large numbers of user-defined menu items efficiently.") (license x11))) + +(define-public slock + (package + (name "slock") + (version "1.1") + (source (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/tools/slock-" + version ".tar.gz")) + (sha256 + (base32 + "1r70s3npmp0nyrfdsxz8cw1i1z8n9phqdlw02wjphv341h3yajp0")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no tests + #:make-flags (list "CC=gcc" + (string-append "PREFIX=" %output)) + #:phases (alist-delete 'configure %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxinerama" ,libxinerama))) + (home-page "http://tools.suckless.org/slock/") + (synopsis "Simple X session lock") + (description + "Simple X session lock with trivial feedback on password entry.") + (license x11))) From a415f036e89b375c82cbaea8f783430788d0012f Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Mon, 8 Dec 2014 10:08:00 +0100 Subject: [PATCH 166/221] gnu: Add pycparser. * gnu/packages/python.scm (python-pycparser, python2-pycparser): New variables. --- gnu/packages/python.scm | 47 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 47 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c9f9b16cfe..c30cffa68c 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2449,3 +2449,50 @@ a general image processing tool.") (define-public python2-pillow (package-with-python2 python-pillow)) +(define-public python-pycparser + (package + (name "python-pycparser") + (version "2.10") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/p/" + "pycparser/pycparser-" version ".tar.gz")) + (sha256 + (base32 + "0v5qfq03yvd1pi0dwlgfai0p3dh9bq94pydn19c4pdn0c6v9hzcm")))) + (outputs '("out" "doc")) + (build-system python-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:phases + (alist-replace + 'check + (lambda _ + (with-directory-excursion "tests" + (zero? (system* "python" "all_tests.py")))) + (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 "-" ,version)) + (examples (string-append doc "/examples"))) + (mkdir-p examples) + (for-each (lambda (file) + (copy-file (string-append "." file) + (string-append doc file))) + '("/README.rst" "/CHANGES" "/LICENSE")) + (copy-recursively "examples" examples))) + %standard-phases)))) + (home-page "https://github.com/eliben/pycparser") + (synopsis "C parser in Python") + (description + "Pycparser is a complete parser of the C language, written in pure Python +using the PLY parsing library. It parses C code into an AST and can serve as +a front-end for C compilers or analysis tools.") + (license bsd-3))) + +(define-public python2-pycparser + (package-with-python2 python-pycparser)) From 66717243d0683fa05b5630c2e011f3a486a8d316 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Tue, 9 Dec 2014 13:31:17 +0100 Subject: [PATCH 167/221] gnu: gobject-introspection: Update to 1.42.0 and add new patch. * gnu/packages/glib.scm (gobject-introspection): Update to version 1.42.0. Add patch 'gobject-introspection-absolute-shlib-path.patch' provided by Luca Bruno for Nix. --- gnu/packages/glib.scm | 20 ++++++++----- ...ct-introspection-absolute-shlib-path.patch | 30 +++++++++++++++++++ 2 files changed, 42 insertions(+), 8 deletions(-) create mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index a6a7b03573..159762c77c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -197,17 +197,18 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.38.0") + (version "1.42.0") (source (origin (method url-fetch) (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/" - "gobject-introspection/" - (substring version 0 (string-rindex version #\.)) - "/gobject-introspection-" - version ".tar.xz")) + "gobject-introspection/" (version-major+minor version) + "/gobject-introspection-" version ".tar.xz")) (sha256 - (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")) - (patches (list (search-patch "gobject-introspection-cc.patch"))))) + (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv")) + (patches (list + (search-patch "gobject-introspection-cc.patch") + (search-patch + "gobject-introspection-absolute-shlib-path.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -223,7 +224,10 @@ dynamic loading, and an object system.") ;; gobject-introspection. ("libffi" ,libffi))) (arguments - `(#:phases + `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes + ;; some tests to fail. + #:tests? #f + #:phases (alist-cons-before 'configure 'patch-paths (lambda _ diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch new file mode 100644 index 0000000000..d00cc5a420 --- /dev/null +++ b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch @@ -0,0 +1,30 @@ +# Names of libraries included in typelib files are opened by dlopen. Here we +# add the full path. +# +# This patch was provided by Luca Bruno for +# 'gobject-introspection' 1.40.0 in Nix. +--- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 ++++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 +@@ -110,17 +110,11 @@ + if dlname is None: + return None + +- # Darwin uses absolute paths where possible; since the libtool files never +- # contain absolute paths, use the libdir field +- if platform.system() == 'Darwin': +- dlbasename = os.path.basename(dlname) +- libdir = _extract_libdir_field(la_file) +- if libdir is None: +- return dlbasename +- return libdir + '/' + dlbasename +- # From the comments in extract_libtool(), older libtools had +- # a path rather than the raw dlname +- return os.path.basename(dlname) ++ dlbasename = os.path.basename(dlname) ++ libdir = _extract_libdir_field(la_file) ++ if libdir is None: ++ return dlbasename ++ return libdir + '/' + dlbasename + + + def extract_libtool(la_file): From 5a4753a6997206b2c450ae1d3654c0eed286c1a2 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Tue, 9 Dec 2014 13:43:03 +0100 Subject: [PATCH 168/221] gnu: gobject-introspection: Define search path for typelib files. * gnu/packages/glib.scm (gobject-introspection): Add 'native-search-paths' and 'search-paths' fields. --- gnu/packages/glib.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 159762c77c..4f18ef7a88 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -223,6 +223,11 @@ dynamic loading, and an object system.") `(;; In practice, GIR users will need libffi when using ;; gobject-introspection. ("libffi" ,libffi))) + (native-search-paths + (list (search-path-specification + (variable "GI_TYPELIB_PATH") + (directories '("lib/girepository-1.0"))))) + (search-paths native-search-paths) (arguments `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes ;; some tests to fail. From 47833c90d52198c94b27f102d94eed696112bd0e Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 26 Nov 2014 11:17:13 -0600 Subject: [PATCH 169/221] gnu: Add astyle. * gnu/packages/pretty-print.scm (astyle): New variable. --- gnu/packages/pretty-print.scm | 41 +++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/gnu/packages/pretty-print.scm b/gnu/packages/pretty-print.scm index bd38a4b53d..1576c3dfea 100644 --- a/gnu/packages/pretty-print.scm +++ b/gnu/packages/pretty-print.scm @@ -196,3 +196,44 @@ output to 8 different formats, including HTML, LaTeX and ODF. It can also output to ANSI color escape sequences, so that highlighted source code can be seen in a terminal.") (license gpl3+))) + +(define-public astyle + (package + (name "astyle") + (version "2.05") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/astyle/astyle/astyle%20" + version "/astyle_" version "_linux.tar.gz")) + (sha256 + (base32 + "0f9sh9kq5ajp1yz133h00fr9235p1m698x7n3h7zbrhjiwgynd6s")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ;no tests + #:make-flags (list (string-append "prefix=" %output) + "INSTALL=install" + "all") + #:phases (alist-replace + 'configure + (lambda _ (chdir "build/gcc")) + (alist-cons-after + 'install 'install-libs + (lambda* (#:key outputs #:allow-other-keys) + ;; Libraries are not installed by default + (let* ((output (assoc-ref outputs "out")) + (libdir (string-append output "/lib"))) + (begin + (mkdir-p libdir) + (for-each (lambda (l) + (copy-file + l (string-append libdir "/" (basename l)))) + (find-files "bin" "lib*"))))) + %standard-phases)))) + (home-page "http://astyle.sourceforge.net/") + (synopsis "Source code indenter, formatter, and beautifier") + (description + "Artistic Style is a source code indenter, formatter, and beautifier for +the C, C++, C++/CLI, Objective‑C, C#, and Java programming languages.") + (license lgpl3+))) From 8d809faf8cdd4f06ebfbce7d466d67d00ad12869 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Wed, 26 Nov 2014 13:22:00 -0600 Subject: [PATCH 170/221] gnu: Add delta. * gnu/packages/debug.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/debug.scm | 73 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 74 insertions(+) create mode 100644 gnu/packages/debug.scm diff --git a/gnu-system.am b/gnu-system.am index ab62510159..1ff234550d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -72,6 +72,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/databases.scm \ gnu/packages/datamash.scm \ gnu/packages/dc.scm \ + gnu/packages/debug.scm \ gnu/packages/dejagnu.scm \ gnu/packages/dictionaries.scm \ gnu/packages/disk.scm \ diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm new file mode 100644 index 0000000000..37697cc2c6 --- /dev/null +++ b/gnu/packages/debug.scm @@ -0,0 +1,73 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages debug) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages perl)) + +(define-public delta + (package + (name "delta") + (version "2006.08.03") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://ftp.de.debian.org/debian/pool/main/d/delta/" + "delta_" version ".orig.tar.gz") + ;; This uri seems to send guix download into an infinite loop + (string-append "http://delta.tigris.org/files/documents/3103/" + "33566/delta-" version ".tar.gz"))) + (sha256 + (base32 + "184wh35pf2ddx97319s6sgkzpz48xxkbwzcjpycv009bm53lh61q")))) + (build-system gnu-build-system) + (inputs ;Installed programs are perl scripts + `(("perl" ,perl))) + (arguments + `(#:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + ;; Makefile contains no install target + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (doc (string-append out "/share/doc/delta-" ,version))) + (begin + (mkdir-p bin) + (mkdir-p doc) + (for-each (lambda (h) + (copy-file h (string-append doc "/" (basename h)))) + `("License.txt" ,@(find-files "www" ".*\\.html"))) + (for-each (lambda (b) + (copy-file b (string-append bin "/" b))) + `("delta" "multidelta" "topformflat"))))) + (alist-delete 'configure %standard-phases)))) + (home-page "http://delta.tigris.org/") + (synopsis "Heuristical file minimizer") + (description + "Delta assists you in minimizing \"interesting\" files subject to a test +of their interestingness. A common such situation is when attempting to +isolate a small failure-inducing substring of a large input that causes your +program to exhibit a bug.") + ;; See License.txt, which is a bsd-3 license, despite the project's + ;; home-page pointing to a bsd-2 license. + (license bsd-3))) From 2aa466247fd037f274ee8c5455b4cde273286aa9 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:17:06 -0600 Subject: [PATCH 171/221] gnu: Add perl-benchmark-timer. * gnu/packages/perl.scm (perl-benchmark-timer): 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 8d71660180..064822e1df 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -161,3 +161,28 @@ SHA-1 message digest algorithm for use by Perl programs.") (home-page (string-append "http://search.cpan.org/~gaas/Digest-SHA1-" version "/SHA1.pm")) (license (package-license perl)))) + +(define-public perl-benchmark-timer + (package + (name "perl-benchmark-timer") + (version "0.7102") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/D/DC/DCOPPIT/" + "Benchmark-Timer-" version ".tar.gz")) + (sha256 + (base32 + "1gl9ybm9hgia3ld5s11b7bv2p2hmx5rss5hxcfy6rmbzrjcnci01")))) + (build-system perl-build-system) + ;; The optional input module Statistics::PointEstimation (from + ;; Statistics-TTest) lists no license. + (synopsis "Benchmarking with statistical confidence") + (description + "The Benchmark::Timer class allows you to time portions of code +conveniently, as well as benchmark code by allowing timings of repeated +trials. It is perfect for when you need more precise information about the +running time of portions of your code than the Benchmark module will give you, +but don't want to go all out and profile your code.") + (home-page (string-append "http://search.cpan.org/~dcoppit/" + "Benchmark-Timer-" version)) + (license gpl2))) From 63edfca495f4edd2356218903c7b38f44d7be691 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:17:41 -0600 Subject: [PATCH 172/221] gnu: Add perl-exporter-lite. * gnu/packages/perl.scm (perl-exporter-lite): 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 064822e1df..55e87fee7b 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -186,3 +186,24 @@ but don't want to go all out and profile your code.") (home-page (string-append "http://search.cpan.org/~dcoppit/" "Benchmark-Timer-" version)) (license gpl2))) + +(define-public perl-exporter-lite + (package + (name "perl-exporter-lite") + (version "0.06") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/N/NE/NEILB/" + "Exporter-Lite-" version ".tar.gz")) + (sha256 + (base32 + "0k4gkvid4fr8yvwj0axdx5111mzfw2iipls3qllxr364fqhmclpj")))) + (build-system perl-build-system) + (synopsis "Lightweight exporting of functions and variables") + (description + "Exporter::Lite is an alternative to Exporter, intended to provide a +lightweight subset of the most commonly-used functionality. It supports +import(), @EXPORT and @EXPORT_OK and not a whole lot else.") + (home-page (string-append "http://search.cpan.org/~neilb/" + "Exporter-Lite-" version)) + (license (package-license perl)))) From 7850f47ac5ad53ebd68c9018f6f5db57a5ae5f3b Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:18:18 -0600 Subject: [PATCH 173/221] gnu: Add perl-probe-perl. * gnu/packages/perl.scm (perl-probe-perl): 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 55e87fee7b..430c6b5b9a 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -207,3 +207,24 @@ import(), @EXPORT and @EXPORT_OK and not a whole lot else.") (home-page (string-append "http://search.cpan.org/~neilb/" "Exporter-Lite-" version)) (license (package-license perl)))) + +(define-public perl-probe-perl + (package + (name "perl-probe-perl") + (version "0.03") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/K/KW/KWILLIAMS/" + "Probe-Perl-" version ".tar.gz")) + (sha256 + (base32 + "0c9wiaz0mqqknafr4jdr0g2gdzxnn539182z0icqaqvp5qgd5r6r")))) + (build-system perl-build-system) + (synopsis "Information about the currently running perl") + (description + "Probe::Perl provides methods for obtaining information about the +currently running perl interpreter. It originally began life as code in the +Module::Build project, but has been externalized here for general use.") + (home-page (string-append "http://search.cpan.org/~kwilliams/" + "Probe-Perl-" version)) + (license (package-license perl)))) From c7518b04f0a3487f6c0885779395ed1b1eaffa36 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:18:47 -0600 Subject: [PATCH 174/221] gnu: Add perl-ipc-run3. * gnu/packages/perl.scm (perl-ipc-run3): 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 430c6b5b9a..cdac13dcac 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -228,3 +228,27 @@ Module::Build project, but has been externalized here for general use.") (home-page (string-append "http://search.cpan.org/~kwilliams/" "Probe-Perl-" version)) (license (package-license perl)))) + +(define-public perl-ipc-run3 + (package + (name "perl-ipc-run3") + (version "0.048") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/R/RJ/RJBS/" + "IPC-Run3-" version ".tar.gz")) + (sha256 + (base32 + "0r9m8q78bg7yycpixd7738jm40yz71p2q7inm766kzsw3g6c709x")))) + (build-system perl-build-system) + (synopsis "Run a subprocess with input/ouput redirection") + (description + "The IPC::Run3 module allows you to run a subprocess and redirect stdin, +stdout, and/or stderr to files and perl data structures. It aims to satisfy +99% of the need for using system, qx, and open3 with a simple, extremely +Perlish API and none of the bloat and rarely used features of IPC::Run.") + (home-page (string-append "http://search.cpan.org/~rjbs/" + "IPC-Run3-" version)) + ;; "You may use this module under the terms of the BSD, Artistic, or GPL + ;; licenses, any version." + (license (list bsd-3 gpl3+)))) From 2e66590aad50c6cb6fd39f2d757759874fe19736 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:19:19 -0600 Subject: [PATCH 175/221] gnu: Add perl-test-script. * gnu/packages/perl.scm (perl-test-script): 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 cdac13dcac..8d25ef3838 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -252,3 +252,27 @@ Perlish API and none of the bloat and rarely used features of IPC::Run.") ;; "You may use this module under the terms of the BSD, Artistic, or GPL ;; licenses, any version." (license (list bsd-3 gpl3+)))) + +(define-public perl-test-script + (package + (name "perl-test-script") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "Test-Script-" version ".tar.gz")) + (sha256 + (base32 + "15pb4zzsnm33msc1syhig2bk05xqc0pckmfyahdwbd177bj5w7p2")))) + (build-system perl-build-system) + (propagated-inputs + `(("probe-perl" ,perl-probe-perl) + ("ipc-run3" ,perl-ipc-run3))) + (synopsis "Basic cross-platform tests for scripts") + (description + "The intent of the Test::Script module is to provide a series of basic +tests for 80% of the testing you will need to do for scripts in the script (or +bin as is also commonly used) paths of your Perl distribution.") + (home-page (string-append "http://search.cpan.org/~adamk/" + "Test-Script-" version)) + (license (package-license perl)))) From 31f3976a21dddaeca5efad1ff90dfae083d66943 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:19:55 -0600 Subject: [PATCH 176/221] gnu: Add perl-file-which. * gnu/packages/perl.scm (perl-file-which): New variable. --- gnu/packages/perl.scm | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 8d25ef3838..d7ca131353 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -276,3 +276,25 @@ bin as is also commonly used) paths of your Perl distribution.") (home-page (string-append "http://search.cpan.org/~adamk/" "Test-Script-" version)) (license (package-license perl)))) + +(define-public perl-file-which + (package + (name "perl-file-which") + (version "1.09") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AD/ADAMK/" + "File-Which-" version ".tar.gz")) + (sha256 + (base32 + "1hxjyh9yrv32f3g8vrnr8iylzprajsac14vjm75kf1qnj1jyqbxp")))) + (build-system perl-build-system) + (native-inputs `(("test-script" ,perl-test-script))) + (synopsis "Portable implementation of the `which' utility") + (description + "File::Which was created to be able to get the paths to executable +programs on systems under which the `which' program wasn't implemented in the +shell.") + (home-page (string-append "http://search.cpan.org/~adamk/" + "File-Which-" version)) + (license (package-license perl)))) From d193ba6d7911cc7b97cac79b7d32dde619cb633f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:20:24 -0600 Subject: [PATCH 177/221] gnu: Add perl-getopt-tabular. * gnu/packages/perl.scm (perl-getopt-tabular): New variable. --- gnu/packages/perl.scm | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index d7ca131353..e385e7b49d 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -298,3 +298,23 @@ shell.") (home-page (string-append "http://search.cpan.org/~adamk/" "File-Which-" version)) (license (package-license perl)))) + +(define-public perl-getopt-tabular + (package + (name "perl-getopt-tabular") + (version "0.3") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/G/GW/GWARD/" + "Getopt-Tabular-" version ".tar.gz")) + (sha256 + (base32 + "0xskl9lcj07sdfx5dkma5wvhhgf5xlsq0khgh8kk34dm6dv0dpwv")))) + (build-system perl-build-system) + (synopsis "Table-driven argument parsing for Perl") + (description + "Getopt::Tabular is a Perl 5 module for table-driven argument parsing, +vaguely inspired by John Ousterhout's Tk_ParseArgv.") + (home-page (string-append "http://search.cpan.org/~gward/" + "Getopt-Tabular-" version)) + (license (package-license perl)))) From b593600e211e35f4597b8a2297293b2e7760dc9f Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:20:55 -0600 Subject: [PATCH 178/221] gnu: Add perl-regexp-common. * gnu/packages/perl.scm (perl-regexp-common): 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 e385e7b49d..7479603e93 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -318,3 +318,28 @@ vaguely inspired by John Ousterhout's Tk_ParseArgv.") (home-page (string-append "http://search.cpan.org/~gward/" "Getopt-Tabular-" version)) (license (package-license perl)))) + +(define-public perl-regexp-common + (package + (name "perl-regexp-common") + (version "2013031301") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/A/AB/ABIGAIL/" + "Regexp-Common-" version ".tar.gz")) + (sha256 + (base32 + "112wybsm0vr8yfannx6sdfvgp5vza28gjgr3pgn69ak4sac836kj")))) + (build-system perl-build-system) + (synopsis "Provide commonly requested regular expressions") + (description + "This module exports a single hash (`%RE') that stores or generates +commonly needed regular expressions. Patterns currently provided include: +balanced parentheses and brackets, delimited text (with escapes), integers and +floating-point numbers in any base (up to 36), comments in 44 languages, +offensive language, lists of any pattern, IPv4 addresses, URIs, and Zip +codes.") + (home-page (string-append "http://search.cpan.org/~abigail/" + "Regexp-Common-" version)) + ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. + (license (list (package-license perl) x11 bsd-3)))) From 043092e80bc6b6bf604f173ab10f97a47961ec5a Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Mon, 1 Dec 2014 00:21:21 -0600 Subject: [PATCH 179/221] gnu: Add perl-sys-cpu. * gnu/packages/perl.scm (perl-sys-cpu): 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 7479603e93..a724a1b21f 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -343,3 +343,24 @@ codes.") "Regexp-Common-" version)) ;; Quad-licensed: Perl Artistic, Perl Artistic 2.0, X11, and BSD. (license (list (package-license perl) x11 bsd-3)))) + +(define-public perl-sys-cpu + (package + (name "perl-sys-cpu") + (version "0.61") + (source (origin + (method url-fetch) + (uri (string-append "mirror://cpan/authors/id/M/MZ/MZSANFORD/" + "Sys-CPU-" version ".tar.gz")) + (sha256 + (base32 + "1r6976bs86j7zp51m5vh42xlyah951jgdlkimv202413kjvqc2i5")))) + (build-system perl-build-system) + (synopsis "Perl extension for getting CPU information") + (description + "In responce to a post on perlmonks.org, a module for counting the number +of CPU's on a system. Support has now also been added for type of CPU and +clock speed.") + (home-page (string-append "http://search.cpan.org/~mzsanford/" + "Sys-CPU-" version)) + (license (package-license perl)))) From 499cdcc6cb9233e0eb20f3016e7e9aa1dda30868 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 7 Dec 2014 15:11:28 -0600 Subject: [PATCH 180/221] gnu: licenses: Add NCSA license. * guix/licenses.scm (ncsa): New variable. --- guix/licenses.scm | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/guix/licenses.scm b/guix/licenses.scm index 86929b1719..86f3ae4e82 100644 --- a/guix/licenses.scm +++ b/guix/licenses.scm @@ -41,6 +41,7 @@ imlib2 lgpl2.0 lgpl2.0+ lgpl2.1 lgpl2.1+ lgpl3 lgpl3+ mpl1.1 mpl2.0 + ncsa openldap2.8 openssl psfl public-domain qpl @@ -249,6 +250,11 @@ which may be a file:// URI pointing the package's tree." "http://directory.fsf.org/wiki/License:MPLv2.0" "https://www.gnu.org/licenses/license-list#MPL-2.0")) +(define ncsa + (license "NCSA/University of Illinois Open Source License" + "http://directory.fsf.org/wiki/License:IllinoisNCSA" + "https://www.gnu.org/licenses/license-list#NCSA")) + (define openssl (license "OpenSSL" "http://directory.fsf.org/wiki/License:OpenSSL" From 3e4249ce10ff45054916bfebe7a4620092e674db Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 7 Dec 2014 15:19:35 -0600 Subject: [PATCH 181/221] gnu: Add llvm and clang. * gnu/packages/llvm.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/llvm.scm | 107 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 108 insertions(+) create mode 100644 gnu/packages/llvm.scm diff --git a/gnu-system.am b/gnu-system.am index 1ff234550d..4da3f5b4cd 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -161,6 +161,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/links.scm \ gnu/packages/linux.scm \ gnu/packages/lisp.scm \ + gnu/packages/llvm.scm \ gnu/packages/lout.scm \ gnu/packages/lsh.scm \ gnu/packages/lsof.scm \ diff --git a/gnu/packages/llvm.scm b/gnu/packages/llvm.scm new file mode 100644 index 0000000000..5b70124655 --- /dev/null +++ b/gnu/packages/llvm.scm @@ -0,0 +1,107 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Eric Bavier +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages llvm) + #:use-module (guix packages) + #:use-module (guix licenses) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system cmake) + #:use-module (gnu packages) + #:use-module (gnu packages perl) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) + +(define-public llvm + (package + (name "llvm") + (version "3.5.0") + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/llvm-" version ".src.tar.xz")) + (sha256 + (base32 + "00swb43mzlvda8306arlg2jw7g6k3acwfccgf1k4c2pgd3rrkq98")))) + (build-system cmake-build-system) + (native-inputs + `(("python" ,python-wrapper) + ("perl" ,perl))) + (arguments + `(#:phases (alist-cons-before + 'build 'link-lib-for-build-exec + (lambda* (#:key outputs #:allow-other-keys) + ;; This is a hacky fix that will allow binaries to run + ;; before being installed. -DCMAKE_SKIP_BUILD_RPATH=FALSE + ;; seems to not help. Nixpkgs does the same. + (let* ((out (assoc-ref outputs "out")) + (out-lib (string-append out "/lib")) + (build-lib (string-append (getcwd) "/lib"))) + (mkdir-p out) + (symlink build-lib out-lib))) + (alist-cons-after + 'build 'cleanup-out + (lambda* (#:key outputs #:allow-other-keys) + ;; Cleanup the symlink that was created previously. Let + ;; the install phase repopulate out. + (delete-file-recursively (assoc-ref outputs "out"))) + %standard-phases)))) + (home-page "http://www.llvm.org") + (synopsis "Optimizing compiler infrastructure") + (description + "LLVM is a compiler infrastructure designed for compile-time, link-time, runtime, +and idle-time optimization of programs from arbitrary programming languages. +It currently supports compilation of C and C++ programs, using front-ends +derived from GCC 4.0.1. A new front-end for the C family of languages is in +development. The compiler infrastructure includes mirror sets of programming +tools as well as libraries with equivalent functionality.") + (license ncsa))) + +(define-public clang + (package + (name "clang") + (version (package-version llvm)) + (source + (origin + (method url-fetch) + (uri (string-append "http://llvm.org/releases/" + version "/cfe-" version ".src.tar.xz")) + (sha256 + (base32 + "12yv3jwdjcbkrx7zjm8wh4jrvb59v8fdw4mnmz3zc1jb00p9k07w")))) + ;; Using cmake allows us to treat llvm as an external library. There + ;; doesn't seem to be any way to do this with clang's autotools-based + ;; build system. + (build-system cmake-build-system) + (native-inputs (package-native-inputs llvm)) + (inputs + `(("libxml2" ,libxml2) + ,@(package-inputs llvm))) + (propagated-inputs + `(("llvm" ,llvm))) + (arguments `(#:configure-flags '("-DCLANG_INCLUDE_TESTS=True"))) + (home-page "http://clang.llvm.org") + (synopsis "C language family frontend for LLVM") + (description + "Clang is a compiler front end for the C, C++, Objective-C and +Objective-C++ programming languages. It uses LLVM as its back end. The Clang +project includes the Clang front end, the Clang static analyzer, and several +code analysis tools.") + (license ncsa))) From 426fde9ae1e9869a295764da5936d5a085c12ed3 Mon Sep 17 00:00:00 2001 From: Eric Bavier Date: Sun, 7 Dec 2014 15:21:52 -0600 Subject: [PATCH 182/221] gnu: Add c-reduce. * gnu/packages/debug.scm (c-reduce): New variable. --- gnu/packages/debug.scm | 68 +++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 37697cc2c6..afa8b8d99b 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -20,8 +20,14 @@ #:use-module (guix packages) #:use-module (guix licenses) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) - #:use-module (gnu packages perl)) + #:use-module (gnu packages bash) + #:use-module (gnu packages flex) + #:use-module (gnu packages indent) + #:use-module (gnu packages llvm) + #:use-module (gnu packages perl) + #:use-module (gnu packages pretty-print)) (define-public delta (package @@ -71,3 +77,63 @@ program to exhibit a bug.") ;; See License.txt, which is a bsd-3 license, despite the project's ;; home-page pointing to a bsd-2 license. (license bsd-3))) + +(define-public c-reduce + (package + (name "c-reduce") + (version "2.2.1") + (source + (origin + (method url-fetch) + (uri (list + (string-append "http://embed.cs.utah.edu/creduce/" + "creduce-" version ".tar.gz"))) + (sha256 + (base32 + "0wh0fkyg2l41d2wkndrgdiai9g2qiav7jik7cys21vmgzq01pyy2")) + (modules '((guix build utils))) + (snippet + '(substitute* "clang_delta/TransformationManager.cpp" + (("llvm/Config/config.h") "llvm/Config/llvm-config.h"))))) + (build-system gnu-build-system) + (inputs + `(("astyle" ,astyle) + ("delta" ,delta) + ("llvm" ,llvm) + ("clang" ,clang) + ("flex" ,flex) + ("indent" ,indent) + ("perl" ,perl) + ("benchmark-timer" ,perl-benchmark-timer) + ("exporter-lite" ,perl-exporter-lite) + ("file-which" ,perl-file-which) + ("getopt-tabular" ,perl-getopt-tabular) + ("regex-common" ,perl-regexp-common) + ("sys-cpu" ,perl-sys-cpu))) + (arguments + `(#:phases (alist-cons-after + 'install 'set-load-paths + (lambda* (#:key inputs outputs #:allow-other-keys) + ;; Tell creduce where to find the perl modules it needs. + (let* ((out (assoc-ref outputs "out")) + (prog (string-append out "/bin/creduce"))) + (wrap-program + prog + `("PERL5LIB" ":" prefix + ,(map (lambda (p) + (string-append (assoc-ref inputs p) + "/lib/perl5/site_perl/" + ,(package-version perl))) + '("benchmark-timer" "exporter-lite" + "file-which" "getopt-tabular" + "regex-common" "sys-cpu")))))) + %standard-phases))) + (home-page "http://embed.cs.utah.edu/creduce") + (synopsis "Reducer for interesting code") + (description + "C-Reduce is a tool that takes a large C or C++ program that has a +property of interest (such as triggering a compiler bug) and automatically +produces a much smaller C/C++ program that has the same property. It is +intended for use by people who discover and report bugs in compilers and other +tools that process C/C++ code.") + (license ncsa))) From 2e88e089da7cb0d1937e020ce1f7efdf72739a74 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Fri, 5 Dec 2014 00:22:04 +0300 Subject: [PATCH 183/221] gnu: Add wmctrl. * gnu/packages/xdisorg.scm (wmctrl): New variable. * gnu/packages/patches/wmctrl-64-fix.patch: New file. * gnu-system.am (dist_patch_DATA): Add it. --- gnu-system.am | 1 + gnu/packages/patches/wmctrl-64-fix.patch | 32 +++++++++++++++++++++ gnu/packages/xdisorg.scm | 36 ++++++++++++++++++++++++ 3 files changed, 69 insertions(+) create mode 100644 gnu/packages/patches/wmctrl-64-fix.patch diff --git a/gnu-system.am b/gnu-system.am index 4da3f5b4cd..99225b2a18 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -448,6 +448,7 @@ dist_patch_DATA = \ gnu/packages/patches/util-linux-perl.patch \ gnu/packages/patches/vpnc-script.patch \ gnu/packages/patches/w3m-fix-compile.patch \ + gnu/packages/patches/wmctrl-64-fix.patch \ gnu/packages/patches/xf86-input-synaptics-glibc-2.20.patch \ gnu/packages/patches/xf86-video-openchrome-includes.patch \ gnu/packages/patches/xmodmap-asprintf.patch diff --git a/gnu/packages/patches/wmctrl-64-fix.patch b/gnu/packages/patches/wmctrl-64-fix.patch new file mode 100644 index 0000000000..3ec1c913ff --- /dev/null +++ b/gnu/packages/patches/wmctrl-64-fix.patch @@ -0,0 +1,32 @@ +Description: Correct 64 Architecture implementation of 32 bit data +Author: Chris Donoghue +Bug-Debian: http://bugs.debian.org/362068 + +--- wmctrl-1.07.orig/main.c ++++ wmctrl-1.07/main.c +@@ -1425,6 +1425,16 @@ static gchar *get_property (Display *dis + * + * long_length = Specifies the length in 32-bit multiples of the + * data to be retrieved. ++ * ++ * NOTE: see ++ * http://mail.gnome.org/archives/wm-spec-list/2003-March/msg00067.html ++ * In particular: ++ * ++ * When the X window system was ported to 64-bit architectures, a ++ * rather peculiar design decision was made. 32-bit quantities such ++ * as Window IDs, atoms, etc, were kept as longs in the client side ++ * APIs, even when long was changed to 64 bits. ++ * + */ + if (XGetWindowProperty(disp, win, xa_prop_name, 0, MAX_PROPERTY_VALUE_LEN / 4, False, + xa_prop_type, &xa_ret_type, &ret_format, +@@ -1441,6 +1451,8 @@ static gchar *get_property (Display *dis + + /* null terminate the result to make string handling easier */ + tmp_size = (ret_format / 8) * ret_nitems; ++ /* Correct 64 Architecture implementation of 32 bit data */ ++ if(ret_format==32) tmp_size *= sizeof(long)/4; + ret = g_malloc(tmp_size + 1); + memcpy(ret, ret_prop, tmp_size); + ret[tmp_size] = '\0'; diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a118fd745e..a46b8f8fac 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014 Mark H Weaver ;;; Copyright © 2014 Eric Bavier +;;; Copyright © 2014 Alex Kost ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,6 +28,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages image) #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) #:use-module (gnu packages xorg)) ;; packages outside the x.org system proper @@ -215,3 +217,37 @@ notification protocol. The reference implementation is mostly under an X Window System style license, and has no special dependencies.") ;; Most of the code is provided under x11 license. (license license:lgpl2.0+))) + +(define-public wmctrl + (package + (name "wmctrl") + (version "1.07") + (source (origin + (method url-fetch) + (uri (string-append + "http://tomas.styblo.name/wmctrl/dist/wmctrl-" + version ".tar.gz")) + (sha256 + (base32 + "1afclc57b9017a73mfs9w7lbdvdipmf9q0xdk116f61gnvyix2np")) + (patches (list (search-patch "wmctrl-64-fix.patch"))))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")))) + (native-inputs + `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("libxmu" ,libxmu) + ("glib" ,glib))) + (home-page "http://tomas.styblo.name/wmctrl/") + (synopsis "Command-line tool to control X window managers") + (description + "Wmctrl allows to interact with an X window manager that is compatible +with the EWMH/NetWM specification. It can query the window manager for +information, and request for certain window management actions (resize and +move windows, switch between desktops, etc.)") + (license license:gpl2+))) From 1410f342f78ced60de4b507743a62a1fd2b8ad4b Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 9 Dec 2014 21:23:46 +0300 Subject: [PATCH 184/221] gnu: Move scrot to (gnu packages xdisorg). * gnu/packages/scrot.scm: Remove. (scrot) Move to... * gnu/packages/xdisorg.scm (scrot): ... here. New variable. * gnu-system.am (GNU_SYSTEM_MODULES): Remove scrot file name. --- gnu-system.am | 1 - gnu/packages/scrot.scm | 68 ---------------------------------------- gnu/packages/xdisorg.scm | 43 +++++++++++++++++++++++++ 3 files changed, 43 insertions(+), 69 deletions(-) delete mode 100644 gnu/packages/scrot.scm diff --git a/gnu-system.am b/gnu-system.am index 99225b2a18..21ee7a85f3 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -233,7 +233,6 @@ GNU_SYSTEM_MODULES = \ gnu/packages/scanner.scm \ gnu/packages/scheme.scm \ gnu/packages/screen.scm \ - gnu/packages/scrot.scm \ gnu/packages/sdl.scm \ gnu/packages/search.scm \ gnu/packages/serveez.scm \ diff --git a/gnu/packages/scrot.scm b/gnu/packages/scrot.scm deleted file mode 100644 index b842c2dcf0..0000000000 --- a/gnu/packages/scrot.scm +++ /dev/null @@ -1,68 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Alex Kost -;;; -;;; 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 scrot) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages xorg) - #:use-module (gnu packages image)) - -(define-public scrot - (package - (name "scrot") - (version "0.8") - (source (origin - (method url-fetch) - (uri (string-append - "http://linuxbrit.co.uk/downloads/scrot-" - version ".tar.gz")) - (sha256 - (base32 - "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1")))) - (build-system gnu-build-system) - (arguments - ;; By default, man and doc are put in PREFIX/{man,doc} instead of - ;; PREFIX/share/{man,doc}. - '(#:configure-flags - (list (string-append "--mandir=" - (assoc-ref %outputs "out") - "/share/man")) - #:phases (alist-replace - 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (doc (string-append out "/share/doc/scrot"))) - (mkdir-p doc) - (zero? - (system* "make" "install" - (string-append "docsdir=" doc))))) - %standard-phases))) - (inputs - `(("libx11" ,libx11) - ("giblib" ,giblib))) - (home-page "http://linuxbrit.co.uk/software/") - (synopsis "Command-line screen capture utility for X Window System") - (description - "Scrot allows to save a screenshot of a full screen, a window or a part -of the screen selected by mouse.") - ;; This license removes a clause about X Consortium from the original - ;; X11 license. - (license (x11-style "file://COPYING" - "See 'COPYING' in the distribution.")))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index a46b8f8fac..fccdeb5159 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -251,3 +251,46 @@ with the EWMH/NetWM specification. It can query the window manager for information, and request for certain window management actions (resize and move windows, switch between desktops, etc.)") (license license:gpl2+))) + +(define-public scrot + (package + (name "scrot") + (version "0.8") + (source (origin + (method url-fetch) + (uri (string-append + "http://linuxbrit.co.uk/downloads/scrot-" + version ".tar.gz")) + (sha256 + (base32 + "1wll744rhb49lvr2zs6m93rdmiq59zm344jzqvijrdn24ksiqgb1")))) + (build-system gnu-build-system) + (arguments + ;; By default, man and doc are put in PREFIX/{man,doc} instead of + ;; PREFIX/share/{man,doc}. + '(#:configure-flags + (list (string-append "--mandir=" + (assoc-ref %outputs "out") + "/share/man")) + #:phases (alist-replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (doc (string-append out "/share/doc/scrot"))) + (mkdir-p doc) + (zero? + (system* "make" "install" + (string-append "docsdir=" doc))))) + %standard-phases))) + (inputs + `(("libx11" ,libx11) + ("giblib" ,giblib))) + (home-page "http://linuxbrit.co.uk/software/") + (synopsis "Command-line screen capture utility for X Window System") + (description + "Scrot allows to save a screenshot of a full screen, a window or a part +of the screen selected by mouse.") + ;; This license removes a clause about X Consortium from the original + ;; X11 license. + (license (license:x11-style "file://COPYING" + "See 'COPYING' in the distribution.")))) From 4a01b30b33ace18e1479b7137f413ea5bda41392 Mon Sep 17 00:00:00 2001 From: Alex Kost Date: Tue, 9 Dec 2014 21:42:56 +0300 Subject: [PATCH 185/221] gnu: Move unclutter to (gnu packages xdisorg). * gnu/packages/unclutter.scm: Remove. (unclutter) Move to... * gnu/packages/xdisorg.scm (unclutter): ... here. New variable. * gnu-system.am (GNU_SYSTEM_MODULES): Remove unclutter file name. --- gnu-system.am | 1 - gnu/packages/unclutter.scm | 69 -------------------------------------- gnu/packages/xdisorg.scm | 45 +++++++++++++++++++++++++ 3 files changed, 45 insertions(+), 70 deletions(-) delete mode 100644 gnu/packages/unclutter.scm diff --git a/gnu-system.am b/gnu-system.am index 21ee7a85f3..e923340539 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -254,7 +254,6 @@ GNU_SYSTEM_MODULES = \ gnu/packages/tmux.scm \ gnu/packages/tor.scm \ gnu/packages/tre.scm \ - gnu/packages/unclutter.scm \ gnu/packages/unrtf.scm \ gnu/packages/upnp.scm \ gnu/packages/uucp.scm \ diff --git a/gnu/packages/unclutter.scm b/gnu/packages/unclutter.scm deleted file mode 100644 index ca1f7ede77..0000000000 --- a/gnu/packages/unclutter.scm +++ /dev/null @@ -1,69 +0,0 @@ -;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Alex Kost -;;; -;;; 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 unclutter) - #:use-module (guix packages) - #:use-module (guix download) - #:use-module (guix build-system gnu) - #:use-module (guix licenses) - #:use-module (gnu packages xorg)) - -(define-public unclutter - (package - (name "unclutter") - (version "8") - (source (origin - (method url-fetch) - (uri (string-append - "http://ftp.x.org/contrib/utilities/unclutter-" - version ".tar.Z")) - (sha256 - (base32 - "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq")))) - (build-system gnu-build-system) - (arguments - '(#:tests? #f ; no check target - #:phases (alist-delete - 'configure - (alist-replace - 'install - (lambda* (#:key inputs outputs #:allow-other-keys) - (let* ((out (assoc-ref outputs "out")) - (bin (string-append out "/bin")) - (man1 (string-append out "/share/man/man1"))) - (mkdir-p bin) - (mkdir-p man1) - (zero? - (system* "make" "install" "install.man" - (string-append "BINDIR=" bin) - (string-append "MANDIR=" man1))))) - %standard-phases)))) - (inputs `(("libx11" ,libx11))) - (home-page "http://ftp.x.org/contrib/utilities/") - (synopsis "Hide idle mouse cursor") - (description - "Unclutter is a program which runs permanently in the background of an -X11 session. It checks on the X11 pointer (cursor) position every few -seconds, and when it finds it has not moved (and no buttons are pressed -on the mouse, and the cursor is not in the root window) it creates a -small sub-window as a child of the window the cursor is in. The new -window installs a cursor of size 1x1 but a mask of all 0, i.e. an -invisible cursor. This allows you to see all the text in an xterm or -xedit, for example. The human factors crowd would agree it should make -things less distracting.") - (license public-domain))) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index fccdeb5159..6820d018e3 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -294,3 +294,48 @@ of the screen selected by mouse.") ;; X11 license. (license (license:x11-style "file://COPYING" "See 'COPYING' in the distribution.")))) + +(define-public unclutter + (package + (name "unclutter") + (version "8") + (source (origin + (method url-fetch) + (uri (string-append + "http://ftp.x.org/contrib/utilities/unclutter-" + version ".tar.Z")) + (sha256 + (base32 + "0ahrr5z6wxqqfyihm112hnq0859zlxisrb3y5232zav58j6sfmdq")))) + (build-system gnu-build-system) + (arguments + '(#:tests? #f ; no check target + #:phases (alist-delete + 'configure + (alist-replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (man1 (string-append out "/share/man/man1"))) + (mkdir-p bin) + (mkdir-p man1) + (zero? + (system* "make" "install" "install.man" + (string-append "BINDIR=" bin) + (string-append "MANDIR=" man1))))) + %standard-phases)))) + (inputs `(("libx11" ,libx11))) + (home-page "http://ftp.x.org/contrib/utilities/") + (synopsis "Hide idle mouse cursor") + (description + "Unclutter is a program which runs permanently in the background of an +X11 session. It checks on the X11 pointer (cursor) position every few +seconds, and when it finds it has not moved (and no buttons are pressed +on the mouse, and the cursor is not in the root window) it creates a +small sub-window as a child of the window the cursor is in. The new +window installs a cursor of size 1x1 but a mask of all 0, i.e. an +invisible cursor. This allows you to see all the text in an xterm or +xedit, for example. The human factors crowd would agree it should make +things less distracting.") + (license license:public-domain))) From 5920d90e68dbd68c6ce48a59c73333d0cbf291d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 22:49:16 +0100 Subject: [PATCH 186/221] build-system/glib-or-gtk: Fix default value of #:glib-or-gtk-wrap-excluded-outputs. Fixes . Reported by Mark H Weaver . * guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Change default value of #:glib-or-gtk-wrap-excluded-outputs to ''(). --- guix/build-system/glib-or-gtk.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/guix/build-system/glib-or-gtk.scm b/guix/build-system/glib-or-gtk.scm index 039bfb948c..8091311879 100644 --- a/guix/build-system/glib-or-gtk.scm +++ b/guix/build-system/glib-or-gtk.scm @@ -122,7 +122,7 @@ "bin" "sbin")) (phases '(@ (guix build glib-or-gtk-build-system) %standard-phases)) - (glib-or-gtk-wrap-excluded-outputs '()) + (glib-or-gtk-wrap-excluded-outputs ''()) (system (%current-system)) (imported-modules %default-imported-modules) (modules %default-modules) From 71f571588fba5591a7b3968f6b7a018745ec0f3b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 23:11:02 +0100 Subject: [PATCH 187/221] gnu: emacs: Use 'glib-or-gtk-build-system'. Fixes . Reported by Andreas Enge . * gnu/packages/emacs.scm (emacs)[build-system]: Switch to GLIB-OR-GTK-BUILD-SYSTEM. (emacs-no-x-toolkit): Add 'build-system' field. --- gnu/packages/emacs.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index d65cf64711..150db2a598 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -24,6 +24,7 @@ #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) + #:use-module (guix build-system glib-or-gtk) #:use-module (guix build-system trivial) #:use-module (gnu packages) #:use-module (gnu packages gtk) @@ -63,7 +64,7 @@ (sha256 (base32 "1zflm6ac34s6v166p58ilxrxbxjm0q2wfc25f8y0mjml1lbr3qs7")))) - (build-system gnu-build-system) + (build-system glib-or-gtk-build-system) (arguments '(#:phases (alist-cons-before 'configure 'fix-/bin/pwd @@ -119,6 +120,7 @@ languages.") (name "emacs-no-x-toolkit") (synopsis "The extensible, customizable, self-documenting text editor (without an X toolkit)" ) + (build-system gnu-build-system) (inputs (append `(("inotify-tools" ,inotify-tools)) (alist-delete "gtk+" (package-inputs emacs)))) (arguments (append '(#:configure-flags '("--with-x-toolkit=no")) From c7e553a30988d61197af2e1c9b79c2e684d76c8e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Dec 2014 23:20:41 +0100 Subject: [PATCH 188/221] gnu: Add BBDB. * gnu/packages/emacs.scm (bbdb): New variable. --- gnu/packages/emacs.scm | 43 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 150db2a598..9ccf34c362 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -520,3 +520,46 @@ supports tagging and playlist management, all behind a clean and light user interface.") (home-page "http://www.gnu.org/software/emms/") (license gpl3+))) + + +;;; +;;; Miscellaneous. +;;; + +(define-public bbdb + (package + (name "bbdb") + (version "3.1.2") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/bbdb/bbdb-" + version ".tar.gz")) + (sha256 + (base32 + "1gs16bbpiiy01w9pyg12868r57kx1v3hnw04gmqsmpc40l1hyy05")) + (modules '((guix build utils))) + (snippet + ;; We don't want to build and install the PDF. + '(substitute* "doc/Makefile.in" + (("^doc_DATA = .*$") + "doc_DATA =\n"))))) + (build-system gnu-build-system) + (arguments + '(#:phases (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Add an autoloads file with the right name for guix.el. + (let* ((out (assoc-ref outputs "out")) + (site (string-append out "/share/emacs/site-lisp"))) + (with-directory-excursion site + (symlink "bbdb-loaddefs.el" "bbdb-autoloads.el")))) + %standard-phases))) + (native-inputs `(("emacs" ,emacs))) + (home-page "http://savannah.nongnu.org/projects/bbdb/") + (synopsis "Contact management utility for Emacs") + (description + "BBDB is the Insidious Big Brother Database for GNU Emacs. It provides +an address book for email and snail mail addresses, phone numbers and the +like. It can be linked with various Emacs mail clients (Message and Mail +mode, Rmail, Gnus, MH-E, and VM). BBDB is fully customizable.") + (license gpl3+))) From 6c2cf86edb04adb3a74bf4099fd9a8ad4f8c5ae1 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Wed, 10 Dec 2014 09:43:29 +0100 Subject: [PATCH 189/221] Revert "gnu: gobject-introspection: Update to 1.42.0 and add new patch." This reverts commit 66717243d0683fa05b5630c2e011f3a486a8d316. Several packages fail to build with the new version. --- gnu/packages/glib.scm | 20 +++++-------- ...ct-introspection-absolute-shlib-path.patch | 30 ------------------- 2 files changed, 8 insertions(+), 42 deletions(-) delete mode 100644 gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 4f18ef7a88..486cdb6add 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -197,18 +197,17 @@ dynamic loading, and an object system.") (define gobject-introspection (package (name "gobject-introspection") - (version "1.42.0") + (version "1.38.0") (source (origin (method url-fetch) (uri (string-append "http://ftp.gnome.org/pub/GNOME/sources/" - "gobject-introspection/" (version-major+minor version) - "/gobject-introspection-" version ".tar.xz")) + "gobject-introspection/" + (substring version 0 (string-rindex version #\.)) + "/gobject-introspection-" + version ".tar.xz")) (sha256 - (base32 "1xwm7wmr9r9wp6xljb3bckx3a4siybavaq39w46ly7gpskxfv8iv")) - (patches (list - (search-patch "gobject-introspection-cc.patch") - (search-patch - "gobject-introspection-absolute-shlib-path.patch"))))) + (base32 "0wvxyvgajmms2bb6k3pf1rdpnd79xdxamykzvxzmcyn1ag9yax9m")) + (patches (list (search-patch "gobject-introspection-cc.patch"))))) (build-system gnu-build-system) (inputs `(("bison" ,bison) @@ -229,10 +228,7 @@ dynamic loading, and an object system.") (directories '("lib/girepository-1.0"))))) (search-paths native-search-paths) (arguments - `(;; The patch 'gobject-introspection-absolute-shlib-path.patch' causes - ;; some tests to fail. - #:tests? #f - #:phases + `(#:phases (alist-cons-before 'configure 'patch-paths (lambda _ diff --git a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch b/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch deleted file mode 100644 index d00cc5a420..0000000000 --- a/gnu/packages/patches/gobject-introspection-absolute-shlib-path.patch +++ /dev/null @@ -1,30 +0,0 @@ -# Names of libraries included in typelib files are opened by dlopen. Here we -# add the full path. -# -# This patch was provided by Luca Bruno for -# 'gobject-introspection' 1.40.0 in Nix. ---- ./giscanner/utils.py.orig 2014-08-14 22:05:05.055334080 +0200 -+++ ./giscanner/utils.py 2014-08-14 22:05:24.687497334 +0200 -@@ -110,17 +110,11 @@ - if dlname is None: - return None - -- # Darwin uses absolute paths where possible; since the libtool files never -- # contain absolute paths, use the libdir field -- if platform.system() == 'Darwin': -- dlbasename = os.path.basename(dlname) -- libdir = _extract_libdir_field(la_file) -- if libdir is None: -- return dlbasename -- return libdir + '/' + dlbasename -- # From the comments in extract_libtool(), older libtools had -- # a path rather than the raw dlname -- return os.path.basename(dlname) -+ dlbasename = os.path.basename(dlname) -+ libdir = _extract_libdir_field(la_file) -+ if libdir is None: -+ return dlbasename -+ return libdir + '/' + dlbasename - - - def extract_libtool(la_file): From 57c3f71632692d1e2e12e5d2db5c2cc4c6e075c9 Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Tue, 9 Dec 2014 15:58:24 +0100 Subject: [PATCH 190/221] gnu: Add cffi. * gnu/packages/python.scm (python-cffi, python2-cffi): New variables. --- gnu/packages/python.scm | 45 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index c30cffa68c..67effe77d6 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -2496,3 +2496,48 @@ a front-end for C compilers or analysis tools.") (define-public python2-pycparser (package-with-python2 python-pycparser)) + +(define-public python-cffi + (package + (name "python-cffi") + (version "0.8.6") + (source + (origin + (method url-fetch) + (uri (string-append "https://pypi.python.org/packages/source/c/" + "cffi/cffi-" version ".tar.gz")) + (sha256 + (base32 "0406j3sgndmx88idv5zxkkrwfqxmjl18pj8gf47nsg4ymzixjci5")))) + (build-system python-build-system) + (outputs '("out" "doc")) + (inputs + `(("libffi" ,libffi))) + (propagated-inputs ; required at run-time + `(("python-pycparser" ,python-pycparser))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("python-sphinx" ,python-sphinx) + ("python-setuptools" ,python-setuptools))) + (arguments + `(#:tests? #f ; FIXME: requires pytest + #: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 "-" ,version)) + (html (string-append doc "/html"))) + (with-directory-excursion "doc" + (system* "make" "html") + (mkdir-p html) + (copy-recursively "build/html" html)) + (copy-file "LICENSE" (string-append doc "/LICENSE")))) + %standard-phases))) + (home-page "http://cffi.readthedocs.org") + (synopsis "Foreign function interface for Python") + (description + "Foreign Function Interface for Python calling C code.") + (license expat))) + +(define-public python2-cffi + (package-with-python2 python-cffi)) From 4281d1b6f333303ff0ddce80044faf8299771600 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 20:35:17 +0800 Subject: [PATCH 191/221] gnu: libxcomposite: Propagate inputs. * gnu/packages/xorg.scm (libxcomposite): Move all existing 'inputs' to 'propagated-inputs'. --- gnu/packages/xorg.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7336fddb36..fcefebffc5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1160,7 +1160,8 @@ autotools system.") (base32 "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j")))) (build-system gnu-build-system) - (inputs + (propagated-inputs + ;; xcomposite.pc refers to all these. `(("xproto" ,xproto) ("libxfixes" ,libxfixes) ("libx11" ,libx11) From 1b5758a65e3c3079403502e2dba6dd1543f29b2c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 20:25:20 +0800 Subject: [PATCH 192/221] gnu: gdk-pixbuf: Propagate glib and libpng. * gnu/packages/gtk.scm (gdk-pixbuf): Move glib and libpng to 'propagated-inputs'. --- gnu/packages/gtk.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index bcfe651a75..8646397aad 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -274,10 +274,11 @@ printing and other features typical of a source code editor.") (base32 "05s6ksvy1yan6h6zny9n3bmvygcnzma6ljl6i0z9cci2xg116c8q")))) (build-system gnu-build-system) - (inputs + (propagated-inputs ; required by gdk-pixbuf-2.0.pc `(("glib" ,glib) - ("libjpeg" ,libjpeg) - ("libpng" ,libpng) + ("libpng" ,libpng))) + (inputs + `(("libjpeg" ,libjpeg) ("libtiff" ,libtiff))) (native-inputs `(("pkg-config" ,pkg-config) From 32bcad9709e0aa5042070e1520c4599f5a86dc1d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Dec 2014 18:01:06 +0100 Subject: [PATCH 193/221] gnu: wget: Update to 1.16.1. * gnu/packages/wget.scm (wget): Update to 1.16.1. --- gnu/packages/wget.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index f937e2ae3c..8debe4baea 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -31,7 +31,7 @@ (define-public wget (package (name "wget") - (version "1.16") + (version "1.16.1") (source (origin (method url-fetch) @@ -39,7 +39,7 @@ version ".tar.xz")) (sha256 (base32 - "1rxhr3jmgbwryzl51di4avqxw9m9j1z2aak8q1npns0p184xsqcj")))) + "0csdw41hixa4kd0m19r7p41sip1hlnkp5y62bdzq9zhmxq3wg5ib")))) (build-system gnu-build-system) (inputs `(("gnutls" ,gnutls) From 180e33e3f2b082a4aae8723658d539cb97210692 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Dec 2014 18:01:37 +0100 Subject: [PATCH 194/221] gnu: freeipmi: Update to 1.4.7. * gnu/packages/freeipmi.scm (freeipmi): Update to 1.4.7. --- gnu/packages/freeipmi.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/freeipmi.scm b/gnu/packages/freeipmi.scm index c9853cf6c1..39e541b884 100644 --- a/gnu/packages/freeipmi.scm +++ b/gnu/packages/freeipmi.scm @@ -27,14 +27,14 @@ (define-public freeipmi (package (name "freeipmi") - (version "1.4.6") + (version "1.4.7") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/freeipmi/freeipmi-" version ".tar.gz")) (sha256 (base32 - "1br68qlg0hw6mc4v64hliqydl83qg2ldfxc50yi4xvca6wll6h3f")))) + "1j33b2spj1vzjf1ymfrgka5h7imijmdwg9jdjfb92b2ccld9jj6l")))) (build-system gnu-build-system) (inputs `(("readline" ,readline) ("libgcrypt" ,libgcrypt))) From 62ac2ed9f42e3dc543e2cb2386666ebac4e41922 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:08:36 +0800 Subject: [PATCH 195/221] gnu: Add gtk-xfce-engine. * gnu/packages/xfce.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. --- gnu-system.am | 1 + gnu/packages/xfce.scm | 48 +++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 49 insertions(+) create mode 100644 gnu/packages/xfce.scm diff --git a/gnu-system.am b/gnu-system.am index e923340539..2854fb511d 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -279,6 +279,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/xnee.scm \ gnu/packages/xdisorg.scm \ gnu/packages/xorg.scm \ + gnu/packages/xfce.scm \ gnu/packages/yasm.scm \ gnu/packages/yubico.scm \ gnu/packages/zile.scm \ diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm new file mode 100644 index 0000000000..696fffe8ea --- /dev/null +++ b/gnu/packages/xfce.scm @@ -0,0 +1,48 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 Sou Bunnbu +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages xfce) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages glib) + #:use-module (gnu packages gtk)) + +(define-public gtk-xfce-engine + (package + (name "gtk-xfce-engine") + (version "3.0.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "13c3ajfqkdr6jlqjyhcp4nls0ddanypr83q9qib2ciffik78zq4h")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs `(("gtk+" ,gtk+-2))) + (home-page "http://www.xfce.org/") + (synopsis "GTK+ theme engine for Xfce") + (description + "Default GTK+ engine and themes for Xfce Desktop Environment.") + (license gpl2+))) From 79c2528ffbe4ce8a4a0258a21b910cef19aa3fc0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:10:56 +0800 Subject: [PATCH 196/221] gnu: Add libxfce4util. * gnu/packages/xfce.scm (libxfce4util): New variable. --- gnu/packages/xfce.scm | 25 +++++++++++++++++++++++++ 1 file changed, 25 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 696fffe8ea..c570d722b7 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -20,6 +20,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 pkg-config) #:use-module (gnu packages glib) @@ -46,3 +47,27 @@ (description "Default GTK+ engine and themes for Xfce Desktop Environment.") (license gpl2+))) + +(define-public libxfce4util + (package + (name "libxfce4util") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "13k0wwbbqvdmbj4xmk4nxdlgvrdgr5y6r3dk380mzfw053hzwy89")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs `(("glib" ,glib))) ; required by libxfce4util-1.0.pc + (home-page "http://www.xfce.org/") + (synopsis "Basic utility library for Xfce") + (description + "A general-purpose utility library with core application support for the +Xfce Desktop Environment.") + (license lgpl2.0+))) From 471dbb70f9a4d3560c5dfb7140afd099e33f8046 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:13:46 +0800 Subject: [PATCH 197/221] gnu: Add xfconf. * gnu/packages/xfce.scm (xfconf): New variable. --- gnu/packages/xfce.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c570d722b7..4269158f7d 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -71,3 +71,33 @@ "A general-purpose utility library with core application support for the Xfce Desktop Environment.") (license lgpl2.0+))) + +(define-public xfconf + (package + (name "xfconf") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; libxfconf-0.pc refers to all these. + `(("glib" ,glib) + ("dbus" ,dbus) + ("dbus-glib" ,dbus-glib))) + (inputs + `(("libxfce4util" ,libxfce4util))) + (home-page "http://www.xfce.org/") + (synopsis "Configuration storage and query system for Xfce") + (description + "Settings daemon for Xfce, implemented as a D-Bus-based configuration +storage system.") + (license lgpl2.0+))) From 6cec9818dbea00aeb7b6be308d6f8d16fd75611a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:18:20 +0800 Subject: [PATCH 198/221] gnu: Add libxfce4ui. * gnu/packages/xfce.scm (libxfce4ui): New variable. --- gnu/packages/xfce.scm | 35 ++++++++++++++++++++++++++++++++++- 1 file changed, 34 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 4269158f7d..5cd5f22c25 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -24,7 +24,9 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) - #:use-module (gnu packages gtk)) + #:use-module (gnu packages gtk) + #:use-module (gnu packages xorg) + #:use-module (gnu packages xdisorg)) (define-public gtk-xfce-engine (package @@ -101,3 +103,34 @@ Xfce Desktop Environment.") "Settings daemon for Xfce, implemented as a D-Bus-based configuration storage system.") (license lgpl2.0+))) + +(define-public libxfce4ui + (package + (name "libxfce4ui") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1qm31s6568cz4c8rl9fsfq0xmf7pldxm0ki62gx1cpybihlgmfd2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; libxfce4kbd-private-2.pc refers to all these. + `(("gtk+" ,gtk+-2) + ("libxfce4util" ,libxfce4util) + ("xfconf" ,xfconf))) + (inputs `(("libsm" ,libsm) + ("libice" ,libice) + ("startup-notification" ,startup-notification))) + (home-page "http://www.xfce.org/") + (synopsis "Widgets library for Xfce") + (description + "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used +to share commonly used Xfce widgets amoung the Xfce applications.") + (license lgpl2.0+))) From 2eb7d77d48a6fb452021d456fe18d5acd24ba9ec Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:21:53 +0800 Subject: [PATCH 199/221] gnu: Add exo. * gnu/packages/xfce.scm (exo): New variable. --- gnu/packages/xfce.scm | 34 +++++++++++++++++++++++++++++++++- 1 file changed, 33 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 5cd5f22c25..bd2770dab9 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -26,7 +26,8 @@ #:use-module (gnu packages glib) #:use-module (gnu packages gtk) #:use-module (gnu packages xorg) - #:use-module (gnu packages xdisorg)) + #:use-module (gnu packages xdisorg) + #:use-module (gnu packages web)) (define-public gtk-xfce-engine (package @@ -134,3 +135,34 @@ storage system.") "Libxfce4ui is the replacement of the old libxfcegui4 library. It is used to share commonly used Xfce widgets amoung the Xfce applications.") (license lgpl2.0+))) + +(define-public exo + (package + (name "exo") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1c05pbagw14djv5zmqg34qfj40jav8sd10w2zi2wpzrad4qal8bf")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + ;; exo-1.pc refers to all these. + `(("gtk+" ,gtk+-2) + ("libxfce4util" ,libxfce4util))) + (inputs + `(("libxfce4ui" ,libxfce4ui) + ("perl-uri" ,perl-uri))) + (home-page "http://www.xfce.org/") + (synopsis "Extension library for Xfce") + (description + "An extension library to Xfce. While Xfce comes with quite a few libraries +that are targeted at desktop development, libexo is targeted at application +development.") + ;; Libraries are under LGPLv2+, and programs under GPLv2+. + (license (list gpl2+ lgpl2.1+)))) From 7fc3d5f3ec030ef7c85b7f140aabafc2de0f2f6d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:24:02 +0800 Subject: [PATCH 200/221] gnu: Add garcon. * gnu/packages/xfce.scm (garcon): New variable. --- gnu/packages/xfce.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index bd2770dab9..4d061b06be 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -166,3 +166,30 @@ that are targeted at desktop development, libexo is targeted at application development.") ;; Libraries are under LGPLv2+, and programs under GPLv2+. (license (list gpl2+ lgpl2.1+)))) + +(define-public garcon + (package + (name "garcon") + (version "0.2.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0v7pkvxcayi86z4f173z5l7w270f3g369sa88z59w0y0p7ns7ph2")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib:bin" ,glib "bin"))) + (propagated-inputs `(("glib" ,glib))) ; required by garcon-1.pc + (inputs `(("libxfce4util" ,libxfce4util))) + (home-page "http://www.xfce.org/") + (synopsis "Implementation of the freedesktop.org menu specification") + (description + "Garcon is a freedesktop.org compliant menu implementation based on +GLib and GIO. It was started as a complete rewrite of the former Xfce menu +library called libxfce4menu, which, in contrast to garcon, was lacking menu +merging features essential for loading menus modified with menu editors.") + (license lgpl2.0+))) From 305bc4cca8e76cba32cea147e91f33768a8f1ca6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:30:14 +0800 Subject: [PATCH 201/221] gnu: Add tumbler. * gnu/packages/xfce.scm (tumbler): New variable. --- gnu/packages/xfce.scm | 44 +++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 42 insertions(+), 2 deletions(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 4d061b06be..e6dc4c3b58 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -17,7 +17,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages xfce) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:hide (freetype)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix utils) @@ -27,7 +27,12 @@ #:use-module (gnu packages gtk) #:use-module (gnu packages xorg) #:use-module (gnu packages xdisorg) - #:use-module (gnu packages web)) + #:use-module (gnu packages web) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages image) + #:use-module (gnu packages gnome) + #:use-module (gnu packages pdf) + #:use-module (gnu packages gstreamer)) (define-public gtk-xfce-engine (package @@ -193,3 +198,38 @@ GLib and GIO. It was started as a complete rewrite of the former Xfce menu library called libxfce4menu, which, in contrast to garcon, was lacking menu merging features essential for loading menus modified with menu editors.") (license lgpl2.0+))) + +(define-public tumbler + (package + (name "tumbler") + (version "0.1.25") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "0ijm04vm75gmhyyzrlqdr6vzchr01hlajcm84lm6j64cim8dxm82")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool) + ("glib:bin" ,glib "bin") ; need glib-genmarshal + ("dbus-glib" ,dbus-glib))) ; need dbus-binding-tool + (propagated-inputs + `(("glib" ,glib))) ; required by tumbler-1.pc + (inputs + `(("dbus" ,dbus) + ("gdk-pixbuf" ,gdk-pixbuf) + ("freetype" ,freetype) + ("libjpeg" ,libjpeg) + ("libgsf" ,libgsf) + ("poppler" ,poppler) + ("gstreamer" ,gstreamer-0.10))) + (home-page "http://www.xfce.org/") + (synopsis "D-Bus service for applications to request thumbnails") + (description + "Tumbler is a D-Bus service for applications to request thumbnails for +various URI schemes and MIME types. It is an implementation of the thumbnail +management D-Bus specification.") + (license gpl2+))) From 3b3a7fe78ca1336ad0130eefaf2f01e5a7352a0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:32:04 +0800 Subject: [PATCH 202/221] gnu: Add xfce4-panel. * gnu/packages/xfce.scm (xfce4-panel): New variable. --- gnu/packages/xfce.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index e6dc4c3b58..ceceba65f8 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -233,3 +233,34 @@ merging features essential for loading menus modified with menu editors.") various URI schemes and MIME types. It is an implementation of the thumbnail management D-Bus specification.") (license gpl2+))) + +(define-public xfce4-panel + (package + (name "xfce4-panel") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1f8903nx6ivzircl8d8s9zna4vjgfy0qhjk5d2x19g9bmycgj89k")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (propagated-inputs + `(("libxfce4util" ,libxfce4util))) ; required by libxfce4panel-1.0.pc + (inputs + `(("exo" ,exo) + ("garcon", garcon) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce desktop panel") + (description + "Desktop panel for Xfce, which contains program launchers, window buttons, +applications menu, workspace switcher and more.") + ;; Libraries are under LGPLv2.1+, and programs under GPLv2+. + (license (list gpl2+ lgpl2.1+)))) From c5c2f9bbb0d47230ae2e4052ef2ddcc3e9dc704c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:34:06 +0800 Subject: [PATCH 203/221] gnu: Add xfce4-appfinder. * gnu/packages/xfce.scm (xfce4-appfinder): New variable. --- gnu/packages/xfce.scm | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index ceceba65f8..5ea41c7590 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -264,3 +264,29 @@ management D-Bus specification.") applications menu, workspace switcher and more.") ;; Libraries are under LGPLv2.1+, and programs under GPLv2+. (license (list gpl2+ lgpl2.1+)))) + +(define-public xfce4-appfinder + (package + (name "xfce4-appfinder") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0falckrziw8m1a72nxd7fqq84r3xfbrb6lv35flsca346rzawah4")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("garcon" ,garcon) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce application finder") + (description + "Application finder for Xfce, it will show the applications installed on +your system in categories, so you can quickly find and launch them.") + (license gpl2+))) From 9a8a040dfe1a8e60949f1204bd5b0dc73d5541b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:38:05 +0800 Subject: [PATCH 204/221] gnu: Add xfce4-session. * gnu/packages/xfce.scm (xfce4-session): New variable. --- gnu/packages/xfce.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 5ea41c7590..c94d2696d4 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -290,3 +290,34 @@ applications menu, workspace switcher and more.") "Application finder for Xfce, it will show the applications installed on your system in categories, so you can quickly find and launch them.") (license gpl2+))) + +(define-public xfce4-session + (package + (name "xfce4-session") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "1kj65jkjhd0ysf0yxsf88wzpyv6n8i8qgd3gb502hf1x9jksk2mv")))) + (build-system gnu-build-system) + (arguments + '(#:configure-flags + (list (string-append "--with-xsession-prefix=" %output)))) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("iceauth" ,iceauth) + ("libsm" ,libsm) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce session manager") + (description + "Session manager for Xfce, it will restore your session on startup and +allows you to shutdown the computer from Xfce.") + (license gpl2+))) From 55613927ea9ae7a465dc2a79128e7b65e47ec99e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:40:26 +0800 Subject: [PATCH 205/221] gnu: Add xfce4-settings. * gnu/packages/xfce.scm (xfce4-settings): New variable. --- gnu/packages/xfce.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index c94d2696d4..82296fafec 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -321,3 +321,34 @@ your system in categories, so you can quickly find and launch them.") "Session manager for Xfce, it will restore your session on startup and allows you to shutdown the computer from Xfce.") (license gpl2+))) + +(define-public xfce4-settings + (package + (name "xfce4-settings") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0zppq747z9lrxyv5zrrvpalq7hb3gfhy9p7qbldisgv7m6dz0hq8")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("garcon" ,garcon) + ("libnotify" ,libnotify) + ("libxcursor", libxcursor) + ("libxi" ,libxi) + ("libxrandr" ,libxrandr) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce settings manager") + (description + "Settings manager for Xfce, it can control various aspects of the desktop +like appearance, display, keyboard and mouse settings.") + (license gpl2+))) From 5c776d27060ef2c142bf9d39f40011cf7bdfc558 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:43:16 +0800 Subject: [PATCH 206/221] gnu: Add thunar. * gnu/packages/xfce.scm (thunar): New variable. --- gnu/packages/xfce.scm | 36 +++++++++++++++++++++++++++++++++++- 1 file changed, 35 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 82296fafec..de369c9fae 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -32,7 +32,10 @@ #:use-module (gnu packages image) #:use-module (gnu packages gnome) #:use-module (gnu packages pdf) - #:use-module (gnu packages gstreamer)) + #:use-module (gnu packages gstreamer) + #:use-module (gnu packages linux) + #:use-module (gnu packages photo) + #:use-module (gnu packages pcre)) (define-public gtk-xfce-engine (package @@ -352,3 +355,34 @@ allows you to shutdown the computer from Xfce.") "Settings manager for Xfce, it can control various aspects of the desktop like appearance, display, keyboard and mouse settings.") (license gpl2+))) + +(define-public thunar + (package + (name "thunar") + (version "1.4.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + "Thunar-" version ".tar.bz2")) + (sha256 + (base32 + "1fn8wjzkfvnx2giv3rrg2cyrr2c96f9mskgvcji0ixyfcjga249c")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("gudev", eudev) + ("libexif" ,libexif) + ("libnotify" ,libnotify) + ("libxfce4ui" ,libxfce4ui) + ("pcre" ,pcre) + ("xfce4-panel" ,xfce4-panel) + ("startup-notification" ,startup-notification))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce file manager") + (description + "A modern file manager for graphical desktop, aiming to be easy-to-use and +fast.") + (license gpl2+))) From aac03800408393d98e6e3203a988bcfcf3c19256 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:44:39 +0800 Subject: [PATCH 207/221] gnu: Add thunar-volman. * gnu/packages/xfce.scm (thunar-volman): New variable. --- gnu/packages/xfce.scm | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index de369c9fae..3332e870f8 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -386,3 +386,33 @@ like appearance, display, keyboard and mouse settings.") "A modern file manager for graphical desktop, aiming to be easy-to-use and fast.") (license gpl2+))) + +(define-public thunar-volman + (package + (name "thunar-volman") + (version "0.8.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/4.10/src/" + name "-" version ".tar.bz2")) + (sha256 + (base32 + "1sxw09fwyn5sr6ipxk7r8gqjyf41c2v7vkgl0l6mhy5mcb48f27z")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("gudev" ,eudev) + ("libnotify" ,libnotify) + ("libxfce4ui" ,libxfce4ui))) + (home-page "http://www.xfce.org/") + (synopsis "Removable media manager for Thunar") + (description + "Thunar-volman is an extension for the Thunar File Manager, which enables +automatic management of removable drives and media. For example, if +thunar-volman is installed and configured properly, and you plug in your +digitcal camera, it will automatically spawn your preferred photo application +and import the new pictures from your camera.") + (license gpl2+))) From 3a4bfddee736ee73ed0e06347768051c3cbd5f73 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:47:04 +0800 Subject: [PATCH 208/221] gnu: Add xfwm4. * gnu/packages/xfce.scm (xfwm4): New variable. --- gnu/packages/xfce.scm | 28 ++++++++++++++++++++++++++++ 1 file changed, 28 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index 3332e870f8..aaf4b600f6 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -416,3 +416,31 @@ thunar-volman is installed and configured properly, and you plug in your digitcal camera, it will automatically spawn your preferred photo application and import the new pictures from your camera.") (license gpl2+))) + +(define-public xfwm4 + (package + (name "xfwm4") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "170zzs7adj47srsi2cl723w9pl8k8awd7w1bpzxby7hj92zmf8s9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("libwnck", libwnck-1) + ("libxfce4ui" ,libxfce4ui) + ("libxrandr" ,libxrandr) + ("libxcomposite" ,libxcomposite))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce window manager") + (description + "Window manager for Xfce, it handles the placement of windows +on the screen.") + (license gpl2+))) From 8a3c54e0a14b74dabe48943c25fd711d32e91f31 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Wed, 10 Dec 2014 19:47:59 +0800 Subject: [PATCH 209/221] gnu: Add xfdesktop. * gnu/packages/xfce.scm (xfdesktop): New variable. --- gnu/packages/xfce.scm | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index aaf4b600f6..f715a50b7b 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -444,3 +444,34 @@ and import the new pictures from your camera.") "Window manager for Xfce, it handles the placement of windows on the screen.") (license gpl2+))) + +(define-public xfdesktop + (package + (name "xfdesktop") + (version "4.10.0") + (source (origin + (method url-fetch) + (uri (string-append "http://archive.xfce.org/xfce/" + (version-major+minor version) + "/src/" name "-" version ".tar.bz2")) + (sha256 + (base32 + "0yrddj1lgk3xn4w340y89z7x2isks72ia36pka08kk2x8gpfcyl9")))) + (build-system gnu-build-system) + (native-inputs + `(("pkg-config" ,pkg-config) + ("intltool" ,intltool))) + (inputs + `(("exo" ,exo) + ("garcon" ,garcon) + ("libnotify" ,libnotify) + ("libwnck" ,libwnck-1) + ("libxfce4ui" ,libxfce4ui) + ("thunar" ,thunar))) + (home-page "http://www.xfce.org/") + (synopsis "Xfce desktop manager") + (description + "Desktop manager for Xfce, it sets the background color or image with +optional application menu or icons for minimized applications or launchers, +devices and folders.") + (license gpl2+))) From 90dcf9c8c5e9d9cf7faf9bbc257bde804016e3b6 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 10 Dec 2014 15:56:00 -0500 Subject: [PATCH 210/221] gnu: pcre: Update to 8.36 and enable JIT support. * gnu/packages/pcre.scm (pcre): Update to 8.36. Enable JIT support. --- gnu/packages/pcre.scm | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/gnu/packages/pcre.scm b/gnu/packages/pcre.scm index 54a3e2277c..3181ba7592 100644 --- a/gnu/packages/pcre.scm +++ b/gnu/packages/pcre.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -27,14 +28,14 @@ (define-public pcre (package (name "pcre") - (version "8.32") + (version "8.36") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/pcre/pcre/" version "/pcre-" version ".tar.bz2")) (sha256 (base32 - "0m8gvrf1q0iwll4csirvvj98xygw4cy7r14i5l53ivsqs2dzn4x9")))) + "1fs5p1z67m9f4xnyil3s4lhgyld78f7m4d1yawpyhh0cvrbk90zg")))) (build-system gnu-build-system) (inputs `(("bzip2" ,bzip2) ("readline" ,readline) @@ -43,7 +44,8 @@ `(#:configure-flags '("--enable-utf" "--enable-pcregrep-libz" "--enable-pcregrep-libbz2" - "--enable-pcretest-libreadline"))) + "--enable-pcretest-libreadline" + "--enable-jit"))) (synopsis "Perl Compatible Regular Expressions") (description "The PCRE library is a set of functions that implement regular expression From c9d512faacb356eea6c3b437f6e35bdb893c0a39 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Wed, 10 Dec 2014 17:39:48 -0500 Subject: [PATCH 211/221] gnu: Add nginx. * gnu/packages/web.scm (nginx): New variable. --- gnu/packages/web.scm | 65 ++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 65 insertions(+) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 0731d0b84b..1ff3dfb5a5 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -2,6 +2,7 @@ ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Aljosha Papsch ;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -19,6 +20,7 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages web) + #:use-module (ice-9 match) #:use-module ((guix licenses) #:prefix l:) #:use-module (guix packages) #:use-module (guix download) @@ -77,6 +79,69 @@ and its related documentation.") (license l:asl2.0) (home-page "https://httpd.apache.org/"))) +(define-public nginx + (package + (name "nginx") + (version "1.6.2") + (source (origin + (method url-fetch) + (uri (string-append "http://nginx.org/download/nginx-" + version ".tar.gz")) + (sha256 + (base32 + "060s77qxhkn02fjkcndsr0xppj2bppjzkj0gn84svrykb4lqqq5m")))) + (build-system gnu-build-system) + (inputs `(("pcre" ,pcre) + ("openssl" ,openssl) + ("zlib" ,zlib))) + (arguments + `(#:tests? #f ; no test target + #:phases + (alist-cons-before + 'configure 'patch-/bin/sh + (lambda _ + (substitute* "auto/feature" + (("/bin/sh") (which "bash")))) + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((flags + (list (string-append "--prefix=" (assoc-ref outputs "out")) + "--with-http_ssl_module" + "--with-pcre-jit" + "--with-ipv6" + "--with-debug" + ;; Even when not cross-building, we pass the + ;; --crossbuild option to avoid customizing for the + ;; kernel version on the build machine. + ,(let ((system "Linux") ; uname -s + (release "2.6.32") ; uname -r + ;; uname -m + (machine (match (or (%current-target-system) + (%current-system)) + ("x86_64-linux" "x86_64") + ("i686-linux" "i686") + ("mips64el-linux" "mips64")))) + (string-append "--crossbuild=" + system ":" release ":" machine))))) + (setenv "CC" "gcc") + (format #t "environment variable `CC' set to `gcc'~%") + (format #t "configure flags: ~s~%" flags) + (zero? (apply system* "./configure" flags)))) + %standard-phases)))) + (home-page "http://nginx.org") + (synopsis "HTTP and reverse proxy server") + (description + "Nginx (\"engine X\") is a high-performance web and reverse proxy server +created by Igor Sysoev. It can be used both as a standalone web server +and as a proxy to reduce the load on back-end HTTP or mail servers.") + ;; Almost all of nginx is distributed under the bsd-2 license. + ;; The exceptions are: + ;; * The 'nginx-http-push' module is covered by the expat license. + ;; * The 'nginx-development-kit' module is mostly covered by bsd-3, + ;; except for two source files which are bsd-4 licensed. + (license (list l:bsd-2 l:expat l:bsd-3 l:bsd-4)))) + (define-public json-c (package (name "json-c") From 97ab2c0fb625b622b1c4ec19a9f11cb1a59ee75a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Dec 2014 23:52:27 +0100 Subject: [PATCH 212/221] system: /etc/profile defines 'MANPATH', which includes the global profile. * gnu/system.scm (etc-directory)[profile]: Set 'MANPATH'. --- gnu/system.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/system.scm b/gnu/system.scm index 5cb6c9e947..b14991e5db 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -398,6 +398,7 @@ export LINUX_MODULE_DIRECTORY=/run/booted-system/kernel/lib/modules export PATH=$HOME/.guix-profile/bin:/run/current-system/profile/bin export PATH=/run/setuid-programs:/run/current-system/profile/sbin:$PATH +export MANPATH=$HOME/.guix-profile/share/man:/run/current-system/profile/share/man export INFOPATH=$HOME/.guix-profile/share/info:/run/current-system/profile/share/info ")) (skel (skeleton-directory skeletons))) From 4e10a22168248bbbb78cd8603bb9b8a3a26b90c7 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Thu, 11 Dec 2014 15:48:22 +0100 Subject: [PATCH 213/221] gnu: Add samtools MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * gnu/packages/bioinformatics.scm: New file * gnu-system.am (GNU_SYSTEM_MODULES): Add it Signed-off-by: Ludovic Courtès --- gnu-system.am | 1 + gnu/packages/bioinformatics.scm | 84 +++++++++++++++++++++++++++++++++ 2 files changed, 85 insertions(+) create mode 100644 gnu/packages/bioinformatics.scm diff --git a/gnu-system.am b/gnu-system.am index 2854fb511d..e828c01d7c 100644 --- a/gnu-system.am +++ b/gnu-system.am @@ -45,6 +45,7 @@ GNU_SYSTEM_MODULES = \ gnu/packages/base.scm \ gnu/packages/bash.scm \ gnu/packages/bdw-gc.scm \ + gnu/packages/bioinformatics.scm \ gnu/packages/bittorrent.scm \ gnu/packages/bison.scm \ gnu/packages/boost.scm \ diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm new file mode 100644 index 0000000000..6f6178a3ff --- /dev/null +++ b/gnu/packages/bioinformatics.scm @@ -0,0 +1,84 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2014 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 bioinformatics) + #:use-module ((guix licenses) #:prefix license:) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages compression) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python)) + +(define-public samtools + (package + (name "samtools") + (version "1.1") + (source + (origin + (method url-fetch) + (uri + (string-append "mirror://sourceforge/samtools/" + version "/samtools-" version ".tar.bz2")) + (sha256 + (base32 + "1y5p2hs4gif891b4ik20275a8xf3qrr1zh9wpysp4g8m0g1jckf2")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list (string-append "prefix=" (assoc-ref %outputs "out"))) + #:phases + (alist-cons-after + 'unpack + 'patch-makefile-curses + (lambda _ + (substitute* "Makefile" + (("-lcurses") "-lncurses"))) + (alist-cons-after + 'unpack + 'patch-tests + (lambda* (#:key inputs #:allow-other-keys) + (let ((bash (assoc-ref inputs "bash"))) + (substitute* "test/test.pl" + ;; The test script calls out to /bin/bash + (("/bin/bash") + (string-append bash "/bin/bash")) + ;; There are two failing tests upstream relating to the "stats" + ;; subcommand in test_usage_subcommand ("did not have Usage" + ;; and "usage did not mention samtools stats"), so we disable + ;; them. + (("(test_usage_subcommand\\(.*\\);)" cmd) + (string-append "unless ($subcommand eq 'stats') {" cmd "};"))))) + (alist-delete + 'configure + %standard-phases))))) + (native-inputs `(("pkg-config" ,pkg-config))) + (inputs `(("ncurses" ,ncurses) + ("perl" ,perl) + ("python" ,python) + ("zlib" ,zlib))) + (home-page "http://samtools.sourceforge.net") + (synopsis "Utilities to efficiently manipulate nucleotide sequence alignments") + (description + "Samtools implements various utilities for post-processing nucleotide +sequence alignments in the SAM, BAM, and CRAM formats, including indexing, +variant calling (in conjunction with bcftools), and a simple alignment +viewer.") + (license license:expat))) From aba42c98b30c33077f2752d144ee76218ef0ebda Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=AE=8B=E6=96=87=E6=AD=A6?= Date: Sat, 13 Dec 2014 11:15:03 +0800 Subject: [PATCH 214/221] gnu: xfconf: Disable parallel tests. * gnu/packages/xfce.scm (xfconf): Add 'arguments' field. --- gnu/packages/xfce.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/xfce.scm b/gnu/packages/xfce.scm index f715a50b7b..69776fc582 100644 --- a/gnu/packages/xfce.scm +++ b/gnu/packages/xfce.scm @@ -96,6 +96,7 @@ Xfce Desktop Environment.") (base32 "0xh520z0qh0ib0ijgnyrgii9h5d4pc53n6mx1chhyzfc86j1jlhp")))) (build-system gnu-build-system) + (arguments '(#:parallel-tests? #f)) ; parallel tests failed (native-inputs `(("pkg-config" ,pkg-config) ("intltool" ,intltool))) From c1125a04bbd2c63ab25437c229cd3b6646c0bddb Mon Sep 17 00:00:00 2001 From: Federico Beffa Date: Sat, 13 Dec 2014 09:40:17 +0100 Subject: [PATCH 215/221] gnu: python-numpy-bootstrap: Make tests verbose. * gnu/packages/python.scm (python-numpy-bootstrap): Make tests verbose to allow test failure debugging on hydra. --- gnu/packages/python.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 67effe77d6..dc7def5507 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -1934,7 +1934,8 @@ writing C extensions for Python as easy as Python itself.") 'install 'check (lambda _ (with-directory-excursion "/tmp" - (zero? (system* "python" "-c" "import numpy; numpy.test()")))) + (zero? (system* "python" "-c" + "import numpy; numpy.test(verbose=2)")))) (alist-delete 'check %standard-phases))))) From a8a086e3928371863b23451f52210d74f4c78ab8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 15:39:46 +0100 Subject: [PATCH 216/221] system: Add sudo to '%base-packages'. * gnu/system.scm (%base-packages): Add SUDO. --- gnu/system.scm | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/gnu/system.scm b/gnu/system.scm index b14991e5db..fc8b57fe06 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -336,6 +336,11 @@ explicitly appear in OS." net-tools ; XXX: remove when Inetutils suffices man-db + ;; The 'sudo' command is already in %SETUID-PROGRAMS, but we also + ;; want the other commands and the man pages (notably because + ;; auto-completion in Emacs shell relies on man pages.) + sudo + ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev ;; already depends on it anyway. kmod eudev From b2bd7c253a9798630e983ac801e28aeb6b01cb1f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 16:17:23 +0100 Subject: [PATCH 217/221] services: xorg: Run the window manager from a login shell. This is a followup to 1d18d87, which fixes . * gnu/services/xorg.scm (xinitrc)[builder]: Add 'exec-from-login-shell' procedure. Use it instead of 'execl' when launching XSESSION, WMAKER, or RATPOISON. --- gnu/services/xorg.scm | 31 +++++++++++++++++-------------- 1 file changed, 17 insertions(+), 14 deletions(-) diff --git a/gnu/services/xorg.scm b/gnu/services/xorg.scm index c813f0fb1e..fbf96c799b 100644 --- a/gnu/services/xorg.scm +++ b/gnu/services/xorg.scm @@ -143,28 +143,31 @@ EndSection #~(begin (use-modules (ice-9 match)) - (let* ((home (getenv "HOME")) - (profile (string-append home "/.guix-profile/bin")) - (PATH (or (getenv "PATH") "")) - (xsession (string-append home "/.xsession"))) - ;; Make sure the user's profile is visible. - (setenv "PATH" - (string-append profile - (if (string-null? PATH) "" ":") - PATH)) + (define (exec-from-login-shell command . args) + ;; Run COMMAND from a login shell so that it gets to see the same + ;; environment variables that one gets when logging in on a tty, for + ;; instance. + (let* ((pw (getpw (getuid))) + (shell (passwd:shell pw)) + (st (stat command #f))) + (when (and st (not (zero? (logand (stat:mode st) #o100)))) + ;; The '--login' option is supported at least by Bash and zsh. + (execl shell shell "--login" "-c" + (string-join (cons command args)))))) - ;; First, try to run ~/.xsession. - (false-if-exception (execl xsession xsession))) + ;; First, try to run ~/.xsession. + (let* ((home (getenv "HOME")) + (xsession (string-append home "/.xsession"))) + (exec-from-login-shell xsession)) ;; Then try a pre-configured session type. (let ((ratpoison (string-append #$ratpoison "/bin/ratpoison")) (wmaker (string-append #$windowmaker "/bin/wmaker"))) (match (command-line) ((_ "ratpoison") - (execl ratpoison ratpoison)) + (exec-from-login-shell ratpoison)) (_ - ;; 'wmaker' does execvp(argv[0]), so we really can't mess up. - (execl wmaker wmaker)))))) + (exec-from-login-shell wmaker)))))) (gexp->script "xinitrc" builder)) From 5c5e7bdafd38e2bed2c4e0b0f64fefb16855aded Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 17:18:05 +0100 Subject: [PATCH 218/221] vm: Use QEMU's standard VGA emulation by default. * gnu/system/vm.scm (common-qemu-options): Add "-vga std". --- gnu/system/vm.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 33ca396eb9..4374256530 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -472,7 +472,7 @@ with '-virtfs' options for the host file systems listed in SHARED-FS." " -enable-kvm -no-reboot -net nic,model=virtio \ " #$@(map virtfs-option shared-fs) " \ -net user \ - -serial stdio \ + -serial stdio -vga std \ -drive file=" #$image ",if=virtio,cache=writeback,werror=report,readonly \ -m 256")) From 6c777cf88c84c164e825f6e875bb4d2812892ed9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 21:28:12 +0100 Subject: [PATCH 219/221] system: Adjust 'grub.cfg' to work on systems with a separate /boot. Fixes . Reported by Nikita Karetnikov . * gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add 'search --file --set'. (grub-configuration-file)[builder]: Remove 'search.file'. --- gnu/system/grub.scm | 14 ++++++-------- 1 file changed, 6 insertions(+), 8 deletions(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 00e09f9736..76fde20896 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -209,11 +209,14 @@ entries corresponding to old generations of the system." (match-lambda (($ label linux arguments initrd) #~(format port "menuentry ~s { + # Set 'root' to the partition that contains the kernel. + search --file --set ~a/bzImage~% + linux ~a/bzImage ~a initrd ~a }~%" #$label - #$linux (string-join (list #$@arguments)) + #$linux #$linux (string-join (list #$@arguments)) #$initrd)))) (mlet %store-monad ((sugar (eye-candy config #~port))) @@ -223,14 +226,9 @@ entries corresponding to old generations of the system." #$sugar (format port " set default=~a -set timeout=~a -search.file ~a/bzImage~%" +set timeout=~a~%" #$(grub-configuration-default-entry config) - #$(grub-configuration-timeout config) - #$(any (match-lambda - (($ _ linux) - linux)) - all-entries)) + #$(grub-configuration-timeout config)) #$@(map entry->gexp all-entries) #$@(if (pair? old-entries) From ccc2678b0d43dd2c265502805312710b3f5d5459 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 22:15:01 +0100 Subject: [PATCH 220/221] system: grub: Make sure the font and background image are always found. * gnu/system/grub.scm (eye-candy): Add 'search --file --set'. --- gnu/system/grub.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index 76fde20896..ecffee3112 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -170,6 +170,9 @@ function load_video { insmod video_cirrus } +# Set 'root' to the partition that contains /gnu/store. +search --file --set ~a/share/grub/unicode.pf2 + if loadfont ~a/share/grub/unicode.pf2; then set gfxmode=640x480 load_video @@ -185,7 +188,7 @@ else set menu_color_normal=cyan/blue set menu_color_highlight=white/blue fi~%" - #$grub + #$grub #$grub #$image #$(theme-colors grub-theme-color-normal) #$(theme-colors grub-theme-color-highlight)))))) From 45c5b47b96a238c764c2d32966267f7f897bcc3d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Dec 2014 22:30:44 +0100 Subject: [PATCH 221/221] activation: Copy the account skeletons when creating the 'root' account. * gnu/build/activation.scm (%skeleton-directory): New variable. (dot-or-dot-dot?, copy-account-skeletons): New procedure. (add-user): Use 'copy-account-skeletons'. (activate-etc): Use 'dot-or-dot-dot?'. --- gnu/build/activation.scm | 24 +++++++++++++++++++++--- 1 file changed, 21 insertions(+), 3 deletions(-) diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index c27cda3666..dfadde326c 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -50,6 +50,25 @@ ,name))) (zero? (apply system* "groupadd" args)))) +(define %skeleton-directory + ;; Directory containing skeleton files for new accounts. + ;; Note: keep the trailing '/' so that 'scandir' enters it. + "/etc/skel/") + +(define (dot-or-dot-dot? file) + (member file '("." ".."))) + +(define* (copy-account-skeletons home + #:optional (directory %skeleton-directory)) + "Copy the account skeletons from DIRECTORY to HOME." + (let ((files (scandir directory (negate dot-or-dot-dot?) + string "~a:x:~a:~a:~a:~a:~a~%" name "0" "0" comment home shell)) (chmod "/etc/shadow" #o600) + (copy-account-skeletons (or home "/root")) #t) ;; Use 'useradd' from the Shadow package. @@ -198,9 +218,7 @@ numeric gid or #f." ;; XXX: Dirty hack to meet sudo's expectations. (when (string=? (basename target) "sudoers") (chmod target #o440)))) - (scandir etc - (lambda (file) - (not (member file '("." "..")))) + (scandir etc (negate dot-or-dot-dot?) ;; The default is 'string-locale