diff options
Diffstat (limited to 'gnu')
44 files changed, 229 insertions, 89 deletions
diff --git a/gnu/build/activation.scm b/gnu/build/activation.scm index 04dd19f3e1..16805b9bc6 100644 --- a/gnu/build/activation.scm +++ b/gnu/build/activation.scm @@ -236,8 +236,13 @@ copy SOURCE to TARGET." "Return the '--system' argument passed on the kernel command line." (find-long-option "--system" (linux-command-line))) -(define* (activate-current-system #:optional (system (boot-time-system))) +(define* (activate-current-system + #:optional (system (or (getenv "GUIX_NEW_SYSTEM") + (boot-time-system)))) "Atomically make SYSTEM the current system." + ;; The 'GUIX_NEW_SYSTEM' environment variable is used as a way for 'guix + ;; system reconfigure' to pass the file name of the new system. + (format #t "making '~a' the current system...~%" system) ;; Atomically make SYSTEM current. diff --git a/gnu/packages/admin.scm b/gnu/packages/admin.scm index a255ff1b74..ffeab07bde 100644 --- a/gnu/packages/admin.scm +++ b/gnu/packages/admin.scm @@ -886,7 +886,7 @@ development, not the kernel implementation of ACPI.") "1v9vnzlihqfjsxa93hdbrq72pqqk00dkylmlg8jpxhm7s1w9qfl1")))) (build-system gnu-build-system) (home-page "http://packages.debian.org/wheezy/stress") - (synopsis "A tool to impose load on and stress test a computer system") + (synopsis "Impose load on and stress test a computer system") (description "'stress' is a tool that imposes a configurable amount of CPU, memory, I/O, or disk stress on a POSIX-compliant operating system and reports any errors it @@ -986,10 +986,10 @@ recover lost partitions and/or make non-booting disks bootable again.") (synopsis "Daemon to monitor directories for events such as file removal") (description "A daemon that monitors directories for events, such as creating, -deleting or modifying files. It can monitor different sets of directories for +deleting or modifying files. It can monitor different sets of directories for different events. When an event is detected, direvent calls a specified external program with information about the event, such as the location -within the file system where it occurred. Thus, \"direvent\" provides an easy -way to react immediately if given files undergo changes, for example, to +within the file system where it occurred. Thus, \"direvent\" provides an +easy way to react immediately if given files undergo changes, for example, to track changes in important system configuration files.") (license gpl3+))) diff --git a/gnu/packages/algebra.scm b/gnu/packages/algebra.scm index 8c12eb604e..7fc31abae7 100644 --- a/gnu/packages/algebra.scm +++ b/gnu/packages/algebra.scm @@ -154,6 +154,57 @@ GP2C, the GP to C compiler, translates GP scripts to PARI programs.") (license gpl2) (home-page "http://pari.math.u-bordeaux.fr/"))) +(define-public flint + (package + (name "flint") + (version "2.4.4") + (source (origin + (method url-fetch) + (uri (string-append + "http://flintlib.org/flint-" + version ".tar.gz")) + (sha256 (base32 + "1isv1sfv8sg3qvf0d99apdfi3jnql95xfzszcawdf1pgjj9rwyf4")))) + (build-system gnu-build-system) + (inputs + `(("gmp" ,gmp) + ("mpfr" ,mpfr))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out")) + (gmp (assoc-ref inputs "gmp")) + (mpfr (assoc-ref inputs "mpfr"))) + ;; Drop test failing with gmp-6 due to changed invertibility + ;; of 0 in Z/1 Z, which according to the flint authors has no + ;; impact on flint. + ;; FIXME: Drop with later version. + (delete-file "fmpz/test/t-invmod.c") + ;; do not pass "--enable-fast-install", which makes the + ;; homebrew configure process fail + (zero? (system* + "./configure" + (string-append "--prefix=" out) + (string-append "--with-gmp=" gmp) + (string-append "--with-mpfr=" mpfr))))) + %standard-phases))) + (synopsis "Fast library for number theory") + (description + "FLINT is a C library for number theory. It supports arithmetic +with numbers, polynomials, power series and matrices over many base +rings, including multiprecision integers and rationals, integers +modulo n, p-adic numbers, finite fields (prime and non-prime order) +and real and complex numbers (via the Arb extension library). + +Operations that can be performed include conversions, arithmetic, +GCDs, factoring, solving linear systems, and evaluating special +functions. In addition, FLINT provides various low-level routines for +fast arithmetic.") + (license gpl2+) + (home-page "http://flintlib.org/"))) + (define-public bc (package (name "bc") diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5ecff76252..fe2f0f07e8 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -347,10 +347,11 @@ change. GNU make offers many powerful extensions over the standard utility.") (synopsis "Binary utilities: bfd gas gprof ld") (description "GNU Binutils is a collection of tools for working with binary files. -Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler. Other -tools include programs to display binary profiling information, list the -strings in a binary file, and utilities for working with archives. The \"bfd\" -library for working with executable and object formats is also included.") +Perhaps the most notable are \"ld\", a linker, and \"as\", an assembler. +Other tools include programs to display binary profiling information, list +the strings in a binary file, and utilities for working with archives. The +\"bfd\" library for working with executable and object formats is also +included.") (license gpl3+) (home-page "http://www.gnu.org/software/binutils/"))) diff --git a/gnu/packages/compression.scm b/gnu/packages/compression.scm index 11e8d2bc17..dbaed6155d 100644 --- a/gnu/packages/compression.scm +++ b/gnu/packages/compression.scm @@ -228,7 +228,7 @@ than gzip and 15 % smaller output than bzip2.") (arguments '(#:configure-flags '("--enable-shared"))) (home-page "http://www.oberhumer.com/opensource/lzo") (synopsis - "A data compresion library suitable for real-time data de-/compression") + "Data compresion library suitable for real-time data de-/compression") (description "LZO is a data compression library which is suitable for data de-/compression in real-time. This means it favours speed over diff --git a/gnu/packages/cook.scm b/gnu/packages/cook.scm index b82c8aae30..c1799e7887 100644 --- a/gnu/packages/cook.scm +++ b/gnu/packages/cook.scm @@ -75,7 +75,7 @@ ;; ("inetutils" ,inetutils) ("ed" ,ed))) (home-page "http://miller.emu.id.au/pmiller/software/cook") - (synopsis "A tool for constructing files") + (synopsis "Tool for constructing files") (description "Cook is a tool for constructing files. It is given a set of files to create, and recipes of how to create them. In any non-trivial program there will be prerequisites to performing the actions necessary to creating diff --git a/gnu/packages/cpio.scm b/gnu/packages/cpio.scm index 2c6e5efdba..eff146ded5 100644 --- a/gnu/packages/cpio.scm +++ b/gnu/packages/cpio.scm @@ -39,9 +39,9 @@ (home-page "https://www.gnu.org/software/cpio/") (synopsis "Manage cpio and tar file archives") (description - "GNU cpio copies files into or out of cpio or tar archives. Indeed, + "GNU cpio copies files into or out of cpio or tar archives. Indeed, many formats are supported, including legacy formats. The format is -determined automatically by the program and is handled appropriately. +determined automatically by the program and is handled appropriately. Furthermore, the location of the archive is not important. It can be another file on the drive, a tape, or data on a pipe.") (license gpl3+))) diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 01d9cbdd62..d04a3320ad 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -139,7 +139,7 @@ SQL, Key/Value, XML/XQuery or Java Object storage for their data model.") (string-append out "/share/info/mysql.info"))))) %standard-phases))) (home-page "http://www.mysql.com/") - (synopsis "A fast, easy to use, and popular database") + (synopsis "Fast, easy to use, and popular database") (description "MySQL is a fast, reliable, and easy to use relational database management system that supports the standardized Structured Query @@ -204,8 +204,8 @@ pictures, sounds, or video.") "GNU Recutils is a set of tools and libraries for creating and manipulating text-based, human-editable databases. Despite being text-based, databases created with Recutils carry all of the expected features such as -unique fields, primary keys, time stamps and more. Many different field types -are supported, as is encryption.") +unique fields, primary keys, time stamps and more. Many different field +types are supported, as is encryption.") (license gpl3+) (home-page "http://www.gnu.org/software/recutils/"))) diff --git a/gnu/packages/ed.scm b/gnu/packages/ed.scm index dd0250647a..c2b19292f0 100644 --- a/gnu/packages/ed.scm +++ b/gnu/packages/ed.scm @@ -50,6 +50,6 @@ "Ed is a line-oriented text editor: rather than offering an overview of a document, ed performs editing one line at a time. It can be executed both interactively and via shell scripts. Its method of command input allows -complex tasks to be performed in an automated way. GNU ed offers several +complex tasks to be performed in an automated way. GNU ed offers several extensions over the standard utility.") (license gpl3+))) diff --git a/gnu/packages/elf.scm b/gnu/packages/elf.scm index a9f2ab5351..a63a00f97c 100644 --- a/gnu/packages/elf.scm +++ b/gnu/packages/elf.scm @@ -80,7 +80,7 @@ addr2line, and more.") (string-append "--prefix=" out))))) %standard-phases))) (home-page "http://www.mr511.de/software/english.html") - (synopsis "An ELF object file access library") + (synopsis "ELF object file access library") (description "libelf is a C library to access ELF object files.") (license lgpl2.0+))) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 76a8cc566f..1a37bef657 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Taylan Ulrich Bayirli/Kammer <taylanbayirli@gmail.com> -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -114,6 +114,7 @@ languages.") (define-public emacs-no-x-toolkit (package (inherit emacs) + (location (source-properties->location (current-source-location))) (name "emacs-no-x-toolkit") (synopsis "The extensible, customizable, self-documenting text editor (without an X toolkit)" ) diff --git a/gnu/packages/flex.scm b/gnu/packages/flex.scm index 9318331f60..82a2e98d98 100644 --- a/gnu/packages/flex.scm +++ b/gnu/packages/flex.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -62,7 +62,7 @@ ("indent" ,indent)))) (propagated-inputs `(("m4" ,m4))) (home-page "http://flex.sourceforge.net/") - (synopsis "A fast lexical analyser generator") + (synopsis "Fast lexical analyser generator") (description "Flex is a tool for generating scanners. A scanner, sometimes called a tokenizer, is a program which recognizes lexical patterns in diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index d17843ec34..a67b0a2230 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -87,7 +87,7 @@ anti-aliased glyph bitmap generation with 256 gray levels.") (string-append "--with-add-fonts=" (assoc-ref %build-inputs "gs-fonts") "/share/fonts")))) - (synopsis "Fontconfig, a library for configuring and customising font access.") + (synopsis "Library for configuring and customizing font access") (description "Fontconfig can discover new fonts when installed automatically; perform font name substitution, so that appropriate alternative fonts can @@ -118,7 +118,7 @@ high quality, anti-aliased and subpixel rendered text on a display.") `(#:tests? #f ; no test target #:make-flags '("without_doc"))) - (synopsis "T1lib, a library for generating bitmaps from type 1 fonts.") + (synopsis "Library for generating bitmaps from Type 1 fonts") (description "T1lib is a library for generating/rasterising bitmaps from Type 1 fonts. It is based on the code of the X11 rasteriser of the X11 project. diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index f3c88c92d4..1a911b76a9 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -100,7 +100,7 @@ representation of the playing board.") "GNUbik is a puzzle game in which you must manipulate a cube to make each of its faces have a uniform color. The game is customizable, allowing you to set the size of the cube (the default is 3x3) or to change the colors. - You may even apply photos to the faces instead of colors. The game is +You may even apply photos to the faces instead of colors. The game is scriptable with Guile.") (license gpl3+))) diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index 84b5bd17a7..10506197f3 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -72,10 +72,10 @@ '()))) (home-page "http://www.gnu.org/software/gawk/") - (synopsis "A text scanning and processing language") + (synopsis "Text scanning and processing language") (description "Gawk is the GNU implementation of Awk, a specialized programming language for the easy manipulation of formatted text, such as tables of data. - Gawk features many extensions beyond the traditional implementation, +Gawk features many extensions beyond the traditional implementation, including network access, sorting, and large libraries.") (license gpl3+))) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 938c38e670..66888389d4 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -336,8 +336,8 @@ Go. It also includes runtime support libraries for these languages.") (inputs `(("gmp" ,gmp))) (home-page "http://isl.gforge.inria.fr/") (synopsis - "A library for manipulating sets and relations of integer points bounded -by linear constraints") + "Manipulating sets and relations of integer points \ +bounded by linear constraints") (description "isl is a library for manipulating sets and relations of integer points bounded by linear constraints. Supported operations on sets include @@ -371,7 +371,7 @@ dependence analysis and bounds on piecewise step-polynomials.") ("isl" ,isl))) (arguments '(#:configure-flags '("--with-isl=system"))) (home-page "http://www.cloog.org/") - (synopsis "A library to generate code for scanning Z-polyhedra") + (synopsis "Library to generate code for scanning Z-polyhedra") (description "CLooG is a free software library to generate code for scanning Z-polyhedra. That is, it finds a code (e.g., in C, FORTRAN...) that diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index f684d24627..cf690da25a 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -484,7 +484,7 @@ the API") ("glib" ,glib "bin"))) (propagated-inputs `(("pangox-compat" ,pangox-compat))) (home-page "https://projects.gnome.org/gtkglext") - (synopsis "OpenGL extension to GTK+.") + (synopsis "OpenGL extension to GTK+") (description "GtkGLExt is an OpenGL extension to GTK+. It provides additional GDK objects which support OpenGL rendering in GTK+ and GtkWidget API add-ons to make GTK+ widgets OpenGL-capable.") diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm index 14f75bff45..311ebbee8b 100644 --- a/gnu/packages/gnuzilla.scm +++ b/gnu/packages/gnuzilla.scm @@ -137,6 +137,6 @@ (synopsis "Entirely free browser derived from Mozilla Firefox") (description "IceCat is the GNU version of the Firefox browser. It is entirely free -software, which does not recommend non-free plugins and addons. It also +software, which does not recommend non-free plugins and addons. It also features built-in privacy-protecting features.") (license license:mpl2.0))) ; and others, see toolkit/content/license.html diff --git a/gnu/packages/gperf.scm b/gnu/packages/gperf.scm index d9e80337d4..9d9aaba3ce 100644 --- a/gnu/packages/gperf.scm +++ b/gnu/packages/gperf.scm @@ -39,8 +39,8 @@ (home-page "http://www.gnu.org/software/gperf/") (synopsis "Perfect hash function generator") (description - "gperf is a perfect hash function generator. For a given list of strings, -it produces a hash function and hash table in C or C++ code. That the hash -function is perfect means that no collisions can exist and that look-ups can be -made by single string comparisons.") + "gperf is a perfect hash function generator. For a given list of +strings, it produces a hash function and hash table in C or C++ code. That +the hash function is perfect means that no collisions can exist and that +look-ups can be made by single string comparisons.") (license gpl3+))) diff --git a/gnu/packages/grub.scm b/gnu/packages/grub.scm index fabbbc439d..398a6d4e49 100644 --- a/gnu/packages/grub.scm +++ b/gnu/packages/grub.scm @@ -101,7 +101,7 @@ (description "GRUB is a multiboot bootloader. It is used for initially loading the kernel of an operating system and then transferring control to it. The kernel -then goes on to load the rest of the operating system. As a multiboot +then goes on to load the rest of the operating system. As a multiboot bootloader, GRUB handles the presence of multiple operating systems installed on the same computer; upon booting the computer, the user is presented with a menu to select one of the installed operating systems.") diff --git a/gnu/packages/libunwind.scm b/gnu/packages/libunwind.scm index b59adb1cdc..5e813e55c1 100644 --- a/gnu/packages/libunwind.scm +++ b/gnu/packages/libunwind.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -39,8 +39,7 @@ ;; Report them upstream. '(#:tests? #f)) (home-page "http://www.nongnu.org/libunwind") - (synopsis - "A portable and efficient API to determine the call-chain of a program") + (synopsis "Determining the call chain of a program") (description "The primary goal of this project is to define a portable and efficient C programming interface (API) to determine the call-chain of a program. The API diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 04d0458dc9..dd4ed85a64 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -49,6 +49,7 @@ #:use-module (gnu packages gtk) #:use-module (guix packages) #:use-module (guix download) + #:use-module (guix utils) #:use-module (guix build-system gnu) #:use-module (guix build-system cmake) #:use-module (guix build-system python) @@ -509,7 +510,12 @@ slabtop, and skill.") (native-inputs `(("pkg-config" ,pkg-config) ("texinfo" ,texinfo))) ; for the libext2fs Info manual (arguments - '(#:phases (alist-cons-before + '(;; The 'blkid' command and library are already provided by util-linux, + ;; which is the preferred source for them (see, e.g., + ;; <http://git.buildroot.net/buildroot/commit/?id=e1ffc2f791b336339909c90559b7db40b455f172>.) + #:configure-flags '("--disable-blkid") + + #:phases (alist-cons-before 'configure 'patch-shells (lambda _ (substitute* "configure" @@ -717,7 +723,7 @@ packet filter.") (home-page "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2") (synopsis - "A collection of utilities for controlling TCP/IP networking and traffic control in Linux") + "Utilities for controlling TCP/IP networking and traffic in Linux") (description "Iproute2 is a collection of utilities for controlling TCP/IP networking and traffic with the Linux kernel. @@ -1013,9 +1019,11 @@ processes currently causing I/O.") (string-append "INIT_D_PATH=" (assoc-ref %outputs "out") "/etc/init.d") + + ;; The rule makes /dev/fuse 666. (string-append "UDEV_RULES_PATH=" (assoc-ref %outputs "out") - "/etc/udev")) + "/lib/udev/rules.d")) #:phases (alist-cons-before 'build 'set-file-names (lambda* (#:key inputs #:allow-other-keys) @@ -1321,6 +1329,7 @@ from the module-init-tools project.") (license gpl2+))) ; library under lgpl2.1+ (define-public udev + ;; The last pre-systemd version. (package (name "udev") (version "182") @@ -1365,6 +1374,26 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot time.") (license gpl2+))) ; libudev is under lgpl2.1+ +(define-public eudev + ;; The post-systemd fork, maintained by Gentoo. + (package (inherit udev) + (name "eudev") + (version "1.9") + (source (origin + (method url-fetch) + (uri (string-append + "http://dev.gentoo.org/~blueness/eudev/eudev-" + version ".tar.gz")) + (sha256 + (base32 + "1w6f8h7fhjz3prs630f8gawv7jx74zi600z0pm997kkp24pyj5wg")) + (patches (list (search-patch "eudev-rules-directory.patch"))))) + (arguments + (substitute-keyword-arguments (package-arguments udev) + ((#:configure-flags flags) + `(cons "--enable-libkmod" ,flags)))) + (home-page "http://www.gentoo.org/proj/en/eudev/"))) + (define-public lvm2 (package (name "lvm2") diff --git a/gnu/packages/lisp.scm b/gnu/packages/lisp.scm index 065bb46b7e..c2edaaf0b2 100644 --- a/gnu/packages/lisp.scm +++ b/gnu/packages/lisp.scm @@ -71,7 +71,7 @@ ("texinfo" ,texinfo) ("texlive" ,texlive))) (home-page "http://www.gnu.org/software/gcl") - (synopsis "A Common Lisp implementation") + (synopsis "Common Lisp implementation") (description "GCL is an implementation of the Common Lisp language. It features the ability to compile to native object code and to load native object code modules directly into its lisp core. It also features a diff --git a/gnu/packages/lua.scm b/gnu/packages/lua.scm index 92ffc22c14..2bc627a3e4 100644 --- a/gnu/packages/lua.scm +++ b/gnu/packages/lua.scm @@ -57,7 +57,7 @@ "/share/man/man1"))))) (alist-delete 'configure %standard-phases))))) (home-page "http://www.lua.org/") - (synopsis "An embeddable scripting language.") + (synopsis "Embeddable scripting language") (description "Lua is a powerful, fast, lightweight, embeddable scripting language. Lua combines simple procedural syntax with powerful data description constructs diff --git a/gnu/packages/maths.scm b/gnu/packages/maths.scm index 774686310f..5f30afe433 100644 --- a/gnu/packages/maths.scm +++ b/gnu/packages/maths.scm @@ -179,11 +179,11 @@ LP/MIP solver is included in the package.") (synopsis "Statistical analysis") (description "GNU PSPP is a statistical analysis program. It can perform -descriptive statistics, T-tests, linear regression and non-parametric tests. -It features both a graphical interface as well as command-line input. PSPP is -designed to interoperate with Gnumeric, LibreOffice and OpenOffice. Data can -be imported from spreadsheets, text files and database sources and it can be -output in text, PostScript, PDF or HTML.") +descriptive statistics, T-tests, linear regression and non-parametric tests. +It features both a graphical interface as well as command-line input. PSPP +is designed to interoperate with Gnumeric, LibreOffice and OpenOffice. Data +can be imported from spreadsheets, text files and database sources and it can +be output in text, PostScript, PDF or HTML.") (license license:gpl3+))) (define-public lapack @@ -472,6 +472,7 @@ scientific applications modeled by partial differential equations.") (define-public petsc-complex (package (inherit petsc) + (location (source-properties->location (current-source-location))) (name "petsc-complex") (arguments (substitute-keyword-arguments (package-arguments petsc) diff --git a/gnu/packages/mpd.scm b/gnu/packages/mpd.scm index 634bc7c6bd..0accc5edef 100644 --- a/gnu/packages/mpd.scm +++ b/gnu/packages/mpd.scm @@ -144,7 +144,7 @@ protocol.") ("libmpdclient" ,libmpdclient) ("ncurses" ,ncurses))) (native-inputs `(("pkg-config" ,pkg-config))) - (synopsis "A curses Music Player Daemon client") + (synopsis "Curses Music Player Daemon client") (description "ncmpc is a fully featured MPD client, which runs in a terminal using ncurses.") (home-page "http://www.musicpd.org/clients/ncmpc/") diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 9f35de1819..b789b333b8 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -103,10 +103,10 @@ (synopsis "Functional package manager for installed software packages and versions") (description "GNU Guix is a functional package manager for the GNU system, and is -also a distribution thereof. It includes a virtual machine image. Besides +also a distribution thereof. It includes a virtual machine image. Besides the usual package management features, it also supports transactional -upgrades and roll-backs, per-user profiles, and much more. It is based on the -Nix package manager.") +upgrades and roll-backs, per-user profiles, and much more. It is based on +the Nix package manager.") (license gpl3+))) (define-public guix guix-0.7) diff --git a/gnu/packages/patches/eudev-rules-directory.patch b/gnu/packages/patches/eudev-rules-directory.patch new file mode 100644 index 0000000000..9173e22f76 --- /dev/null +++ b/gnu/packages/patches/eudev-rules-directory.patch @@ -0,0 +1,36 @@ +Add $EUDEV_RULES_DIRECTORY to the list of rules directories. + +The old udev 182 supported $UDEV_CONFIG_FILE, which in turn allowed +the search path to be customized, but eudev no longer has this, hence +this hack. + +--- eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:21:59.615980259 +0200 ++++ eudev-1.9/src/udev/udev-rules.c 2014-09-13 10:24:13.839976335 +0200 +@@ -46,15 +46,11 @@ + }; + }; + +-static const char* const rules_dirs[] = { ++static const char* rules_dirs[] = { + UDEV_CONF_DIR "/rules.d", + UDEV_RULES_DIR, +- "/run/udev/rules.d", + UDEV_LIBEXEC_DIR "/rules.d", +-#ifdef HAVE_SPLIT_USR +- "/lib/udev/rules.d", +- "/usr/lib/udev/rules.d", +-#endif ++ NULL, /* placeholder for $EUDEV_RULES_DIRECTORY */ + NULL}; + + struct udev_rules { +@@ -1637,6 +1633,9 @@ + + udev_rules_check_timestamp(rules); + ++ /* Allow the user to specify an additional rules directory. */ ++ rules_dirs[3] = getenv("EUDEV_RULES_DIRECTORY"); ++ + r = conf_files_list_strv(&files, ".rules", NULL, rules_dirs); + if (r < 0) { + log_error("failed to enumerate rules files: %s", strerror(-r)); diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 73c5f06a97..82331a1d0a 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -121,7 +121,7 @@ (string-append gs-fonts "/share/fonts/type1/ghostscript")) (("#fontFile") "fontFile")))) %standard-phases))) - (synopsis "Viewer for pdf files based on the Motif toolkit.") + (synopsis "Viewer for PDF files based on the Motif toolkit") (description "Xpdf is a viewer for Portable Document Format (PDF) files") (license license:gpl3) ; or gpl2, but not gpl2+ diff --git a/gnu/packages/pth.scm b/gnu/packages/pth.scm index fd4aba142c..ba5fb8216d 100644 --- a/gnu/packages/pth.scm +++ b/gnu/packages/pth.scm @@ -48,7 +48,7 @@ (description "GNU Pth is a portable library providing non-preemptive, priority-based scheduling for multiple execution threads. Each thread has its own -program-counter, run-time stack, signal mask and errno variable. Threads are +program-counter, run-time stack, signal mask and errno variable. Threads are scheduled in a cooperative way, rather than in the standard preemptive way, such that they are managed according to priority and events. However, Pth also features emulation of POSIX.1c threads (\"pthreads\") for backwards diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 3046c3b1e1..5195f66394 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -256,7 +256,7 @@ data types.") (build-system python-build-system) (arguments `(#:tests? #f)) ; no test target (home-page "https://launchpad.net/pytz") - (synopsis "The Python timezone library.") + (synopsis "Python timezone library") (description "This library allows accurate and cross platform timezone calculations using Python 2.4 or higher and provides access to the Olson timezone database.") @@ -336,7 +336,7 @@ API for locking files.") (build-system python-build-system) (arguments '(#:test-target "check")) (home-page "http://code.google.com/m/mock/") - (synopsis "A Python Mocking and Patching Library for Testing") + (synopsis "Python mocking and patching library for testing") (description "Mock is a library for testing in Python. It allows you to replace parts of your system under test with mock objects and make assertions about how they @@ -714,8 +714,7 @@ Python 3.3+.") ; linking with libpython3.3m #:tests? #f)) ; no check target (home-page "http://pyicu.osafoundation.org/") - (synopsis - "Python extension wrapping the ICU C++ API.") + (synopsis "Python extension wrapping the ICU C++ API") (description "PyICU is a python extension wrapping the ICU C++ API.") (license x11))) @@ -987,7 +986,7 @@ software.") '(#:tests? #f)) ; no setup.py test command (home-page "https://github.com/dbtsai/python-mimeparse") - (synopsis "Python library for parsing MIME types.") + (synopsis "Python library for parsing MIME types") (description "Mimeparse provides basic functions for parsing MIME type names and matching them against a list of media-ranges.") diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm index aabd1d330c..61c68b557f 100644 --- a/gnu/packages/ratpoison.scm +++ b/gnu/packages/ratpoison.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -57,7 +57,7 @@ `(("perl" ,perl) ("pkg-config" ,pkg-config))) (home-page "http://www.nongnu.org/ratpoison/") - (synopsis "A simple mouse-free tiling window manager") + (synopsis "Simple mouse-free tiling window manager") (description "Ratpoison is a simple window manager with no fat library dependencies, no fancy graphics, no window decorations, and no diff --git a/gnu/packages/rush.scm b/gnu/packages/rush.scm index c0450834f6..0a65599e24 100644 --- a/gnu/packages/rush.scm +++ b/gnu/packages/rush.scm @@ -42,7 +42,7 @@ (synopsis "Restricted user (login) shell") (description "GNU Rush is a restricted user shell, for systems on which users are to -be provided with only limited functionality or resources. Administrators set +be provided with only limited functionality or resources. Administrators set user rights via a configuration file which can be used to limit, for example, the commands that can be executed, CPU time, or virtual memory usage.") (license gpl3+))) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 98a28e79a0..0341d0c011 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -261,7 +261,7 @@ Scheme and C programs and between Scheme and Java programs.") ("which" ,which) ("patchelf" ,patchelf))) (home-page "http://hop.inria.fr/") - (synopsis "A multi-tier programming language for the Web 2.0") + (synopsis "Multi-tier programming language for the Web 2.0") (description "HOP is a multi-tier programming language for the Web 2.0 and the so-called diffuse Web. It is designed for programming interactive web diff --git a/gnu/packages/sdl.scm b/gnu/packages/sdl.scm index 110cf52e1d..02e9c29024 100644 --- a/gnu/packages/sdl.scm +++ b/gnu/packages/sdl.scm @@ -104,7 +104,7 @@ joystick, and graphics hardware.") (build-system gnu-build-system) (inputs `(("alsa-lib" ,alsa-lib) ("libx11" ,libx11))) - (synopsis "Library for module sound formats.") + (synopsis "Library for module sound formats") (description "MikMod is able to play a wide range of module formats, as well as digital sound files. It can take advantage of particular features of your diff --git a/gnu/packages/ssh.scm b/gnu/packages/ssh.scm index f9805d3316..a22468affd 100644 --- a/gnu/packages/ssh.scm +++ b/gnu/packages/ssh.scm @@ -272,7 +272,7 @@ libssh library.") flags)))) %standard-phases))) (home-page "http://www.agroman.net/corkscrew") - (synopsis "A tool for tunneling SSH through HTTP proxies") + (synopsis "Tunneling SSH through HTTP proxies") (description "Corkscrew allows creating TCP tunnels through HTTP proxies. WARNING: At the moment only plain text authentication is supported, should you require diff --git a/gnu/packages/tcl.scm b/gnu/packages/tcl.scm index 6dfd3b23b9..d7ac10cb16 100644 --- a/gnu/packages/tcl.scm +++ b/gnu/packages/tcl.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2014 Eric Bavier <bavier@member.fsf.org> ;;; @@ -118,8 +118,7 @@ #:test-target "test")) (home-page "http://expect.nist.gov/") - (synopsis - "A tool for automating interactive applications") + (synopsis "Tool for automating interactive applications") (description "Expect is a tool for automating interactive applications such as telnet, ftp, passwd, fsck, rlogin, tip, etc. Expect really makes this diff --git a/gnu/packages/tcsh.scm b/gnu/packages/tcsh.scm index 04f8139c0c..d29087af81 100644 --- a/gnu/packages/tcsh.scm +++ b/gnu/packages/tcsh.scm @@ -68,7 +68,7 @@ (symlink "tcsh" "csh")))) %standard-phases)))) (home-page "http://www.tcsh.org/") - (synopsis "A Unix shell based on csh") + (synopsis "Unix shell based on csh") (description "Tcsh is an enhanced, but completely compatible version of the Berkeley UNIX C shell (csh). It is a command language interpreter usable both as an diff --git a/gnu/packages/tmux.scm b/gnu/packages/tmux.scm index bbfc6cf9bf..636b56e0db 100644 --- a/gnu/packages/tmux.scm +++ b/gnu/packages/tmux.scm @@ -42,7 +42,7 @@ `(("libevent" ,libevent) ("ncurses" ,ncurses))) (home-page "http://tmux.sourceforge.net/") - (synopsis "A terminal multiplexer") + (synopsis "Terminal multiplexer") (description "tmux is a terminal multiplexer: it enables a number of terminals (or windows), each running a separate program, to be created, accessed, and diff --git a/gnu/packages/tor.scm b/gnu/packages/tor.scm index a756ebdba3..bcf8edfb25 100644 --- a/gnu/packages/tor.scm +++ b/gnu/packages/tor.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org> ;;; ;;; This file is part of GNU Guix. @@ -49,7 +49,7 @@ ;; TODO: Recommend `torsocks' since `torify' needs it. (home-page "http://www.torproject.org/") - (synopsis "An anonymous network router to improve privacy on the Internet") + (synopsis "Anonymous network router to improve privacy on the Internet") (description "Tor protects you by bouncing your communications around a distributed network of relays run by volunteers all around the world: it prevents diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 35659032dd..d070a8d4db 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2013 Andreas Enge <andreas@enge.fr> ;;; ;;; This file is part of GNU Guix. @@ -45,7 +45,7 @@ "11pblz61zyxh68s5pdcbhc30ha1b2vfjd83aiwfg4vc15x3hadw2")))) (build-system gnu-build-system) (home-page "http://www.libexpat.org/") - (synopsis "A stream-oriented XML parser library written in C") + (synopsis "Stream-oriented XML parser library written in C") (description "Expat is an XML parser library written in C. It is a stream-oriented parser in which an application registers handlers for diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ce3c4ec2e1..d5d4a15618 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -70,7 +70,7 @@ (native-inputs `(("pkg-config" ,pkg-config))) (home-page "http://xeyes.sourcearchive.com/") - (synopsis "A follow the mouse X demo") + (synopsis "Follow-the-mouse X demo") (description "Xeyes is a demo program for x.org. It shows eyes following the mouse.") (license license:x11))) diff --git a/gnu/services/base.scm b/gnu/services/base.scm index 014eef053b..c40bc1a4c2 100644 --- a/gnu/services/base.scm +++ b/gnu/services/base.scm @@ -25,7 +25,7 @@ #:use-module (gnu system linux) ; 'pam-service', etc. #:use-module (gnu packages admin) #:use-module ((gnu packages linux) - #:select (udev kbd e2fsprogs lvm2)) + #:select (eudev kbd e2fsprogs lvm2 fuse alsa-utils)) #:use-module ((gnu packages base) #:select (canonical-package glibc)) #:use-module (gnu packages package-management) @@ -510,7 +510,7 @@ item of @var{packages}." (guix build utils)) #:local-build? #t)) -(define* (udev-service #:key (udev udev) (rules '())) +(define* (udev-service #:key (udev eudev) (rules '())) "Run @var{udev}, which populates the @file{/dev} directory dynamically. Get extra rules from the packages listed in @var{rules}." (mlet* %store-monad ((rules (udev-rules-union (cons udev rules))) @@ -527,8 +527,16 @@ extra rules from the packages listed in @var{rules}." (documentation "Populate the /dev directory, dynamically.") (start #~(lambda () + (define find + (@ (srfi srfi-1) find)) + (define udevd - (string-append #$udev "/libexec/udev/udevd")) + ;; Choose the right 'udevd'. + (find file-exists? + (map (lambda (suffix) + (string-append #$udev suffix)) + '("/libexec/udev/udevd" ;udev + "/sbin/udevd")))) ;eudev (define (wait-for-udevd) ;; Wait until someone's listening on udevd's control @@ -548,7 +556,9 @@ extra rules from the packages listed in @var{rules}." (setenv "LINUX_MODULE_DIRECTORY" "/run/booted-system/kernel/lib/modules") + ;; The first one is for udev, the second one for eudev. (setenv "UDEV_CONFIG_FILE" #$udev.conf) + (setenv "EUDEV_RULES_DIRECTORY" #$rules) (let ((pid (primitive-fork))) (case pid @@ -608,8 +618,9 @@ This is the GNU operating system, welcome!\n\n"))) (guix-service) (nscd-service) - ;; By default, enable the udev rules of LVM2. They are needed as - ;; soon as LVM2 or the device-mapper is used. - (udev-service #:rules (list lvm2))))) + ;; The LVM2 rules are needed as soon as LVM2 or the device-mapper is + ;; used, so enable them by default. The FUSE and ALSA rules are + ;; less critical, but handy. + (udev-service #:rules (list lvm2 fuse alsa-utils))))) ;;; base.scm ends here diff --git a/gnu/system.scm b/gnu/system.scm index 9bdf227eca..db7b7e7a2f 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -36,6 +36,9 @@ #:use-module (gnu packages zile) #:use-module (gnu packages nano) #:use-module (gnu packages lsof) + #:use-module (gnu packages gawk) + #:use-module (gnu packages compression) + #:autoload (gnu packages cryptsetup) (cryptsetup) #:use-module (gnu services) #:use-module (gnu services dmd) #:use-module (gnu services base) @@ -44,7 +47,6 @@ #:use-module (gnu system linux) #:use-module (gnu system linux-initrd) #:use-module (gnu system file-systems) - #:autoload (gnu packages cryptsetup) (cryptsetup) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) @@ -246,19 +248,20 @@ explicitly appear in OS." (cons* procps psmisc which less zile nano (@ (gnu packages admin) dmd) guix lsof ;for Guix's 'list-runtime-roots' - util-linux inetutils isc-dhcp + util-linux inetutils isc-dhcp wireless-tools net-tools ; XXX: remove when Inetutils suffices ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev ;; already depends on it anyway. - kmod udev + kmod eudev e2fsprogs kbd ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. (map canonical-package - (list guile-2.0 bash coreutils findutils grep sed)))) + (list guile-2.0 bash coreutils findutils grep sed + diffutils gawk tar gzip bzip2 xz lzip)))) (define %default-issue ;; Default contents for /etc/issue. @@ -268,8 +271,8 @@ This is the GNU system. Welcome.\n") (define (default-/etc/hosts host-name) "Return the default /etc/hosts file." (text-file "hosts" - (string-append "localhost 127.0.0.1\n" - host-name " 127.0.0.1\n"))) + (string-append "127.0.0.1 localhost " host-name "\n" + "::1 localhost " host-name "\n"))) (define* (etc-directory #:key (locale "C") (timezone "Europe/Paris") @@ -291,6 +294,10 @@ This is the GNU system. Welcome.\n") /run/current-system/profile/bin/bash\n")) (issue (text-file "issue" issue)) + ;; For now, generate a basic config so that /etc/hosts is honored. + (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\\$ ' @@ -317,6 +324,7 @@ alias ll='ls -l' ("pam.d" ,#~#$pam.d) ("login.defs" ,#~#$login.defs) ("issue" ,#~#$issue) + ("nsswitch.conf" ,#~#$nsswitch) ("skel" ,#~#$skel) ("shells" ,#~#$shells) ("profile" ,#~#$bashrc) |