diff options
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/packages/docbook.scm | 47 | ||||
-rw-r--r-- | gnu/packages/gnome.scm | 15 | ||||
-rw-r--r-- | gnu/packages/linux.scm | 25 | ||||
-rw-r--r-- | gnu/packages/package-management.scm | 4 | ||||
-rw-r--r-- | gnu/packages/patches/flac-fix-memcmp-not-declared.patch | 13 | ||||
-rw-r--r-- | gnu/packages/video.scm | 4 | ||||
-rw-r--r-- | gnu/packages/web.scm | 32 | ||||
-rw-r--r-- | gnu/packages/xiph.scm | 16 | ||||
-rw-r--r-- | gnu/services/base.scm | 58 | ||||
-rw-r--r-- | gnu/system.scm | 7 | ||||
-rw-r--r-- | gnu/system/install.scm | 14 | ||||
-rw-r--r-- | gnu/system/linux-initrd.scm | 12 |
12 files changed, 175 insertions, 72 deletions
diff --git a/gnu/packages/docbook.scm b/gnu/packages/docbook.scm index 29fa409a8c..c689c9c81d 100644 --- a/gnu/packages/docbook.scm +++ b/gnu/packages/docbook.scm @@ -50,8 +50,12 @@ (dtd (string-append out "/xml/dtd/docbook"))) (mkdir-p dtd) (with-directory-excursion dtd - (system* unzip source)))) - #:modules ((guix build utils)))) + (system* unzip source)) + (substitute* (string-append out "/xml/dtd/docbook/catalog.xml") + (("uri=\"") + (string-append + "uri=\"file://" dtd "/"))))) + #:modules ((guix build utils)))) (native-inputs `(("unzip" ,unzip))) (home-page "http://docbook.org") (synopsis "DocBook XML DTDs for document authoring") @@ -61,20 +65,42 @@ suited to books and papers about computer hardware and software (though it is by no means limited to these applications.) This package provides XML DTDs.") (license (x11-style "" "See file headers.")))) +(define-public docbook-xml-4.4 + (package (inherit docbook-xml) + (version "4.4") + (source (origin + (method url-fetch) + (uri (string-append "http://www.docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "141h4zsyc71sfi2zzd89v4bb4qqq9ca1ri9ix2als9f4i3mmkw82")))))) + +(define-public docbook-xml-4.3 + (package (inherit docbook-xml) + (version "4.3") + (source (origin + (method url-fetch) + (uri (string-append "http://www.docbook.org/xml/" version + "/docbook-xml-" version ".zip")) + (sha256 + (base32 + "0r1l2if1z4wm2v664sqdizm4gak6db1kx9y50jq89m3gxaa8l1i3")))))) + (define-public docbook-xsl (package (name "docbook-xsl") - (version "1.72.0") + (version "1.78.1") (source (origin (method url-fetch) (uri (string-append "mirror://sourceforge/docbook/docbook-xsl-" version ".tar.bz2")) (sha256 (base32 - "1cnrfgqz8pc9wnlgqjch2338ad7jki6d4h6b2fhaxn1a2201df5k")))) + "0rxl013ncmz1n6ymk2idvx3hix9pdabk8xn01cpcv32wmfb753y9")))) (build-system trivial-build-system) (arguments - `(#:builder (begin + `(#:builder (let ((name-version (string-append ,name "-" ,version))) (use-modules (guix build utils)) (let* ((bzip2 (assoc-ref %build-inputs "bzip2")) @@ -86,10 +112,13 @@ by no means limited to these applications.) This package provides XML DTDs.") (system* (string-append tar "/bin/tar") "xvf" source) (mkdir-p xsl) - (copy-recursively (string-append ,name "-" ,version) - (string-append xsl "/" ,name - "-" ,version)))) - #:modules ((guix build utils)))) + (copy-recursively name-version + (string-append xsl "/" name-version)) + + (substitute* (string-append xsl "/" name-version "/catalog.xml") + (("rewritePrefix=\"./") + (string-append "rewritePrefix=\"file://" xsl "/" name-version "/"))))) + #:modules ((guix build utils)))) (native-inputs `(("bzip2" ,bzip2) ("tar" ,tar))) (home-page "http://docbook.org") diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index a043d8d4d2..893c3e8a6b 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages) #:use-module (gnu packages bison) #:use-module (gnu packages flex) + #:use-module (gnu packages docbook) #:use-module (gnu packages glib) #:use-module (gnu packages gnupg) #:use-module (gnu packages gstreamer) @@ -136,14 +137,24 @@ The gnome-about program helps find which version of GNOME is installed.") (base32 "19n4x25ndzngaciiyd8dd6s2mf9gv6nv3wv27ggns2smm7zkj1nb")))) (build-system gnu-build-system) + (arguments + `(#:phases + (alist-cons-before + 'check 'pre-check + (lambda* (#:key inputs #:allow-other-keys #:rest args) + ;; This is needed, because without it, xmlint etc tries + ;; to download docbookx.dtd from the net + (setenv "XML_CATALOG_FILES" + (string-append (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml"))) + %standard-phases))) (native-inputs `(("intltool" ,intltool) + ("docbook-xml" ,docbook-xml-4.4) ("libxml2" ,libxml2) ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) ("python-2" ,python-2))) - (arguments - `(#:tests? #f)) ; tries to load http://www.oasis-open.org/docbook/xml/4.4/docbookx.dtd (home-page "https://wiki.gnome.org/GnomeDocUtils") (synopsis "Documentation utilities for the Gnome project") diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index d33492a1af..b9864f4f44 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1187,10 +1187,15 @@ system.") "0c34b0za2v0934acvgnva0vaqpghmmhz4zh7k0m9jd4mbc91byqm")) (modules '((guix build utils))) (snippet - '(substitute* "tests/Makefile.in" - ;; The '%: %.in' rule incorrectly uses @VERSION@. - (("@VERSION@") - "[@]VERSION[@]"))))) + '(begin + (substitute* "tests/Makefile.in" + ;; The '%: %.in' rule incorrectly uses @VERSION@. + (("@VERSION@") + "[@]VERSION[@]")) + (substitute* '("src/unicode_start" "src/unicode_stop") + ;; Assume the Coreutils are in $PATH. + (("/usr/bin/tty") + "tty")))))) (build-system gnu-build-system) (arguments '(#:phases (alist-cons-before @@ -1203,7 +1208,17 @@ system.") (string-append gzip "/bin/gzip")) (("bzip2") (string-append bzip2 "/bin/bzip2"))))) - %standard-phases))) + (alist-cons-after + 'install 'post-install + (lambda* (#:key outputs #:allow-other-keys) + ;; Make sure these programs find their comrades. + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin"))) + (for-each (lambda (prog) + (wrap-program (string-append bin "/" prog) + `("PATH" ":" prefix (,bin)))) + '("unicode_start" "unicode_stop")))) + %standard-phases)))) (inputs `(("check" ,check) ("gzip" ,guix:gzip) ("bzip2" ,guix:bzip2) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 5ab537aa8a..cf808970ce 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -111,7 +111,7 @@ Nix package manager.") (define-public guix ;; Development version of Guix. - (let ((commit "20b1d19")) + (let ((commit "0ae8c15")) (package (inherit guix-0.6) (version (string-append "0.6." commit)) (source (origin @@ -122,7 +122,7 @@ Nix package manager.") (recursive? #t))) (sha256 (base32 - "0n278kzp586rzbhcghbj7am641yjc35pcb6n1r304myziwd0mz6r")))) + "1y6mwzwsjdxbfibqypb55dix371rifhfz0bygfr8k868lcdsawic")))) (arguments (substitute-keyword-arguments (package-arguments guix-0.6) ((#:phases phases) diff --git a/gnu/packages/patches/flac-fix-memcmp-not-declared.patch b/gnu/packages/patches/flac-fix-memcmp-not-declared.patch deleted file mode 100644 index 9dd5c81ba5..0000000000 --- a/gnu/packages/patches/flac-fix-memcmp-not-declared.patch +++ /dev/null @@ -1,13 +0,0 @@ -See http://sourceforge.net/p/flac/bugs/364/ - -diff -Naur flac-1.2.1-orig/examples/cpp/encode/file/main.cpp flac-1.2.1-ae/examples/cpp/encode/file/main.cpp ---- flac-1.2.1-orig/examples/cpp/encode/file/main.cpp 2012-12-27 20:15:11.000000000 +0100 -+++ flac-1.2.1-ae/examples/cpp/encode/file/main.cpp 2012-12-27 20:25:01.000000000 +0100 -@@ -30,6 +30,7 @@ - - #include <stdio.h> - #include <stdlib.h> -+#include <string.h> - #include "FLAC++/metadata.h" - #include "FLAC++/encoder.h" - diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index 9946b3adcf..075113ca9d 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -56,14 +56,14 @@ (define-public ffmpeg (package (name "ffmpeg") - (version "2.2.1") + (version "2.3") (source (origin (method url-fetch) (uri (string-append "http://www.ffmpeg.org/releases/ffmpeg-" version ".tar.bz2")) (sha256 (base32 - "153kfk8rzrfxx930rrk417b2m695dvy47v4hci3nd49iggx9jzz1")))) + "17l0bx95al6cjhz3pzfcbwg07sbfbwqbxg34zl5lhl89w9jbngbb")))) (build-system gnu-build-system) (inputs `(("fontconfig" ,fontconfig) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 6e94953bfe..4bf714bfe7 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -528,25 +528,19 @@ help you implement simple HTTP servers.") (alist-cons-before 'build 'pre-build (lambda* (#:key inputs #:allow-other-keys #:rest args) - ;; This stuff is needed, because without it, xmlint etc tries - ;; to download docbookx.dtd and docbook.xsl from the net - (let ((build (assoc-ref %standard-phases 'build)) - (docbook-xml (assoc-ref inputs "docbook-xml")) - (docbook-xsl (assoc-ref inputs "docbook-xsl")) - (our-catalog "/tmp/docbook-xml.xml")) - (setenv "XML_CATALOG_FILES" our-catalog) - (with-output-to-file our-catalog - (lambda () - (display (string-append - "<?xml version=\"1.0\"?> -<!DOCTYPE catalog PUBLIC \"-//OASIS//DTD XML Catalogs V1.0//EN\" -\"file:///usr/share/xml/schema/xml-core/catalog.dtd\"> -<catalog xmlns=\"urn:oasis:names:tc:entity:xmlns:xml:catalog\"> -<system systemId=\"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd\" -uri=\"file://" docbook-xml "/xml/dtd/docbook/docbookx.dtd\"/> -<system systemId=\"http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl\" -uri=\"file://" docbook-xsl "/xml/xsl/docbook-xsl-1.72.0/manpages/docbook.xsl\"/> -</catalog>\n")))))) + ;; Uncommenting the next two lines may assist in debugging + ;; (substitute* "docs/man5/Makefile" (("a2x") "a2x -v")) + ;; (setenv "XML_DEBUG_CATALOG" "1") + + (setenv "XML_CATALOG_FILES" + (string-append + (assoc-ref inputs "docbook-xsl") + "/xml/xsl/docbook-xsl-1.78.1/catalog.xml" + ;; Contrary to the documentation, the file names must + ;; be separated by a space, not a colon. + " " + (assoc-ref inputs "docbook-xml") + "/xml/dtd/docbook/catalog.xml"))) %standard-phases))) ;; All of the below are used to generate the documentation ;; (Should they be propagated inputs of asciidoc ??) diff --git a/gnu/packages/xiph.scm b/gnu/packages/xiph.scm index 03cf0e49d2..8259be3f7d 100644 --- a/gnu/packages/xiph.scm +++ b/gnu/packages/xiph.scm @@ -49,14 +49,14 @@ (define libogg (package (name "libogg") - (version "1.3.0") + (version "1.3.2") (source (origin (method url-fetch) (uri (string-append "http://downloads.xiph.org/releases/ogg/libogg-" version ".tar.xz")) (sha256 (base32 - "0jy79ffkl34vycnwfsj4svqsdg1lwy2l1rr49y8r4d44kh12a5r3")))) + "16z74q422jmprhyvy7c9x909li8cqzmvzyr8cgbm52xcsp6pqs1z")))) (build-system gnu-build-system) (synopsis "libogg, a library for manipulating the ogg multimedia format") (description @@ -72,14 +72,14 @@ periodic timestamps for seeking.") (define libvorbis (package (name "libvorbis") - (version "1.3.3") + (version "1.3.4") (source (origin (method url-fetch) (uri (string-append "http://downloads.xiph.org/releases/vorbis/libvorbis-" version ".tar.xz")) (sha256 (base32 - "1gby6hapz9njx4l9g0pndyk4q83z5fgrgc30mfwfgx7bllspsk43")))) + "0wpk87jnhngcl3nc5i39flkycx1sjzilx8jjx4zc4p8r55ylj19g")))) (build-system gnu-build-system) (propagated-inputs `(("libogg" ,libogg))) (arguments `(#:configure-flags '("LDFLAGS=-lm") @@ -192,16 +192,14 @@ OpenBSD's sndio.") (define flac (package (name "flac") - (version "1.2.1") + (version "1.3.0") (source (origin (method url-fetch) (uri (string-append "http://downloads.xiph.org/releases/flac/flac-" - version ".tar.gz")) + version ".tar.xz")) (sha256 (base32 - "1pry5lgzfg57pga1zbazzdd55fkgk3v5qy4axvrbny5lrr5s8dcn")) - (patches - (list (search-patch "flac-fix-memcmp-not-declared.patch"))))) + "1p0hh190kqvpkbk1bbajd81jfbmkyl4fn2i7pggk2zppq6m68bgs")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f diff --git a/gnu/services/base.scm b/gnu/services/base.scm index acda08d19a..55ee5c4b08 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)) + #:select (udev kbd)) #:use-module ((gnu packages base) #:select (glibc-final)) #:use-module (gnu packages package-management) @@ -38,6 +38,7 @@ file-system-service user-processes-service host-name-service + console-font-service udev-service mingetty-service nscd-service @@ -199,6 +200,50 @@ stopped before 'kill' is called." (sethostname #$name))) (respawn? #f))))) +(define (unicode-start tty) + "Return a gexp to start Unicode support on @var{tty}." + + ;; We have to run 'unicode_start' in a pipe so that when it invokes the + ;; 'tty' command, that command returns TTY. + #~(begin + (let ((pid (primitive-fork))) + (case pid + ((0) + (close-fdes 0) + (dup2 (open-fdes #$tty O_RDONLY) 0) + (close-fdes 1) + (dup2 (open-fdes #$tty O_WRONLY) 1) + (execl (string-append #$kbd "/bin/unicode_start") + "unicode_start")) + (else + (zero? (cdr (waitpid pid)))))))) + +(define* (console-font-service tty #:optional (font "LatGrkCyr-8x16")) + "Return a service that sets up Unicode support in @var{tty} and loads +@var{font} for that tty (fonts are per virtual console in Linux.)" + ;; Note: 'LatGrkCyr-8x16' has the advantage of providing three common + ;; scripts as well as glyphs for em dash, quotation marks, and other Unicode + ;; codepoints notably found in the UTF-8 manual. + (let ((device (string-append "/dev/" tty))) + (with-monad %store-monad + (return (service + (documentation "Load a Unicode console font.") + (provision (list (symbol-append 'console-font- + (string->symbol tty)))) + + ;; Start after mingetty has been started on TTY, otherwise the + ;; settings are ignored. + (requirement (list (symbol-append 'term- + (string->symbol tty)))) + + (start #~(lambda _ + (and #$(unicode-start device) + (zero? + (system* (string-append #$kbd "/bin/setfont") + "-C" #$device #$font))))) + (stop #~(const #t)) + (respawn? #f)))))) + (define* (mingetty-service tty #:key (motd (text-file "motd" "Welcome.\n")) @@ -290,7 +335,7 @@ the ``message of the day''." # level notice or higher and anything of level err or # higher to the console. # Don't log private authentication messages! - *.err;auth.notice;authpriv.none /dev/console + *.alert;auth.notice;authpriv.none /dev/console # Log anything (except mail) of level info or higher. # Don't log private authentication messages! @@ -469,7 +514,14 @@ passed to @command{guix-daemon}." ;; Convenience variable holding the basic services. (let ((motd (text-file "motd" " This is the GNU operating system, welcome!\n\n"))) - (list (mingetty-service "tty1" #:motd motd) + (list (console-font-service "tty1") + (console-font-service "tty2") + (console-font-service "tty3") + (console-font-service "tty4") + (console-font-service "tty5") + (console-font-service "tty6") + + (mingetty-service "tty1" #:motd motd) (mingetty-service "tty2" #:motd motd) (mingetty-service "tty3" #:motd motd) (mingetty-service "tty4" #:motd motd) diff --git a/gnu/system.scm b/gnu/system.scm index 82397be3a3..20942ec7f0 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -222,7 +222,12 @@ explicitly appear in OS." lsof ;for Guix's 'list-runtime-roots' util-linux inetutils isc-dhcp net-tools ; XXX: remove when Inetutils suffices - module-init-tools udev kbd + + ;; Get 'insmod' & co. from kmod, not module-init-tools, since udev + ;; already depends on it anyway. + kmod udev + + e2fsprogs kbd ;; The packages below are also in %FINAL-INPUTS, so take them from ;; there to avoid duplication. diff --git a/gnu/system/install.scm b/gnu/system/install.scm index b30c5577e4..07e8938ba0 100644 --- a/gnu/system/install.scm +++ b/gnu/system/install.scm @@ -40,7 +40,7 @@ manual." #~(execl (string-append #$texinfo-4 "/bin/info") "info" "-d" "/run/current-system/profile/share/info" "-f" (string-append #$guix "/share/info/guix.info") - "-n" "System Configuration"))) + "-n" "System Installation"))) (define (installation-services) "Return the list services for the installation image." @@ -63,7 +63,9 @@ You have been warned. Thanks for being so brave. #:motd motd #:auto-login "root") - ;; Documentation. + ;; Documentation. The manual is in UTF-8, but + ;; 'console-font-service' sets up Unicode support and loads a font + ;; with all the useful glyphs like em dash and quotation marks. (mingetty-service "tty2" #:motd motd #:auto-login "guest" @@ -86,6 +88,14 @@ You have been warned. Thanks for being so brave. ;; Start udev so that useful device nodes are available. (udev-service) + ;; Install Unicode support and a suitable font. + (console-font-service "tty1") + (console-font-service "tty2") + (console-font-service "tty3") + (console-font-service "tty4") + (console-font-service "tty5") + (console-font-service "tty6") + (nscd-service)))) (define %issue diff --git a/gnu/system/linux-initrd.scm b/gnu/system/linux-initrd.scm index afbfc692d3..9e39f2d663 100644 --- a/gnu/system/linux-initrd.scm +++ b/gnu/system/linux-initrd.scm @@ -57,11 +57,13 @@ (to-copy '()) (linux #f) (linux-modules '())) - "Return a package that contains a Linux initrd (a gzipped cpio archive) -containing GUILE and that evaluates EXP upon booting. LINUX-MODULES is a list -of `.ko' file names to be copied from LINUX into the initrd. TO-COPY is a -list of additional derivations or packages to copy to the initrd. MODULES is -a list of Guile module names to be embedded in the initrd." + "Return a derivation that builds a Linux initrd (a gzipped cpio archive) +containing GUILE and that evaluates EXP, a G-expression, upon booting. + +LINUX-MODULES is a list of '.ko' file names to be copied from LINUX into the +initrd. TO-COPY is a list of additional derivations or packages to copy to +the initrd. MODULES is a list of Guile module names to be embedded in the +initrd." ;; General Linux overview in `Documentation/early-userspace/README' and ;; `Documentation/filesystems/ramfs-rootfs-initramfs.txt'. |