From 93a6f5520c96934b896c70bab8c00ba912711569 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 12 Feb 2013 22:06:47 +0100 Subject: [PATCH 001/151] gnu: gmp: Update to version 5.1.1. * gnu/packages/multiprecision.scm (gmp): Update to version 5.1.1. --- gnu/packages/multiprecision.scm | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 7778552b40..5e0dee0620 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -27,18 +27,15 @@ (define-public gmp (package (name "gmp") - (version "5.1.0") + (version "5.1.1") (source (origin (method url-fetch) (uri - ;; Note: this version is not available from GNU mirrors - ;; because it was made with an Automake affected by - ;; CVE-2012-3386. - (string-append "ftp://ftp.gmplib.org/pub/gmp-" - version "/gmp-" version ".tar.bz2")) + (string-append "mirror://gnu/gmp/gmp-" + version ".tar.xz")) (sha256 (base32 - "15n7xxgasbxdch8ii8z9ic6fxc2ysk3q8iavf55abjp5iylspnfz")))) + "1hili06lcf0clg5qfvz7knm6pmj6ab54yhsvskp1mdny5xw4vmjb")))) (build-system gnu-build-system) (native-inputs `(("m4" ,m4))) (arguments `(#:configure-flags From 11996d85d3cfa31ecf969421b4dc718b617bf2ff Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 22 Feb 2013 23:00:41 +0100 Subject: [PATCH 002/151] Patch-shebang: Handle "#!/usr/bin/env command" * guix/build/utils.scm (patch-shebang): Handle replacement of "#!.*/env CMD ARGS" by "#!/nix/store/path/.../to/CMD ARGS". --- guix/build/utils.scm | 32 ++++++++++++++++++++++---------- 1 file changed, 22 insertions(+), 10 deletions(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 6921e31bdd..f7fb7938e5 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2013 Andreas Enge ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,7 @@ fold-port-matches remove-store-references)) - + ;;; ;;; Directories. ;;; @@ -426,7 +427,7 @@ bytes transferred and the continuation of the transfer as a thunk." (stat:mtimensec stat))) (define patch-shebang - (let ((shebang-rx (make-regexp "^[[:blank:]]*([[:graph:]]+)(.*)$"))) + (let ((shebang-rx (make-regexp "^[[:blank:]]*([[:graph:]]+)[[:blank:]]*([[:graph:]]*)(.*)$"))) (lambda* (file #:optional (path (search-path-as-string->list (getenv "PATH"))) @@ -465,16 +466,27 @@ FILE are kept unchanged." (let ((line (false-if-exception (read-line p)))) (and=> (and line (regexp-exec shebang-rx line)) (lambda (m) - (let* ((cmd (match:substring m 1)) - (bin (search-path path (basename cmd)))) + (let* ((interp (match:substring m 1)) + (arg1 (match:substring m 2)) + (rest (match:substring m 3)) + (has-env (string-suffix? "/env" interp)) + (cmd (if has-env arg1 (basename interp))) + (bin (search-path path cmd))) (if bin - (if (string=? bin cmd) + (if (string=? bin interp) #f ; nothing to do - (begin - (format (current-error-port) - "patch-shebang: ~a: changing `~a' to `~a'~%" - file cmd bin) - (patch p bin (match:substring m 2)))) + (if has-env + (begin + (format (current-error-port) + "patch-shebang: ~a: changing `~a' to `~a'~%" + file (string-append interp " " arg1) bin) + (patch p bin rest)) + (begin + (format (current-error-port) + "patch-shebang: ~a: changing `~a' to `~a'~%" + file interp bin) + (patch p bin + (string-append " " arg1 rest))))) (begin (format (current-error-port) "patch-shebang: ~a: warning: no binary for interpreter `~a' found in $PATH~%" From ca8def6e6fd9670affe8eb489c47d460e46e8061 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 23 Feb 2013 23:27:46 +0100 Subject: [PATCH 003/151] Patch-shebang: Do not add space after interpreter without argument. * guix/build/utils.scm (patch-shebang): Do not add a space after a command interpreter not followed by an argument; this made two tests of coreutils fail. --- guix/build/utils.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index f7fb7938e5..d17346607f 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -486,7 +486,9 @@ FILE are kept unchanged." "patch-shebang: ~a: changing `~a' to `~a'~%" file interp bin) (patch p bin - (string-append " " arg1 rest))))) + (if (string-null? arg1) + "" + (string-append " " arg1 rest)))))) (begin (format (current-error-port) "patch-shebang: ~a: warning: no binary for interpreter `~a' found in $PATH~%" From c3f9761771d6a6bdafbe7626082d7c01599611d8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 24 Feb 2013 16:41:27 +0100 Subject: [PATCH 004/151] gnu: openldap: Disable tests, they fail too randomly probably due to timeouts in the server. * gnu/packages/openldap.scm (openldap): Drop all tests. --- gnu/packages/openldap.scm | 16 ++-------------- 1 file changed, 2 insertions(+), 14 deletions(-) diff --git a/gnu/packages/openldap.scm b/gnu/packages/openldap.scm index d2525a6310..a4a28ccf1b 100644 --- a/gnu/packages/openldap.scm +++ b/gnu/packages/openldap.scm @@ -55,7 +55,7 @@ ("libtool" ,libtool "bin") ("zlib" ,zlib))) (arguments - `(#:parallel-tests? #f + `(#:tests? #f #:phases (alist-replace 'configure @@ -63,19 +63,7 @@ (let ((configure (assoc-ref %standard-phases 'configure))) (apply configure args) (copy-file (which "libtool") "libtool"))) - (alist-replace - 'check - (lambda* (#:key #:allow-other-keys #:rest args) - (let ((check (assoc-ref %standard-phases 'check))) - (for-each (lambda (f) - (substitute* (string-append "tests/scripts/" f) - (("/bin/rm") "rm"))) - '("all" "its-all" "passwd-search" "sql-all" "test027-emptydn")) - ;; disable especially finicky tests - (delete-file "tests/scripts/test058-syncrepl-asymmetric") - (delete-file "tests/scripts/test061-syncreplication-initiation") - (apply check args))) - %standard-phases)))) + %standard-phases))) (synopsis "openldap, an implementation of the Lightweight Directory Access Protocol") (description "OpenLDAP is a free implementation of the Lightweight Directory Access Protocol.") From b5c18c78c2ff53fe3d489120d50f3732ee36d939 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 24 Feb 2013 17:54:51 +0100 Subject: [PATCH 005/151] gnu: curl: Let patch-shebang handle /usr/bin/env. * gnu/packages/curl.scm (curl): Drop manual rewriting of #!/usr/bin/env. --- gnu/packages/curl.scm | 13 +------------ 1 file changed, 1 insertion(+), 12 deletions(-) diff --git a/gnu/packages/curl.scm b/gnu/packages/curl.scm index 00fd0f3232..4f5d96087e 100644 --- a/gnu/packages/curl.scm +++ b/gnu/packages/curl.scm @@ -55,18 +55,7 @@ ("pkg-config" ,pkg-config) ("zlib" ,zlib))) (arguments - `(#:configure-flags '("--with-gnutls" "--with-gssapi") - #:phases - (alist-replace - 'unpack - (lambda* (#:key #:allow-other-keys #:rest args) - (let ((unpack (assoc-ref %standard-phases 'unpack))) - (apply unpack args) - ;; The following patch-shebang phase will replace perl - ;; by the correct path. - (substitute* "tests/runtests.pl" - (("#!/usr/bin/env perl") "#!/usr/bin/perl")))) - %standard-phases))) + `(#:configure-flags '("--with-gnutls" "--with-gssapi"))) (synopsis "curl, command line tool for transferring data with URL syntax") (description "curl is a command line tool for transferring data with URL syntax, From b6f5801e1c74f26b2884a51e292876f28ff25393 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 24 Feb 2013 18:06:22 +0100 Subject: [PATCH 006/151] gnu: wget: Drop manual handling of /usr/bin/env. * gnu/packages/wget.scm (wget): Drop patch-/usr/bin/env phase. --- gnu/packages/wget.scm | 7 ------- 1 file changed, 7 deletions(-) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index ea31a1e70d..1f2f53c97f 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -43,13 +43,6 @@ `(("gnutls" ,gnutls) ("perl" ,perl) ("gettext" ,guix:gettext))) - (arguments - '(#:phases - (alist-cons-before 'build 'patch-/usr/bin/env - (lambda _ - (for-each patch-shebang - '("doc/texi2pod.pl" "tests/run-px"))) - %standard-phases))) (home-page "http://www.gnu.org/software/wget/") (synopsis "GNU Wget, a tool for retrieving files using HTTP, HTTPS, and FTP") From 76978d406242c8680fa6b3c3ad122906445540f2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 13 Feb 2013 00:41:05 +0100 Subject: [PATCH 007/151] gnu: Add signing-party. * gnu/packages/gnupg.scm (signing-party): New variable. --- gnu/packages/gnupg.scm | 104 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 104 insertions(+) diff --git a/gnu/packages/gnupg.scm b/gnu/packages/gnupg.scm index 046d4c2d76..f26582fb22 100644 --- a/gnu/packages/gnupg.scm +++ b/gnu/packages/gnupg.scm @@ -227,3 +227,107 @@ pius-keyring-mgr and pius-party-worksheet help organisers of PGP keysigning parties.") (license gpl2) (home-page "http://www.phildev.net/pius/index.shtml"))) + +(define-public signing-party + (package + (name "signing-party") + (version "1.1.4") + (source (origin + (method url-fetch) + (uri (string-append "http://ftp.debian.org/debian/pool/main/s/signing-party/signing-party_" + version ".orig.tar.gz")) + (sha256 (base32 + "188gp0prbh8qs29lq3pbf0qibfd6jq4fk7i0pfrybl8aahvm84rx")))) + (build-system gnu-build-system) + (inputs `(("perl" ,perl))) + (arguments + `(#:tests? #f + #:phases + (alist-replace + 'unpack + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((unpack (assoc-ref %standard-phases 'unpack))) + (apply unpack args) + ;; remove spurious symlink + (delete-file "keyanalyze/pgpring/depcomp"))) + (alist-replace + 'configure + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (substitute* "keyanalyze/Makefile" + (("LDLIBS") (string-append "CC=" (which "gcc") "\nLDLIBS"))) + (substitute* "keyanalyze/Makefile" + (("./configure") (string-append "./configure --prefix=" out))) + (substitute* "keyanalyze/pgpring/configure" + (("/bin/sh") (which "bash"))) + (substitute* "gpgwrap/Makefile" + (("\\} clean") (string-append "} clean\ninstall:\n\tinstall -D bin/gpgwrap " + out "/bin/gpgwrap\n"))) + (substitute* '("gpgsigs/Makefile" "keyanalyze/Makefile" + "keylookup/Makefile" "sig2dot/Makefile" + "springgraph/Makefile") + (("/usr") out)))) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((out (assoc-ref outputs "out")) + (install (assoc-ref %standard-phases 'install))) + (apply install args) + (for-each + (lambda (dir file) + (copy-file (string-append dir "/" file) + (string-append out "/bin/" file))) + '("caff" "caff" "caff" "gpgdir" "gpg-key2ps" + "gpglist" "gpg-mailkeys" "gpgparticipants") + '("caff" "pgp-clean" "pgp-fixkey" "gpgdir" "gpg-key2ps" + "gpglist" "gpg-mailkeys" "gpgparticipants")) + (for-each + (lambda (dir file) + (copy-file (string-append dir "/" file) + (string-append out "/share/man/man1/" file))) + '("caff" "caff" "caff" "gpgdir" + "gpg-key2ps" "gpglist" "gpg-mailkeys" + "gpgparticipants" "gpgsigs" "gpgwrap/doc" + "keyanalyze" "keyanalyze/pgpring" "keyanalyze") + '("caff.1" "pgp-clean.1" "pgp-fixkey.1" "gpgdir.1" + "gpg-key2ps.1" "gpglist.1" "gpg-mailkeys.1" + "gpgparticipants.1" "gpgsigs.1" "gpgwrap.1" + "process_keys.1" "pgpring.1" "keyanalyze.1")))) + %standard-phases))))) + (synopsis "collection of scripts for simplifying gnupg key signing") + (description + "signing-party is a collection for all kinds of PGP/GnuPG related things, +including tools for signing keys, keyring analysis, and party preparation. + + * caff: CA - Fire and Forget signs and mails a key + + * pgp-clean: removes all non-self signatures from key + + * pgp-fixkey: removes broken packets from keys + + * gpg-mailkeys: simply mail out a signed key to its owner + + * gpg-key2ps: generate PostScript file with fingerprint paper strips + + * gpgdir: recursive directory encryption tool + + * gpglist: show who signed which of your UIDs + + * gpgsigs: annotates list of GnuPG keys with already done signatures + + * gpgparticipants: create list of party participants for the organiser + + * gpgwrap: a passphrase wrapper + + * keyanalyze: minimum signing distance (MSD) analysis on keyrings + + * keylookup: ncurses wrapper around gpg --search + + * sig2dot: converts a list of GnuPG signatures to a .dot file + + * springgraph: creates a graph from a .dot file") + ;; gpl2+ for almost all programs, except for keyanalyze: gpl2 + ;; and caff and gpgsigs: bsd-3, see + ;; http://packages.debian.org/changelogs/pool/main/s/signing-party/current/copyright + (license gpl2) + (home-page "http://pgp-tools.alioth.debian.org/"))) From 6c7b6a51a4ea8fd05b85a5227c2333d4d9026f38 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Feb 2013 12:02:15 -0500 Subject: [PATCH 008/151] Add version-compare and version>? to utils.scm. * guix/utils.scm (version-compare, version>?): New exported procedures, based on version-string>?, which was formerly in gnu-maintenance.scm. * guix/gnu-maintenance.scm (version-string>?): Removed procedure. (latest-release): Use 'version>?' instead of 'version-string>?'. --- guix/gnu-maintenance.scm | 12 ++---------- guix/utils.scm | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+), 10 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index c934694147..6475c386d3 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -28,6 +28,7 @@ #:use-module (srfi srfi-26) #:use-module (system foreign) #:use-module (guix ftp-client) + #:use-module (guix utils) #:export (official-gnu-packages releases latest-release @@ -156,21 +157,12 @@ pairs. Example: (\"mit-scheme-9.0.1\" . \"/gnu/mit-scheme/stable.pkg/9.0.1\"). files) result))))))) -(define version-string>? - (let ((strverscmp - (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) - (error "could not find `strverscmp' (from GNU libc)")))) - (pointer->procedure int sym (list '* '*))))) - (lambda (a b) - "Return #t when B denotes a newer version than A." - (> (strverscmp (string->pointer a) (string->pointer b)) 0)))) - (define (latest-release project) "Return (\"FOO-X.Y\" . \"/bar/foo\") or #f." (let ((releases (releases project))) (and (not (null? releases)) (fold (lambda (release latest) - (if (version-string>? (car release) (car latest)) + (if (version>? (car release) (car latest)) release latest)) '("" . "") diff --git a/guix/utils.scm b/guix/utils.scm index 7ab835e7f1..d7c37e37d1 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -57,6 +57,8 @@ gnu-triplet->nix-system %current-system + version-compare + version>? package-name->name+version)) @@ -422,6 +424,24 @@ returned by `config.guess'." ;; By default, this is equal to (gnu-triplet->nix-system %host-type). (make-parameter %system)) +(define version-compare + (let ((strverscmp + (let ((sym (or (dynamic-func "strverscmp" (dynamic-link)) + (error "could not find `strverscmp' (from GNU libc)")))) + (pointer->procedure int sym (list '* '*))))) + (lambda (a b) + "Return '> when A denotes a newer version than B, +'< when A denotes a older version than B, +or '= when they denote equal versions." + (let ((result (strverscmp (string->pointer a) (string->pointer b)))) + (cond ((positive? result) '>) + ((negative? result) '<) + (else '=)))))) + +(define (version>? a b) + "Return #t when A denotes a newer version than B." + (eq? '> (version-compare a b))) + (define (package-name->name+version name) "Given NAME, a package name like \"foo-0.9.1b\", return two values: \"foo\" and \"0.9.1b\". When the version part is unavailable, NAME and From 922f11ad226810f64e663790fc5b366939c8b546 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Wed, 13 Feb 2013 02:18:46 +0000 Subject: [PATCH 009/151] gnu: Add GNU Wdiff. * gnu/packages/wdiff.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/wdiff.scm | 61 ++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 62 insertions(+) create mode 100644 gnu/packages/wdiff.scm diff --git a/Makefile.am b/Makefile.am index 3a84812ba6..e44753d596 100644 --- a/Makefile.am +++ b/Makefile.am @@ -152,6 +152,7 @@ MODULES = \ gnu/packages/time.scm \ gnu/packages/tmux.scm \ gnu/packages/tor.scm \ + gnu/packages/wdiff.scm \ gnu/packages/wget.scm \ gnu/packages/which.scm \ gnu/packages/xml.scm \ diff --git a/gnu/packages/wdiff.scm b/gnu/packages/wdiff.scm new file mode 100644 index 0000000000..02d536c7de --- /dev/null +++ b/gnu/packages/wdiff.scm @@ -0,0 +1,61 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Nikita Karetnikov +;;; +;;; 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 wdiff) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages screen) + #:use-module (gnu packages which)) + +(define-public wdiff + (package + (name "wdiff") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/wdiff/wdiff-" + version ".tar.gz")) + (sha256 + (base32 + "0q78y5awvjjmsvizqilbpwany62shlmlq2ayxkjbygmdafpk1k8j")))) + (build-system gnu-build-system) + (arguments + `(#:phases (alist-cons-before + 'check 'fix-sh + (lambda _ + (substitute* "tests/testsuite" + (("#! /bin/sh") + (string-append "#!" (which "sh"))))) + %standard-phases))) + (inputs `(("screen" ,screen) + ("which" ,which))) + (home-page "https://www.gnu.org/software/wdiff/") + (synopsis + "GNU Wdiff, a tool for comparing files on a word by word basis") + (description + "GNU Wdiff is a front end to 'diff' for comparing files on a word per +word basis. A word is anything between whitespace. This is useful for +comparing two texts in which a few words have been changed and for which +paragraphs have been refilled. It works by creating two temporary files, one +word per line, and then executes 'diff' on these files. It collects the +'diff' output and uses it to produce a nicer display of word differences +between the original files.") + (license gpl3+))) \ No newline at end of file From ab744c1af5668b1fa1b0688614aa9c12813f4921 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Feb 2013 16:09:29 +0100 Subject: [PATCH 010/151] gnu: Add missing patch for mcron. * gnu/packages/patches/mcron-install.patch: New file. * Makefile.am (dist_patch_DATA): Add it. --- Makefile.am | 1 + gnu/packages/patches/mcron-install.patch | 22 ++++++++++++++++++++++ 2 files changed, 23 insertions(+) create mode 100644 gnu/packages/patches/mcron-install.patch diff --git a/Makefile.am b/Makefile.am index e44753d596..7b0613d27b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -196,6 +196,7 @@ dist_patch_DATA = \ gnu/packages/patches/m4-readlink-EINVAL.patch \ gnu/packages/patches/m4-s_isdir.patch \ gnu/packages/patches/make-impure-dirs.patch \ + gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/patches/mcron-install.patch b/gnu/packages/patches/mcron-install.patch new file mode 100644 index 0000000000..3cd291f576 --- /dev/null +++ b/gnu/packages/patches/mcron-install.patch @@ -0,0 +1,22 @@ +This patch allows us to install the Vixie-compatible binaries as +non-root without creating /var/run, etc. + +--- mcron-1.0.6/makefile.in 2010-06-19 20:44:17.000000000 +0200 ++++ mcron-1.0.6/makefile.in 2010-07-04 16:16:25.000000000 +0200 +@@ -1004,15 +1004,11 @@ mcron.c : main.scm crontab.scm makefile. + @rm -f mcron.escaped.scm > /dev/null 2>&1 + + install-exec-hook: +- @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" -a "`id -u`" -eq "0" ]; then \ ++ @if [ "x@NO_VIXIE_CLOBBER@" != "xyes" ]; then \ + rm -f $(fpp)cron$(EXEEXT) > /dev/null 2>&1; \ + $(INSTALL) --mode='u=rwx' mcron$(EXEEXT) $(fpp)cron$(EXEEXT); \ + rm -f $(fpp)crontab$(EXEEXT) > /dev/null 2>&1; \ + $(INSTALL) --mode='u=rwxs,og=rx' mcron$(EXEEXT) $(fpp)crontab$(EXEEXT); \ +- $(INSTALL) -d --mode='u=rwx' $(DESTDIR)/var/cron; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)/var/run; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@; \ +- $(INSTALL) -d --mode='u=rwx,og=rx' $(DESTDIR)@GUILE_SITE@/mcron; \ + elif [ "x@NO_VIXIE_CLOBBER@" = "xyes" ]; then \ + echo "Not installing Vixie-style programs"; \ + else \ From ddff766e38e446ae84bd099f4473406706ba2d80 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 13 Feb 2013 21:42:34 +0100 Subject: [PATCH 011/151] gnu: guile-static: Use libgc build with `USE_LIBC_PRIVATES'. * gnu/packages/make-bootstrap.scm (%guile-static): Use libgc build with CPPFLAGS=-DUSE_LIBC_PRIVATES. * gnu/packages/bdw-gc.scm (libgc): Add TODO to always do it. --- gnu/packages/bdw-gc.scm | 1 + gnu/packages/make-bootstrap.scm | 79 +++++++++++++++++++-------------- 2 files changed, 46 insertions(+), 34 deletions(-) diff --git a/gnu/packages/bdw-gc.scm b/gnu/packages/bdw-gc.scm index 98526512f8..c338eab871 100644 --- a/gnu/packages/bdw-gc.scm +++ b/gnu/packages/bdw-gc.scm @@ -35,6 +35,7 @@ (base32 "05jwadjbrv8pr7z9cb4miskicxqpxm0pca4h2rg5cgbpajr2bx7b")))) (build-system gnu-build-system) + ;; TODO: Build with -DUSE_LIBC_PRIVATES (see make-bootstrap.scm). (synopsis "The Boehm-Demers-Weiser conservative garbage collector for C and C++") (description diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 8275344b6c..9e9ba939da 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -28,6 +28,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages gawk) #:use-module (gnu packages guile) + #:use-module (gnu packages bdw-gc) #:use-module (gnu packages linux) #:use-module (gnu packages multiprecision) #:use-module (ice-9 match) @@ -399,44 +400,54 @@ ;; A statically-linked Guile that is relocatable--i.e., it can search ;; .scm and .go files relative to its installation directory, rather ;; than in hard-coded configure-time paths. - (let ((guile (package (inherit guile-2.0) - (inputs - `(("patch/relocatable" - ,(search-patch "guile-relocatable.patch")) - ("patch/utf8" - ,(search-patch "guile-default-utf8.patch")) - ,@(package-inputs guile-2.0))) - (arguments - `(;; When `configure' checks for ltdl availability, it - ;; doesn't try to link using libtool, and thus fails - ;; because of a missing -ldl. Work around that. - #:configure-flags '("LDFLAGS=-ldl") + (let* ((libgc (package (inherit libgc) + (arguments + ;; Make it so that we don't rely on /proc. This is + ;; especially useful in an initrd run before /proc is + ;; mounted. + '(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES"))))) + (guile (package (inherit guile-2.0) + (inputs + `(("patch/relocatable" + ,(search-patch "guile-relocatable.patch")) + ("patch/utf8" + ,(search-patch "guile-default-utf8.patch")) + ,@(package-inputs guile-2.0))) + (propagated-inputs + `(("bdw-gc" ,libgc) + ,@(alist-delete "bdw-gc" + (package-propagated-inputs guile-2.0)))) + (arguments + `(;; When `configure' checks for ltdl availability, it + ;; doesn't try to link using libtool, and thus fails + ;; because of a missing -ldl. Work around that. + #:configure-flags '("LDFLAGS=-ldl") - #:phases (alist-cons-before - 'configure 'static-guile - (lambda _ - (substitute* "libguile/Makefile.in" - ;; Create a statically-linked `guile' - ;; executable. - (("^guile_LDFLAGS =") - "guile_LDFLAGS = -all-static") + #:phases (alist-cons-before + 'configure 'static-guile + (lambda _ + (substitute* "libguile/Makefile.in" + ;; Create a statically-linked `guile' + ;; executable. + (("^guile_LDFLAGS =") + "guile_LDFLAGS = -all-static") - ;; Add `-ldl' *after* libguile-2.0.la. - (("^guile_LDADD =(.*)$" _ ldadd) - (string-append "guile_LDADD = " - (string-trim-right ldadd) - " -ldl\n")))) - %standard-phases) + ;; Add `-ldl' *after* libguile-2.0.la. + (("^guile_LDADD =(.*)$" _ ldadd) + (string-append "guile_LDADD = " + (string-trim-right ldadd) + " -ldl\n")))) + %standard-phases) - ;; Allow Guile to be relocated, as is needed during - ;; bootstrap. - #:patches - (list (assoc-ref %build-inputs "patch/relocatable") - (assoc-ref %build-inputs "patch/utf8")) + ;; Allow Guile to be relocated, as is needed during + ;; bootstrap. + #:patches + (list (assoc-ref %build-inputs "patch/relocatable") + (assoc-ref %build-inputs "patch/utf8")) - ;; There are uses of `dynamic-link' in - ;; {foreign,coverage}.test that don't fly here. - #:tests? #f))))) + ;; There are uses of `dynamic-link' in + ;; {foreign,coverage}.test that don't fly here. + #:tests? #f))))) (package-with-explicit-inputs (static-package guile) %standard-inputs-with-relocatable-glibc (current-source-location)))) From 790b8e0ebe63ae8d042327e6b1422c951166eb07 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 14 Feb 2013 00:14:29 +0100 Subject: [PATCH 012/151] build-system/gnu: Make the strip behavior of `static-package' configurable. * guix/build-system/gnu.scm (static-package): Add #:strip-all? keyword parameter. --- guix/build-system/gnu.scm | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 82f5bb8490..5be4782c2f 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -111,20 +111,24 @@ flags for VARIABLE, the associated value is augmented." "A version of P linked with `-static-gcc'." (package-with-extra-configure-variable p "LDFLAGS" "-static-libgcc")) -(define* (static-package p #:optional (loc (current-source-location))) - "Return a statically-linked version of package P." +(define* (static-package p #:optional (loc (current-source-location)) + #:key (strip-all? #t)) + "Return a statically-linked version of package P. If STRIP-ALL? is true, +use `--strip-all' as the arguments to `strip'." (let ((args (package-arguments p))) (package (inherit p) (location (source-properties->location loc)) (arguments (let ((a (default-keyword-arguments args '(#:configure-flags '() - #:strip-flags #f)))) + #:strip-flags '("--strip-debug"))))) (substitute-keyword-arguments a ((#:configure-flags flags) `(cons* "--disable-shared" "LDFLAGS=-static" ,flags)) - ((#:strip-flags _) - ''("--strip-all")))))))) + ((#:strip-flags flags) + (if strip-all? + ''("--strip-all") + flags)))))))) (define %store From 9ede36f0ed2ea3c2a6a020b52e51b741b07cbc1f Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Feb 2013 20:29:30 -0500 Subject: [PATCH 013/151] Inhibit duplicates in fold-packages. * gnu/packages.scm (fold2): New procedure. (fold-packages): Rework to suppress duplicates. --- gnu/packages.scm | 40 ++++++++++++++++++++++++++++------------ 1 file changed, 28 insertions(+), 12 deletions(-) diff --git a/gnu/packages.scm b/gnu/packages.scm index 792fe44efa..f2f98de476 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2013 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -20,6 +21,7 @@ #:use-module (guix packages) #:use-module (guix utils) #:use-module (ice-9 ftw) + #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-39) @@ -106,20 +108,34 @@ (false-if-exception (resolve-interface name)))) (package-files))) +(define (fold2 f seed1 seed2 lst) + (if (null? lst) + (values seed1 seed2) + (call-with-values + (lambda () (f (car lst) seed1 seed2)) + (lambda (seed1 seed2) + (fold2 f seed1 seed2 (cdr lst)))))) + (define (fold-packages proc init) "Call (PROC PACKAGE RESULT) for each available package, using INIT as -the initial value of RESULT." - (fold (lambda (module result) - (fold (lambda (var result) - (if (package? var) - (proc var result) - result)) - result - (module-map (lambda (sym var) - (false-if-exception (variable-ref var))) - module))) - init - (package-modules))) +the initial value of RESULT. It is guaranteed to never traverse the +same package twice." + (identity ; discard second return value + (fold2 (lambda (module result seen) + (fold2 (lambda (var result seen) + (if (and (package? var) + (not (vhash-assq var seen))) + (values (proc var result) + (vhash-consq var #t seen)) + (values result seen))) + result + seen + (module-map (lambda (sym var) + (false-if-exception (variable-ref var))) + module))) + init + vlist-null + (package-modules)))) (define* (find-packages-by-name name #:optional version) "Return the list of packages with the given NAME. If VERSION is not #f, From 854d62777938eaf5552d8e90a3848e3a8fdbbbbd Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Tue, 12 Feb 2013 01:24:21 -0500 Subject: [PATCH 014/151] Build newest versions unless specified, and implement upgrades. * gnu/packages.scm (find-newest-available-packages): New exported procedure. * guix-build.in (newest-available-packages, find-best-packages-by-name): New procedures. (find-package): Use find-best-packages-by-name, to guarantee that if a version number is not specified, only the newest versions will be considered. * guix-package.in (%options): Add --upgrade/-u option. (newest-available-packages, find-best-packages-by-name, upgradeable?): New procedures. (find-package): Use find-best-packages-by-name, to guarantee that if a version number is not specified, only the newest versions will be considered. (process-actions): Implement upgrade option. * doc/guix.texi (Invoking guix-package): In the description of --install, mention that if no version number is specified, the newest available version will be selected. --- doc/guix.texi | 7 +++-- gnu/packages.scm | 26 ++++++++++++++++- guix-build.in | 20 +++++++++++-- guix-package.in | 73 +++++++++++++++++++++++++++++++++++++++--------- 4 files changed, 106 insertions(+), 20 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 9cb1431bf1..80149326c1 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -491,9 +491,10 @@ Install @var{package}. @var{package} may specify either a simple package name, such as @code{guile}, or a package name followed by a hyphen and version number, -such as @code{guile-1.8.8}. In addition, @var{package} may contain a -colon, followed by the name of one of the outputs of the package, as in -@code{gcc:doc} or @code{binutils-2.22:lib}. +such as @code{guile-1.8.8}. If no version number is specified, the +newest available version will be selected. In addition, @var{package} +may contain a colon, followed by the name of one of the outputs of the +package, as in @code{gcc:doc} or @code{binutils-2.22:lib}. @cindex propagated inputs Sometimes packages have @dfn{propagated inputs}: these are dependencies diff --git a/gnu/packages.scm b/gnu/packages.scm index f2f98de476..b639541788 100644 --- a/gnu/packages.scm +++ b/gnu/packages.scm @@ -22,6 +22,7 @@ #:use-module (guix utils) #:use-module (ice-9 ftw) #:use-module (ice-9 vlist) + #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) #:use-module (srfi srfi-39) @@ -30,7 +31,8 @@ %patch-directory %bootstrap-binaries-path fold-packages - find-packages-by-name)) + find-packages-by-name + find-newest-available-packages)) ;;; Commentary: ;;; @@ -153,3 +155,25 @@ then only return packages whose version is equal to VERSION." (cons package result) result)) '())) + +(define (find-newest-available-packages) + "Return a vhash keyed by package names, and with +associated values of the form + + (newest-version newest-package ...) + +where the preferred package is listed first." + + ;; FIXME: Currently, the preferred package is whichever one + ;; was found last by 'fold-packages'. Find a better solution. + (fold-packages (lambda (p r) + (let ((name (package-name p)) + (version (package-version p))) + (match (vhash-assoc name r) + ((_ newest-so-far . pkgs) + (case (version-compare version newest-so-far) + ((>) (vhash-cons name `(,version ,p) r)) + ((=) (vhash-cons name `(,version ,p ,@pkgs) r)) + ((<) r))) + (#f (vhash-cons name `(,version ,p) r))))) + vlist-null)) diff --git a/guix-build.in b/guix-build.in index f8c7115999..35ddb00861 100644 --- a/guix-build.in +++ b/guix-build.in @@ -13,6 +13,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ !# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2013 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -37,12 +38,14 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ #:use-module (guix utils) #:use-module (ice-9 format) #:use-module (ice-9 match) + #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (srfi srfi-37) - #:autoload (gnu packages) (find-packages-by-name) + #:autoload (gnu packages) (find-packages-by-name + find-newest-available-packages) #:export (guix-build)) (define %store @@ -196,13 +199,24 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) root (strerror (system-error-errno args))) (exit 1))))) + (define newest-available-packages + (memoize find-newest-available-packages)) + + (define (find-best-packages-by-name name version) + (if version + (find-packages-by-name name version) + (match (vhash-assoc name (newest-available-packages)) + ((_ version pkgs ...) pkgs) + (#f '())))) + (define (find-package request) ;; Return a package matching REQUEST. REQUEST may be a package ;; name, or a package name followed by a hyphen and a version - ;; number. + ;; number. If the version number is not present, return the + ;; preferred newest version. (let-values (((name version) (package-name->name+version request))) - (match (find-packages-by-name name version) + (match (find-best-packages-by-name name version) ((p) ; one match p) ((p x ...) ; several matches diff --git a/guix-package.in b/guix-package.in index ae3d2cd70e..584481acd5 100644 --- a/guix-package.in +++ b/guix-package.in @@ -14,6 +14,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov +;;; Copyright © 2013 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -42,6 +43,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ #:use-module (ice-9 format) #:use-module (ice-9 match) #:use-module (ice-9 regex) + #:use-module (ice-9 vlist) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) @@ -346,6 +348,9 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (option '(#\r "remove") #t #f (lambda (opt name arg result) (alist-cons 'remove arg result))) + (option '(#\u "upgrade") #t #f + (lambda (opt name arg result) + (alist-cons 'upgrade arg result))) (option '("roll-back") #f #f (lambda (opt name arg result) (alist-cons 'roll-back? #t result))) @@ -421,9 +426,20 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (length req*)) (null? req*) req*)))) + (define newest-available-packages + (memoize find-newest-available-packages)) + + (define (find-best-packages-by-name name version) + (if version + (find-packages-by-name name version) + (match (vhash-assoc name (newest-available-packages)) + ((_ version pkgs ...) pkgs) + (#f '())))) + (define (find-package name) ;; Find the package NAME; NAME may contain a version number and a - ;; sub-derivation name. + ;; sub-derivation name. If the version number is not present, + ;; return the preferred newest version. (define request name) (define (ensure-output p sub-drv) @@ -441,7 +457,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (substring name (+ 1 colon)))))) ((name version) (package-name->name+version name))) - (match (find-packages-by-name name version) + (match (find-best-packages-by-name name version) ((p) (list name (package-version p) sub-drv (ensure-output p sub-drv) (package-transitive-propagated-inputs p))) @@ -458,6 +474,21 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (() (leave (_ "~a: package not found~%") request))))) + (define (upgradeable? name current-version current-path) + ;; Return #t if there's a version of package NAME newer than + ;; CURRENT-VERSION, or if the newest available version is equal to + ;; CURRENT-VERSION but would have an output path different than + ;; CURRENT-PATH. + (match (vhash-assoc name (newest-available-packages)) + ((_ candidate-version pkg . rest) + (case (version-compare candidate-version current-version) + ((>) #t) + ((<) #f) + ((=) (let ((candidate-path (derivation-path->output-path + (package-derivation (%store) pkg)))) + (not (string=? current-path candidate-path)))))) + (#f #f))) + (define (ensure-default-profile) ;; Ensure the default profile symlink and directory exist. @@ -510,13 +541,32 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (begin (roll-back profile) (process-actions (alist-delete 'roll-back? opts))) - (let* ((install (filter-map (match-lambda - (('install . (? store-path?)) - #f) - (('install . package) - (find-package package)) - (_ #f)) - opts)) + (let* ((installed (manifest-packages (profile-manifest profile))) + (upgrade-regexps (filter-map (match-lambda + (('upgrade . regexp) + (make-regexp regexp)) + (_ #f)) + opts)) + (upgrade (if (null? upgrade-regexps) + '() + (let ((newest (find-newest-available-packages))) + (filter-map (match-lambda + ((name version output path _) + (and (any (cut regexp-exec <> name) + upgrade-regexps) + (upgradeable? name version path) + (find-package name))) + (_ #f)) + installed)))) + (install (append + upgrade + (filter-map (match-lambda + (('install . (? store-path?)) + #f) + (('install . package) + (find-package package)) + (_ #f)) + opts))) (drv (filter-map (match-lambda ((name version sub-drv (? package? package) @@ -553,10 +603,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (match package ((name _ ...) (alist-delete name result)))) - (fold alist-delete - (manifest-packages - (profile-manifest profile)) - remove) + (fold alist-delete installed remove) install*)))) (when (equal? profile %current-profile) From f9c36483294f0e2eba9d0cde312023546aba9069 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Wed, 13 Feb 2013 23:20:11 +0100 Subject: [PATCH 015/151] gnu: Add vim. * gnu/packages/vim.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/vim.scm | 74 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 75 insertions(+) create mode 100644 gnu/packages/vim.scm diff --git a/Makefile.am b/Makefile.am index 7b0613d27b..739b75e430 100644 --- a/Makefile.am +++ b/Makefile.am @@ -152,6 +152,7 @@ MODULES = \ gnu/packages/time.scm \ gnu/packages/tmux.scm \ gnu/packages/tor.scm \ + gnu/packages/vim.scm \ gnu/packages/wdiff.scm \ gnu/packages/wget.scm \ gnu/packages/which.scm \ diff --git a/gnu/packages/vim.scm b/gnu/packages/vim.scm new file mode 100644 index 0000000000..a80f50a4a6 --- /dev/null +++ b/gnu/packages/vim.scm @@ -0,0 +1,74 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt +;;; +;;; 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 vim) + #:use-module ((guix licenses) #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages gawk) + #:use-module (gnu packages ncurses) + #:use-module (gnu packages perl) + #:use-module (gnu packages system) ; For GNU hostname + #:use-module (gnu packages tcsh)) + +(define-public vim + (package + (name "vim") + (version "7.3") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ftp.vim.org/pub/vim/unix/vim-" + version ".tar.bz2")) + (sha256 + (base32 + "079201qk8g9yisrrb0dn52ch96z3lzw6z473dydw9fzi0xp5spaw")))) + (build-system gnu-build-system) + (arguments + `(#:test-target "test" + #:parallel-tests? #f + #:phases + (alist-replace + 'configure + (lambda* (#:key #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure))) + (apply configure args) + (substitute* "runtime/tools/mve.awk" + (("/usr/bin/nawk") (which "gawk"))) + (substitute* "src/testdir/Makefile" + (("/bin/sh") (which "sh"))))) + %standard-phases))) + (inputs + `(("gawk", gawk) + ("inetutils", inetutils) + ("ncurses", ncurses) + ("perl", perl) + ("tcsh" ,tcsh))) ; For runtime/tools/vim32 + (home-page "http://www.vim.org/") + (synopsis "VIM 7.3, a text editor based on vi.") + (description + "Vim is a highly configurable text editor built to enable efficient text +editing. It is an improved version of the vi editor distributed with most UNIX +systems. + +Vim is often called a \"programmer's editor,\" and so useful for programming +that many consider it an entire IDE. It's not just for programmers, though. Vim +is perfect for all kinds of text editing, from composing email to editing +configuration files. ") + (license license:vim))) From 2e48455d276501a27ddc6dada07407ce03256312 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Feb 2013 00:26:52 +0100 Subject: [PATCH 016/151] gnu: linux-libre: Choose a config without debugging features. * gnu/packages/linux.scm (linux-libre): Choose "defconfig" instead of "allmodconfig" since the latter enables all debugging features. Add `CONFIG_CIFS=m'. --- 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 f3e7d18627..b97315580b 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -133,7 +133,13 @@ (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))) (let ((build (assoc-ref %standard-phases 'build))) - (and (zero? (system* "make" "allmodconfig")) + (and (zero? (system* "make" "defconfig")) + (begin + (format #t "enabling additional modules...~%") + (substitute* ".config" + (("^# CONFIG_CIFS.*$") + "CONFIG_CIFS=m\n")) + (zero? (system* "make" "oldconfig"))) ;; Call the default `build' phase so `-j' is correctly ;; passed. From e70a28b87e7280ac3d73a7cd5d9c3240e31e19e9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Feb 2013 00:29:28 +0100 Subject: [PATCH 017/151] gnu: guile-static: Add bindings for low-level Linux syscalls. * gnu/packages/make-bootstrap.scm (%guile-static): Add `guile-linux-syscalls.patch' as an input, and use it. * gnu/packages/patches/guile-linux-syscalls.patch: New file. * Makefile.am (dist_patch_DATA): Add it. --- Makefile.am | 1 + gnu/packages/make-bootstrap.scm | 5 +- .../patches/guile-linux-syscalls.patch | 234 ++++++++++++++++++ 3 files changed, 239 insertions(+), 1 deletion(-) create mode 100644 gnu/packages/patches/guile-linux-syscalls.patch diff --git a/Makefile.am b/Makefile.am index 739b75e430..9ab0709c68 100644 --- a/Makefile.am +++ b/Makefile.am @@ -186,6 +186,7 @@ dist_patch_DATA = \ gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/guile-1.8-cpp-4.5.patch \ gnu/packages/patches/guile-default-utf8.patch \ + gnu/packages/patches/guile-linux-syscalls.patch \ gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/libapr-skip-getservbyname-test.patch \ gnu/packages/patches/libevent-dns-tests.patch \ diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 9e9ba939da..218f5a8e25 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -412,6 +412,8 @@ ,(search-patch "guile-relocatable.patch")) ("patch/utf8" ,(search-patch "guile-default-utf8.patch")) + ("patch/syscalls" + ,(search-patch "guile-linux-syscalls.patch")) ,@(package-inputs guile-2.0))) (propagated-inputs `(("bdw-gc" ,libgc) @@ -443,7 +445,8 @@ ;; bootstrap. #:patches (list (assoc-ref %build-inputs "patch/relocatable") - (assoc-ref %build-inputs "patch/utf8")) + (assoc-ref %build-inputs "patch/utf8") + (assoc-ref %build-inputs "patch/syscalls")) ;; There are uses of `dynamic-link' in ;; {foreign,coverage}.test that don't fly here. diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch new file mode 100644 index 0000000000..c0cb0f6d70 --- /dev/null +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -0,0 +1,234 @@ +This patch adds bindings to Linux syscalls for which glibc has symbols. + +diff --git a/libguile/posix.c b/libguile/posix.c +index 324f21b..ace5211 100644 +--- a/libguile/posix.c ++++ b/libguile/posix.c +@@ -2286,6 +2286,227 @@ scm_init_popen (void) + } + #endif + ++ ++/* Linux! */ ++ ++#include ++#include "libguile/foreign.h" ++#include "libguile/bytevectors.h" ++ ++SCM_DEFINE (scm_mount, "mount", 3, 2, 0, ++ (SCM source, SCM target, SCM type, SCM flags, SCM data), ++ "Mount file system of @var{type} specified by @var{source} " ++ "on @var{target}.") ++#define FUNC_NAME s_scm_mount ++{ ++ int err; ++ char *c_source, *c_target, *c_type; ++ unsigned long c_flags; ++ void *c_data; ++ ++ c_source = scm_to_locale_string (source); ++ c_target = scm_to_locale_string (target); ++ c_type = scm_to_locale_string (type); ++ c_flags = SCM_UNBNDP (flags) ? 0 : scm_to_ulong (flags); ++ c_data = SCM_UNBNDP (data) ? NULL : scm_to_pointer (data); ++ ++ err = mount (c_source, c_target, c_type, c_flags, c_data); ++ if (err != 0) ++ err = errno; ++ ++ free (c_source); ++ free (c_target); ++ free (c_type); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++/* Linux's module installation syscall. See `kernel/module.c' in Linux; ++ the function itself is part of the GNU libc. ++ ++ Load the LEN bytes at MODULE as a kernel module, with arguments from ++ ARGS, a space-separated list of options. */ ++extern long init_module (void *module, unsigned long len, const char *args); ++ ++SCM_DEFINE (scm_load_linux_module, "load-linux-module", 1, 1, 0, ++ (SCM data, SCM options), ++ "Load the Linux kernel module whose contents are in bytevector " ++ "DATA (the contents of a @code{.ko} file), with the arguments " ++ "from the OPTIONS string.") ++#define FUNC_NAME s_scm_load_linux_module ++{ ++ long err; ++ void *c_data; ++ unsigned long c_len; ++ char *c_options; ++ ++ SCM_VALIDATE_BYTEVECTOR (SCM_ARG1, data); ++ ++ c_data = SCM_BYTEVECTOR_CONTENTS (data); ++ c_len = SCM_BYTEVECTOR_LENGTH (data); ++ c_options = ++ scm_to_locale_string (SCM_UNBNDP (options) ? scm_nullstr : options); ++ ++ err = init_module (c_data, c_len, c_options); ++ ++ free (c_options); ++ ++ if (err != 0) ++ { ++ /* XXX: `insmod' actually provides better translation of some of ++ the error codes. */ ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++/* Linux network interfaces. See . */ ++ ++#include ++#include ++#include "libguile/socket.h" ++ ++SCM_VARIABLE_INIT (flag_IFF_UP, "IFF_UP", ++ scm_from_int (IFF_UP)); ++SCM_VARIABLE_INIT (flag_IFF_BROADCAST, "IFF_BROADCAST", ++ scm_from_int (IFF_BROADCAST)); ++SCM_VARIABLE_INIT (flag_IFF_DEBUG, "IFF_DEBUG", ++ scm_from_int (IFF_DEBUG)); ++SCM_VARIABLE_INIT (flag_IFF_LOOPBACK, "IFF_LOOPBACK", ++ scm_from_int (IFF_LOOPBACK)); ++SCM_VARIABLE_INIT (flag_IFF_POINTOPOINT, "IFF_POINTOPOINT", ++ scm_from_int (IFF_POINTOPOINT)); ++SCM_VARIABLE_INIT (flag_IFF_NOTRAILERS, "IFF_NOTRAILERS", ++ scm_from_int (IFF_NOTRAILERS)); ++SCM_VARIABLE_INIT (flag_IFF_RUNNING, "IFF_RUNNING", ++ scm_from_int (IFF_RUNNING)); ++SCM_VARIABLE_INIT (flag_IFF_NOARP, "IFF_NOARP", ++ scm_from_int (IFF_NOARP)); ++SCM_VARIABLE_INIT (flag_IFF_PROMISC, "IFF_PROMISC", ++ scm_from_int (IFF_PROMISC)); ++SCM_VARIABLE_INIT (flag_IFF_ALLMULTI, "IFF_ALLMULTI", ++ scm_from_int (IFF_ALLMULTI)); ++ ++SCM_DEFINE (scm_set_network_interface_address, "set-network-interface-address", ++ 3, 0, 0, ++ (SCM socket, SCM name, SCM address), ++ "Configure network interface @var{name}.") ++#define FUNC_NAME s_scm_set_network_interface_address ++{ ++ char *c_name; ++ struct ifreq ifr; ++ struct sockaddr *c_address; ++ size_t sa_len; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ c_address = scm_to_sockaddr (address, &sa_len); ++ ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ memcpy (&ifr.ifr_addr, c_address, sa_len); ++ ++ err = ioctl (fd, SIOCSIFADDR, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ free (c_address); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_set_network_interface_flags, "set-network-interface-flags", ++ 3, 0, 0, ++ (SCM socket, SCM name, SCM flags), ++ "Change the flags of network interface @var{name} to " ++ "@var{flags}.") ++#define FUNC_NAME s_scm_set_network_interface_flags ++{ ++ struct ifreq ifr; ++ char *c_name; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ ifr.ifr_flags = scm_to_short (flags); ++ ++ err = ioctl (fd, SIOCSIFFLAGS, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return SCM_UNSPECIFIED; ++} ++#undef FUNC_NAME ++ ++SCM_DEFINE (scm_network_interface_flags, "network-interface-flags", ++ 2, 0, 0, ++ (SCM socket, SCM name), ++ "Return the flags of network interface @var{name}.") ++#define FUNC_NAME s_scm_network_interface_flags ++{ ++ struct ifreq ifr; ++ char *c_name; ++ int fd, err; ++ ++ socket = SCM_COERCE_OUTPORT (socket); ++ SCM_VALIDATE_OPFPORT (1, socket); ++ fd = SCM_FPORT_FDES (socket); ++ ++ memset (&ifr, 0, sizeof ifr); ++ c_name = scm_to_locale_string (name); ++ strncpy (ifr.ifr_name, c_name, sizeof ifr.ifr_name - 1); ++ ++ err = ioctl (fd, SIOCGIFFLAGS, &ifr); ++ if (err != 0) ++ err = errno; ++ ++ free (c_name); ++ ++ if (err != 0) ++ { ++ errno = err; ++ SCM_SYSERROR; ++ } ++ ++ return scm_from_short (ifr.ifr_flags); ++} ++#undef FUNC_NAME ++ + void + scm_init_posix () + { From 52e6e2461f266feee99b6fb02dfd700fba589f77 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Fri, 15 Feb 2013 10:46:29 +0000 Subject: [PATCH 018/151] gnu: Add GNU Parted. * gnu/packages/parted.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/parted.scm | 71 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 gnu/packages/parted.scm diff --git a/Makefile.am b/Makefile.am index 9ab0709c68..84277ddc13 100644 --- a/Makefile.am +++ b/Makefile.am @@ -124,6 +124,7 @@ MODULES = \ gnu/packages/oggvorbis.scm \ gnu/packages/openldap.scm \ gnu/packages/openssl.scm \ + gnu/packages/parted.scm \ gnu/packages/patchelf.scm \ gnu/packages/pcre.scm \ gnu/packages/pdf.scm \ diff --git a/gnu/packages/parted.scm b/gnu/packages/parted.scm new file mode 100644 index 0000000000..b99c52e457 --- /dev/null +++ b/gnu/packages/parted.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Nikita Karetnikov +;;; +;;; 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 parted) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages check) + #:use-module ((gnu packages gettext) + #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages linux) + #:use-module (gnu packages readline)) + +(define-public parted + (package + (name "parted") + (version "3.1") + (source + (origin + (method url-fetch) + (uri (string-append "mirror://gnu/parted/parted-" + version ".tar.xz")) + (sha256 + (base32 + "05fa4m1bky9d13hqv91jlnngzlyn7y4rnnyq6d86w0dg3vww372y")))) + (build-system gnu-build-system) + (arguments `(#:configure-flags '("--disable-device-mapper") + #:phases (alist-cons-before + 'configure 'fix-mkswap + (lambda* (#:key inputs #:allow-other-keys) + (let ((util-linux (assoc-ref inputs + "util-linux"))) + (substitute* + "tests/t9050-partition-table-types.sh" + (("mkswap") + (string-append util-linux "/sbin/mkswap"))))) + %standard-phases))) + (inputs + ;; XXX: add 'lvm2'. + `(("check" ,check) + ("gettext" ,guix:gettext) + ("readline" ,readline) + ("util-linux" ,util-linux))) + (home-page "http://www.gnu.org/software/parted/") + (synopsis + "GNU Parted, a tool to manipulate partitions") + (description + "GNU Parted is an industrial-strength package for creating, destroying, +resizing, checking and copying partitions, and the file systems on them. This +is useful for creating space for new operating systems, reorganising disk +usage, copying data on hard disks and disk imaging. + +It contains a library, libparted, and a command-line frontend, parted, which +also serves as a sample implementation and script backend.") + (license gpl3+))) \ No newline at end of file From b7e9ee3327be03f5bc529cfb90b31da1b5586d4c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Feb 2013 22:04:51 +0100 Subject: [PATCH 019/151] gnu: samba: Augment the RUNPATH of executables to point to $out/lib. * gnu/packages/samba.scm (samba): Add `add-lib-to-runpath' phase, and PatchELF as an input. --- gnu/packages/samba.scm | 47 +++++++++++++++++++++++++++++++++++++----- 1 file changed, 42 insertions(+), 5 deletions(-) diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm index d414c285f8..93c9f70a50 100644 --- a/gnu/packages/samba.scm +++ b/gnu/packages/samba.scm @@ -27,6 +27,7 @@ #:use-module (gnu packages readline) #:use-module (gnu packages libunwind) #:use-module (gnu packages linux) + #:use-module (gnu packages patchelf) #:use-module (gnu packages perl) #:use-module (gnu packages python)) @@ -103,10 +104,45 @@ anywhere.") "1phl6mmrc72jyvbyrw6cv6b92cxq3v2pbn1fh97nnb4hild1fnjg")))) (build-system gnu-build-system) (arguments - '(#:phases (alist-cons-before 'configure 'chdir - (lambda _ - (chdir "source3")) - %standard-phases) + '(#:phases (alist-cons-before + 'configure 'chdir + (lambda _ + (chdir "source3")) + (alist-cons-after + 'strip 'add-lib-to-runpath + (lambda* (#:key outputs #:allow-other-keys) + (define (file-rpath file) + ;; Return the RPATH of FILE. + (let* ((p (open-pipe* OPEN_READ "patchelf" + "--print-rpath" file)) + (l (read-line p))) + (and (zero? (close-pipe p)) l))) + + (define (augment-rpath file dir) + ;; Add DIR to the RPATH of FILE. + (let* ((rpath (file-rpath file)) + (rpath* (if rpath + (string-append dir ":" rpath) + dir))) + (format #t "~a: changing RPATH from `~a' to `~a'~%" + file (or rpath "") rpath*) + (zero? (system* "patchelf" "--set-rpath" + rpath* file)))) + + (let* ((out (assoc-ref outputs "out")) + (lib (string-append out "/lib"))) + ;; Add LIB to the RUNPATH of all the executables. + (with-directory-excursion out + (for-each (cut augment-rpath <> lib) + (append (find-files "bin" ".*") + (find-files "sbin" ".*")))))) + %standard-phases)) + + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 popen) + (ice-9 rdelim) + (srfi srfi-26)) ;; This flag is required to allow for "make test". #:configure-flags '("--enable-socket-wrapper") @@ -126,7 +162,8 @@ anywhere.") ("popt" ,popt) ("openldap" ,openldap) ("linux-pam" ,linux-pam) - ("readline" ,readline))) + ("readline" ,readline) + ("patchelf" ,patchelf))) (native-inputs ; for the test suite `(("perl" ,perl) ("python" ,python))) From e7d2c60809827182e9f716ab5de2e5ad77d7c252 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Feb 2013 22:36:05 +0100 Subject: [PATCH 020/151] gnu: qemu: Add dependency on Samba. * gnu/packages/qemu.scm (qemu-kvm): Add dependency on Samba; pass `--smbd' to ./configure. --- gnu/packages/qemu.scm | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index e6859aadf0..785d470079 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -32,6 +32,7 @@ #:use-module (gnu packages libjpeg) #:use-module (gnu packages attr) #:use-module (gnu packages linux) + #:use-module (gnu packages samba) #:use-module (gnu packages perl)) (define-public qemu-kvm @@ -52,14 +53,17 @@ (lambda* (#:key inputs outputs #:allow-other-keys) ;; The `configure' script doesn't understand some of the ;; GNU options. Thus, add a new phase that's compatible. - (let ((out (assoc-ref outputs "out"))) + (let ((out (assoc-ref outputs "out")) + (samba (assoc-ref inputs "samba"))) (setenv "SHELL" (which "bash")) ;; The binaries need to be linked against -lrt. (setenv "LDFLAGS" "-lrt") (zero? (system* "./configure" - (string-append "--prefix=" out))))) + (string-append "--prefix=" out) + (string-append "--smbd=" samba + "/sbin/smbd"))))) %standard-phases))) (inputs ; TODO: Add optional inputs. `(;; ("mesa" ,mesa) @@ -76,7 +80,8 @@ ;; ("alsa-lib" ,alsa-lib) ;; ("SDL" ,SDL) ("zlib" ,zlib) - ("attr" ,attr))) + ("attr" ,attr) + ("samba" ,samba))) ; an optional dependency (home-page "http://www.linux-kvm.org/") (synopsis "Virtualization for Linux on x86 hardware containing virtualization extensions") From 9322c6822f3c285212a07f38562c3d6425464e45 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 00:29:43 +0100 Subject: [PATCH 021/151] gnu: guile-static: Add bindings for `reboot'. * gnu/packages/patches/guile-linux-syscalls.patch: Add `scm_reboot'. --- .../patches/guile-linux-syscalls.patch | 46 ++++++++++++++++++- 1 file changed, 44 insertions(+), 2 deletions(-) diff --git a/gnu/packages/patches/guile-linux-syscalls.patch b/gnu/packages/patches/guile-linux-syscalls.patch index c0cb0f6d70..1fb24bde27 100644 --- a/gnu/packages/patches/guile-linux-syscalls.patch +++ b/gnu/packages/patches/guile-linux-syscalls.patch @@ -1,10 +1,13 @@ This patch adds bindings to Linux syscalls for which glibc has symbols. +Using the FFI would have been nice, but that's not an option when using +a statically-linked Guile in an initrd that doesn't have libc.so around. + diff --git a/libguile/posix.c b/libguile/posix.c -index 324f21b..ace5211 100644 +index 324f21b..cbee94d 100644 --- a/libguile/posix.c +++ b/libguile/posix.c -@@ -2286,6 +2286,227 @@ scm_init_popen (void) +@@ -2286,6 +2286,266 @@ scm_init_popen (void) } #endif @@ -92,6 +95,45 @@ index 324f21b..ace5211 100644 +} +#undef FUNC_NAME + ++/* Rebooting, halting, and all that. */ ++ ++#include ++ ++SCM_VARIABLE_INIT (flag_RB_AUTOBOOT, "RB_AUTOBOOT", ++ scm_from_int (RB_AUTOBOOT)); ++SCM_VARIABLE_INIT (flag_RB_HALT_SYSTEM, "RB_HALT_SYSTEM", ++ scm_from_int (RB_HALT_SYSTEM)); ++SCM_VARIABLE_INIT (flag_RB_ENABLE_CAD, "RB_ENABLE_CAD", ++ scm_from_int (RB_ENABLE_CAD)); ++SCM_VARIABLE_INIT (flag_RB_DISABLE_CAD, "RB_DISABLE_CAD", ++ scm_from_int (RB_DISABLE_CAD)); ++SCM_VARIABLE_INIT (flag_RB_POWER_OFF, "RB_POWER_OFF", ++ scm_from_int (RB_POWER_OFF)); ++SCM_VARIABLE_INIT (flag_RB_SW_SUSPEND, "RB_SW_SUSPEND", ++ scm_from_int (RB_SW_SUSPEND)); ++SCM_VARIABLE_INIT (flag_RB_KEXEC, "RB_KEXEC", ++ scm_from_int (RB_KEXEC)); ++ ++SCM_DEFINE (scm_reboot, "reboot", 0, 1, 0, ++ (SCM command), ++ "Reboot the system. @var{command} must be one of the @code{RB_} " ++ "constants; if omitted, @var{RB_AUTOBOOT} is used, thus " ++ "performing a hard reset.") ++#define FUNC_NAME s_scm_reboot ++{ ++ int c_command; ++ ++ if (SCM_UNBNDP (command)) ++ c_command = RB_AUTOBOOT; ++ else ++ c_command = scm_to_int (command); ++ ++ reboot (c_command); ++ ++ return SCM_UNSPECIFIED; /* likely unreached */ ++} ++#undef FUNC_NAME ++ +/* Linux network interfaces. See . */ + +#include From 99d90fc102f4fbcc63b106f817b023687926a9e2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 00:30:25 +0100 Subject: [PATCH 022/151] gnu: guile-static: Change `name' field. * gnu/packages/make-bootstrap.scm (%guile-static): Add `name' field with `-static' suffix. --- gnu/packages/make-bootstrap.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 218f5a8e25..3bb926bd36 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -407,6 +407,7 @@ ;; mounted. '(#:configure-flags '("CPPFLAGS=-DUSE_LIBC_PRIVATES"))))) (guile (package (inherit guile-2.0) + (name (string-append (package-name guile-2.0) "-static")) (inputs `(("patch/relocatable" ,(search-patch "guile-relocatable.patch")) From 5f7c5a97ba0a30b7fcdcbdf330efa4800c7bce90 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 01:37:26 +0100 Subject: [PATCH 023/151] packages: Add `package-output'. * guix/packages.scm (package-output): New procedure. * tests/packages.scm ("package-output"): New test. --- guix/packages.scm | 13 +++++++++++++ tests/packages.scm | 9 ++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/guix/packages.scm b/guix/packages.scm index b372f03818..51984baa3b 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -20,10 +20,12 @@ #:use-module (guix utils) #:use-module (guix store) #:use-module (guix base32) + #:use-module (guix derivations) #:use-module (guix build-system) #:use-module (ice-9 match) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9 gnu) + #:use-module (srfi srfi-11) #:use-module (srfi srfi-34) #:use-module (srfi srfi-35) #:re-export (%current-system) @@ -62,6 +64,7 @@ package-source-derivation package-derivation package-cross-derivation + package-output &package-error package-error? @@ -305,3 +308,13 @@ PACKAGE for SYSTEM." (define* (package-cross-derivation store package) ;; TODO #f) + +(define* (package-output store package output + #:optional (system (%current-system))) + "Return the output path of PACKAGE's OUTPUT for SYSTEM---where OUTPUT is the +symbolic output name, such as \"out\". Note that this procedure calls +`package-derivation', which is costly." + (let-values (((_ drv) + (package-derivation store package system))) + (derivation-output-path + (assoc-ref (derivation-outputs drv) output)))) diff --git a/tests/packages.scm b/tests/packages.scm index 32ee558518..f441532d22 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -71,7 +71,7 @@ ("d" ,d) ("d/x" "something.drv")) (pk 'x (package-transitive-inputs e)))))) -(test-skip (if (not %store) 3 0)) +(test-skip (if (not %store) 4 0)) (test-assert "return values" (let-values (((drv-path drv) @@ -79,6 +79,13 @@ (and (derivation-path? drv-path) (derivation? drv)))) +(test-assert "package-output" + (let* ((package (dummy-package "p")) + (drv-path (package-derivation %store package))) + (and (derivation-path? drv-path) + (string=? (derivation-path->output-path drv-path) + (package-output %store package "out"))))) + (test-assert "trivial" (let* ((p (package (inherit (dummy-package "trivial")) (build-system trivial-build-system) From 106ca9d0c160137ac41466b6d7cf18eee4f4583e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 02:09:10 +0100 Subject: [PATCH 024/151] gnu: qemu-kvm: Add patch to have multiple SMB shares. * gnu/packages/qemu.scm (qemu-kvm/smb-shares): New variable. * gnu/packages/patches/qemu-multiple-smb-shares.patch: New file. * Makefile.am (dist_patch_DATA): Add it. --- Makefile.am | 1 + .../patches/qemu-multiple-smb-shares.patch | 20 +++++++++++++++++++ gnu/packages/qemu.scm | 13 ++++++++++++ 3 files changed, 34 insertions(+) create mode 100644 gnu/packages/patches/qemu-multiple-smb-shares.patch diff --git a/Makefile.am b/Makefile.am index 84277ddc13..c9e3ca92f5 100644 --- a/Makefile.am +++ b/Makefile.am @@ -202,6 +202,7 @@ dist_patch_DATA = \ gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/procps-make-3.82.patch \ + gnu/packages/patches/qemu-multiple-smb-shares.patch \ gnu/packages/patches/readline-link-ncurses.patch \ gnu/packages/patches/shishi-gets-undeclared.patch \ gnu/packages/patches/tar-gets-undeclared.patch \ diff --git a/gnu/packages/patches/qemu-multiple-smb-shares.patch b/gnu/packages/patches/qemu-multiple-smb-shares.patch new file mode 100644 index 0000000000..c20066cbfe --- /dev/null +++ b/gnu/packages/patches/qemu-multiple-smb-shares.patch @@ -0,0 +1,20 @@ +This file extends `-smb' to add a share for the Nix store, and changes +the name of the default share. + +--- a/net/slirp.c ++++ b/net/slirp.c +@@ -515,8 +515,12 @@ static int slirp_smb(SlirpState* s, const char *exported_dir, + "log file=%s/log.smbd\n" + "smb passwd file=%s/smbpasswd\n" + "security = share\n" +- "[qemu]\n" +- "path=%s\n" ++ "[store]\n" ++ "path=/nix/store\n" ++ "read only=yes\n" ++ "guest ok=yes\n" ++ "[xchg]\n" ++ "path=%s/xchg\n" + "read only=no\n" + "guest ok=yes\n", + s->smb_dir, diff --git a/gnu/packages/qemu.scm b/gnu/packages/qemu.scm index 785d470079..b10935ce0d 100644 --- a/gnu/packages/qemu.scm +++ b/gnu/packages/qemu.scm @@ -22,6 +22,7 @@ #:use-module (guix utils) #:use-module ((guix licenses) #:select (gpl2)) #:use-module (guix build-system gnu) + #:use-module (gnu packages) #:use-module (gnu packages autotools) #:use-module (gnu packages pkg-config) #:use-module (gnu packages glib) @@ -96,6 +97,18 @@ underway to get the required changes upstream.") ;; Many files are GPLv2+, but some are GPLv2-only---e.g., `memory.c'. (license gpl2))) +(define-public qemu-kvm/smb-shares + ;; A patched QEMU-KVM where `-net smb' yields two shares instead of one: one + ;; for the store, and another one for exchanges with the host. + (package (inherit qemu-kvm) + (name "qemu-kvm-with-multiple-smb-shares") + (inputs `(,@(package-inputs qemu-kvm) + ("patch/smb-shares" + ,(search-patch "qemu-multiple-smb-shares.patch")))) + (arguments + `(#:patches (list (assoc-ref %build-inputs "patch/smb-shares")) + ,@(package-arguments qemu-kvm))))) + (define-public qemu ;; The real one, with a complete target list. (package (inherit qemu-kvm) From 3855e242a24025cc6f83731e7cf5d2ea73aeb23e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 03:25:59 +0100 Subject: [PATCH 025/151] gnu: Add support for Guile in Linux initrd. * gnu/packages/linux-initrd.scm: New file. --- Makefile.am | 1 + gnu/packages/linux-initrd.scm | 288 ++++++++++++++++++++++++++++++++++ 2 files changed, 289 insertions(+) create mode 100644 gnu/packages/linux-initrd.scm diff --git a/Makefile.am b/Makefile.am index c9e3ca92f5..f81516c227 100644 --- a/Makefile.am +++ b/Makefile.am @@ -107,6 +107,7 @@ MODULES = \ gnu/packages/libusb.scm \ gnu/packages/libunwind.scm \ gnu/packages/linux.scm \ + gnu/packages/linux-initrd.scm \ gnu/packages/lout.scm \ gnu/packages/lsh.scm \ gnu/packages/m4.scm \ diff --git a/gnu/packages/linux-initrd.scm b/gnu/packages/linux-initrd.scm new file mode 100644 index 0000000000..348e411d07 --- /dev/null +++ b/gnu/packages/linux-initrd.scm @@ -0,0 +1,288 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 linux-initrd) + #:use-module (guix utils) + #:use-module (guix licenses) + #:use-module (gnu packages) + #:use-module (gnu packages cpio) + #:use-module (gnu packages compression) + #:use-module (gnu packages linux) + #:use-module ((gnu packages make-bootstrap) + #:select (%guile-static-stripped)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system trivial)) + + +;;; Commentary: +;;; +;;; Tools to build initial RAM disks (initrd's) for Linux-Libre, and in +;;; particular initrd's that run Guile. +;;; +;;; Code: + + +(define* (expression->initrd exp + #:key + (guile %guile-static-stripped) + (cpio cpio) + (gzip gzip) + (name "guile-initrd") + (system (%current-system)) + (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." + ;; TODO: Add a `modules' parameter. + + ;; General Linux overview in `Documentation/early-userspace/README' and + ;; `Documentation/filesystems/ramfs-rootfs-initramfs.txt'. + + (define builder + `(begin + (use-modules (guix build utils) + (ice-9 pretty-print) + (ice-9 popen) + (ice-9 match) + (ice-9 ftw) + (srfi srfi-26) + (system base compile) + (rnrs bytevectors) + ((system foreign) #:select (sizeof))) + + (let ((guile (assoc-ref %build-inputs "guile")) + (cpio (string-append (assoc-ref %build-inputs "cpio") + "/bin/cpio")) + (gzip (string-append (assoc-ref %build-inputs "gzip") + "/bin/gzip")) + (out (assoc-ref %outputs "out"))) + (mkdir out) + (mkdir "contents") + (with-directory-excursion "contents" + (copy-recursively guile ".") + (call-with-output-file "init" + (lambda (p) + (format p "#!/bin/guile -ds~%!#~%" guile) + (pretty-print ',exp p))) + (chmod "init" #o555) + (chmod "bin/guile" #o555) + + ;; Compile `init'. + (let ((go-dir (format #f ".cache/guile/ccache/~a-~a-~a-~a" + (effective-version) + (if (eq? (native-endianness) (endianness little)) + "LE" + "BE") + (sizeof '*) + (effective-version)))) + (mkdir-p go-dir) + (compile-file "init" + #:opts %auto-compilation-options + #:output-file (string-append go-dir "/init.go"))) + + (let* ((linux (assoc-ref %build-inputs "linux")) + (module-dir (and linux + (string-append linux "/lib/modules")))) + (mkdir "modules") + ,@(map (lambda (module) + `(match (find-files module-dir ,module) + ((file) + (format #t "copying '~a'...~%" file) + (copy-file file (string-append "modules/" + ,module))) + (() + (error "module not found" ,module module-dir)) + ((_ ...) + (error "several modules by that name" + ,module module-dir)))) + linux-modules)) + + ;; Reset the timestamps of all the files that will make it in the + ;; initrd. + (for-each (cut utime <> 0 0 0 0) + (find-files "." ".*")) + + (system* cpio "--version") + (let ((pipe (open-pipe* OPEN_WRITE cpio "-o" + "-O" (string-append out "/initrd") + "-H" "newc" "--null"))) + (define print0 + (let ((len (string-length "./"))) + (lambda (file) + (format pipe "~a\0" (string-drop file len))))) + + ;; Note: as per `ramfs-rootfs-initramfs.txt', always add + ;; directory entries before the files that are inside of it: "The + ;; Linux kernel cpio extractor won't create files in a directory + ;; that doesn't exist, so the directory entries must go before + ;; the files that go in those directories." + (file-system-fold (const #t) + (lambda (file stat result) ; leaf + (print0 file)) + (lambda (dir stat result) ; down + (unless (string=? dir ".") + (print0 dir))) + (const #f) ; up + (const #f) ; skip + (const #f) + #f + ".") + + (and (zero? (close-pipe pipe)) + (with-directory-excursion out + (and (zero? (system* gzip "--best" "initrd")) + (rename-file "initrd.gz" "initrd"))))))))) + + (let ((name* name)) + (package + (name name*) + (version "0") + (source #f) + (build-system trivial-build-system) + (arguments `(#:modules ((guix build utils)) + #:builder ,builder)) + (inputs `(("guile" ,guile) + ("cpio" ,cpio) + ("gzip" ,gzip) + ,@(if linux + `(("linux" ,linux)) + '()))) + (synopsis "An initial RAM disk (initrd) for the Linux kernel") + (description + "An initial RAM disk (initrd), really a gzipped cpio archive, for use by +the Linux kernel.") + (license gpl3+) + (home-page "http://www.gnu.org/software/guix/")))) + +(define-public qemu-initrd + (expression->initrd + '(begin + (use-modules (rnrs io ports) + (srfi srfi-1) + (srfi srfi-26) + (ice-9 match) + ((system foreign) #:select (string->pointer)) + ((system base compile) #:select (compile-file))) + + (display "Welcome, this is GNU/Guile!\n") + (display "Use '--repl' for an initrd REPL.\n\n") + + (mkdir "/proc") + (mount "none" "/proc" "proc") + + (mkdir "/sys") + (mount "none" "/sys" "sysfs") + + (let* ((command (string-trim-both + (call-with-input-file "/proc/cmdline" + get-string-all))) + (args (string-split command char-set:blank)) + (option (lambda (opt) + (let ((opt (string-append opt "="))) + (and=> (find (cut string-prefix? opt <>) + args) + (lambda (arg) + (substring arg (+ 1 (string-index arg #\=)))))))) + (to-load (option "--load")) + (root (option "--root"))) + + (when (member "--repl" args) + ((@ (system repl repl) start-repl))) + + (let ((slurp (lambda (module) + (call-with-input-file + (string-append "/modules/" module) + get-bytevector-all)))) + (display "loading CIFS and companion modules...\n") + (for-each (compose load-linux-module slurp) + (list "md4.ko" "ecb.ko" "cifs.ko"))) + + ;; See net/slirp.c for default QEMU networking values. + (display "configuring network...\n") + (let* ((sock (socket AF_INET SOCK_STREAM 0)) + (address (make-socket-address AF_INET + (inet-pton AF_INET + "10.0.2.10") + 0)) + (flags (network-interface-flags sock "eth0"))) + (set-network-interface-address sock "eth0" address) + (set-network-interface-flags sock "eth0" + (logior flags IFF_UP)) + (if (logand (network-interface-flags sock "eth0") IFF_UP) + (display "network interface is up\n") + (display "network interface is DOWN\n")) + + (mkdir "/etc") + (call-with-output-file "/etc/resolv.conf" + (lambda (p) + (display "nameserver 10.0.2.3\n" p))) + (sleep 1)) + + ;; Prepare the real root file system under /root. + (unless (file-exists? "/root") + (mkdir "/root")) + (if root + (mount root "/root" "ext3") + (mount "none" "/root" "tmpfs")) + (mkdir "/root/proc") + (mount "none" "/root/proc" "proc") + (mkdir "/root/sys") + (mount "none" "/root/sys" "sysfs") + (mkdir "/root/xchg") + (mkdir "/root/nix") + (mkdir "/root/nix/store") + + (mkdir "/root/dev") + (let ((makedev (lambda (major minor) + (+ (* major 256) minor)))) + (mknod "/root/dev/null" 'char-special #o666 (makedev 1 3)) + (mknod "/root/dev/zero" 'char-special #o666 (makedev 1 5))) + + ;; Mount the host's store and exchange directory. + (display "mounting QEMU's SMB shares...\n") + (let ((server "10.0.2.4")) + (mount (string-append "//" server "/store") "/root/nix/store" "cifs" 0 + (string->pointer "guest,sec=none")) + (mount (string-append "//" server "/xchg") "/root/xchg" "cifs" 0 + (string->pointer "guest,sec=none"))) + + (if to-load + (begin + (format #t "loading boot file '~a'...\n" to-load) + (compile-file (string-append "/root/" to-load) + #:output-file "/root/loader.go" + #:opts %auto-compilation-options) + (match (primitive-fork) + (0 + (chroot "/root") + (load-compiled "/loader.go")) + (pid + (format #t "boot file loaded under PID ~a~%" pid) + (let ((status (waitpid pid))) + (reboot))))) + (begin + (display "no boot file passed via '--load'\n") + (display "entering a warm and cozy REPL\n") + ((@ (system repl repl) start-repl)))))) + #:name "qemu-initrd" + #:linux linux-libre + #:linux-modules '("cifs.ko" "md4.ko" "ecb.ko"))) + +;;; linux-initrd.scm ends here From d2474c2620a3b4a81e364ee3b741419a778f2472 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 16 Feb 2013 03:28:26 +0100 Subject: [PATCH 026/151] Add (gnu system vm). * gnu/system/vm.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 3 +- gnu/system/vm.scm | 263 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 265 insertions(+), 1 deletion(-) create mode 100644 gnu/system/vm.scm diff --git a/Makefile.am b/Makefile.am index f81516c227..7a1b6ad163 100644 --- a/Makefile.am +++ b/Makefile.am @@ -160,7 +160,8 @@ MODULES = \ gnu/packages/which.scm \ gnu/packages/xml.scm \ gnu/packages/zile.scm \ - gnu/packages/zip.scm + gnu/packages/zip.scm \ + gnu/system/vm.scm GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm new file mode 100644 index 0000000000..3dae35d776 --- /dev/null +++ b/gnu/system/vm.scm @@ -0,0 +1,263 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 vm) + #:use-module (guix store) + #:use-module (guix derivations) + #:use-module (guix packages) + #:use-module ((gnu packages base) #:select (%final-inputs guile-final)) + #:use-module (gnu packages qemu) + #:use-module (gnu packages parted) + #:use-module (gnu packages grub) + #:use-module (gnu packages linux) + #:use-module (gnu packages linux-initrd) + #:use-module ((gnu packages make-bootstrap) + #:select (%guile-static-stripped)) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match) + #:export (expression->derivation-in-linux-vm + qemu-image)) + + +;;; Commentary: +;;; +;;; Tools to evaluate build expressions within virtual machines. +;;; +;;; Code: + +(define* (expression->derivation-in-linux-vm store name system exp inputs + #:key + (linux linux-libre) + (initrd qemu-initrd) + (qemu qemu-kvm/smb-shares) + (env-vars '()) + (modules '()) + (guile-for-build + (%guile-for-build)) + + (make-disk-image? #f) + (disk-image-size + (* 100 (expt 2 20)))) + "Evaluate EXP in a QEMU virtual machine running LINUX with INITRD. In the +virtual machine, EXP has access to all of INPUTS from the store; it should put +its output files in the `/xchg' directory, which is copied to the derivation's +output when the VM terminates. + +When MAKE-DISK-IMAGE? is true, then create a QEMU disk image of +DISK-IMAGE-SIZE bytes and return it." + (define input-alist + (map (match-lambda + ((input package) + `(,input . ,(package-output store package "out" system))) + ((input package sub-drv) + `(,input . ,(package-output store package sub-drv system)))) + inputs)) + + (define exp* + ;; EXP, but with INPUTS available. + `(let ((%build-inputs ',input-alist)) + ,exp)) + + (define builder + ;; Code that launches the VM that evaluates EXP. + `(begin + (use-modules (guix build utils)) + + (let ((out (assoc-ref %outputs "out")) + (cu (string-append (assoc-ref %build-inputs "coreutils") + "/bin")) + (qemu (string-append (assoc-ref %build-inputs "qemu") + "/bin/qemu-system-" + (car (string-split ,system #\-)))) + (img (string-append (assoc-ref %build-inputs "qemu") + "/bin/qemu-img")) + (linux (string-append (assoc-ref %build-inputs "linux") + "/bzImage")) + (initrd (string-append (assoc-ref %build-inputs "initrd") + "/initrd")) + (builder (assoc-ref %build-inputs "builder"))) + + ;; XXX: QEMU uses "rm -rf" when it's done to remove the temporary SMB + ;; directory, so it really needs `rm' in $PATH. + (setenv "PATH" cu) + + ,(if make-disk-image? + `(zero? (system* img "create" "image.qcow2" + ,(number->string disk-image-size))) + '(begin)) + + (mkdir "xchg") + (and (zero? + (system* qemu "-nographic" "-no-reboot" + "-net" "nic,model=e1000" + "-net" (string-append "user,smb=" (getcwd)) + "-kernel" linux + "-initrd" initrd + "-append" (string-append "console=ttyS0 --load=" + builder) + ,@(if make-disk-image? + '("-hda" "image.qcow2") + '()))) + ,(if make-disk-image? + '(copy-file "image.qcow2" ; XXX: who mkdir'd OUT? + out) + '(begin + (mkdir out) + (copy-recursively "xchg" out))))))) + + (let ((user-builder (add-text-to-store store "builder-in-linux-vm" + (object->string exp*) + '())) + (->drv (cut package-derivation store <> system)) + (coreutils (car (assoc-ref %final-inputs "coreutils")))) + (build-expression->derivation store name system builder + `(("qemu" ,(->drv qemu)) + ("linux" ,(->drv linux)) + ("initrd" ,(->drv initrd)) + ("coreutils" ,(->drv coreutils)) + ("builder" ,user-builder) + ,@(map (match-lambda + ((name package sub-drv ...) + `(,name ,(->drv package) + ,@sub-drv))) + inputs)) + #:env-vars env-vars + #:modules `((guix build utils) + ,@modules) + #:guile-for-build guile-for-build))) + +(define* (qemu-image store #:key + (name "qemu-image") + (system (%current-system)) + (disk-image-size (* 100 (expt 2 20))) + (linux linux-libre) + (initrd qemu-initrd) + (inputs '())) + "Return a bootable, stand-alone QEMU image." + (expression->derivation-in-linux-vm + store "qemu-image" system + `(let ((parted (string-append (assoc-ref %build-inputs "parted") + "/sbin/parted")) + (mkfs (string-append (assoc-ref %build-inputs "e2fsprogs") + "/sbin/mkfs.ext3")) + (grub (string-append (assoc-ref %build-inputs "grub") + "/sbin/grub-install")) + (umount (string-append (assoc-ref %build-inputs "util-linux") + "/bin/umount")) ; XXX: add to Guile + (initrd (string-append (assoc-ref %build-inputs "initrd") + "/initrd")) + (linux (string-append (assoc-ref %build-inputs "linux") + "/bzImage")) + (makedev (lambda (major minor) + (+ (* major 256) minor)))) + + ;; GRUB is full of shell scripts. + (setenv "PATH" + (string-append (dirname grub) ":" + (assoc-ref %build-inputs "coreutils") "/bin:" + (assoc-ref %build-inputs "findutils") "/bin:" + (assoc-ref %build-inputs "sed") "/bin:" + (assoc-ref %build-inputs "grep") "/bin:" + (assoc-ref %build-inputs "gawk") "/bin")) + + (display "creating partition table...\n") + (mknod "/dev/vda" 'block-special #o644 (makedev 8 0)) + (and (zero? (system* parted "/dev/vda" "mklabel" "msdos" + "mkpart" "primary" "ext2" "1MiB" + ,(format #f "~aB" + (- disk-image-size + (* 5 (expt 2 20)))))) + (begin + (display "creating ext3 partition...\n") + (mknod "/dev/vda1" 'block-special #o644 (makedev 8 1)) + (and (zero? (system* mkfs "-F" "/dev/vda1")) + (begin + (display "mounting partition...\n") + (mkdir "/fs") + (mount "/dev/vda1" "/fs" "ext3") + (mkdir "/fs/boot") + (mkdir "/fs/boot/grub") + (copy-file linux "/fs/boot/bzImage") + (copy-file initrd "/fs/boot/initrd") + (call-with-output-file "/fs/boot/grub/grub.cfg" + (lambda (p) + (display " +set timeout=10 +search.file /boot/bzImage + +menuentry \"Boot-to-Guile! Happy Birthday Guile 2.0! (Guile, Guix & co.)\" { + linux /boot/bzImage --repl + initrd /boot/initrd +}" p))) + (and (zero? + (system* grub "--no-floppy" + "--boot-directory" "/fs/boot" + "/dev/vda")) + (zero? + (system* umount "/fs")))))))) + `(("parted" ,parted) + ("grub" ,grub) + ("e2fsprogs" ,e2fsprogs) + ("linux" ,linux-libre) + ("initrd" ,qemu-initrd) + + ;; For shell scripts. + ("sed" ,(car (assoc-ref %final-inputs "sed"))) + ("grep" ,(car (assoc-ref %final-inputs "grep"))) + ("coreutils" ,(car (assoc-ref %final-inputs "coreutils"))) + ("findutils" ,(car (assoc-ref %final-inputs "findutils"))) + ("gawk" ,(car (assoc-ref %final-inputs "gawk"))) + ("util-linux" ,util-linux)) + #:make-disk-image? #t + #:disk-image-size disk-image-size)) + + +;;; +;;; Guile 2.0 potluck examples. +;;; + +(define (example1) + (let ((store #f)) + (dynamic-wind + (lambda () + (set! store (open-connection))) + (lambda () + (parameterize ((%guile-for-build (package-derivation store guile-final))) + (expression->derivation-in-linux-vm + store "vm-test" (%current-system) + '(begin + (display "hello from boot!\n") + (call-with-output-file "/xchg/hello" + (lambda (p) + (display "world" p)))) + '()))) + (lambda () + (close-connection store))))) + +(define (example2) + (let ((store #f)) + (dynamic-wind + (lambda () + (set! store (open-connection))) + (lambda () + (parameterize ((%guile-for-build (package-derivation store guile-final))) + (qemu-image store #:disk-image-size (* 30 (expt 2 20))))) + (lambda () + (close-connection store))))) + +;;; vm.scm ends here From 868c923f13e6ed95e1e5ad2bd32d4166842254ea Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Thu, 14 Feb 2013 04:15:25 -0500 Subject: [PATCH 027/151] Replace individual scripts with master 'guix' script. * scripts/guix.in: New script. * Makefile.am (bin_SCRIPTS): Add 'scripts/guix'. Remove 'guix-build', 'guix-download', 'guix-import', 'guix-package', and 'guix-gc'. (MODULES): Add 'guix/scripts/build.scm', 'guix/scripts/download.scm', 'guix/scripts/import.scm', 'guix/scripts/package.scm', and 'guix/scripts/gc.scm'. * configure.ac (AC_CONFIG_FILES): Add 'scripts/guix'. Remove 'guix-build', 'guix-download', 'guix-import', 'guix-package', and 'guix-gc'. * guix-build.in, guix-download.in, guix-gc.in, guix-import.in, guix-package.in: Remove shell script boilerplate. Move to guix-COMMAND.in to guix/scripts/COMMAND.scm. Rename module from (guix-COMMAND) to (guix scripts COMMAND). Change "guix-COMMAND" to "guix COMMAND" in usage help string. * pre-inst-env.in: Add "@abs_top_builddir@/scripts" to the front of $PATH. Export $GUIX_UNINSTALLED. * tests/guix-build.sh, tests/guix-daemon.sh, tests/guix-download.sh, tests/guix-gc.sh, tests/guix-package.sh: Use "guix COMMAND" instead of "guix-COMMAND". * doc/guix.texi: Replace all occurrences of "guix-COMMAND" with "guix COMMAND". * po/POTFILES.in: Update. --- .gitignore | 6 +- Makefile.am | 11 +-- configure.ac | 9 +- doc/guix.texi | 82 +++++++++---------- guix-build.in => guix/scripts/build.scm | 17 +--- guix-download.in => guix/scripts/download.scm | 17 +--- guix-gc.in => guix/scripts/gc.scm | 22 +---- guix-import.in => guix/scripts/import.scm | 17 +--- guix-package.in => guix/scripts/package.scm | 17 +--- guix/ui.scm | 38 ++++++++- po/POTFILES.in | 8 +- pre-inst-env.in | 11 ++- scripts/guix.in | 56 +++++++++++++ tests/guix-build.sh | 26 +++--- tests/guix-daemon.sh | 6 +- tests/guix-download.sh | 12 +-- tests/guix-gc.sh | 24 +++--- tests/guix-package.sh | 56 ++++++------- 18 files changed, 227 insertions(+), 208 deletions(-) rename guix-build.in => guix/scripts/build.scm (96%) rename guix-download.in => guix/scripts/download.scm (91%) rename guix-gc.in => guix/scripts/gc.scm (90%) rename guix-import.in => guix/scripts/import.scm (88%) rename guix-package.in => guix/scripts/package.scm (98%) create mode 100644 scripts/guix.in diff --git a/.gitignore b/.gitignore index ecdaed2ef0..302e473fd8 100644 --- a/.gitignore +++ b/.gitignore @@ -34,7 +34,6 @@ config.cache /po/remove-potcdate.sin /po/stamp-po /po/guix.pot -/guix-build /tests/*.trs /INSTALL /m4/* @@ -44,12 +43,9 @@ config.cache /doc/guix.pdf /doc/stamp-vti /doc/version.texi -/guix-download /gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz /gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz -/guix-package /guix/config.scm -/guix-import /nix/nix-daemon/nix-daemon.cc /nix/config.h /nix/config.h.in @@ -64,7 +60,7 @@ stamp-h[0-9] /nix/scripts/list-runtime-roots /test-env /nix/nix-setuid-helper/nix-setuid-helper.cc -/guix-gc +/scripts/guix /doc/guix.aux /doc/guix.cp /doc/guix.cps diff --git a/Makefile.am b/Makefile.am index 7a1b6ad163..5932e1350a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -18,17 +18,18 @@ # along with GNU Guix. If not, see . bin_SCRIPTS = \ - guix-build \ - guix-download \ - guix-import \ - guix-package \ - guix-gc + scripts/guix nodist_noinst_SCRIPTS = \ pre-inst-env \ test-env MODULES = \ + guix/scripts/build.scm \ + guix/scripts/download.scm \ + guix/scripts/import.scm \ + guix/scripts/package.scm \ + guix/scripts/gc.scm \ guix/base32.scm \ guix/utils.scm \ guix/derivations.scm \ diff --git a/configure.ac b/configure.ac index a9cf17ac57..dd1f843afb 100644 --- a/configure.ac +++ b/configure.ac @@ -117,14 +117,9 @@ AC_CONFIG_FILES([Makefile po/Makefile.in guix/config.scm]) -AC_CONFIG_FILES([guix-build - guix-download - guix-import - guix-package - guix-gc +AC_CONFIG_FILES([scripts/guix pre-inst-env test-env], - [chmod +x guix-build guix-download guix-import guix-package guix-gc \ - pre-inst-env test-env]) + [chmod +x scripts/guix pre-inst-env test-env]) AC_OUTPUT diff --git a/doc/guix.texi b/doc/guix.texi index 80149326c1..f84b37686a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -13,9 +13,9 @@ @dircategory Package management @direntry * guix: (guix). Guix, the functional package manager. -* guix-package: (guix)Invoking guix-package +* guix package: (guix)Invoking guix package Managing packages with Guix. -* guix-build: (guix)Invoking guix-build +* guix build: (guix)Invoking guix build Building packages with Guix. @end direntry @@ -196,7 +196,7 @@ are all performed by a specialized process, the @dfn{Guix daemon}, on behalf of clients. Only the daemon may access the store and its associated database. Thus, any operation that manipulates the store goes through the daemon. For instance, command-line tools such as -@command{guix-package} and @command{guix-build} communicate with the +@command{guix package} and @command{guix build} communicate with the daemon (@i{via} remote procedure calls) to instruct it what to do. In a standard multi-user setup, Guix and its daemon---the @@ -302,8 +302,8 @@ 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 -as the @code{--cores} option of @command{guix-build} (@pxref{Invoking -guix-build}). +as the @code{--cores} option of @command{guix build} (@pxref{Invoking +guix build}). The effect is to define the @code{NIX_BUILD_CORES} environment variable in the build process, which can then use it to exploit internal @@ -319,7 +319,7 @@ Produce debugging output. This is useful to debug daemon start-up issues, but then it may be overridden by clients, for example the @code{--verbosity} option of -@command{guix-build} (@pxref{Invoking guix-build}). +@command{guix build} (@pxref{Invoking guix build}). @item --chroot-directory=@var{dir} Add @var{dir} to the build chroot. @@ -384,8 +384,8 @@ management tools it provides. @menu * Features:: How Guix will make your life brighter. -* Invoking guix-package:: Package installation, removal, etc. -* Invoking guix-gc:: Running the garbage collector. +* Invoking guix package:: Package installation, removal, etc. +* Invoking guix gc:: Running the garbage collector. @end menu @node Features @@ -408,14 +408,14 @@ simply continues to point to @file{/nix/store/@dots{}-gcc-4.8.0/bin/gcc}---i.e., both versions of GCC coexist on the same system without any interference. -The @command{guix-package} command is the central tool to manage -packages (@pxref{Invoking guix-package}). It operates on those per-user +The @command{guix package} command is the central tool to manage +packages (@pxref{Invoking guix package}). It operates on those per-user profiles, and can be used @emph{with normal user privileges}. The command provides the obvious install, remove, and upgrade operations. Each invocation is actually a @emph{transaction}: either the specified operation succeeds, or nothing happens. Thus, if the -@command{guix-package} process is terminated during the transaction, +@command{guix package} process is terminated during the transaction, or if a power outage occurs during the transaction, then the user's profile remains in its previous state, and remains usable. @@ -427,7 +427,7 @@ of their profile, which was known to work well. All those packages in the package store may be @emph{garbage-collected}. Guix can determine which packages are still referenced by the user profiles, and remove those that are provably no longer referenced -(@pxref{Invoking guix-gc}). Users may also explicitly remove old +(@pxref{Invoking guix gc}). Users may also explicitly remove old generations of their profile so that the packages they refer to can be collected. @@ -447,17 +447,17 @@ details.}. When a pre-built binary for a @file{/nix/store} path is available from an external source, Guix just downloads it; otherwise, it builds the package from source, locally. -@node Invoking guix-package -@section Invoking @command{guix-package} +@node Invoking guix package +@section Invoking @command{guix package} -The @command{guix-package} command is the tool that allows users to +The @command{guix package} command is the tool that allows users to install, upgrade, and remove packages, as well as rolling back to previous configurations. It operates only on the user's own profile, and works with normal user privileges (@pxref{Features}). Its syntax is: @example -guix-package @var{options} +guix package @var{options} @end example Primarily, @var{options} specifies the operations to be performed during @@ -473,13 +473,13 @@ variable, and so on. In a multi-user setup, user profiles must be stored in a place registered as a @dfn{garbage-collector root}, which -@file{$HOME/.guix-profile} points to (@pxref{Invoking guix-gc}). That +@file{$HOME/.guix-profile} points to (@pxref{Invoking guix gc}). That directory is normally @code{@var{localstatedir}/profiles/per-user/@var{user}}, where @var{localstatedir} is the value passed to @code{configure} as @code{--localstatedir}, and @var{user} is the user name. It must be created by @code{root}, with @var{user} as the owner. When it does not -exist, @command{guix-package} emits an error about it. +exist, @command{guix package} emits an error about it. The @var{options} can be among the following: @@ -548,7 +548,7 @@ useful to distribution developers. @end table -In addition to these actions @command{guix-package} supports the +In addition to these actions @command{guix package} supports the following options to query the current state of a profile, or the availability of packages: @@ -565,7 +565,7 @@ This allows specific fields to be extracted using the @command{recsel} command, for instance: @example -$ guix-package -s malloc | recsel -p name,version +$ guix package -s malloc | recsel -p name,version name: glibc version: 2.17 @@ -599,22 +599,22 @@ source location of its definition. @end table -@node Invoking guix-gc -@section Invoking @command{guix-gc} +@node Invoking guix gc +@section Invoking @command{guix gc} @cindex garbage collector Packages that are installed but not used may be @dfn{garbage-collected}. -The @command{guix-gc} command allows users to explicitly run the garbage +The @command{guix gc} command allows users to explicitly run the garbage collector to reclaim space from the @file{/nix/store} directory. The garbage collector has a set of known @dfn{roots}: any file under @file{/nix/store} reachable from a root is considered @dfn{live} and cannot be deleted; any other file is considered @dfn{dead} and may be deleted. The set of garbage collector roots includes default user -profiles, and may be augmented with @command{guix-build --root}, for -example (@pxref{Invoking guix-build}). +profiles, and may be augmented with @command{guix build --root}, for +example (@pxref{Invoking guix build}). -The @command{guix-gc} command has three modes of operation: it can be +The @command{guix gc} command has three modes of operation: it can be used to garbage-collect any dead files (the default), to delete specific files (the @code{--delete} option), or to print garbage-collector information. The available options are listed below: @@ -737,7 +737,7 @@ The @code{sha256} field specifies the expected SHA256 hash of the file being downloaded. It is mandatory, and allows Guix to check the integrity of the file. The @code{(base32 @dots{})} form introduces the base32 representation of the hash. A convenient way to obtain this -information is with the @code{guix-download} tool. +information is with the @code{guix download} tool. @item @cindex GNU Build System @@ -795,9 +795,9 @@ Guile process launched by the daemon (@pxref{Derivations}). Once a package definition is in place@footnote{Simple package definitions like the one above may be automatically converted from the -Nixpkgs distribution using the @command{guix-import} command.}, the -package may actually be built using the @code{guix-build} command-line -tool (@pxref{Invoking guix-build}). +Nixpkgs distribution using the @command{guix import} command.}, the +package may actually be built using the @code{guix build} command-line +tool (@pxref{Invoking guix build}). Behind the scenes, a derivation corresponding to the @code{} object is first computed by the @code{package-derivation} procedure. @@ -1015,22 +1015,22 @@ space. @chapter Utilities @menu -* Invoking guix-build:: Building packages from the command line. +* Invoking guix build:: Building packages from the command line. @end menu -@node Invoking guix-build -@section Invoking @command{guix-build} +@node Invoking guix build +@section Invoking @command{guix build} -The @command{guix-build} command builds packages or derivations and +The @command{guix build} command builds packages or derivations and their dependencies, and prints the resulting store paths. Note that it does not modify the user's profile---this is the job of the -@command{guix-package} command (@pxref{Invoking guix-package}). Thus, +@command{guix package} command (@pxref{Invoking guix package}). Thus, it is mainly useful for distribution developers. The general syntax is: @example -guix-build @var{options} @var{package-or-derivation}@dots{} +guix build @var{options} @var{package-or-derivation}@dots{} @end example @var{package-or-derivation} may be either the name of a package found in @@ -1058,7 +1058,7 @@ version 1.8 of Guile. Build the packages' source derivations, rather than the packages themselves. -For instance, @code{guix-build -S gcc} returns something like +For instance, @code{guix build -S gcc} returns something like @file{/nix/store/@dots{}-gcc-4.7.2.tar.bz2}, which is GCC's source tarball. @item --system=@var{system} @@ -1106,7 +1106,7 @@ may be helpful when debugging setup issues with the build daemon. @end table -Behind the scenes, @command{guix-build} is essentially an interface to +Behind the scenes, @command{guix build} is essentially an interface to the @code{package-derivation} procedure of the @code{(guix packages)} module, and to the @code{build-derivations} procedure of the @code{(guix store)} module. @@ -1121,11 +1121,11 @@ Guix comes with a distribution of free software@footnote{The term users of that software}.} that form the basis of the GNU system. This includes core GNU packages such as GNU libc, GCC, and Binutils, as well as many GNU and non-GNU applications. The complete list of available -packages can be seen by running @command{guix-package} (@pxref{Invoking -guix-package}): +packages can be seen by running @command{guix package} (@pxref{Invoking +guix package}): @example -guix-package --list-available +guix package --list-available @end example The package definitions of the distribution may are provided by Guile diff --git a/guix-build.in b/guix/scripts/build.scm similarity index 96% rename from guix-build.in rename to guix/scripts/build.scm index 35ddb00861..bad04418f1 100644 --- a/guix-build.in +++ b/guix/scripts/build.scm @@ -1,16 +1,3 @@ -#!/bin/sh -# aside from this initial boilerplate, this is actually -*- scheme -*- code - -prefix="@prefix@" -datarootdir="@datarootdir@" - -GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH" -export GUILE_LOAD_COMPILED_PATH - -main='(module-ref (resolve-interface '\''(guix-build)) '\'guix-build')' -exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ - -c "(apply $main (cdr (command-line)))" "$@" -!# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; Copyright © 2013 Mark H Weaver @@ -30,7 +17,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (guix-build) +(define-module (guix scripts build) #:use-module (guix ui) #:use-module (guix store) #:use-module (guix derivations) @@ -79,7 +66,7 @@ When SOURCE? is true, return the derivations of the package sources." (verbosity . 0))) (define (show-help) - (display (_ "Usage: guix-build [OPTION]... PACKAGE-OR-DERIVATION... + (display (_ "Usage: guix build [OPTION]... PACKAGE-OR-DERIVATION... Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) (display (_ " -e, --expression=EXPR build the package EXPR evaluates to")) diff --git a/guix-download.in b/guix/scripts/download.scm similarity index 91% rename from guix-download.in rename to guix/scripts/download.scm index ea62b09a7b..1098e6714b 100644 --- a/guix-download.in +++ b/guix/scripts/download.scm @@ -1,16 +1,3 @@ -#!/bin/sh -# aside from this initial boilerplate, this is actually -*- scheme -*- code - -prefix="@prefix@" -datarootdir="@datarootdir@" - -GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH" -export GUILE_LOAD_COMPILED_PATH - -main='(module-ref (resolve-interface '\''(guix-download)) '\'guix-download')' -exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ - -c "(apply $main (cdr (command-line)))" "$@" -!# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; @@ -29,7 +16,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (guix-download) +(define-module (guix scripts download) #:use-module (guix ui) #:use-module (guix store) #:use-module (guix utils) @@ -79,7 +66,7 @@ store path." `((format . ,bytevector->nix-base32-string))) (define (show-help) - (display (_ "Usage: guix-download [OPTION]... URL + (display (_ "Usage: guix download [OPTION]... URL Download the file at URL, add it to the store, and print its store path and the hash of its contents.\n")) (format #t (_ " diff --git a/guix-gc.in b/guix/scripts/gc.scm similarity index 90% rename from guix-gc.in rename to guix/scripts/gc.scm index 1a4a5413d9..8e2587186e 100644 --- a/guix-gc.in +++ b/guix/scripts/gc.scm @@ -1,16 +1,3 @@ -#!/bin/sh -# aside from this initial boilerplate, this is actually -*- scheme -*- code - -prefix="@prefix@" -datarootdir="@datarootdir@" - -GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH" -export GUILE_LOAD_COMPILED_PATH - -main='(module-ref (resolve-interface '\''(guix-gc)) '\'guix-gc')' -exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ - -c "(apply $main (cdr (command-line)))" "$@" -!# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; @@ -29,7 +16,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (guix-gc) +(define-module (guix scripts gc) #:use-module (guix ui) #:use-module (guix store) #:use-module (ice-9 match) @@ -48,7 +35,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ `((action . collect-garbage))) (define (show-help) - (display (_ "Usage: guix-gc [OPTION]... PATHS... + (display (_ "Usage: guix gc [OPTION]... PATHS... Invoke the garbage collector.\n")) (display (_ " -C, --collect-garbage[=MIN] @@ -155,11 +142,6 @@ interpreted." (alist-cons 'argument arg result)) %default-options)) - (install-locale) - (textdomain "guix") - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) - (with-error-handling (let ((opts (parse-options)) (store (open-connection))) diff --git a/guix-import.in b/guix/scripts/import.scm similarity index 88% rename from guix-import.in rename to guix/scripts/import.scm index 97619a9a59..0bc6926c66 100644 --- a/guix-import.in +++ b/guix/scripts/import.scm @@ -1,16 +1,3 @@ -#!/bin/sh -# aside from this initial boilerplate, this is actually -*- scheme -*- code - -prefix="@prefix@" -datarootdir="@datarootdir@" - -GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH" -export GUILE_LOAD_COMPILED_PATH - -main='(module-ref (resolve-interface '\''(guix-import)) '\'guix-import')' -exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ - -c "(apply $main (cdr (command-line)))" "$@" -!# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; @@ -29,7 +16,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (guix-import) +(define-module (guix scripts import) #:use-module (guix ui) #:use-module (guix snix) #:use-module (guix utils) @@ -81,7 +68,7 @@ rather than \\n." '()) (define (show-help) - (display (_ "Usage: guix-import NIXPKGS ATTRIBUTE + (display (_ "Usage: guix import NIXPKGS ATTRIBUTE Import and convert the Nix expression ATTRIBUTE of NIXPKGS.\n")) (display (_ " -h, --help display this help and exit")) diff --git a/guix-package.in b/guix/scripts/package.scm similarity index 98% rename from guix-package.in rename to guix/scripts/package.scm index 584481acd5..4935837d33 100644 --- a/guix-package.in +++ b/guix/scripts/package.scm @@ -1,16 +1,3 @@ -#!/bin/sh -# aside from this initial boilerplate, this is actually -*- scheme -*- code - -prefix="@prefix@" -datarootdir="@datarootdir@" - -GUILE_LOAD_COMPILED_PATH="@guilemoduledir@:$GUILE_LOAD_COMPILED_PATH" -export GUILE_LOAD_COMPILED_PATH - -main='(module-ref (resolve-interface '\''(guix-package)) '\'guix-package')' -exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ - -c "(apply $main (cdr (command-line)))" "$@" -!# ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; Copyright © 2013 Nikita Karetnikov @@ -31,7 +18,7 @@ exec ${GUILE-@GUILE@} -L "@guilemoduledir@" -l "$0" \ ;;; You should have received a copy of the GNU General Public License ;;; along with GNU Guix. If not, see . -(define-module (guix-package) +(define-module (guix scripts package) #:use-module (guix ui) #:use-module (guix store) #:use-module (guix derivations) @@ -296,7 +283,7 @@ matching packages." `((profile . ,%current-profile))) (define (show-help) - (display (_ "Usage: guix-package [OPTION]... PACKAGES... + (display (_ "Usage: guix package [OPTION]... PACKAGES... Install, remove, or upgrade PACKAGES in a single transaction.\n")) (display (_ " -i, --install=PACKAGE install PACKAGE")) diff --git a/guix/ui.scm b/guix/ui.scm index 4aa93de3b4..644a3070f6 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -1,5 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès +;;; Copyright © 2013 Mark H Weaver ;;; ;;; This file is part of GNU Guix. ;;; @@ -30,6 +31,7 @@ #:export (_ N_ install-locale + initialize-guix leave show-version-and-exit show-bug-report-information @@ -38,7 +40,9 @@ location->string fill-paragraph string->recutils - package->recutils)) + package->recutils + run-guix-command + guix-main)) ;;; Commentary: ;;; @@ -62,6 +66,12 @@ (_ "warning: failed to install locale: ~a~%") (strerror (system-error-errno args)))))) +(define (initialize-guix) + (install-locale) + (textdomain "guix") + (setvbuf (current-output-port) _IOLBF) + (setvbuf (current-error-port) _IOLBF)) + (define-syntax-rule (leave fmt args ...) "Format FMT and ARGS to the error port and exit." (begin @@ -210,4 +220,30 @@ WIDTH columns." (and=> (package-description p) description->recutils)) (newline port)) +(define (show-guix-usage) + ;; TODO: Dynamically generate a summary of available commands. + (format (current-error-port) + (_ "Usage: guix COMMAND ARGS...~%"))) + +(define (run-guix-command command . args) + ;; TODO: Gracefully report errors + (let* ((module (resolve-interface `(guix scripts ,command))) + (command-main (module-ref module + (symbol-append 'guix- command)))) + (apply command-main args))) + +(define (guix-main arg0 . args) + (initialize-guix) + (let () + (define (option? str) (string-prefix? "-" str)) + (match args + (() (show-guix-usage) (exit 1)) + (("--help") (show-guix-usage)) + (("--version") (show-version-and-exit "guix")) + (((? option? arg1) args ...) (show-guix-usage) (exit 1)) + ((command args ...) + (apply run-guix-command + (string->symbol command) + args))))) + ;;; ui.scm ends here diff --git a/po/POTFILES.in b/po/POTFILES.in index 049a1c707e..5c0f131c06 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -4,8 +4,8 @@ gnu/packages/base.scm gnu/packages/guile.scm gnu/packages/lout.scm gnu/packages/recutils.scm +guix/scripts/build.scm +guix/scripts/download.scm +guix/scripts/package.scm +guix/scripts/gc.scm guix/ui.scm -guix-build.in -guix-download.in -guix-package.in -guix-gc.in diff --git a/pre-inst-env.in b/pre-inst-env.in index 1dc63cd90c..4e079c8d41 100644 --- a/pre-inst-env.in +++ b/pre-inst-env.in @@ -27,9 +27,9 @@ GUILE_LOAD_COMPILED_PATH="@abs_top_builddir@${GUILE_LOAD_COMPILED_PATH:+:}$GUILE GUILE_LOAD_PATH="@abs_top_builddir@:@abs_top_srcdir@${GUILE_LOAD_PATH:+:}:$GUILE_LOAD_PATH" export GUILE_LOAD_COMPILED_PATH GUILE_LOAD_PATH -# Define $PATH so that `guix-build' and friends are easily found. +# Define $PATH so that `guix' and friends are easily found. -PATH="@abs_top_builddir@:$PATH" +PATH="@abs_top_builddir@/scripts:@abs_top_builddir@:$PATH" export PATH # Daemon helpers. @@ -43,7 +43,12 @@ export NIX_ROOT_FINDER NIX_SETUID_HELPER # auto-compilation. NIX_HASH="@NIX_HASH@" - export NIX_HASH +# Define $GUIX_UNINSTALLED to prevent `guix' from +# prepending @guilemoduledir@ to the Guile load paths. + +GUIX_UNINSTALLED=1 +export GUIX_UNINSTALLED + exec "$@" diff --git a/scripts/guix.in b/scripts/guix.in new file mode 100644 index 0000000000..2fdde7d13a --- /dev/null +++ b/scripts/guix.in @@ -0,0 +1,56 @@ +#!@GUILE@ -s +-*- scheme -*- +!# +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Mark H Weaver +;;; +;;; 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 . + +;; IMPORTANT: We must avoid loading any modules from Guix here, +;; because we need to adjust the guile load paths first. +;; It's okay to import modules from core Guile though. +(use-modules (ice-9 regex)) + +(let () + (define-syntax-rule (push! elt v) (set! v (cons elt v))) + + (define config-lookup + (let ((config '(("prefix" . "@prefix@") + ("datarootdir" . "@datarootdir@") + ("guilemoduledir" . "@guilemoduledir@"))) + (var-ref-regexp (make-regexp "\\$\\{([a-z]+)\\}"))) + (define (expand-var-ref match) + (lookup (match:substring match 1))) + (define (expand str) + (regexp-substitute/global #f var-ref-regexp str + 'pre expand-var-ref 'post)) + (define (lookup name) + (expand (assoc-ref config name))) + lookup)) + + (define (maybe-augment-load-paths!) + (unless (getenv "GUIX_UNINSTALLED") + (let ((module-dir (config-lookup "guilemoduledir"))) + (push! module-dir %load-path) + (push! module-dir %load-compiled-path)))) + + (define (run-guix-main) + (let ((guix-main (module-ref (resolve-interface '(guix ui)) + 'guix-main))) + (apply guix-main (command-line)))) + + (maybe-augment-load-paths!) + (run-guix-main)) diff --git a/tests/guix-build.sh b/tests/guix-build.sh index 5718b07d0c..721a7c6769 100644 --- a/tests/guix-build.sh +++ b/tests/guix-build.sh @@ -17,44 +17,44 @@ # along with GNU Guix. If not, see . # -# Test the `guix-build' command-line utility. +# Test the `guix build' command-line utility. # -guix-build --version +guix build --version # Should fail. -if guix-build -e +; +if guix build -e +; then false; else true; fi # Should fail because this is a source-less package. -if guix-build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S +if guix build -e '(@ (gnu packages bootstrap) %bootstrap-glibc)' -S then false; else true; fi # Should pass. -guix-build -e '(@@ (gnu packages base) %bootstrap-guile)' | \ +guix build -e '(@@ (gnu packages base) %bootstrap-guile)' | \ grep -e '-guile-' -guix-build hello -d | \ +guix build hello -d | \ grep -e '-hello-[0-9\.]\+\.drv$' # Should fail because the name/version combination could not be found. -if guix-build hello-0.0.1 -n; then false; else true; fi +if guix build hello-0.0.1 -n; then false; else true; fi # Keep a symlink to the result, registered as a root. result="t-result-$$" -guix-build -r "$result" \ +guix build -r "$result" \ -e '(@@ (gnu packages base) %bootstrap-guile)' test -x "$result/bin/guile" # Should fail, because $result already exists. -if guix-build -r "$result" -e '(@@ (gnu packages base) %bootstrap-guile)' +if guix build -r "$result" -e '(@@ (gnu packages base) %bootstrap-guile)' then false; else true; fi rm -f "$result" # Parsing package names and versions. -guix-build -n time # PASS -guix-build -n time-1.7 # PASS, version found -if guix-build -n time-3.2; # FAIL, version not found +guix build -n time # PASS +guix build -n time-1.7 # PASS, version found +if guix build -n time-3.2; # FAIL, version not found then false; else true; fi -if guix-build -n something-that-will-never-exist; # FAIL +if guix build -n something-that-will-never-exist; # FAIL then false; else true; fi diff --git a/tests/guix-daemon.sh b/tests/guix-daemon.sh index 0d39ff4c24..698516490b 100644 --- a/tests/guix-daemon.sh +++ b/tests/guix-daemon.sh @@ -23,7 +23,7 @@ set -e guix-daemon --version -guix-build --version +guix build --version -guix-build -e '(@ (gnu packages bootstrap) %bootstrap-guile)' -guix-build coreutils -n +guix build -e '(@ (gnu packages bootstrap) %bootstrap-guile)' +guix build coreutils -n diff --git a/tests/guix-download.sh b/tests/guix-download.sh index f0ea731430..7af6f181f6 100644 --- a/tests/guix-download.sh +++ b/tests/guix-download.sh @@ -17,20 +17,20 @@ # along with GNU Guix. If not, see . # -# Test the `guix-download' command-line utility. +# Test the `guix download' command-line utility. # -guix-download --version +guix download --version # Make sure it fails here. -if guix-download http://does.not/exist +if guix download http://does.not/exist then false; else true; fi -if guix-download unknown://some/where; +if guix download unknown://some/where; then false; else true; fi -if guix-download not/a/uri; +if guix download not/a/uri; then false; else true; fi # This one should succeed. -guix-download "file://$abs_top_srcdir/README" +guix download "file://$abs_top_srcdir/README" diff --git a/tests/guix-gc.sh b/tests/guix-gc.sh index 805300eeec..a90d085ab2 100644 --- a/tests/guix-gc.sh +++ b/tests/guix-gc.sh @@ -17,38 +17,38 @@ # along with GNU Guix. If not, see . # -# Test the `guix-gc' command-line utility. +# Test the `guix gc' command-line utility. # -guix-gc --version +guix gc --version trap "rm -f guix-gc-root" EXIT rm -f guix-gc-root # Add then reclaim a .drv file. -drv="`guix-build idutils -d`" +drv="`guix build idutils -d`" test -f "$drv" -guix-gc --list-dead | grep "$drv" -guix-gc --delete "$drv" +guix gc --list-dead | grep "$drv" +guix gc --delete "$drv" ! test -f "$drv" # Add a .drv, register it as a root. -drv="`guix-build --root=guix-gc-root lsh -d`" +drv="`guix build --root=guix-gc-root lsh -d`" test -f "$drv" && test -L guix-gc-root -guix-gc --list-live | grep "$drv" -if guix-gc --delete "$drv"; +guix gc --list-live | grep "$drv" +if guix gc --delete "$drv"; then false; else true; fi rm guix-gc-root -guix-gc --list-dead | grep "$drv" -guix-gc --delete "$drv" +guix gc --list-dead | grep "$drv" +guix gc --delete "$drv" ! test -f "$drv" # Try a random collection. -guix-gc -C 1KiB +guix gc -C 1KiB # Check trivial error cases. -if guix-gc --delete /dev/null; +if guix gc --delete /dev/null; then false; else true; fi diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 617318b796..cf8bc5c7e8 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -18,10 +18,10 @@ # along with GNU Guix. If not, see . # -# Test the `guix-package' command-line utility. +# Test the `guix package' command-line utility. # -guix-package --version +guix package --version readlink_base () { @@ -33,12 +33,12 @@ rm -f "$profile" trap 'rm "$profile" "$profile-"[0-9]* ; rm -rf t-home-'"$$" EXIT -guix-package --bootstrap -p "$profile" -i guile-bootstrap +guix package --bootstrap -p "$profile" -i guile-bootstrap test -L "$profile" && test -L "$profile-1-link" test -f "$profile/bin/guile" # Installing the same package a second time does nothing. -guix-package --bootstrap -p "$profile" -i guile-bootstrap +guix package --bootstrap -p "$profile" -i guile-bootstrap test -L "$profile" && test -L "$profile-1-link" ! test -f "$profile-2-link" test -f "$profile/bin/guile" @@ -46,8 +46,8 @@ test -f "$profile/bin/guile" # Check whether we have network access. if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null then - boot_make="`guix-build -e '(@@ (gnu packages base) gnu-make-boot0)'`" - guix-package --bootstrap -p "$profile" -i "$boot_make" + boot_make="`guix build -e '(@@ (gnu packages base) gnu-make-boot0)'`" + guix package --bootstrap -p "$profile" -i "$boot_make" test -L "$profile-2-link" test -f "$profile/bin/make" && test -f "$profile/bin/guile" @@ -55,7 +55,7 @@ then # Check whether `--list-installed' works. # XXX: Change the tests when `--install' properly extracts the package # name and version string. - installed="`guix-package -p "$profile" --list-installed | cut -f1 | xargs echo | sort`" + installed="`guix package -p "$profile" --list-installed | cut -f1 | xargs echo | sort`" case "x$installed" in "guile-bootstrap make-boot0") true;; @@ -65,68 +65,68 @@ then false;; esac - test "`guix-package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap" + test "`guix package -p "$profile" -I 'g.*e' | cut -f1`" = "guile-bootstrap" # Search. - test "`guix-package -s "GNU Hello" | grep ^name:`" = "name: hello" - test "`guix-package -s "n0t4r341p4ck4g3"`" = "" + test "`guix package -s "GNU Hello" | grep ^name:`" = "name: hello" + test "`guix package -s "n0t4r341p4ck4g3"`" = "" # Remove a package. - guix-package --bootstrap -p "$profile" -r "guile-bootstrap" + guix package --bootstrap -p "$profile" -r "guile-bootstrap" test -L "$profile-3-link" test -f "$profile/bin/make" && ! test -f "$profile/bin/guile" # Roll back. - guix-package --roll-back -p "$profile" + guix package --roll-back -p "$profile" test "`readlink_base "$profile"`" = "$profile-2-link" test -x "$profile/bin/guile" && test -x "$profile/bin/make" - guix-package --roll-back -p "$profile" + guix package --roll-back -p "$profile" test "`readlink_base "$profile"`" = "$profile-1-link" test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" # Move to the empty profile. for i in `seq 1 3` do - guix-package --bootstrap --roll-back -p "$profile" + guix package --bootstrap --roll-back -p "$profile" ! test -f "$profile/bin" ! test -f "$profile/lib" test "`readlink_base "$profile"`" = "$profile-0-link" done # Reinstall after roll-back to the empty profile. - guix-package --bootstrap -p "$profile" -i "$boot_make" + guix package --bootstrap -p "$profile" -i "$boot_make" test "`readlink_base "$profile"`" = "$profile-1-link" test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" # Roll-back to generation 0, and install---all at once. - guix-package --bootstrap -p "$profile" --roll-back -i guile-bootstrap + guix package --bootstrap -p "$profile" --roll-back -i guile-bootstrap test "`readlink_base "$profile"`" = "$profile-1-link" test -x "$profile/bin/guile" && ! test -x "$profile/bin/make" # Install Make. - guix-package --bootstrap -p "$profile" -i "$boot_make" + guix package --bootstrap -p "$profile" -i "$boot_make" test "`readlink_base "$profile"`" = "$profile-2-link" test -x "$profile/bin/guile" && test -x "$profile/bin/make" # Make a "hole" in the list of generations, and make sure we can # roll back "over" it. rm "$profile-1-link" - guix-package --bootstrap -p "$profile" --roll-back + guix package --bootstrap -p "$profile" --roll-back test "`readlink_base "$profile"`" = "$profile-0-link" fi # Make sure the `:' syntax works. -guix-package --bootstrap -i "binutils:lib" -p "$profile" -n +guix package --bootstrap -i "binutils:lib" -p "$profile" -n # Make sure nonexistent outputs are reported. -guix-package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n -if guix-package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n; +guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n +if guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile" -n; then false; else true; fi -if guix-package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile"; +if guix package --bootstrap -i "guile-bootstrap:does-not-exist" -p "$profile"; then false; else true; fi # Check whether `--list-available' returns something sensible. -guix-package -A 'gui.*e' | grep guile +guix package -A 'gui.*e' | grep guile # # Try with the default profile. @@ -139,17 +139,17 @@ export HOME mkdir -p "$HOME" -guix-package --bootstrap -i guile-bootstrap +guix package --bootstrap -i guile-bootstrap test -L "$HOME/.guix-profile" test -f "$HOME/.guix-profile/bin/guile" if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null then - guix-package --bootstrap -i "$boot_make" + guix package --bootstrap -i "$boot_make" test -f "$HOME/.guix-profile/bin/make" first_environment="`cd $HOME/.guix-profile ; pwd`" - guix-package --bootstrap --roll-back + guix package --bootstrap --roll-back test -f "$HOME/.guix-profile/bin/guile" ! test -f "$HOME/.guix-profile/bin/make" test "`cd $HOME/.guix-profile ; pwd`" = "$first_environment" @@ -159,12 +159,12 @@ fi default_profile="`readlink "$HOME/.guix-profile"`" for i in `seq 1 3` do - guix-package --bootstrap --roll-back + guix package --bootstrap --roll-back ! test -f "$HOME/.guix-profile/bin" ! test -f "$HOME/.guix-profile/lib" test "`readlink "$default_profile"`" = "$default_profile-0-link" done # Extraneous argument. -if guix-package install foo-bar; +if guix package install foo-bar; then false; else true; fi From ed407c8055ef0f0037d6239878b14845407fd920 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 17 Feb 2013 15:01:52 +0100 Subject: [PATCH 028/151] gnu: texinfo: Update to 5.0. * gnu/packages/texinfo.scm (texinfo): Update to 5.0. --- gnu/packages/texinfo.scm | 32 +++++++++++++++----------------- 1 file changed, 15 insertions(+), 17 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index 9a264c627c..dba5cd2c2e 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès +;;; Copyright © 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -22,28 +22,26 @@ #:use-module (guix download) #:use-module (guix build-system gnu) #:use-module (gnu packages compression) + #:use-module (gnu packages perl) #:use-module (gnu packages ncurses)) (define-public texinfo (package (name "texinfo") - (version "4.13a") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://gnu/texinfo/texinfo-" - version - ".tar.lzma")) - (sha256 - (base32 - "1rf9ckpqwixj65bw469i634897xwlgkm5i9g2hv3avl6mv7b0a3d")))) + (version "5.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/texinfo/texinfo-" + version ".tar.xz")) + (sha256 + (base32 + "1p34f68h9ggfj6ckgj0p62qlj7pmz3ha3vc91kh4hr44pnwm1pla")))) (build-system gnu-build-system) - (inputs `(("ncurses" ,ncurses) ("xz" ,xz))) - (home-page - "http://www.gnu.org/software/texinfo/") - (synopsis - "GNU Texinfo, the GNU documentation system") + (inputs `(("perl" ,perl) ; yuck! + ("ncurses" ,ncurses) + ("xz" ,xz))) + (home-page "http://www.gnu.org/software/texinfo/") + (synopsis "GNU Texinfo, the GNU documentation system") (description "Texinfo is the official documentation format of the GNU project. It was invented by Richard Stallman and Bob Chassell many years From c07512179ef50cc50067844ec7ab15a228c70ac9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 17 Feb 2013 15:38:02 +0100 Subject: [PATCH 029/151] scripts: Remove initialization now redundant with `initialize-guix'. * guix/scripts/build.scm (guix-build): Remove calls to `install-locale', `textdomain', etc., now redundant with `initialize-guix'. * guix/scripts/download.scm (guix-download): Likewise. * guix/scripts/import.scm (guix-import): Likewise. * guix/scripts/package.scm (guix-package): Likewise. * guix/ui.scm: Remove export of `install-locale' and `initialize-guix'. (initialize-guix): Add docstring. --- guix/scripts/build.scm | 5 ----- guix/scripts/download.scm | 5 ----- guix/scripts/import.scm | 5 ----- guix/scripts/package.scm | 5 ----- guix/ui.scm | 3 +-- 5 files changed, 1 insertion(+), 22 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index bad04418f1..3e241ca9da 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -221,11 +221,6 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) name version) (leave (_ "~A: unknown package~%") name)))))) - (install-locale) - (textdomain "guix") - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) - (with-error-handling (let ((opts (parse-options))) (parameterize ((%store (open-connection))) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 1098e6714b..790cf9fc2f 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -121,11 +121,6 @@ and the hash of its contents.\n")) (alist-cons 'argument arg result)) %default-options)) - (install-locale) - (textdomain "guix") - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) - (let* ((opts (parse-options)) (store (open-connection)) (arg (assq-ref opts 'argument)) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index 0bc6926c66..f0aaa80aa0 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -102,11 +102,6 @@ Import and convert the Nix expression ATTRIBUTE of NIXPKGS.\n")) (alist-cons 'argument arg result)) %default-options)) - (install-locale) - (textdomain "guix") - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) - (let* ((opts (parse-options)) (args (filter-map (match-lambda (('argument . value) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 4935837d33..559be50824 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -676,11 +676,6 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) #t)) (_ #f)))) - (install-locale) - (textdomain "guix") - (setvbuf (current-output-port) _IOLBF) - (setvbuf (current-error-port) _IOLBF) - (let ((opts (parse-options))) (or (process-query opts) (parameterize ((%store (open-connection))) diff --git a/guix/ui.scm b/guix/ui.scm index 644a3070f6..af8b238ce1 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -30,8 +30,6 @@ #:use-module (ice-9 match) #:export (_ N_ - install-locale - initialize-guix leave show-version-and-exit show-bug-report-information @@ -67,6 +65,7 @@ (strerror (system-error-errno args)))))) (define (initialize-guix) + "Perform the usual initialization for stand-alone Guix commands." (install-locale) (textdomain "guix") (setvbuf (current-output-port) _IOLBF) From 396e75e37c24c866b4f0ec83393b4f785be59697 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 17 Feb 2013 13:23:45 -0500 Subject: [PATCH 030/151] Update `TODO'. --- TODO | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/TODO b/TODO index eb0cb9b2c3..f115b4f47c 100644 --- a/TODO +++ b/TODO @@ -51,7 +51,7 @@ For a start, we may use the instance at hydra.nixos.org, generously provided by TU Delft. However, in the future, we may want to setup our own instance at gnu.org. -* add guix-pull +* add guix pull A tool that fetches the latest code from [[http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz][cgit]], builds a derivation that unpacks it, copies only .scm files (this excludes guix/config.in) and @@ -152,10 +152,9 @@ Support sophisticated collision handling when building a union: check whether the colliding files are identical, honor per-package priorities, etc. -* guix-package +* guix package ** add ‘--list-generations’, and ‘--delete-generations’ -** add ‘--upgrade’ * guix build utils ** Add equivalent to "rm -rf" From ba4bcae03585c89c05c5fa8fbeef9450b24c2be8 Mon Sep 17 00:00:00 2001 From: Mark H Weaver Date: Sun, 17 Feb 2013 13:25:06 -0500 Subject: [PATCH 031/151] gnu: guile-reader: Rename packages to avoid version number confusion. * gnu/packages/guile.scm (guile-reader): Change the character preceding the guile version number from '-' to '_' so that it will not be misinterpreted as the package version number. --- gnu/packages/guile.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 729a921346..58e7c2910c 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -162,7 +162,7 @@ call interface, and powerful string processing.") "Build Guile-Reader against GUILE, a package of some version of Guile 1.8 or 2.0." (package - (name (string-append "guile-reader-for-guile-" (package-version guile))) + (name (string-append "guile-reader-for-guile_" (package-version guile))) (version "0.6") (source (origin (method url-fetch) From dc3f1809cf4637fcf30d9c1789fa0eb96aefd0f5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 17 Feb 2013 16:25:30 +0100 Subject: [PATCH 032/151] scripts: Remove hyphen in the command name shown by `--version'. * guix/scripts/build.scm (%options): Remove hyphen from the name passed to `show-version-and-exit'. * guix/scripts/download.scm (%options): Likewise. * guix/scripts/gc.scm (%options): Likewise. * guix/scripts/import.scm (%options): Likewise. * guix/scripts/package.scm (%options): Likewise. --- guix/scripts/build.scm | 2 +- guix/scripts/download.scm | 2 +- guix/scripts/gc.scm | 2 +- guix/scripts/import.scm | 2 +- guix/scripts/package.scm | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 3e241ca9da..7863fb881b 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -105,7 +105,7 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix-build"))) + (show-version-and-exit "guix build"))) (option '(#\S "source") #f #f (lambda (opt name arg result) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 790cf9fc2f..10370e59af 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -104,7 +104,7 @@ and the hash of its contents.\n")) (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix-download"))))) + (show-version-and-exit "guix download"))))) ;;; diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 8e2587186e..f2d2e17d4b 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -97,7 +97,7 @@ interpreted." (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix-gc"))) + (show-version-and-exit "guix gc"))) (option '(#\C "collect-garbage") #f #t (lambda (opt name arg result) diff --git a/guix/scripts/import.scm b/guix/scripts/import.scm index f0aaa80aa0..0b95afced1 100644 --- a/guix/scripts/import.scm +++ b/guix/scripts/import.scm @@ -85,7 +85,7 @@ Import and convert the Nix expression ATTRIBUTE of NIXPKGS.\n")) (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix-import"))))) + (show-version-and-exit "guix import"))))) ;;; diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 559be50824..23786fb7d8 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -327,7 +327,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (exit 0))) (option '(#\V "version") #f #f (lambda args - (show-version-and-exit "guix-package"))) + (show-version-and-exit "guix package"))) (option '(#\i "install") #t #f (lambda (opt name arg result) From 02d94dab8d7827eb0dae469025cf6aeead12b873 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 17 Feb 2013 22:18:16 +0100 Subject: [PATCH 033/151] build: Build guix/scripts/download.go after guix/build/download.go. * Makefile.am (guix/scripts/download.go): Add dependency on `guix/build/download.go'. Reported by Nikita Karetnikov . --- Makefile.am | 3 +++ 1 file changed, 3 insertions(+) diff --git a/Makefile.am b/Makefile.am index 5932e1350a..cabbe21cdd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -164,6 +164,9 @@ MODULES = \ gnu/packages/zip.scm \ gnu/system/vm.scm +# Because of the autoload hack in (guix build download), we must build it +# first to avoid errors on systems where (gnutls) is unavailable. +guix/scripts/download.go: guix/build/download.go GOBJECTS = $(MODULES:%.scm=%.go) guix/config.go From a1143ee3fad712e74deefa7eb7f62b323789b8bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 17 Feb 2013 22:19:11 +0100 Subject: [PATCH 034/151] Add Mark to `AUTHORS'. --- AUTHORS | 1 + 1 file changed, 1 insertion(+) diff --git a/AUTHORS b/AUTHORS index f604029914..fc9a7fdd90 100644 --- a/AUTHORS +++ b/AUTHORS @@ -12,3 +12,4 @@ alphabetical order): Andreas Enge Nikita Karetnikov Cyril Roelandt + Mark H. Weaver From 05c0ac721e9411b1ac34f15a910b90bdf64b839a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 18 Feb 2013 21:53:59 +0100 Subject: [PATCH 035/151] store: Add the `%daemon-socket-file' parameter. * guix/store.scm (%daemon-socket-file): New variable. (open-connection): Use it as the default value for FILE. --- guix/store.scm | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/guix/store.scm b/guix/store.scm index 6a3f036a8c..3627d5be04 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -31,7 +31,9 @@ #:use-module (ice-9 rdelim) #:use-module (ice-9 ftw) #:use-module (ice-9 regex) - #:export (nix-server? + #:export (%daemon-socket-file + + nix-server? nix-server-major-version nix-server-minor-version nix-server-socket @@ -143,6 +145,12 @@ (string-append (or (getenv "NIX_STATE_DIR") %state-directory) "/daemon-socket/socket")) +(define %daemon-socket-file + ;; File name of the socket the daemon listens too. + (make-parameter (or (getenv "GUIX_DAEMON_SOCKET") + %default-socket-path))) + + ;; serialize.cc @@ -365,7 +373,7 @@ (message nix-protocol-error-message) (status nix-protocol-error-status)) -(define* (open-connection #:optional (file %default-socket-path) +(define* (open-connection #:optional (file (%daemon-socket-file)) #:key (reserve-space? #t)) "Connect to the daemon over the Unix-domain socket at FILE. When RESERVE-SPACE? is true, instruct it to reserve a little bit of extra From 8faece2280dbad907fe57edd8c41732d87c35e76 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Feb 2013 22:43:07 +0100 Subject: [PATCH 036/151] Update from upstream Nix. --- nix-upstream | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/nix-upstream b/nix-upstream index e42df686f3..3e067ac11c 160000 --- a/nix-upstream +++ b/nix-upstream @@ -1 +1 @@ -Subproject commit e42df686f309c5cd08a8653207e79e9caae37b67 +Subproject commit 3e067ac11c1621f989011432f619652a9c20e6f4 From 353283bbe99fdb458b2e6bf03bb6c62344e29cfe Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Feb 2013 22:48:13 +0100 Subject: [PATCH 037/151] daemon: Add `--listen'. * nix/nix-daemon/guix-daemon.cc (GUIX_OPT_LISTEN): New macro. (options): Add `--listen'. (parse_opt): Handle it. * doc/guix.texi (Invoking guix-daemon): Mention it. --- doc/guix.texi | 7 +++++++ nix/nix-daemon/guix-daemon.cc | 19 ++++++++++++++++++- 2 files changed, 25 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index f84b37686a..849ab06c4a 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -367,6 +367,13 @@ Do not keep build logs. By default they are kept under Assume @var{system} as the current system type. By default it is the architecture/kernel pair found at configure time, such as @code{x86_64-linux}. + +@item --listen=@var{socket} +Listen for connections on @var{socket}, the file name of a Unix-domain +socket. The default socket is +@file{@var{localstatedir}/daemon-socket/socket}. This option is only +useful in exceptional circumstances, such as if you need to run several +daemons on the same machine. @end table diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 604a26f0b1..1611840bd4 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -1,5 +1,5 @@ /* GNU Guix --- Functional package management for GNU - Copyright (C) 2012 Ludovic Courtès + Copyright (C) 2012, 2013 Ludovic Courtès This file is part of GNU Guix. @@ -64,6 +64,7 @@ builds derivations on behalf of its clients."; #define GUIX_OPT_IMPERSONATE_LINUX_26 8 #define GUIX_OPT_DEBUG 9 #define GUIX_OPT_CHROOT_DIR 10 +#define GUIX_OPT_LISTEN 11 static const struct argp_option options[] = { @@ -103,6 +104,8 @@ static const struct argp_option options[] = " (this option has no effect in this configuration)" #endif }, + { "listen", GUIX_OPT_LISTEN, "SOCKET", 0, + "Listen for connections on SOCKET" }, { "debug", GUIX_OPT_DEBUG, 0, 0, "Produce debugging output" }, { 0, 0, 0, 0, 0 } @@ -138,6 +141,17 @@ parse_opt (int key, char *arg, struct argp_state *state) case GUIX_OPT_LOSE_LOGS: settings.keepLog = false; break; + case GUIX_OPT_LISTEN: + try + { + settings.nixDaemonSocketFile = canonPath (arg); + } + catch (std::exception &e) + { + fprintf (stderr, "error: %s\n", e.what ()); + exit (EXIT_FAILURE); + } + break; case GUIX_OPT_DEBUG: verbosity = lvlDebug; break; @@ -207,6 +221,9 @@ main (int argc, char *argv[]) } #endif + printMsg (lvlDebug, + format ("listening on `%1%'") % settings.nixDaemonSocketFile); + run (nothing); } catch (std::exception &e) From a8a0aa49f97769a08667c809b13df01ca4adad53 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 19 Feb 2013 22:58:56 +0100 Subject: [PATCH 038/151] build: Add missing -I flag for the daemon. * daemon.am (libstore_a_CPPFLAGS): Add missing -I, for schema.sql.hh. --- daemon.am | 1 + 1 file changed, 1 insertion(+) diff --git a/daemon.am b/daemon.am index e314e4d222..0c9bc9fb69 100644 --- a/daemon.am +++ b/daemon.am @@ -105,6 +105,7 @@ libstore_headers = \ libstore_a_CPPFLAGS = \ $(libutil_a_CPPFLAGS) \ -I$(top_srcdir)/nix/libstore \ + -I$(top_builddir)/nix/libstore \ -DNIX_STORE_DIR=\"$(storedir)\" \ -DNIX_DATA_DIR=\"$(datadir)\" \ -DNIX_STATE_DIR=\"$(localstatedir)/nix\" \ From 3c81cdf19c5da61f712e98f70cb187a089b0b900 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 21:06:57 +0100 Subject: [PATCH 039/151] gnu: texinfo: Make Perl a propagated input. * gnu/packages/texinfo.scm (texinfo): Make PERL a propagated input. --- gnu/packages/texinfo.scm | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/gnu/packages/texinfo.scm b/gnu/packages/texinfo.scm index dba5cd2c2e..96016c053d 100644 --- a/gnu/packages/texinfo.scm +++ b/gnu/packages/texinfo.scm @@ -37,9 +37,10 @@ (base32 "1p34f68h9ggfj6ckgj0p62qlj7pmz3ha3vc91kh4hr44pnwm1pla")))) (build-system gnu-build-system) - (inputs `(("perl" ,perl) ; yuck! - ("ncurses" ,ncurses) + (inputs `(("ncurses" ,ncurses) ("xz" ,xz))) + ;; TODO: Remove Perl from here when 'patch-shebang' DTRT with /usr/bin/env. + (propagated-inputs `(("perl" ,perl))) ; yuck! (home-page "http://www.gnu.org/software/texinfo/") (synopsis "GNU Texinfo, the GNU documentation system") (description From e95da445761bf95ee1f251d3be79f05c1379a6fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 21:08:09 +0100 Subject: [PATCH 040/151] derivations: Add a search path parameter for module derivations. * guix/derivations.scm (imported-modules, compiled-modules): Add a `module-path' parameter. Use it instead of %LOAD-PATH. --- guix/derivations.scm | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/guix/derivations.scm b/guix/derivations.scm index 60d57afa12..18a637ae5a 100644 --- a/guix/derivations.scm +++ b/guix/derivations.scm @@ -558,9 +558,10 @@ system, imported, and appears under FINAL-PATH in the resulting store path." (define* (imported-modules store modules #:key (name "module-import") (system (%current-system)) - (guile (%guile-for-build))) + (guile (%guile-for-build)) + (module-path %load-path)) "Return a derivation that contains the source files of MODULES, a list of -module names such as `(ice-9 q)'. All of MODULES must be in the current +module names such as `(ice-9 q)'. All of MODULES must be in the MODULE-PATH search path." ;; TODO: Determine the closure of MODULES, build the `.go' files, ;; canonicalize the source files through read/write, etc. @@ -568,7 +569,7 @@ search path." (let ((f (string-append (string-join (map symbol->string m) "/") ".scm"))) - (cons f (search-path %load-path f)))) + (cons f (search-path module-path f)))) modules))) (imported-files store files #:name name #:system system #:guile guile))) @@ -576,13 +577,15 @@ search path." (define* (compiled-modules store modules #:key (name "module-import-compiled") (system (%current-system)) - (guile (%guile-for-build))) + (guile (%guile-for-build)) + (module-path %load-path)) "Return a derivation that builds a tree containing the `.go' files corresponding to MODULES. All the MODULES are built in a context where they can refer to each other." (let* ((module-drv (imported-modules store modules #:system system - #:guile guile)) + #:guile guile + #:module-path module-path)) (module-dir (derivation-path->output-path module-drv)) (files (map (lambda (m) (let ((f (string-join (map symbol->string m) From cc68ccc5b08fff76d33c7062db35bdb646ed7ece Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 22:59:35 +0100 Subject: [PATCH 041/151] download: Adjust to `http-get*' deprecation. * guix/build/download.scm (http-fetch): Adjust to use #:streaming? when using Guile 2.0.8+. --- guix/build/download.scm | 25 +++++++++++++++++-------- 1 file changed, 17 insertions(+), 8 deletions(-) diff --git a/guix/build/download.scm b/guix/build/download.scm index cda715993e..6c2e8235d0 100644 --- a/guix/build/download.scm +++ b/guix/build/download.scm @@ -178,17 +178,26 @@ which is not available during bootstrap." (define (http-fetch uri file) "Fetch data from URI and write it to FILE. Return FILE on success." + (define post-2.0.7? + (or (string>? (major-version) "2") + (string>? (minor-version) "0") + (string>? (micro-version) "7") + (string>? (version) "2.0.7"))) + (let*-values (((connection) (open-connection-for-uri uri)) ((resp bv-or-port) - ;; XXX: `http-get*' was introduced in 2.0.7. We know - ;; we're using it within the chroot, but - ;; `guix-download' might be using a different version. - ;; So keep this compatibility hack for now. - (if (module-defined? (resolve-interface '(web client)) - 'http-get*) - (http-get* uri #:port connection #:decode-body? #f) - (http-get uri #:port connection #:decode-body? #f))) + ;; XXX: `http-get*' was introduced in 2.0.7, and replaced by + ;; #:streaming? in 2.0.8. We know we're using it within the + ;; chroot, but `guix-download' might be using a different + ;; version. So keep this compatibility hack for now. + (if post-2.0.7? + (http-get uri #:port connection #:decode-body? #f + #:streaming? #t) + (if (module-defined? (resolve-interface '(web client)) + 'http-get*) + (http-get* uri #:port connection #:decode-body? #f) + (http-get uri #:port connection #:decode-body? #f)))) ((code) (response-code resp)) ((size) From bdeee95a214eedfde979958f62cee466c28e638f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 23:03:24 +0100 Subject: [PATCH 042/151] ui: Add temporary file handling and atomic symlink switch. * guix/scripts/download.scm (call-with-temporary-output-file): Move to ui.scm. * guix/scripts/package.scm (switch-symlinks): Likewise. * guix/ui.scm (call-with-temporary-output-file, switch-symlinks): New procedures. --- guix/scripts/download.scm | 11 ----------- guix/scripts/package.scm | 7 ------- guix/ui.scm | 24 ++++++++++++++++++++++++ 3 files changed, 24 insertions(+), 18 deletions(-) diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 10370e59af..3dc227fdcd 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -33,17 +33,6 @@ #:use-module (rnrs io ports) #:export (guix-download)) -(define (call-with-temporary-output-file proc) - (let* ((template (string-copy "guix-download.XXXXXX")) - (out (mkstemp! template))) - (dynamic-wind - (lambda () - #t) - (lambda () - (proc template out)) - (lambda () - (false-if-exception (delete-file template)))))) - (define (fetch-and-store store fetch name) "Call FETCH for URI, and pass it the name of a file to write to; eventually, copy data from that port to STORE, under NAME. Return the resulting diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 23786fb7d8..38e8ae1150 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -192,13 +192,6 @@ all of PACKAGES, a list of name/version/output/path/deps tuples." (compose string->number (cut match:substring <> 1))) 0)) -(define (switch-symlinks link target) - "Atomically switch LINK, a symbolic link, to point to TARGET. Works -both when LINK already exists and when it does not." - (let ((pivot (string-append link ".new"))) - (symlink target pivot) - (rename-file pivot link))) - (define (roll-back profile) "Roll back to the previous generation of PROFILE." (let* ((number (profile-number profile)) diff --git a/guix/ui.scm b/guix/ui.scm index af8b238ce1..9c27dd8b3a 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -36,6 +36,8 @@ call-with-error-handling with-error-handling location->string + call-with-temporary-output-file + switch-symlinks fill-paragraph string->recutils package->recutils @@ -125,6 +127,28 @@ General help using GNU software: ")) (($ file line column) (format #f "~a:~a:~a" file line column)))) +(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 +call." + (let* ((template (string-copy "guix-file.XXXXXX")) + (out (mkstemp! template))) + (dynamic-wind + (lambda () + #t) + (lambda () + (proc template out)) + (lambda () + (false-if-exception (close out)) + (false-if-exception (delete-file template)))))) + +(define (switch-symlinks link target) + "Atomically switch LINK, a symbolic link, to point to TARGET. Works +both when LINK already exists and when it does not." + (let ((pivot (string-append link ".new"))) + (symlink target pivot) + (rename-file pivot link))) + (define* (fill-paragraph str width #:optional (column 0)) "Fill STR such that each line contains at most WIDTH characters, assuming that the first character is at COLUMN. From e51035f70a2eee6d0def046d58fdc63c1aa3899e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 23:32:15 +0100 Subject: [PATCH 043/151] build: Adjust guix.texi to Texinfo 5.0. * doc/guix.texi: Change @title and @subtitle syntax to please Texinfo 5.0. --- doc/guix.texi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index 849ab06c4a..9245bd00f5 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -20,8 +20,8 @@ @end direntry @titlepage -@title{GNU Guix Reference Manual} -@subtitle{Using the GNU Guix Functional Package Manager} +@title GNU Guix Reference Manual +@subtitle Using the GNU Guix Functional Package Manager @author Ludovic Courtès @author Nikita Karetnikov From 7650e148f69832e6b89b93c549278b1bbf89946a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 23:41:24 +0100 Subject: [PATCH 044/151] ui: Factorize `show-what-to-build'. * guix/scripts/package.scm (guix-package)[show-what-to-build]: Move to.. * guix/ui.scm (show-what-to-build): ... here. Add a `store' parameter'. Adjust callers. * guix/scripts/build.scm (guix-build): Use it. Remove `req' and `req*' variables. --- guix/scripts/build.scm | 23 ++--------------------- guix/scripts/package.scm | 28 +--------------------------- guix/ui.scm | 29 +++++++++++++++++++++++++++++ 3 files changed, 32 insertions(+), 48 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index 7863fb881b..fbd22a9e29 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -241,31 +241,12 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) (package-derivation (%store) p sys)))) (_ #f)) opts)) - (req (append-map (lambda (drv-path) - (let ((d (call-with-input-file drv-path - read-derivation))) - (derivation-prerequisites-to-build (%store) d))) - drv)) - (req* (delete-duplicates - (append (remove (compose (cut valid-path? (%store) <>) - derivation-path->output-path) - drv) - (map derivation-input-path req)))) (roots (filter-map (match-lambda (('gc-root . root) root) (_ #f)) opts))) - (if (assoc-ref opts 'dry-run?) - (format (current-error-port) - (N_ "~:[the following derivation would be built:~%~{ ~a~%~}~;~]" - "~:[the following derivations would be built:~%~{ ~a~%~}~;~]" - (length req*)) - (null? req*) req*) - (format (current-error-port) - (N_ "~:[the following derivation will be built:~%~{ ~a~%~}~;~]" - "~:[the following derivations will be built:~%~{ ~a~%~}~;~]" - (length req*)) - (null? req*) req*)) + + (show-what-to-build (%store) drv (assoc-ref opts 'dry-run?)) ;; TODO: Add more options. (set-build-options (%store) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 38e8ae1150..1f9355ff22 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -380,32 +380,6 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (let ((out (derivation-path->output-path (%guile-for-build)))) (not (valid-path? (%store) out)))) - (define (show-what-to-build drv dry-run?) - ;; Show what will/would be built in realizing the derivations listed - ;; in DRV. - (let* ((req (append-map (lambda (drv-path) - (let ((d (call-with-input-file drv-path - read-derivation))) - (derivation-prerequisites-to-build - (%store) d))) - drv)) - (req* (delete-duplicates - (append (remove (compose (cute valid-path? (%store) <>) - derivation-path->output-path) - drv) - (map derivation-input-path req))))) - (if dry-run? - (format (current-error-port) - (N_ "~:[the following derivation would be built:~%~{ ~a~%~}~;~]" - "~:[the following derivations would be built:~%~{ ~a~%~}~;~]" - (length req*)) - (null? req*) req*) - (format (current-error-port) - (N_ "~:[the following derivation will be built:~%~{ ~a~%~}~;~]" - "~:[the following derivations will be built:~%~{ ~a~%~}~;~]" - (length req*)) - (null? req*) req*)))) - (define newest-available-packages (memoize find-newest-available-packages)) @@ -589,7 +563,7 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (when (equal? profile %current-profile) (ensure-default-profile)) - (show-what-to-build drv dry-run?) + (show-what-to-build (%store) drv dry-run?) (or dry-run? (and (build-derivations (%store) drv) diff --git a/guix/ui.scm b/guix/ui.scm index 9c27dd8b3a..2b75504573 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -22,17 +22,20 @@ #:use-module (guix store) #:use-module (guix config) #:use-module (guix packages) + #:use-module (guix derivations) #:use-module ((guix licenses) #:select (license? license-name)) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-26) #:use-module (srfi srfi-34) #:use-module (ice-9 match) + #:use-module (ice-9 format) #:export (_ N_ leave show-version-and-exit show-bug-report-information + show-what-to-build call-with-error-handling with-error-handling location->string @@ -112,6 +115,32 @@ General help using GNU software: ")) (nix-protocol-error-message c)))) (thunk))) +(define* (show-what-to-build store drv #:optional dry-run?) + "Show what will or would (depending on DRY-RUN?) be built in realizing the +derivations listed in DRV." + (let* ((req (append-map (lambda (drv-path) + (let ((d (call-with-input-file drv-path + read-derivation))) + (derivation-prerequisites-to-build + store d))) + drv)) + (req* (delete-duplicates + (append (remove (compose (cute valid-path? store <>) + derivation-path->output-path) + drv) + (map derivation-input-path req))))) + (if dry-run? + (format (current-error-port) + (N_ "~:[the following derivation would be built:~%~{ ~a~%~}~;~]" + "~:[the following derivations would be built:~%~{ ~a~%~}~;~]" + (length req*)) + (null? req*) req*) + (format (current-error-port) + (N_ "~:[the following derivation will be built:~%~{ ~a~%~}~;~]" + "~:[the following derivations will be built:~%~{ ~a~%~}~;~]" + (length req*)) + (null? req*) req*)))) + (define-syntax with-error-handling (syntax-rules () "Run BODY within a user-friendly error condition handler." From 69ce1ffc7d5f12266e3a4cde605ca76a65c297b4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 20 Feb 2013 23:46:38 +0100 Subject: [PATCH 045/151] Add "guix pull". * guix/scripts/pull.scm: New file. * Makefile.am (MODULES): Add it. * doc/guix.texi (Invoking guix pull): New node. (Invoking guix package): Add cross-ref to it. * guix/ui.scm (config-directory): New procedure. * scripts/guix.in: When `GUIX_UNINSTALLED' is undefined, add $XDG_CONFIG_HOME/guix/latest to the search path. * po/POTFILES.in: Add guix/scripts/pull.scm. --- Makefile.am | 1 + doc/guix.texi | 33 +++++++ guix/scripts/pull.scm | 222 ++++++++++++++++++++++++++++++++++++++++++ guix/ui.scm | 21 ++++ po/POTFILES.in | 1 + scripts/guix.in | 12 ++- 6 files changed, 288 insertions(+), 2 deletions(-) create mode 100644 guix/scripts/pull.scm diff --git a/Makefile.am b/Makefile.am index cabbe21cdd..bed4d06ec0 100644 --- a/Makefile.am +++ b/Makefile.am @@ -30,6 +30,7 @@ MODULES = \ guix/scripts/import.scm \ guix/scripts/package.scm \ guix/scripts/gc.scm \ + guix/scripts/pull.scm \ guix/base32.scm \ guix/utils.scm \ guix/derivations.scm \ diff --git a/doc/guix.texi b/doc/guix.texi index 9245bd00f5..6a9ebab1f6 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -393,6 +393,7 @@ management tools it provides. * Features:: How Guix will make your life brighter. * Invoking guix package:: Package installation, removal, etc. * Invoking guix gc:: Running the garbage collector. +* Invoking guix pull:: Fetching the latest Guix and distribution. @end menu @node Features @@ -521,6 +522,11 @@ Remove @var{package}. @itemx -u @var{regexp} Upgrade all the installed packages matching @var{regexp}. +Note that this upgrades package to the latest version of packages found +in the distribution currently installed. To update your distribution, +you should regularly run @command{guix pull} (@pxref{Invoking guix +pull}). + @item --roll-back Roll back to the previous @dfn{generation} of the profile---i.e., undo the last transaction. @@ -654,6 +660,33 @@ Show the list of live store files and directories. @end table +@node Invoking guix pull +@section Invoking @command{guix pull} + +Packages are installed or upgraded to the latest version available in +the distribution currently available on your local machine. To update +that distribution, along with the Guix tools, you must run @command{guix +pull}: the command downloads the latest Guix source code and package +descriptions, and deploys it. + +On completion, @command{guix package} will use packages and package +versions from this just-retrieved copy of Guix. Not only that, but all +the Guix commands and Scheme modules will also be taken from that latest +version. New @command{guix} sub-commands added by the update also +become available. + +The @command{guix pull} command is usually invoked with no arguments, +but it supports the following options: + +@table @code +@item --verbose +Produce verbose output, writing build logs to the standard error output. + +@item --bootstrap +Use the bootstrap Guile to build the latest Guix. This option is only +useful to Guix developers. +@end table + @c ********************************************************************* @node Programming Interface @chapter Programming Interface diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm new file mode 100644 index 0000000000..f12133fff7 --- /dev/null +++ b/guix/scripts/pull.scm @@ -0,0 +1,222 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 (guix scripts pull) + #:use-module (guix ui) + #:use-module (guix store) + #:use-module (guix config) + #:use-module (guix packages) + #:use-module (guix derivations) + #:use-module (guix build download) + #:use-module (gnu packages base) + #:use-module ((gnu packages bootstrap) + #:select (%bootstrap-guile)) + #:use-module (gnu packages compression) + #:use-module (gnu packages gnupg) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-37) + #:export (guix-pull)) + +(define %snapshot-url + "http://hydra.gnu.org/job/guix/master/tarball/latest/download" + ;;"http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz" + ) + +(define (download-and-store store) + "Download the latest Guix tarball, add it to STORE, and return its store +path." + ;; FIXME: Authenticate the downloaded file! + ;; FIXME: Optimize data transfers using rsync, Git, bsdiff, or GNUnet's DHT. + (call-with-temporary-output-file + (lambda (temp port) + (let ((result + (parameterize ((current-output-port (current-error-port))) + (url-fetch %snapshot-url temp)))) + (close port) + (and result + (add-to-store store "guix-latest.tar.gz" #f "sha256" temp)))))) + +(define (unpack store tarball) + "Return a derivation that unpacks TARBALL into STORE and compiles Scheme +files." + (define builder + `(begin + (use-modules (guix build utils) + (system base compile) + (ice-9 ftw) + (ice-9 match)) + + (let ((out (assoc-ref %outputs "out")) + (tar (assoc-ref %build-inputs "tar")) + (gzip (assoc-ref %build-inputs "gzip")) + (gcrypt (assoc-ref %build-inputs "gcrypt")) + (tarball (assoc-ref %build-inputs "tarball"))) + (setenv "PATH" (string-append tar "/bin:" gzip "/bin")) + + (system* "tar" "xvf" tarball) + (match (scandir "." (lambda (name) + (and (not (member name '("." ".."))) + (file-is-directory? name)))) + ((dir) + (chdir dir)) + (x + (error "tarball did not produce a single source directory" x))) + + (format #t "copying and compiling Guix to `~a'...~%" out) + + ;; Copy everything under guix/ and gnu/ plus guix.scm. + (file-system-fold (lambda (dir stat result) ; enter? + (or (string-prefix? "./guix" dir) + (string-prefix? "./gnu" dir) + (string=? "." dir))) + (lambda (file stat result) ; leaf + (when (or (not (string=? (dirname file) ".")) + (string=? (basename file) "guix.scm")) + (let ((target (string-drop file 1))) + (copy-file file + (string-append out target))))) + (lambda (dir stat result) ; down + (mkdir (string-append out + (string-drop dir 1)))) + (const #t) ; up + (const #t) ; skip + (lambda (file stat errno result) + (error "cannot access file" + file (strerror errno))) + #f + "." + lstat) + + ;; Add a fake (guix config) module to allow the other modules to be + ;; compiled. The user's (guix config) is the one that will be used. + (copy-file "guix/config.scm.in" + (string-append out "/guix/config.scm")) + (substitute* (string-append out "/guix/config.scm") + (("@LIBGCRYPT@") + (string-append gcrypt "/lib/libgcrypt"))) + + ;; Augment the search path so Scheme code can be compiled. + (set! %load-path (cons out %load-path)) + (set! %load-compiled-path (cons out %load-compiled-path)) + + ;; Compile the .scm files. + (for-each (lambda (file) + (when (string-suffix? ".scm" file) + (let ((go (string-append (string-drop-right file 4) + ".go"))) + (compile-file file + #:output-file go + #:opts %auto-compilation-options)))) + (find-files out "\\.scm")) + + ;; Remove the "fake" (guix config). + (delete-file (string-append out "/guix/config.scm")) + (delete-file (string-append out "/guix/config.go"))))) + + (build-expression->derivation store "guix-latest" (%current-system) + builder + `(("tar" ,(package-derivation store tar)) + ("gzip" ,(package-derivation store gzip)) + ("gcrypt" ,(package-derivation store + libgcrypt)) + ("tarball" ,tarball)) + #:modules '((guix build utils)))) + + +;;; +;;; Command-line options. +;;; + +(define %default-options + ;; Alist of default option values. + '()) + +(define (show-help) + (display (_ "Usage: guix pull [OPTION]... +Download and deploy the latest version of Guix.\n")) + (display (_ " + --verbose produce verbose output")) + (display (_ " + --bootstrap use the bootstrap Guile to build the new Guix")) + (newline) + (display (_ " + -h, --help display this help and exit")) + (display (_ " + -V, --version display version information and exit")) + (newline) + (show-bug-report-information)) + +(define %options + ;; Specifications of the command-line options. + (list (option '("verbose") #f #f + (lambda (opt name arg result) + (alist-cons 'verbose? #t result))) + (option '("bootstrap") #f #f + (lambda (opt name arg result) + (alist-cons 'bootstrap? #t result))) + + (option '(#\h "help") #f #f + (lambda args + (show-help) + (exit 0))) + (option '(#\V "version") #f #f + (lambda args + (show-version-and-exit "guix pull"))))) + +(define (guix-pull . args) + (define (parse-options) + ;; Return the alist of option values. + (args-fold args %options + (lambda (opt name arg result) + (leave (_ "~A: unrecognized option~%") name)) + (lambda (arg result) + (leave (_ "~A: unexpected argument~%") arg)) + %default-options)) + + (let ((opts (parse-options)) + (store (open-connection))) + (with-error-handling + (let ((tarball (download-and-store store))) + (unless tarball + (leave (_ "failed to download up-to-date source, exiting\n"))) + (parameterize ((%guile-for-build + (package-derivation store + (if (assoc-ref opts 'bootstrap?) + %bootstrap-guile + guile-final))) + (current-build-output-port + (if (assoc-ref opts 'verbose?) + (current-error-port) + (%make-void-port "w")))) + (let*-values (((config-dir) + (config-directory)) + ((source drv) + (unpack store tarball)) + ((source-dir) + (derivation-output-path + (assoc-ref (derivation-outputs drv) "out")))) + (show-what-to-build store (list source)) + (if (build-derivations store (list source)) + (let ((latest (string-append config-dir "/latest"))) + (add-indirect-root store latest) + (switch-symlinks latest source-dir) + (format #t + (_ "updated ~a successfully deployed under `~a'~%") + %guix-package-name latest) + #t)))))))) diff --git a/guix/ui.scm b/guix/ui.scm index 2b75504573..7d1ea2bcbd 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -41,6 +41,7 @@ location->string call-with-temporary-output-file switch-symlinks + config-directory fill-paragraph string->recutils package->recutils @@ -178,6 +179,26 @@ both when LINK already exists and when it does not." (symlink target pivot) (rename-file pivot link))) +(define (config-directory) + "Return the name of the configuration directory, after making sure that it +exists. Honor the XDG specs, +." + (let ((dir (and=> (or (getenv "XDG_CONFIG_HOME") + (and=> (getenv "HOME") + (cut string-append <> "/.config"))) + (cut string-append <> "/guix")))) + (catch 'system-error + (lambda () + (mkdir dir) + dir) + (lambda args + (match (system-error-errno args) + ((or EEXIST 0) + dir) + (err + (leave (_ "failed to create configuration directory `~a': ~a~%") + dir (strerror err)))))))) + (define* (fill-paragraph str width #:optional (column 0)) "Fill STR such that each line contains at most WIDTH characters, assuming that the first character is at COLUMN. diff --git a/po/POTFILES.in b/po/POTFILES.in index 5c0f131c06..bdb894db20 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -8,4 +8,5 @@ guix/scripts/build.scm guix/scripts/download.scm guix/scripts/package.scm guix/scripts/gc.scm +guix/scripts/pull.scm guix/ui.scm diff --git a/scripts/guix.in b/scripts/guix.in index 2fdde7d13a..1315789a9c 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -22,7 +22,8 @@ ;; IMPORTANT: We must avoid loading any modules from Guix here, ;; because we need to adjust the guile load paths first. ;; It's okay to import modules from core Guile though. -(use-modules (ice-9 regex)) +(use-modules (ice-9 regex) + (srfi srfi-26)) (let () (define-syntax-rule (push! elt v) (set! v (cons elt v))) @@ -45,7 +46,14 @@ (unless (getenv "GUIX_UNINSTALLED") (let ((module-dir (config-lookup "guilemoduledir"))) (push! module-dir %load-path) - (push! module-dir %load-compiled-path)))) + (push! module-dir %load-compiled-path)) + (let ((updates-dir (and=> (or (getenv "XDG_CONFIG_HOME") + (and=> (getenv "HOME") + (cut string-append <> "/.config"))) + (cut string-append <> "/guix/latest")))) + (when (file-exists? updates-dir) + (push! updates-dir %load-path) + (push! updates-dir %load-compiled-path))))) (define (run-guix-main) (let ((guix-main (module-ref (resolve-interface '(guix ui)) From 00fa3d1457ad466d1742fb74baf2760282cb41b0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 21 Feb 2013 10:27:34 +0100 Subject: [PATCH 046/151] guix: Make sure UPDATES-DIR is valid. * scripts/guix.in: Make sure UPDATES-DIR is not #f. --- scripts/guix.in | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/guix.in b/scripts/guix.in index 1315789a9c..4015560cd5 100644 --- a/scripts/guix.in +++ b/scripts/guix.in @@ -51,7 +51,7 @@ (and=> (getenv "HOME") (cut string-append <> "/.config"))) (cut string-append <> "/guix/latest")))) - (when (file-exists? updates-dir) + (when (and updates-dir (file-exists? updates-dir)) (push! updates-dir %load-path) (push! updates-dir %load-compiled-path))))) From a1c14677564b90a67eec5865dd63345a35cafd42 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 22 Feb 2013 20:01:29 +0100 Subject: [PATCH 047/151] pull: Build (guix build download) first, because of the (gnutls) autoload. * guix/scripts/pull.scm (unpack): Build (guix build download) first, as done in 855a8ad71def2ebc594ed32c57bda0ca4e13d91c. Reported by Andreas Enge . --- guix/scripts/pull.scm | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index f12133fff7..42ff525524 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -123,7 +123,12 @@ files." (compile-file file #:output-file go #:opts %auto-compilation-options)))) - (find-files out "\\.scm")) + + ;; XXX: Because of the autoload hack in (guix build + ;; download), we must build it first to avoid errors since + ;; (gnutls) is unavailable. + (cons (string-append out "/guix/build/download.scm") + (find-files out "\\.scm"))) ;; Remove the "fake" (guix config). (delete-file (string-append out "/guix/config.scm")) From da9bf2efc56266d8717496c303a6d4b16de94b63 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 22 Feb 2013 21:08:06 +0100 Subject: [PATCH 048/151] pull: Distinguish "already up to date" from "updated". * guix/ui.scm (show-what-to-build): Return (length req*). * guix/scripts/pull.scm (guix-pull): Print an "already up to date" message when there's nothing to build. --- guix/scripts/pull.scm | 20 ++++++++++++-------- guix/ui.scm | 6 ++++-- 2 files changed, 16 insertions(+), 10 deletions(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index 42ff525524..942bf501c5 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -216,12 +216,16 @@ Download and deploy the latest version of Guix.\n")) ((source-dir) (derivation-output-path (assoc-ref (derivation-outputs drv) "out")))) - (show-what-to-build store (list source)) - (if (build-derivations store (list source)) - (let ((latest (string-append config-dir "/latest"))) - (add-indirect-root store latest) - (switch-symlinks latest source-dir) - (format #t - (_ "updated ~a successfully deployed under `~a'~%") - %guix-package-name latest) + (if (show-what-to-build store (list source)) + (if (build-derivations store (list source)) + (let ((latest (string-append config-dir "/latest"))) + (add-indirect-root store latest) + (switch-symlinks latest source-dir) + (format #t + (_ "updated ~a successfully deployed under `~a'~%") + %guix-package-name latest) + #t) + (leave (_ "failed to update Guix, check the build log~%"))) + (begin + (display (_ "Guix already up to date\n")) #t)))))))) diff --git a/guix/ui.scm b/guix/ui.scm index 7d1ea2bcbd..7e0c61b4f8 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -118,7 +118,8 @@ General help using GNU software: ")) (define* (show-what-to-build store drv #:optional dry-run?) "Show what will or would (depending on DRY-RUN?) be built in realizing the -derivations listed in DRV." +derivations listed in DRV. Return #t if there's something to build, #f +otherwise." (let* ((req (append-map (lambda (drv-path) (let ((d (call-with-input-file drv-path read-derivation))) @@ -140,7 +141,8 @@ derivations listed in DRV." (N_ "~:[the following derivation will be built:~%~{ ~a~%~}~;~]" "~:[the following derivations will be built:~%~{ ~a~%~}~;~]" (length req*)) - (null? req*) req*)))) + (null? req*) req*)) + (pair? req*))) (define-syntax with-error-handling (syntax-rules () From 6ec8f7778f3f44f842782ecf164885ef6dbb1e4f Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Fri, 15 Feb 2013 13:50:45 +0000 Subject: [PATCH 049/151] gnu: gcc: Remove extraneous newline in 'LIB_SPEC'. * gnu/packages/base.scm (gcc-4.7): Remove trailing newline when patching 'LIB_SPEC'. --- gnu/packages/base.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 23bf00b241..5c39ec3db8 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -449,7 +449,7 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") ;; RUNPATH to GCC even when `libgcc_s' is not NEEDED. ;; There's not much that can be done to avoid it, though. (format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \ -%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a~%" +%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a" libc libc out out suffix)) (("#define STARTFILE_SPEC.*$" line) (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" From 618cea694d92dd73482b2a08675c9dec84d512ac Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Tue, 19 Feb 2013 11:17:08 +0000 Subject: [PATCH 050/151] gnu: linux-libre-headers: Set 'ARCH' to 'mips'. * gnu/packages/linux.scm (system->linux-architecture): New procedure. (linux-libre-headers): Adjust accordingly. --- gnu/packages/linux.scm | 22 +++++++++++++--------- 1 file changed, 13 insertions(+), 9 deletions(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index b97315580b..31e6c9bf73 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -31,18 +31,22 @@ #:use-module (guix download) #:use-module (guix build-system gnu)) +(define (system->linux-architecture arch) + (let ((arch (car (string-split arch #\-)))) + (cond ((string=? arch "i686") "i386") + ((string-prefix? "mips" arch) "mips") + (else arch)))) + (define-public linux-libre-headers (let* ((version* "3.3.8") (build-phase - '(lambda* (#:key system #:allow-other-keys) - (let ((arch (car (string-split system #\-)))) - (setenv "ARCH" - (cond ((string=? arch "i686") "i386") - (else arch))) - (format #t "`ARCH' set to `~a'~%" (getenv "ARCH"))) + (lambda (arch) + `(lambda _ + (setenv "ARCH" ,(system->linux-architecture arch)) + (format #t "`ARCH' set to `~a'~%" (getenv "ARCH")) - (and (zero? (system* "make" "defconfig")) - (zero? (system* "make" "mrproper" "headers_check"))))) + (and (zero? (system* "make" "defconfig")) + (zero? (system* "make" "mrproper" "headers_check")))))) (install-phase `(lambda* (#:key outputs #:allow-other-keys) (let ((out (assoc-ref outputs "out"))) @@ -73,7 +77,7 @@ (guix build utils) (srfi srfi-1)) #:phases (alist-replace - 'build ,build-phase + 'build ,(build-phase (%current-system)) (alist-replace 'install ,install-phase (alist-delete 'configure %standard-phases))) From aaf4cb20adbb20b6c7ea9e421f89d0b7acba961a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 27 Feb 2013 09:25:00 +0100 Subject: [PATCH 051/151] gnu: linux: Make `system->linux-architecture' public, and add ARM. * gnu/packages/linux.scm (system->linux-architecture): Make public. Add "arm". --- gnu/packages/linux.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index 31e6c9bf73..b687e363f6 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -31,10 +31,13 @@ #:use-module (guix download) #:use-module (guix build-system gnu)) -(define (system->linux-architecture arch) +(define-public (system->linux-architecture arch) + "Return the Linux architecture name for ARCH, a Guix system name such as +\"x86_64-linux\"." (let ((arch (car (string-split arch #\-)))) (cond ((string=? arch "i686") "i386") ((string-prefix? "mips" arch) "mips") + ((string-prefix? "arm" arch) "arm") (else arch)))) (define-public linux-libre-headers From 827d28914a16ef2d10ebdad4695efdb02ace07fb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 27 Feb 2013 09:38:11 +0100 Subject: [PATCH 052/151] gnu: Add cross tool chain. * gnu/packages/cross-base.scm: New file. * gnu/packages/patches/gcc-cross-environment-variables.patch: New file. * Makefile.am (MODULES): Add cross-base.scm. (dist_patch_DATA): Add gcc-cross-environment-variables.patch. * gnu/packages/base.scm (gcc-4.7): Use `LDFLAGS_FOR_TARGET' instead of `LDFLAGS_FOR_BUILD', and use `-B' instead of `-L'. * gnu/packages/bootstrap.scm (glibc-dynamic-linker): Add case for "mips64el-linux". --- Makefile.am | 2 + gnu/packages/base.scm | 4 +- gnu/packages/bootstrap.scm | 1 + gnu/packages/cross-base.scm | 243 ++++++++++++++++++ .../gcc-cross-environment-variables.patch | 24 ++ 5 files changed, 272 insertions(+), 2 deletions(-) create mode 100644 gnu/packages/cross-base.scm create mode 100644 gnu/packages/patches/gcc-cross-environment-variables.patch diff --git a/Makefile.am b/Makefile.am index bed4d06ec0..d87e6e0572 100644 --- a/Makefile.am +++ b/Makefile.am @@ -66,6 +66,7 @@ MODULES = \ gnu/packages/check.scm \ gnu/packages/compression.scm \ gnu/packages/cpio.scm \ + gnu/packages/cross-base.scm \ gnu/packages/curl.scm \ gnu/packages/cyrus-sasl.scm \ gnu/packages/dejagnu.scm \ @@ -185,6 +186,7 @@ dist_patch_DATA = \ gnu/packages/patches/flac-fix-memcmp-not-declared.patch \ gnu/packages/patches/flex-bison-tests.patch \ gnu/packages/patches/gawk-shell.patch \ + gnu/packages/patches/gcc-cross-environment-variables.patch \ gnu/packages/patches/gettext-gets-undeclared.patch \ gnu/packages/patches/glib-tests-desktop.patch \ gnu/packages/patches/glib-tests-homedir.patch \ diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5c39ec3db8..5aeb050863 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -412,8 +412,8 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") #:make-flags (let ((libc (assoc-ref %build-inputs "libc"))) `(,@(if libc - (list (string-append "LDFLAGS_FOR_BUILD=" - "-L" libc "/lib " + (list (string-append "LDFLAGS_FOR_TARGET=" + "-B" libc "/lib " "-Wl,-dynamic-linker " "-Wl," libc ,(glibc-dynamic-linker))) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 22ee98879a..809eb84295 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -134,6 +134,7 @@ check whether everything is alright." "Return the name of Glibc's dynamic linker for SYSTEM." (cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2") ((string=? system "i686-linux") "/lib/ld-linux.so.2") + ((string=? system "mips64el-linux") "/lib/ld.so.1") (else (error "dynamic linker name not known for this system" system)))) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm new file mode 100644 index 0000000000..69dc9f5b0b --- /dev/null +++ b/gnu/packages/cross-base.scm @@ -0,0 +1,243 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 cross-base) + #:use-module (guix licenses) + #:use-module (gnu packages) + #:use-module (gnu packages base) + #:use-module (gnu packages linux) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix utils) + #:use-module (guix build-system gnu) + #:use-module (guix build-system trivial) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 match)) + +(define (cross p target) + (package (inherit p) + (location (source-properties->location (current-source-location))) + (name (string-append (package-name p) "-cross-" target)) + (arguments + (substitute-keyword-arguments (package-arguments p) + ((#:configure-flags flags) + `(cons ,(string-append "--target=" target) + ,flags)))))) + +(define cross-binutils + (cut cross binutils <>)) + +(define* (cross-gcc target + #:optional (xbinutils (cross-binutils target)) libc) + "Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use +XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a +GCC that does not target a libc; otherwise, target that libc." + (define args + ;; Get the arguments as if we were building for TARGET. In particular, we + ;; want `glibc-dynamic-linker' to return the right thing. + (parameterize ((%current-system (gnu-triplet->nix-system target))) + (package-arguments gcc-4.7))) + + (package (inherit gcc-4.7) + (name (string-append "gcc-cross-" + (if libc "" "sans-libc-") + target)) + (arguments + `(#:implicit-inputs? #f + #:modules ((guix build gnu-build-system) + (guix build utils) + (ice-9 regex) + (srfi srfi-1) + (srfi srfi-26)) + #:patches (list (assoc-ref %build-inputs "patch/cross-env-vars")) + + ,@(substitute-keyword-arguments args + ((#:configure-flags flags) + `(append (list ,(string-append "--target=" target) + ,@(if libc + '() + `( ;; Disable features not needed at this stage. + "--disable-shared" "--enable-static" + + ;; Disable C++ because libstdc++'s + ;; configure script otherwise fails with + ;; "Link tests are not allowed after + ;; GCC_NO_EXECUTABLES." + "--enable-languages=c" + + "--disable-threads" ; libgcc, would need libc + "--disable-libmudflap" + "--disable-libgomp" + "--disable-libssp" + "--disable-libquadmath" + "--disable-decimal-float" ; would need libc + ))) + + ,(if libc + flags + `(remove (cut string-match "--enable-languages.*" <>) + ,flags)))) + ((#:make-flags flags) + (if libc + `(let ((libc (assoc-ref %build-inputs "libc"))) + ;; FLAGS_FOR_TARGET are needed for the target libraries to + ;; receive the -Bxxx for the startfiles. + (cons (string-append "FLAGS_FOR_TARGET=-B" libc "/lib") + ,flags)) + flags)) + ((#:phases phases) + (let ((phases + `(alist-cons-after + 'install 'make-cross-binutils-visible + (lambda* (#:key outputs inputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (libexec (string-append out "/libexec/gcc/" + ,target)) + (binutils (string-append + (assoc-ref inputs "binutils-cross") + "/bin/" ,target "-"))) + (for-each (lambda (file) + (symlink (string-append binutils file) + (string-append libexec "/" + file))) + '("as" "ld" "nm")) + #t)) + ,phases))) + (if libc + `(alist-cons-before + 'configure 'set-cross-path + (lambda* (#:key inputs #:allow-other-keys) + ;; Add the cross Linux headers to CROSS_CPATH, and remove + ;; them from CPATH. + (let ((libc (assoc-ref inputs "libc")) + (linux (assoc-ref inputs + "libc/cross-linux-headers"))) + (define (cross? x) + ;; Return #t if X is a cross-libc or cross Linux. + (or (string-prefix? libc x) + (string-prefix? linux x))) + + (setenv "CROSS_CPATH" + (string-append libc "/include:" + linux "/include")) + (setenv "CROSS_LIBRARY_PATH" + (string-append libc "/lib")) + + (let ((cpath (search-path-as-string->list + (getenv "CPATH"))) + (libpath (search-path-as-string->list + (getenv "LIBRARY_PATH")))) + (setenv "CPATH" + (list->search-path-as-string + (remove cross? cpath) ":")) + (setenv "LIBRARY_PATH" + (list->search-path-as-string + (remove cross? libpath) ":")) + #t))) + ,phases) + phases))) + ((#:strip-binaries? _) + ;; Disable stripping as this can break binaries, with object files + ;; of libgcc.a showing up as having an unknown architecture. See + ;; + ;; for instance. + #f)))) + (inputs + `(("patch/cross-env-vars" + ,(search-patch "gcc-cross-environment-variables.patch")) + + ("binutils-cross" ,xbinutils) + + ;; Call it differently so that the builder can check whether the "libc" + ;; input is #f. + ("libc-native" ,@(assoc-ref %final-inputs "libc")) + + ;; Remaining inputs. + ,@(let ((inputs (append (package-inputs gcc-4.7) + (alist-delete "libc" %final-inputs)))) + (if libc + `(("libc" ,libc) + ,@inputs) + inputs)))))) + +(define* (cross-libc target + #:optional + (xgcc (cross-gcc target)) + (xbinutils (cross-binutils target))) + "Return a libc cross-built for TARGET, a GNU triplet. Use XGCC and +XBINUTILS and the cross tool chain." + (define xlinux-headers + (package (inherit linux-libre-headers) + (name (string-append (package-name linux-libre-headers) + "-cross-" target)) + (arguments + (substitute-keyword-arguments (package-arguments linux-libre-headers) + ((#:phases phases) + `(alist-replace + 'build + (lambda _ + (setenv "ARCH" ,(system->linux-architecture target)) + (format #t "`ARCH' set to `~a' (cross compiling)~%" (getenv "ARCH")) + + (and (zero? (system* "make" "defconfig")) + (zero? (system* "make" "mrproper" "headers_check")))) + ,phases)))) + (inputs `(("cross-gcc" ,xgcc) + ("cross-binutils" ,xbinutils) + ,@(package-inputs linux-libre-headers))))) + + (package (inherit glibc) + (name (string-append "glibc-cross-" target)) + (arguments + (substitute-keyword-arguments + `(#:strip-binaries? #f ; disable stripping (see above) + ,@(package-arguments glibc)) + ((#:configure-flags flags) + `(cons ,(string-append "--host=" target) + ,flags)) + ((#:phases phases) + `(alist-cons-before + 'configure 'set-cross-linux-headers-path + (lambda* (#:key inputs #:allow-other-keys) + (let ((linux (assoc-ref inputs "cross-linux-headers"))) + (setenv "CROSS_CPATH" + (string-append linux "/include")) + #t)) + ,phases)))) + (propagated-inputs `(("cross-linux-headers" ,xlinux-headers))) + (inputs `(("cross-gcc" ,xgcc) + ("cross-binutils" ,xbinutils) + ,@(package-inputs glibc))))) + + +;;; +;;; Concrete cross toolchains. +;;; + +(define-public xgcc-mips64el + (let ((triplet "mips64el-linux-gnu")) + (cross-gcc triplet + (cross-binutils triplet) + (cross-libc triplet)))) + +;; (define-public xgcc-armel +;; (let ((triplet "armel-linux-gnueabi")) +;; (cross-gcc triplet +;; (cross-binutils triplet) +;; (cross-libc triplet)))) diff --git a/gnu/packages/patches/gcc-cross-environment-variables.patch b/gnu/packages/patches/gcc-cross-environment-variables.patch new file mode 100644 index 0000000000..30a07ec3db --- /dev/null +++ b/gnu/packages/patches/gcc-cross-environment-variables.patch @@ -0,0 +1,24 @@ +Search path environment variables for cross-compilers. See the discussion +at . + +--- gcc-4.7.2/gcc/incpath.c 2012-01-27 00:34:58.000000000 +0100 ++++ gcc-4.7.2/gcc/incpath.c 2013-02-12 10:11:27.000000000 +0100 +@@ -452,7 +452,7 @@ register_include_chains (cpp_reader *pfi + + /* CPATH and language-dependent environment variables may add to the + include chain. */ +- add_env_var_paths ("CPATH", BRACKET); ++ add_env_var_paths ("CROSS_CPATH", BRACKET); + add_env_var_paths (lang_env_vars[idx], SYSTEM); + + target_c_incpath.extra_pre_includes (sysroot, iprefix, stdinc); + +--- gcc-4.7.2/gcc/system.h 2012-02-17 00:16:28.000000000 +0100 ++++ gcc-4.7.2/gcc/system.h 2013-02-12 10:22:17.000000000 +0100 +@@ -1023,4 +1023,6 @@ helper_const_non_const_cast (const char + #define DEBUG_VARIABLE + #endif + ++#define LIBRARY_PATH_ENV "CROSS_LIBRARY_PATH" ++ + #endif /* ! GCC_SYSTEM_H */ From 8689a1908a8353b80ed1fcbb81feddc5eb799f24 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 4 Mar 2013 10:14:34 +0100 Subject: [PATCH 053/151] guix: build: Add "share/pkgconfig" to PKG_CONFIG_PATH, as used by xorg. * guix/build/gnu-build-system.scm (set-paths): Add "share/pkgconfig" to PKG_CONFIG_PATH. --- guix/build/gnu-build-system.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index b7b9fdac95..8fc6f86507 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -73,7 +73,8 @@ ;; FIXME: Eventually move this to the `search-paths' field of the ;; `pkg-config' package. (set-path-environment-variable "PKG_CONFIG_PATH" - '("lib/pkgconfig" "lib64/pkgconfig") + '("lib/pkgconfig" "lib64/pkgconfig" + "share/pkgconfig") (relevant-input-directories "PKG_CONFIG_PATH")) ;; Dump the environment variables as a shell script, for handy debugging. From 7f614e49e877cbf3e909ed74b3e6822dc39eabe5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 5 Mar 2013 18:38:05 +0100 Subject: [PATCH 054/151] gnu: glibc: Install locale data. * gnu/packages/base.scm (glibc): Add `outputs' field. Pass `--localedir' and set `libc_cv_localedir'. Add `install-locales' phase. --- gnu/packages/base.scm | 24 ++++++++++++++++++++++-- 1 file changed, 22 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 5aeb050863..537bd5af6d 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -508,13 +508,28 @@ used in the GNU system including the GNU/Linux variant.") ;; users should automatically pull Linux headers as well. (propagated-inputs `(("linux-headers" ,linux-libre-headers))) + ;; Store the locales separately (~100 MiB). Note that "out" retains a + ;; reference to them anyway, so there's no space savings here. + ;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like + ;; Nixpkgs does. + (outputs '("out" "locales")) + (arguments `(#:out-of-source? #t #:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")) #:configure-flags (list "--enable-add-ons" "--sysconfdir=/etc" - "--localedir=/var/run/current-system/sw/lib/locale" ; XXX + (string-append "--localedir=" (assoc-ref %outputs "locales") + "/share/locale") + + ;; `--localedir' is not honored, so work around it. + ;; See . + (string-append "libc_cv_localedir=" + (assoc-ref %outputs "locales") + "/share/locale") + + (string-append "--with-headers=" (assoc-ref %build-inputs "linux-headers") "/include") @@ -580,7 +595,12 @@ used in the GNU system including the GNU/Linux variant.") (substitute* "libio/iopopen.c" (("/bin/sh") (string-append out "/bin/bash"))))) - %standard-phases))) + (alist-cons-after + 'install 'install-locales + (lambda _ + (zero? (system* "make" "localedata/install-locales"))) + %standard-phases)))) + (inputs `(("patch/ld.so.cache" ,(search-patch "glibc-no-ld-so-cache.patch")) ("static-bash" ,(static-package bash-light)))) From e65df6a63a49666edb4e57a68369b8e2ef02f1a0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 5 Mar 2013 18:53:53 +0100 Subject: [PATCH 055/151] utils: Add `delete-file-recursively'. * guix/build/utils.scm (delete-file-recursively): New procedure. --- guix/build/utils.scm | 21 +++++++++++++++++++++ 1 file changed, 21 insertions(+) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index d17346607f..7b49e9f4c7 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -32,6 +32,7 @@ with-directory-excursion mkdir-p copy-recursively + delete-file-recursively find-files set-path-environment-variable @@ -147,6 +148,26 @@ return values of applying PROC to the port." #t source)) +(define (delete-file-recursively dir) + "Delete DIR recursively, like `rm -rf', without following symlinks. Report +but ignore errors." + (file-system-fold (const #t) ; enter? + (lambda (file stat result) ; leaf + (delete-file file)) + (const #t) ; down + (lambda (dir stat result) ; up + (rmdir dir)) + (const #t) ; skip + (lambda (file stat errno result) + (format (current-error-port) + "warning: failed to delete ~a: ~a~%" + file (strerror errno))) + #t + dir + + ;; Don't follow symlinks. + lstat)) + (define (find-files dir regexp) "Return the list of files under DIR whose basename matches REGEXP." (define file-rx From 12761f48eaa4801beb3b49aa94f2e8891869d186 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 5 Mar 2013 19:03:39 +0100 Subject: [PATCH 056/151] utils: Add a #:follow-symlinks? parameter to `copy-recursively'. * guix/build/utils.scm (copy-recursively): Turn `log' into a keyword parameter. Add the `follow-symlinks?' parameter and honor it. --- guix/build/utils.scm | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 7b49e9f4c7..ef215e60bb 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -122,8 +122,11 @@ return values of applying PROC to the port." (() #t)))) (define* (copy-recursively source destination - #:optional (log (current-output-port))) - "Copy SOURCE directory to DESTINATION." + #:key + (log (current-output-port)) + (follow-symlinks? #f)) + "Copy SOURCE directory to DESTINATION. Follow symlinks if FOLLOW-SYMLINKS? +is true; otherwise, just preserve them. Write verbose output to the LOG port." (define strip-source (let ((len (string-length source))) (lambda (file) @@ -134,7 +137,12 @@ return values of applying PROC to the port." (let ((dest (string-append destination (strip-source file)))) (format log "`~a' -> `~a'~%" file dest) - (copy-file file dest))) + (case (stat:type stat) + ((symlink) + (let ((target (readlink file))) + (symlink target dest))) + (else + (copy-file file dest))))) (lambda (dir stat result) ; down (mkdir-p (string-append destination (strip-source dir)))) @@ -146,7 +154,11 @@ return values of applying PROC to the port." file (strerror errno)) #f) #t - source)) + source + + (if follow-symlinks? + stat + lstat))) (define (delete-file-recursively dir) "Delete DIR recursively, like `rm -rf', without following symlinks. Report From b16c5a5857c449c4a952115d47ba8fe09948724e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 5 Mar 2013 19:09:04 +0100 Subject: [PATCH 057/151] Update TODO. --- TODO | 5 ----- 1 file changed, 5 deletions(-) diff --git a/TODO b/TODO index f115b4f47c..ecc8e11217 100644 --- a/TODO +++ b/TODO @@ -157,12 +157,7 @@ etc. ** add ‘--list-generations’, and ‘--delete-generations’ * guix build utils -** Add equivalent to "rm -rf" ** Add equivalent to Nixpkgs's ‘wrapProgram’ -** Change ‘patch-shebang’ to DTRT for /usr/bin/env - -I.e., replace “#!/usr/bin/env perl” by “#!/nix/store/…/bin/perl”. - ** MAYBE Change ‘ld-wrapper’ to add RPATH for libs passed by file name ** MAYBE Add equivalent to chrpath, possibly using [[https://gitorious.org/guile-dlhacks/guile-dlhacks/][guile-dlhacks]] From 9aea24b608659bfe6d6a72afff31edecd8e717c6 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 23 Feb 2013 19:09:26 +0100 Subject: [PATCH 058/151] gnu: xorg: Initial import from nix. * gnu/packages/xorg.scm: New module. * Makefile.am: Add it. --- Makefile.am | 1 + gnu/packages/xorg.scm | 3658 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 3659 insertions(+) create mode 100644 gnu/packages/xorg.scm diff --git a/Makefile.am b/Makefile.am index c9dcc4a356..70387ef565 100644 --- a/Makefile.am +++ b/Makefile.am @@ -166,6 +166,7 @@ MODULES = \ gnu/packages/wget.scm \ gnu/packages/which.scm \ gnu/packages/xml.scm \ + gnu/packages/xorg.scm \ gnu/packages/zile.scm \ gnu/packages/zip.scm \ gnu/system/vm.scm diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm new file mode 100644 index 0000000000..bbbd7a943a --- /dev/null +++ b/gnu/packages/xorg.scm @@ -0,0 +1,3658 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages xorg) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages bison) + #:use-module (gnu packages compression) + #:use-module (gnu packages bison) + #:use-module (gnu packages flex) + #:use-module (gnu packages fontutils) + #:use-module (gnu packages glib) + #:use-module (gnu packages gperf) + #:use-module (gnu packages libpng) + #:use-module (gnu packages linux) + #:use-module (gnu packages m4) + #:use-module (gnu packages openssl) + #:use-module (gnu packages perl) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages python)) + +(define-public applewmproto + (package + (name "applewmproto") + (version "1.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/applewmproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public bdftopcf + (package + (name "bdftopcf") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/bdftopcf-" + version + ".tar.bz2")) + (sha256 + (base32 + "02hx981f7jfwylxj21s91yvv4h597nqqzz3vd6ar81zyn84b944w")))) + (build-system gnu-build-system) + (inputs + `(("libxfont" ,libxfont) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public bigreqsproto + (package + (name "bigreqsproto") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/bigreqsproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public compositeproto + (package + (name "compositeproto") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/compositeproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (propagated-inputs + `(("fixesproto" ,fixesproto))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public damageproto + (package + (name "damageproto") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/damageproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public dmxproto + (package + (name "dmxproto") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/dmxproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public encodings + (package + (name "encodings") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/encodings-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public fixesproto + (package + (name "fixesproto") + (version "5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/fixesproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-alias + (package + (name "font-alias") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-alias-" + version + ".tar.bz2")) + (sha256 + (base32 + "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-arabic-misc + (package + (name "font-arabic-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-arabic-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "1x246dfnxnmflzf0qzy62k8jdpkb6jkgspcjgbk8jcq9lw99npah")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bh-ttf + (package + (name "font-bh-ttf") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" + version + ".tar.bz2")) + (sha256 + (base32 + "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-cronyx-cyrillic + (package + (name "font-cronyx-cyrillic") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ai1v4n61k8j9x2a1knvfbl2xjxk3xxmqaq3p9vpqrspc69k31kf")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-cursor-misc + (package + (name "font-cursor-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-cursor-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-daewoo-misc + (package + (name "font-daewoo-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-dec-misc + (package + (name "font-dec-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-dec-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0yzza0l4zwyy7accr1s8ab7fjqkpwggqydbm2vc19scdby5xz7g1")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-isas-misc + (package + (name "font-isas-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-isas-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0rx8q02rkx673a7skkpnvfkg28i8gmqzgf25s9yi0lar915sn92q")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-jis-misc + (package + (name "font-jis-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-jis-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-micro-misc + (package + (name "font-micro-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-micro-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "1dldxlh54zq1yzfnrh83j5vm0k4ijprrs5yl18gm3n9j1z0q2cws")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-misc-cyrillic + (package + (name "font-misc-cyrillic") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-misc-cyrillic-" + version + ".tar.bz2")) + (sha256 + (base32 + "0q2ybxs8wvylvw95j6x9i800rismsmx4b587alwbfqiw6biy63z4")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-misc-ethiopic + (package + (name "font-misc-ethiopic") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-misc-ethiopic-" + version + ".tar.bz2")) + (sha256 + (base32 + "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-misc-meltho + (package + (name "font-misc-meltho") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-misc-meltho-" + version + ".tar.bz2")) + (sha256 + (base32 + "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-misc-misc + (package + (name "font-misc-misc") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-misc-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("font-util" ,font-util) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-mutt-misc + (package + (name "font-mutt-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-mutt-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "13qghgr1zzpv64m0p42195k1kc77pksiv059fdvijz1n6kdplpxx")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-schumacher-misc + (package + (name "font-schumacher-misc") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-schumacher-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("font-util" ,font-util) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-screen-cyrillic + (package + (name "font-screen-cyrillic") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-screen-cyrillic-" + version + ".tar.bz2")) + (sha256 + (base32 + "0yayf1qlv7irf58nngddz2f1q04qkpr5jwp4aja2j5gyvzl32hl2")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-sony-misc + (package + (name "font-sony-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-sony-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "1xfgcx4gsgik5mkgkca31fj3w72jw9iw76qyrajrsz1lp8ka6hr0")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public fontsproto + (package + (name "fontsproto") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/fontsproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-sun-misc + (package + (name "font-sun-misc") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-sun-misc-" + version + ".tar.bz2")) + (sha256 + (base32 + "1q6jcqrffg9q5f5raivzwx9ffvf7r11g6g0b125na1bhpz5ly7s8")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-util + (package + (name "font-util") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-util-" + version + ".tar.bz2")) + (sha256 + (base32 + "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-winitzki-cyrillic + (package + (name "font-winitzki-cyrillic") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-winitzki-cyrillic-" + version + ".tar.bz2")) + (sha256 + (base32 + "181n1bgq8vxfxqicmy1jpm1hnr6gwn1kdhl6hr4frjigs1ikpldb")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public gccmakedep + (package + (name "gccmakedep") + (version "1.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/util/gccmakedep-" + version + ".tar.bz2")) + (sha256 + (base32 + "04dfamx3fvkvqfgs6xy2a6yqbxjrj4777ylxp38g60hhbdl4jg86")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public glproto + (package + (name "glproto") + (version "1.4.16") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/proto/glproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public iceauth + (package + (name "iceauth") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/iceauth-" + version + ".tar.bz2")) + (sha256 + (base32 + "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libICE" ,libICE) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public imake + (package + (name "imake") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/util/imake-" + version + ".tar.bz2")) + (sha256 + (base32 + "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public inputproto + (package + (name "inputproto") + (version "2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/inputproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1c5wqamfsd8g5i8kya5pjfmcac8q5zq1l3vclh6p96f24nmicxfy")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public kbproto + (package + (name "kbproto") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/kbproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libAppleWM + (package + (name "libAppleWM") + (version "1.4.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libAppleWM-" + version + ".tar.bz2")) + (sha256 + (base32 + "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("applewmproto" ,applewmproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libFS + (package + (name "libFS") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libFS-" + version + ".tar.bz2")) + (sha256 + (base32 + "05c3bqgn5m7j4kx8wvy0p36faq6f9jv5yq12m6033m4lflg7cwvh")))) + (build-system gnu-build-system) + (inputs + `(("xtrans" ,xtrans) + ("xproto" ,xproto) + ("fontsproto" ,fontsproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libICE + (package + (name "libICE") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libICE-" + version + ".tar.bz2")) + (sha256 + (base32 + "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94")))) + (build-system gnu-build-system) + (inputs + `(("xtrans" ,xtrans) + ("xproto" ,xproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libSM + (package + (name "libSM") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libSM-" + version + ".tar.bz2")) + (sha256 + (base32 + "07bzi6xwlhq36f60qfspjbz0qjj7zcgayi1vp4ihgx34kib1vhck")))) + (build-system gnu-build-system) + (inputs + `(("xtrans" ,xtrans) + ("xproto" ,xproto) + ("util-linux" ,util-linux) + ("libICE" ,libICE) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libICE" ,libICE))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libWindowsWM + (package + (name "libWindowsWM") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libWindowsWM-" + version + ".tar.bz2")) + (sha256 + (base32 + "1p0flwb67xawyv6yhri9w17m1i4lji5qnd0gq8v1vsfb8zw7rw15")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("windowswmproto" ,windowswmproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxScrnSaver + (package + (name "libxScrnSaver") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxScrnSaver-" + version + ".tar.bz2")) + (sha256 + (base32 + "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("scrnsaverproto" ,scrnsaverproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxau + (package + (name "libxau") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxau-" + version + ".tar.bz2")) + (sha256 + (base32 + "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxaw + (package + (name "libxaw") + (version "1.0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxaw-" + version + ".tar.bz2")) + (sha256 + (base32 + "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("libxpm" ,libxpm) + ("libxmu" ,libxmu) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libxmu" ,libxmu))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxcomposite + (package + (name "libxcomposite") + (version "0.4.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxcomposite-" + version + ".tar.bz2")) + (sha256 + (base32 + "1b8sniijb85v4my6v30ma9yqnwl4hkclci9l1hqxnipfyhl4sa9j")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxfixes" ,libxfixes) + ("libx11" ,libx11) + ("compositeproto" ,compositeproto) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libxfixes" ,libxfixes))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxcursor + (package + (name "libxcursor") + (version "1.1.13") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxcursor-" + version + ".tar.bz2")) + (sha256 + (base32 + "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("xproto" ,xproto) + ("libxfixes" ,libxfixes) + ("libx11" ,libx11) + ("fixesproto" ,fixesproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxdamage + (package + (name "libxdamage") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxdamage-" + version + ".tar.bz2")) + (sha256 + (base32 + "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxfixes" ,libxfixes) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("fixesproto" ,fixesproto) + ("damageproto" ,damageproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxdmcp + (package + (name "libxdmcp") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxdmcp-" + version + ".tar.bz2")) + (sha256 + (base32 + "13highx4xpgkiwykpcl7z2laslrjc4pzi4h617ny9p7r6116vkls")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxext + (package + (name "libxext") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxext-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn")))) + (build-system gnu-build-system) + (inputs + `(("libxau" ,libxau) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("xproto" ,xproto))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxfixes + (package + (name "libxfixes") + (version "5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxfixes-" + version + ".tar.bz2")) + (sha256 + (base32 + "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("fixesproto" ,fixesproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxfont + (package + (name "libxfont") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxfont-" + version + ".tar.bz2")) + (sha256 + (base32 + "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("xtrans" ,xtrans) + ("xproto" ,xproto) + ("freetype" ,freetype) + ("fontsproto" ,fontsproto) + ("libfontenc" ,libfontenc) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxft + (package + (name "libxft") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxft-" + version + ".tar.bz2")) + (sha256 + (base32 + "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz")))) + (build-system gnu-build-system) + (inputs + `(("renderproto" ,renderproto) + ("libx11" ,libx11) + ("xproto" ,xproto) + ("libxrender" ,libxrender) + ("xproto" ,xproto) + ("libx11" ,libx11) + ("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("fontconfig" ,fontconfig) + ("freetype" ,freetype) + ("libxrender" ,libxrender))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxi + (package + (name "libxi") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxi-" + version + ".tar.bz2")) + (sha256 + (base32 + "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxinerama + (package + (name "libxinerama") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxinerama-" + version + ".tar.bz2")) + (sha256 + (base32 + "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4")))) + (build-system gnu-build-system) + (inputs + `(("xineramaproto" ,xineramaproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxmu + (package + (name "libxmu") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxmu-" + version + ".tar.bz2")) + (sha256 + (base32 + "1pbym8rrznxqd60zwf7w4xpf27sa72bky2knginqcfnca32q343h")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxp + (package + (name "libxp") + (version "1.0.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/lib/libxp-" + version + ".tar.bz2")) + (sha256 + (base32 + "1lj3cjg9ygbmclxvayy5v88kkndpy9jq6y68p13dc5jn01hg5lbi")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libxau" ,libxau) + ("libx11" ,libx11) + ("printproto" ,printproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxpm + (package + (name "libxpm") + (version "3.5.10") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxpm-" + version + ".tar.bz2")) + (sha256 + (base32 + "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxrandr + (package + (name "libxrandr") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/lib/libxrandr-" + version + ".tar.bz2")) + (sha256 + (base32 + "1hzm2ndra4nf8xxzm4lzd225zj05hzbzcq464q2znah15ynd0fh3")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("renderproto" ,renderproto) + ("randrproto" ,randrproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxrender + (package + (name "libxrender") + (version "0.9.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxrender-" + version + ".tar.bz2")) + (sha256 + (base32 + "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("renderproto" ,renderproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxres + (package + (name "libxres") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxres-" + version + ".tar.bz2")) + (sha256 + (base32 + "1478pm70gdi6l70r4jpkyyg2am9wv6xh53z9ibwq5cg84p4n31pz")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("resourceproto" ,resourceproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxt + (package + (name "libxt") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxt-" + version + ".tar.bz2")) + (sha256 + (base32 + "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("libSM" ,libSM) + ("kbproto" ,kbproto) + ("libICE" ,libICE) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("libSM" ,libSM))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxtst + (package + (name "libxtst") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxtst-" + version + ".tar.bz2")) + (sha256 + (base32 + "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky")))) + (build-system gnu-build-system) + (inputs + `(("libxi" ,libxi) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("recordproto" ,recordproto) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxv + (package + (name "libxv") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxv-" + version + ".tar.bz2")) + (sha256 + (base32 + "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("videoproto" ,videoproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxvMC + (package + (name "libxvMC") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxvMC-" + version + ".tar.bz2")) + (sha256 + (base32 + "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18")))) + (build-system gnu-build-system) + (inputs + `(("libxv" ,libxv) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("videoproto" ,videoproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libdmx + (package + (name "libdmx") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libdmx-" + version + ".tar.bz2")) + (sha256 + (base32 + "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("dmxproto" ,dmxproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libfontenc + (package + (name "libfontenc") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libfontenc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("xproto" ,xproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libpciaccess + (package + (name "libpciaccess") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libpciaccess-" + version + ".tar.bz2")) + (sha256 + (base32 + "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libpthread-stubs + (package + (name "libpthread-stubs") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" + version + ".tar.bz2")) + (sha256 + (base32 + "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxcb + (package + (name "libxcb") + (version "1.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/libxcb-" + version + ".tar.bz2")) + (sha256 + (base32 + "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxdmcp" ,libxdmcp) + ("xcb-proto" ,xcb-proto) + ("libxau" ,libxau) + ("libpthread-stubs" ,libpthread-stubs) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxkbfile + (package + (name "libxkbfile") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxkbfile-" + version + ".tar.bz2")) + (sha256 + (base32 + "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("kbproto" ,kbproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public lndir + (package + (name "lndir") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/util/lndir-" + version + ".tar.bz2")) + (sha256 + (base32 + "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public luit + (package + (name "luit") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/luit-" + version + ".tar.bz2")) + (sha256 + (base32 + "0dn694mk56x6hdk6y9ylx4f128h5jcin278gnw2gb807rf3ygc1h")))) + (build-system gnu-build-system) + (inputs + `(("libfontenc" ,libfontenc) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public makedepend + (package + (name "makedepend") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/makedepend-" + version + ".tar.bz2")) + (sha256 + (base32 + "1zpp2b9dfvlnfj2i1mzdyn785rpl7vih5lap7kcpiv80xspbhmmb")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public mkfontdir + (package + (name "mkfontdir") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/mkfontdir-" + version + ".tar.bz2")) + (sha256 + (base32 + "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public mkfontscale + (package + (name "mkfontscale") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/mkfontscale-" + version + ".tar.bz2")) + (sha256 + (base32 + "1539h3ws66vcql6sf2831bcs0r4d9b05lcgpswkw33lvcxighmff")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("xproto" ,xproto) + ("freetype" ,freetype) + ("libfontenc" ,libfontenc) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public pixman + (package + (name "pixman") + (version "0.26.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/lib/pixman-" + version + ".tar.bz2")) + (sha256 + (base32 + "0z34jb75wpbyj3gxn34icd8j81fk5d6s6qnwp2ncz7m8icf6afqr")))) + (build-system gnu-build-system) + (inputs + `(("pkg-config" ,pkg-config) ("perl" ,perl))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public printproto + (package + (name "printproto") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/proto/printproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j")))) + (build-system gnu-build-system) + (inputs + `(("libxau" ,libxau) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public randrproto + (package + (name "randrproto") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/proto/randrproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public recordproto + (package + (name "recordproto") + (version "1.14.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/recordproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public renderproto + (package + (name "renderproto") + (version "0.11.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/renderproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public resourceproto + (package + (name "resourceproto") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/resourceproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public scrnsaverproto + (package + (name "scrnsaverproto") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/scrnsaverproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public sessreg + (package + (name "sessreg") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/sessreg-" + version + ".tar.bz2")) + (sha256 + (base32 + "0lifgjxdvc6lwyjk90slddnr12fsv88ldy6qhklr5av409cfwd47")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public setxkbmap + (package + (name "setxkbmap") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/setxkbmap-" + version + ".tar.bz2")) + (sha256 + (base32 + "1inygpvlgc6vr5h9laxw9lnvafnccl3fy0g5n9ll28iq3yfmqc1x")))) + (build-system gnu-build-system) + (inputs + `(("libxkbfile" ,libxkbfile) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public smproxy + (package + (name "smproxy") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/smproxy-" + version + ".tar.bz2")) + (sha256 + (base32 + "02fn5wa1gs2jap6sr9j9yk6zsvz82j8l61pf74iyqwa99q4wnb67")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("libxmu" ,libxmu) + ("libSM" ,libSM) + ("libICE" ,libICE) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public twm + (package + (name "twm") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/twm-" + version + ".tar.bz2")) + (sha256 + (base32 + "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("libxmu" ,libxmu) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("libSM" ,libSM) + ("libICE" ,libICE) + ("pkg-config" ,pkg-config) + ("flex" ,flex) + ("bison" ,bison))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public util-macros + (package + (name "util-macros") + (version "1.17") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/util-macros-" + version + ".tar.bz2")) + (sha256 + (base32 + "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public videoproto + (package + (name "videoproto") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/videoproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public windowswmproto + (package + (name "windowswmproto") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/windowswmproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xauth + (package + (name "xauth") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xauth-" + version + ".tar.bz2")) + (sha256 + (base32 + "1382wdfiakgckbw1xxavzh1nm34q21b1zzy96qp7ws66xc48rxw4")))) + (build-system gnu-build-system) + (inputs + `(("libxmu" ,libxmu) + ("libxext" ,libxext) + ("libxau" ,libxau) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xbacklight + (package + (name "xbacklight") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xbacklight-" + version + ".tar.bz2")) + (sha256 + (base32 + "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("xcb-util" ,xcb-util) + ("libxcb" ,libxcb) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xbitmaps + (package + (name "xbitmaps") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xbitmaps-" + version + ".tar.bz2")) + (sha256 + (base32 + "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-proto + (package + (name "xcb-proto") + (version "1.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-proto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93")))) + (build-system gnu-build-system) + (inputs + `(("pkg-config" ,pkg-config) ("python" ,python))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-util + (package + (name "xcb-util") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-util-" + version + ".tar.bz2")) + (sha256 + (base32 + "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxcb" ,libxcb) + ("gperf" ,gperf) + ("m4" ,m4) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-util-image + (package + (name "xcb-util-image") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-util-image-" + version + ".tar.bz2")) + (sha256 + (base32 + "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("xcb-util" ,xcb-util) + ("libxcb" ,libxcb) + ("m4" ,m4) + ("gperf" ,gperf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-util-keysyms + (package + (name "xcb-util-keysyms") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-util-keysyms-" + version + ".tar.bz2")) + (sha256 + (base32 + "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxcb" ,libxcb) + ("m4" ,m4) + ("gperf" ,gperf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-util-renderutil + (package + (name "xcb-util-renderutil") + (version "0.3.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-util-renderutil-" + version + ".tar.bz2")) + (sha256 + (base32 + "0lkl9ij9b447c0br2qc5qsynjn09c4fdz7sd6yp7pyi8az2sb2cp")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxcb" ,libxcb) + ("m4" ,m4) + ("gperf" ,gperf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcb-util-wm + (package + (name "xcb-util-wm") + (version "0.3.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xcb/xcb-util-wm-" + version + ".tar.bz2")) + (sha256 + (base32 + "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxcb" ,libxcb) + ("m4" ,m4) + ("gperf" ,gperf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xclock + (package + (name "xclock") + (version "1.0.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xclock-" + version + ".tar.bz2")) + (sha256 + (base32 + "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("libxrender" ,libxrender) + ("libxmu" ,libxmu) + ("libxkbfile" ,libxkbfile) + ("libxft" ,libxft) + ("libxaw" ,libxaw) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcmiscproto + (package + (name "xcmiscproto") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcmiscproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcmsdb + (package + (name "xcmsdb") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcmsdb-" + version + ".tar.bz2")) + (sha256 + (base32 + "03ms731l3kvaldq7ycbd30j6134b61i3gbll4b2gl022wyzbjq74")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcursorgen + (package + (name "xcursorgen") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcursorgen-" + version + ".tar.bz2")) + (sha256 + (base32 + "10f5wk1326mm45gvgpf4m2p0j80fcd0i4c52zikahb91zah72wdw")))) + (build-system gnu-build-system) + (inputs + `(("libxcursor" ,libxcursor) + ("libx11" ,libx11) + ("libpng" ,libpng) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xcursor-themes + (package + (name "xcursor-themes") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcursor-themes-" + version + ".tar.bz2")) + (sha256 + (base32 + "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr")))) + (build-system gnu-build-system) + (inputs + `(("libxcursor" ,libxcursor) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xdm + (package + (name "xdm") + (version "1.1.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xdm-" + version + ".tar.bz2")) + (sha256 + (base32 + "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("libxpm" ,libxpm) + ("libxmu" ,libxmu) + ("libxinerama" ,libxinerama) + ("libxft" ,libxft) + ("libxext" ,libxext) + ("libxdmcp" ,libxdmcp) + ("libxaw" ,libxaw) + ("libxau" ,libxau) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xdpyinfo + (package + (name "xdpyinfo") + (version "1.3.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xdpyinfo-" + version + ".tar.bz2")) + (sha256 + (base32 + "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3")))) + (build-system gnu-build-system) + (inputs + `(("libxxf86vm" ,libxxf86vm) + ("libxxf86misc" ,libxxf86misc) + ("libxxf86dga" ,libxxf86dga) + ("libxtst" ,libxtst) + ("libxrender" ,libxrender) + ("libxinerama" ,libxinerama) + ("libxi" ,libxi) + ("libxext" ,libxext) + ("libxcomposite" ,libxcomposite) + ("libxcb" ,libxcb) + ("libx11" ,libx11) + ("libdmx" ,libdmx) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xdriinfo + (package + (name "xdriinfo") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xdriinfo-" + version + ".tar.bz2")) + (sha256 + (base32 + "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim")))) + (build-system gnu-build-system) + (inputs + `(("mesa" ,mesa) + ("glproto" ,glproto) + ("libx11" ,libx11) + ("glproto" ,glproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xev + (package + (name "xev") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xev-" + version + ".tar.bz2")) + (sha256 + (base32 + "13xk5z7vy87rnn4574z0jfzymdivyc7pl4axim81sx0pmdysg1ip")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("libxrandr" ,libxrandr) + ("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xextproto + (package + (name "xextproto") + (version "7.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xextproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xeyes + (package + (name "xeyes") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xeyes-" + version + ".tar.bz2")) + (sha256 + (base32 + "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("libxrender" ,libxrender) + ("libxmu" ,libxmu) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xfs + (package + (name "xfs") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xfs-" + version + ".tar.bz2")) + (sha256 + (base32 + "17g34yq789grnic83cqj5khq0knda1w2rgabhjflsyw9wg663shd")))) + (build-system gnu-build-system) + (inputs + `(("xtrans" ,xtrans) + ("xproto" ,xproto) + ("libxfont" ,libxfont) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xgamma + (package + (name "xgamma") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xgamma-" + version + ".tar.bz2")) + (sha256 + (base32 + "0463sawps86jnxn121ramsz4sicy3az5wa5wsq4rqm8dm3za48p3")))) + (build-system gnu-build-system) + (inputs + `(("libxxf86vm" ,libxxf86vm) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xhost + (package + (name "xhost") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xhost-" + version + ".tar.bz2")) + (sha256 + (base32 + "0l483y6wfrjh37j16b41kpi2nc7ss5rvndafpbaylrs87ygx2w18")))) + (build-system gnu-build-system) + (inputs + `(("libxmu" ,libxmu) + ("libxau" ,libxau) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xineramaproto + (package + (name "xineramaproto") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xineramaproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xinit + (package + (name "xinit") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xinit-" + version + ".tar.bz2")) + (sha256 + (base32 + "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("xauth" ,xauth))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xinput + (package + (name "xinput") + (version "1.6.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xinput-" + version + ".tar.bz2")) + (sha256 + (base32 + "0zl4cdgnzh9shz20yn7hz889v4nkbyqwx0nb7dh6arn7abchgc2a")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("libxrandr" ,libxrandr) + ("libxinerama" ,libxinerama) + ("libxi" ,libxi) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xkbcomp + (package + (name "xkbcomp") + (version "1.2.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xkbcomp-" + version + ".tar.bz2")) + (sha256 + (base32 + "0bas1d2wjiy5zy9d0g92d2p9pwv4aapfbfidi7hxy8ax8jmwkl4i")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxkbfile" ,libxkbfile) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xkbevd + (package + (name "xkbevd") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xkbevd-" + version + ".tar.bz2")) + (sha256 + (base32 + "05h1xcnbalndbrryyqs8wzy9h3wz655vc0ymhlk2q4aik17licjm")))) + (build-system gnu-build-system) + (inputs + `(("libxkbfile" ,libxkbfile) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xkbutils + (package + (name "xkbutils") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xkbutils-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ga913pw6chssf2016kjyjl6ar2lj83pa497w97ak2kq603sy2g4")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("libxaw" ,libxaw) + ("libx11" ,libx11) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xkeyboard-config + (package + (name "xkeyboard-config") + (version "2.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xkeyboard-config-" + version + ".tar.bz2")) + (sha256 + (base32 + "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xkill + (package + (name "xkill") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xkill-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ac110qbb9a4x1dim3vaghvdk3jc708i2p3f4rmag33458khg0xx")))) + (build-system gnu-build-system) + (inputs + `(("libxmu" ,libxmu) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xlsatoms + (package + (name "xlsatoms") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xlsatoms-" + version + ".tar.bz2")) + (sha256 + (base32 + "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv")))) + (build-system gnu-build-system) + (inputs + `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xlsclients + (package + (name "xlsclients") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xlsclients-" + version + ".tar.bz2")) + (sha256 + (base32 + "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w")))) + (build-system gnu-build-system) + (inputs + `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xmessage + (package + (name "xmessage") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/app/xmessage-" + version + ".tar.bz2")) + (sha256 + (base32 + "0nrxidff0pcd1ampfzj91ai74j6mx613j5kqk3j0c4xdshx5v8yg")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("libxaw" ,libxaw) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xmodmap + (package + (name "xmodmap") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xmodmap-" + version + ".tar.bz2")) + (sha256 + (base32 + "1dg47lay4vhrl9mfq3cfc6741a0m2n8wd4ljagd21ix3qklys8pg")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xorg-cf-files + (package + (name "xorg-cf-files") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/util/xorg-cf-files-" + version + ".tar.bz2")) + (sha256 + (base32 + "0s86h66b3w4623m88fg2csp41cnr08qc8i3gkj85k3wpwj1wxs9n")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xorg-docs + (package + (name "xorg-docs") + (version "1.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xorg-docs-" + version + ".tar.bz2")) + (sha256 + (base32 + "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xorg-server + (package + (name "xorg-server") + (version "1.12.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/xserver/xorg-server-" + version + ".tar.bz2")) + (sha256 + (base32 + "1xscr6rf0q15hv3hmm51xhwk0c0rx7a2swkj14ygp8vb60sprh4a")))) + (build-system gnu-build-system) + (inputs + `(("bigreqsproto" ,bigreqsproto) + ("xtrans" ,xtrans) + ("xcmiscproto" ,xcmiscproto) + ("damageproto" ,damageproto) + ("libxfont" ,libxfont) + ("pixman" ,pixman) + ("libxext" ,libxext) + ("recordproto" ,recordproto) + ("xf86vidmodeproto" ,xf86vidmodeproto) + ("libdmx" ,libdmx) + ("dmxproto" ,dmxproto) + ("xf86dgaproto" ,xf86dgaproto) + ("xineramaproto" ,xineramaproto) + ("resourceproto" ,resourceproto) + ("scrnsaverproto" ,scrnsaverproto) + ("compositeproto" ,compositeproto) + ("xf86driproto" ,xf86driproto) + ("glproto" ,glproto) + ("xf86bigfontproto" ,xf86bigfontproto) + ("dbus" ,dbus) + ("mesa" ,mesa) + ("systemd" ,systemd) + ("zlib" ,zlib) + ("libxv" ,libxv) + ("libxt" ,libxt) + ("libxres" ,libxres) + ("libxrender" ,libxrender) + ("libxpm" ,libxpm) + ("libxmu" ,libxmu) + ("libxkbfile" ,libxkbfile) + ("libxfixes" ,libxfixes) + ("libxdmcp" ,libxdmcp) + ("libxaw" ,libxaw) + ("libxau" ,libxau) + ("libx11" ,libx11) + ("openssl" ,openssl) + ("libdrm" ,libdrm) + ("renderproto" ,renderproto) + ("pkg-config" ,pkg-config))) + (propagated-inputs + `(("kbproto" ,kbproto) + ("dri2proto" ,dri2proto) + ("randrproto" ,randrproto) + ("xextproto" ,xextproto) + ("inputproto" ,inputproto) + ("libpciaccess" ,libpciaccess))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xorg-sgml-doctools + (package + (name "xorg-sgml-doctools") + (version "1.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xorg-sgml-doctools-" + version + ".tar.bz2")) + (sha256 + (base32 + "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xpr + (package + (name "xpr") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xpr-" + version + ".tar.bz2")) + (sha256 + (base32 + "1dbcv26w2yand2qy7b3h5rbvw1mdmdd57jw88v53sgdr3vrqvngy")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxmu" ,libxmu) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xprop + (package + (name "xprop") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xprop-" + version + ".tar.bz2")) + (sha256 + (base32 + "18zi2any13zlb7f34fzyw6lkiwkd6k2scp3b800a1f4rj0c7m407")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xproto + (package + (name "xproto") + (version "7.0.23") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xrandr + (package + (name "xrandr") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xrandr-" + version + ".tar.bz2")) + (sha256 + (base32 + "03lq1c1q4w5cf2ijs4b34v008lshibha9zv5lw08xpyhk9xgyn8h")))) + (build-system gnu-build-system) + (inputs + `(("libxrender" ,libxrender) + ("libxrandr" ,libxrandr) + ("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xrdb + (package + (name "xrdb") + (version "1.0.9") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xrdb-" + version + ".tar.bz2")) + (sha256 + (base32 + "1dza5a34nj68fzhlgwf18i5bk0n24ig28yihwpjy7vwn57hh2934")))) + (build-system gnu-build-system) + (inputs + `(("libxmu" ,libxmu) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xrefresh + (package + (name "xrefresh") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xrefresh-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ywxzwa4kmnnmf8idr8ssgcil9xvbhnk155zpsh2i8ay93mh5586")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xset + (package + (name "xset") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xset-" + version + ".tar.bz2")) + (sha256 + (base32 + "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1")))) + (build-system gnu-build-system) + (inputs + `(("libxxf86misc" ,libxxf86misc) + ("xproto" ,xproto) + ("libxmu" ,libxmu) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xsetroot + (package + (name "xsetroot") + (version "1.1.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xsetroot-" + version + ".tar.bz2")) + (sha256 + (base32 + "1bazzsf9sy0q2bj4lxvh1kvyrhmpggzb7jg575i15sksksa3xwc8")))) + (build-system gnu-build-system) + (inputs + `(("libxmu" ,libxmu) + ("libxcursor" ,libxcursor) + ("xbitmaps" ,xbitmaps) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xtrans + (package + (name "xtrans") + (version "1.2.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xtrans-" + version + ".tar.bz2")) + (sha256 + (base32 + "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xvinfo + (package + (name "xvinfo") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xvinfo-" + version + ".tar.bz2")) + (sha256 + (base32 + "119rd93d7661ll1rfcdssn78l0b97326smziyr2f5wdwj2hlmiv0")))) + (build-system gnu-build-system) + (inputs + `(("libxext" ,libxext) + ("libxv" ,libxv) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xwd + (package + (name "xwd") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xwd-" + version + ".tar.bz2")) + (sha256 + (base32 + "0fkg6msy2zg7rda2rpxb7j6vmrdmqmk72xsxnyhz97196ykjnx82")))) + (build-system gnu-build-system) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xwininfo + (package + (name "xwininfo") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xwininfo-" + version + ".tar.bz2")) + (sha256 + (base32 + "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxcb" ,libxcb) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xwud + (package + (name "xwud") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xwud-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ggql6maivah58kwsh3z9x1hvzxm1a8888xx4s78cl77ryfa1cyn")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + \ No newline at end of file From 5f1d0fb08562cbdc94216ff39b4cb28b6eb357e3 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 25 Feb 2013 22:24:25 +0100 Subject: [PATCH 059/151] gnu: xorg: Add and remove packages to mirror X11R7.7/src/everything * gnu/packages/xorg.scm: Remove packages not from ftp://ftp.freedesktop.org/pub/xorg/X11R7.7/src/everything/ . Add missing packages, for the time being with a 0 hash and without dependencies. Correct spelling (all lower case for package names). --- gnu/packages/xorg.scm | 2377 +++++++++++++++++++++++++++-------------- 1 file changed, 1601 insertions(+), 776 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index bbbd7a943a..1b6d607a54 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -35,7 +35,8 @@ #:use-module (gnu packages openssl) #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages python)) + #:use-module (gnu packages python) + #:use-module (gnu packages xml)) (define-public applewmproto (package @@ -81,8 +82,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public bigreqsproto (package (name "bigreqsproto") @@ -103,8 +104,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public compositeproto (package (name "compositeproto") @@ -127,8 +128,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public damageproto (package (name "damageproto") @@ -149,8 +150,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public dmxproto (package (name "dmxproto") @@ -171,8 +172,29 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public dri2proto + (package + (name "dri2proto") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/dri2proto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public encodings (package (name "encodings") @@ -193,8 +215,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public fixesproto (package (name "fixesproto") @@ -217,8 +239,113 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public font-adobe-100dpi + (package + (name "font-adobe-100dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-adobe-100dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-adobe-75dpi + (package + (name "font-adobe-75dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-adobe-75dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-adobe-utopia-100dpi + (package + (name "font-adobe-utopia-100dpi") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-adobe-utopia-75dpi + (package + (name "font-adobe-utopia-75dpi") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-adobe-utopia-type1 + (package + (name "font-adobe-utopia-type1") + (version "1.0.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public font-alias (package (name "font-alias") @@ -239,8 +366,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-arabic-misc (package (name "font-arabic-misc") @@ -264,11 +391,95 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public font-bh-ttf + + +(define-public font-bh-100dpi (package - (name "font-bh-ttf") + (name "font-bh-100dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bh-75dpi + (package + (name "font-bh-75dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bh-lucidatypewriter-100dpi + (package + (name "font-bh-lucidatypewriter-100dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bh-lucidatypewriter-75dpi + (package + (name "font-bh-lucidatypewriter-75dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bh-type1 + (package + (name "font-bh-type1") (version "1.0.3") (source (origin @@ -289,8 +500,83 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public font-bitstream-100dpi + (package + (name "font-bitstream-100dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" + version + ".tar.bz2")) + (sha256 + (base32 + "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bitstream-75dpi + (package + (name "font-bitstream-75dpi") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" + version + ".tar.bz2")) + (sha256 + (base32 + "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public font-bitstream-type1 + (package + (name "font-bitstream-type1") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" + version + ".tar.bz2")) + (sha256 + (base32 + "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) + (build-system gnu-build-system) + (inputs + `(("mkfontscale" ,mkfontscale) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public font-cronyx-cyrillic (package (name "font-cronyx-cyrillic") @@ -314,8 +600,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-cursor-misc (package (name "font-cursor-misc") @@ -340,8 +626,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-daewoo-misc (package (name "font-daewoo-misc") @@ -365,8 +651,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-dec-misc (package (name "font-dec-misc") @@ -390,8 +676,33 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public font-ibm-type1 + (package + (name "font-ibm-type1") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("bdftopcf" ,bdftopcf) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public font-isas-misc (package (name "font-isas-misc") @@ -415,8 +726,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-jis-misc (package (name "font-jis-misc") @@ -440,8 +751,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-micro-misc (package (name "font-micro-misc") @@ -465,8 +776,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-misc-cyrillic (package (name "font-misc-cyrillic") @@ -490,8 +801,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-misc-ethiopic (package (name "font-misc-ethiopic") @@ -515,8 +826,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-misc-meltho (package (name "font-misc-meltho") @@ -540,8 +851,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-misc-misc (package (name "font-misc-misc") @@ -567,8 +878,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-mutt-misc (package (name "font-mutt-misc") @@ -592,8 +903,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-schumacher-misc (package (name "font-schumacher-misc") @@ -619,8 +930,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-screen-cyrillic (package (name "font-screen-cyrillic") @@ -644,8 +955,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-sony-misc (package (name "font-sony-misc") @@ -669,30 +980,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public fontsproto - (package - (name "fontsproto") - (version "2.1.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/fontsproto-" - version - ".tar.bz2")) - (sha256 - (base32 - "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public font-sun-misc (package (name "font-sun-misc") @@ -716,8 +1005,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-util (package (name "font-util") @@ -738,8 +1027,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public font-winitzki-cyrillic (package (name "font-winitzki-cyrillic") @@ -763,30 +1052,51 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public gccmakedep + + +(define-public font-xfree86-type1 (package - (name "gccmakedep") - (version "1.0.2") + (name "font-xfree86-type1") + (version "1.0.4") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/util/gccmakedep-" + "mirror://xorg/X11R7.7/src/everything/font-xfree86-type1-" version ".tar.bz2")) (sha256 (base32 - "04dfamx3fvkvqfgs6xy2a6yqbxjrj4777ylxp38g60hhbdl4jg86")))) + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public fontsproto + (package + (name "fontsproto") + (version "2.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/fontsproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - + + (define-public glproto (package (name "glproto") @@ -795,7 +1105,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/proto/glproto-" + "mirror://xorg/X11R7.7/src/everything/glproto-" version ".tar.bz2")) (sha256 @@ -807,8 +1117,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public iceauth (package (name "iceauth") @@ -826,37 +1136,14 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) - ("libICE" ,libICE) + ("libice" ,libice) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - -(define-public imake - (package - (name "imake") - (version "1.0.5") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/util/imake-" - version - ".tar.bz2")) - (sha256 - (base32 - "1h8ww97aymm10l9qn21n1b9x5ypjrqr10qpf48jjcbc9fg77gklr")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public inputproto (package (name "inputproto") @@ -877,8 +1164,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public kbproto (package (name "kbproto") @@ -899,11 +1186,11 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libAppleWM + + +(define-public libapplewm (package - (name "libAppleWM") + (name "libapplewm") (version "1.4.1") (source (origin @@ -926,11 +1213,11 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libFS + + +(define-public libfs (package - (name "libFS") + (name "libfs") (version "1.0.4") (source (origin @@ -952,11 +1239,11 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libICE + + +(define-public libice (package - (name "libICE") + (name "libice") (version "1.0.8") (source (origin @@ -977,11 +1264,11 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libSM + + +(define-public libsm (package - (name "libSM") + (name "libsm") (version "1.2.1") (source (origin @@ -998,19 +1285,19 @@ `(("xtrans" ,xtrans) ("xproto" ,xproto) ("util-linux" ,util-linux) - ("libICE" ,libICE) + ("libice" ,libice) ("pkg-config" ,pkg-config))) (propagated-inputs - `(("libICE" ,libICE))) + `(("libice" ,libice))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - -(define-public libWindowsWM + + +(define-public libwindowswm (package - (name "libWindowsWM") + (name "libwindowswm") (version "1.0.1") (source (origin @@ -1033,17 +1320,38 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libxScrnSaver + + +(define-public libx11 (package - (name "libxScrnSaver") + (name "libx11") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libX11-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxscrnsaver + (package + (name "libxscrnsaver") (version "1.2.2") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxScrnSaver-" + "mirror://xorg/X11R7.7/src/everything/libXScrnSaver-" version ".tar.bz2")) (sha256 @@ -1060,8 +1368,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxau (package (name "libxau") @@ -1070,7 +1378,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxau-" + "mirror://xorg/X11R7.7/src/everything/libXau-" version ".tar.bz2")) (sha256 @@ -1083,8 +1391,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxaw (package (name "libxaw") @@ -1093,7 +1401,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxaw-" + "mirror://xorg/X11R7.7/src/everything/libXaw-" version ".tar.bz2")) (sha256 @@ -1115,8 +1423,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxcomposite (package (name "libxcomposite") @@ -1125,7 +1433,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxcomposite-" + "mirror://xorg/X11R7.7/src/everything/libXcomposite-" version ".tar.bz2")) (sha256 @@ -1144,8 +1452,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxcursor (package (name "libxcursor") @@ -1154,7 +1462,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxcursor-" + "mirror://xorg/X11R7.7/src/everything/libXcursor-" version ".tar.bz2")) (sha256 @@ -1172,8 +1480,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxdamage (package (name "libxdamage") @@ -1182,7 +1490,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxdamage-" + "mirror://xorg/X11R7.7/src/everything/libXdamage-" version ".tar.bz2")) (sha256 @@ -1201,8 +1509,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxdmcp (package (name "libxdmcp") @@ -1211,7 +1519,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxdmcp-" + "mirror://xorg/X11R7.7/src/everything/libXdmcp-" version ".tar.bz2")) (sha256 @@ -1224,8 +1532,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxext (package (name "libxext") @@ -1234,7 +1542,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxext-" + "mirror://xorg/X11R7.7/src/everything/libXext-" version ".tar.bz2")) (sha256 @@ -1253,8 +1561,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxfixes (package (name "libxfixes") @@ -1263,7 +1571,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxfixes-" + "mirror://xorg/X11R7.7/src/everything/libXfixes-" version ".tar.bz2")) (sha256 @@ -1280,8 +1588,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxfont (package (name "libxfont") @@ -1290,7 +1598,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxfont-" + "mirror://xorg/X11R7.7/src/everything/libXfont-" version ".tar.bz2")) (sha256 @@ -1309,8 +1617,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxft (package (name "libxft") @@ -1319,7 +1627,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxft-" + "mirror://xorg/X11R7.7/src/everything/libXft-" version ".tar.bz2")) (sha256 @@ -1344,8 +1652,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxi (package (name "libxi") @@ -1354,7 +1662,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxi-" + "mirror://xorg/X11R7.7/src/everything/libXi-" version ".tar.bz2")) (sha256 @@ -1372,8 +1680,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxinerama (package (name "libxinerama") @@ -1382,7 +1690,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxinerama-" + "mirror://xorg/X11R7.7/src/everything/libXinerama-" version ".tar.bz2")) (sha256 @@ -1399,8 +1707,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxmu (package (name "libxmu") @@ -1409,7 +1717,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxmu-" + "mirror://xorg/X11R7.7/src/everything/libXmu-" version ".tar.bz2")) (sha256 @@ -1427,8 +1735,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxp (package (name "libxp") @@ -1437,7 +1745,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/lib/libxp-" + "mirror://xorg/X11R7.7/src/everything/libXp-" version ".tar.bz2")) (sha256 @@ -1449,14 +1757,14 @@ ("libxext" ,libxext) ("libxau" ,libxau) ("libx11" ,libx11) - ("printproto" ,printproto) +;; ("printproto" ,printproto) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - + + (define-public libxpm (package (name "libxpm") @@ -1465,7 +1773,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxpm-" + "mirror://xorg/X11R7.7/src/everything/libXpm-" version ".tar.bz2")) (sha256 @@ -1483,8 +1791,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxrandr (package (name "libxrandr") @@ -1493,7 +1801,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/lib/libxrandr-" + "mirror://xorg/XqqR7.7/src/everything/libXrandr-" version ".tar.bz2")) (sha256 @@ -1513,8 +1821,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxrender (package (name "libxrender") @@ -1523,7 +1831,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxrender-" + "mirror://xorg/X11R7.7/src/everything/libXrender-" version ".tar.bz2")) (sha256 @@ -1539,8 +1847,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxres (package (name "libxres") @@ -1549,7 +1857,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxres-" + "mirror://xorg/X11R7.7/src/everything/libXres-" version ".tar.bz2")) (sha256 @@ -1567,8 +1875,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxt (package (name "libxt") @@ -1577,7 +1885,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxt-" + "mirror://xorg/X11R7.7/src/everything/libXt-" version ".tar.bz2")) (sha256 @@ -1587,18 +1895,18 @@ (inputs `(("xproto" ,xproto) ("libx11" ,libx11) - ("libSM" ,libSM) + ("libsm" ,libsm) ("kbproto" ,kbproto) - ("libICE" ,libICE) + ("libice" ,libice) ("pkg-config" ,pkg-config))) (propagated-inputs - `(("libSM" ,libSM))) + `(("libsm" ,libsm))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - + + (define-public libxtst (package (name "libxtst") @@ -1607,7 +1915,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxtst-" + "mirror://xorg/X11R7.7/src/everything/libXtst-" version ".tar.bz2")) (sha256 @@ -1626,8 +1934,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxv (package (name "libxv") @@ -1636,7 +1944,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxv-" + "mirror://xorg/X11R7.7/src/everything/libXv-" version ".tar.bz2")) (sha256 @@ -1654,17 +1962,17 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public libxvMC + + +(define-public libxvmc (package - (name "libxvMC") + (name "libxvmc") (version "1.0.7") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxvMC-" + "mirror://xorg/X11R7.7/src/everything/libXvMC-" version ".tar.bz2")) (sha256 @@ -1683,8 +1991,50 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public libxxf86dga + (package + (name "libxxf86dga") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXxf86dga-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public libxxf86vm + (package + (name "libxxf86vm") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXxf86vm-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public libdmx (package (name "libdmx") @@ -1710,8 +2060,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libfontenc (package (name "libfontenc") @@ -1735,8 +2085,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libpciaccess (package (name "libpciaccess") @@ -1758,8 +2108,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libpthread-stubs (package (name "libpthread-stubs") @@ -1780,8 +2130,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxcb (package (name "libxcb") @@ -1790,7 +2140,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/xcb/libxcb-" + "mirror://xorg/X11R7.7/src/everything/libxcb-" version ".tar.bz2")) (sha256 @@ -1810,8 +2160,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public libxkbfile (package (name "libxkbfile") @@ -1835,31 +2185,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public lndir - (package - (name "lndir") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/util/lndir-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pdngiy8zdhsiqx2am75yfcl36l7kd7d7nl0rss8shcdvsqgmx29")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public luit (package (name "luit") @@ -1882,8 +2209,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public makedepend (package (name "makedepend") @@ -1905,8 +2232,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public mkfontdir (package (name "mkfontdir") @@ -1927,8 +2254,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public mkfontscale (package (name "mkfontscale") @@ -1954,54 +2281,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public pixman - (package - (name "pixman") - (version "0.26.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/lib/pixman-" - version - ".tar.bz2")) - (sha256 - (base32 - "0z34jb75wpbyj3gxn34icd8j81fk5d6s6qnwp2ncz7m8icf6afqr")))) - (build-system gnu-build-system) - (inputs - `(("pkg-config" ,pkg-config) ("perl" ,perl))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public printproto - (package - (name "printproto") - (version "1.0.5") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/proto/printproto-" - version - ".tar.bz2")) - (sha256 - (base32 - "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j")))) - (build-system gnu-build-system) - (inputs - `(("libxau" ,libxau) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public randrproto (package (name "randrproto") @@ -2010,7 +2291,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/proto/randrproto-" + "mirror://xorg/X11R7.7/src/everything/randrproto-" version ".tar.bz2")) (sha256 @@ -2022,8 +2303,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public recordproto (package (name "recordproto") @@ -2044,8 +2325,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public renderproto (package (name "renderproto") @@ -2066,8 +2347,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public resourceproto (package (name "resourceproto") @@ -2088,8 +2369,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public scrnsaverproto (package (name "scrnsaverproto") @@ -2110,8 +2391,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public sessreg (package (name "sessreg") @@ -2133,8 +2414,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public setxkbmap (package (name "setxkbmap") @@ -2158,8 +2439,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public smproxy (package (name "smproxy") @@ -2178,47 +2459,15 @@ (inputs `(("libxt" ,libxt) ("libxmu" ,libxmu) - ("libSM" ,libSM) - ("libICE" ,libICE) + ("libsm" ,libsm) + ("libice" ,libice) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - -(define-public twm - (package - (name "twm") - (version "1.0.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/twm-" - version - ".tar.bz2")) - (sha256 - (base32 - "0i6dbf5vafi5hm4bcmnj6r412cncjlv9hkkbr6bzlh15qvg56p8g")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("xproto" ,xproto) - ("libxmu" ,libxmu) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("libSM" ,libSM) - ("libICE" ,libICE) - ("pkg-config" ,pkg-config) - ("flex" ,flex) - ("bison" ,bison))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public util-macros (package (name "util-macros") @@ -2239,8 +2488,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public videoproto (package (name "videoproto") @@ -2261,8 +2510,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public windowswmproto (package (name "windowswmproto") @@ -2283,8 +2532,29 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public x11perf + (package + (name "x11perf") + (version "1.5.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/x11perf-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public xauth (package (name "xauth") @@ -2310,8 +2580,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xbacklight (package (name "xbacklight") @@ -2320,7 +2590,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/app/xbacklight-" + "mirror://xorg/X11R7.7/src/everything/xbacklight-" version ".tar.bz2")) (sha256 @@ -2329,15 +2599,15 @@ (build-system gnu-build-system) (inputs `(("libxrender" ,libxrender) - ("xcb-util" ,xcb-util) +;; ("xcb-util" ,xcb-util) ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - + + (define-public xbitmaps (package (name "xbitmaps") @@ -2358,8 +2628,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xcb-proto (package (name "xcb-proto") @@ -2368,7 +2638,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/xcb/xcb-proto-" + "mirror://xorg/X11R7.7/src/everything/xcb-proto-" version ".tar.bz2")) (sha256 @@ -2381,174 +2651,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xcb-util - (package - (name "xcb-util") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xcb/xcb-util-" - version - ".tar.bz2")) - (sha256 - (base32 - "1i0qbhqkcdlbbsj7ifkyjsffl61whj24d3zlg5pxf3xj1af2a4f6")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxcb" ,libxcb) - ("gperf" ,gperf) - ("m4" ,m4) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xcb-util-image - (package - (name "xcb-util-image") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xcb/xcb-util-image-" - version - ".tar.bz2")) - (sha256 - (base32 - "1pr1l1nkg197gyl9d0fpwmn72jqpxjfgn9y13q4gawg1m873qnnk")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("xcb-util" ,xcb-util) - ("libxcb" ,libxcb) - ("m4" ,m4) - ("gperf" ,gperf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xcb-util-keysyms - (package - (name "xcb-util-keysyms") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xcb/xcb-util-keysyms-" - version - ".tar.bz2")) - (sha256 - (base32 - "0vjwk7vrcfnlhiadv445c6skfxmdrg5v4qf81y8s2s5xagqarqbv")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxcb" ,libxcb) - ("m4" ,m4) - ("gperf" ,gperf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xcb-util-renderutil - (package - (name "xcb-util-renderutil") - (version "0.3.8") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xcb/xcb-util-renderutil-" - version - ".tar.bz2")) - (sha256 - (base32 - "0lkl9ij9b447c0br2qc5qsynjn09c4fdz7sd6yp7pyi8az2sb2cp")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxcb" ,libxcb) - ("m4" ,m4) - ("gperf" ,gperf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xcb-util-wm - (package - (name "xcb-util-wm") - (version "0.3.9") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/xcb/xcb-util-wm-" - version - ".tar.bz2")) - (sha256 - (base32 - "0c30fj33gvwzwhyz1dhsfwni0ai16bxpvxb4l6c6s7vvj7drp3q3")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxcb" ,libxcb) - ("m4" ,m4) - ("gperf" ,gperf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xclock - (package - (name "xclock") - (version "1.0.6") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xclock-" - version - ".tar.bz2")) - (sha256 - (base32 - "1l1zxr69p0734fnx9rdqw79ahr273hr050sm8xdc0n51n1bnzfr1")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("libxrender" ,libxrender) - ("libxmu" ,libxmu) - ("libxkbfile" ,libxkbfile) - ("libxft" ,libxft) - ("libxaw" ,libxaw) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public xcmiscproto (package (name "xcmiscproto") @@ -2569,8 +2673,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xcmsdb (package (name "xcmsdb") @@ -2593,8 +2697,32 @@ (synopsis #f) (description #f) (license #f))) - - + + +(define-public xcursor-themes + (package + (name "xcursor-themes") + (version "1.0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcursor-themes-" + version + ".tar.bz2")) + (sha256 + (base32 + "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr")))) + (build-system gnu-build-system) + (inputs + `(("libxcursor" ,libxcursor) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public xcursorgen (package (name "xcursorgen") @@ -2619,65 +2747,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xcursor-themes - (package - (name "xcursor-themes") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xcursor-themes-" - version - ".tar.bz2")) - (sha256 - (base32 - "1is4bak0qkkhv63mfa5l7492r475586y52yzfxyv3psppn662ilr")))) - (build-system gnu-build-system) - (inputs - `(("libxcursor" ,libxcursor) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public xdm - (package - (name "xdm") - (version "1.1.11") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xdm-" - version - ".tar.bz2")) - (sha256 - (base32 - "0iqw11977lpr9nk1is4fca84d531vck0mq7jldwl44m0vrnl5nnl")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("libxpm" ,libxpm) - ("libxmu" ,libxmu) - ("libxinerama" ,libxinerama) - ("libxft" ,libxft) - ("libxext" ,libxext) - ("libxdmcp" ,libxdmcp) - ("libxaw" ,libxaw) - ("libxau" ,libxau) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public xdpyinfo (package (name "xdpyinfo") @@ -2695,7 +2766,7 @@ (build-system gnu-build-system) (inputs `(("libxxf86vm" ,libxxf86vm) - ("libxxf86misc" ,libxxf86misc) +;; ("libxxf86misc" ,libxxf86misc) ("libxxf86dga" ,libxxf86dga) ("libxtst" ,libxtst) ("libxrender" ,libxrender) @@ -2711,8 +2782,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xdriinfo (package (name "xdriinfo") @@ -2729,7 +2800,7 @@ "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim")))) (build-system gnu-build-system) (inputs - `(("mesa" ,mesa) + `(;;("mesa" ,mesa) ("glproto" ,glproto) ("libx11" ,libx11) ("glproto" ,glproto) @@ -2738,8 +2809,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xev (package (name "xev") @@ -2765,8 +2836,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xextproto (package (name "xextproto") @@ -2787,62 +2858,890 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xeyes + + +(define-public xf86-input-evdev (package - (name "xeyes") + (name "xf86-input-evdev") + (version "2.7.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-evdev-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-joystick + (package + (name "xf86-input-joystick") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-joystick-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-keyboard + (package + (name "xf86-input-keyboard") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-keyboard-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-mouse + (package + (name "xf86-input-mouse") + (version "1.7.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-mouse-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-synaptics + (package + (name "xf86-input-synaptics") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-synaptics-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-vmmouse + (package + (name "xf86-input-vmmouse") + (version "12.8.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-vmmouse-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-input-void + (package + (name "xf86-input-void") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-input-void-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-ark + (package + (name "xf86-video-ark") + (version "0.7.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-ark-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-ast + (package + (name "xf86-video-ast") + (version "0.93.10") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-ast-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-ati + (package + (name "xf86-video-ati") + (version "6.14.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-ati-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-cirrus + (package + (name "xf86-video-cirrus") + (version "1.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-cirrus-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-dummy + (package + (name "xf86-video-dummy") + (version "0.3.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-fbdev + (package + (name "xf86-video-fbdev") + (version "0.4.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-fbdev-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-geode + (package + (name "xf86-video-geode") + (version "2.11.13") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-geode-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-glide + (package + (name "xf86-video-glide") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-glide" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-glint + (package + (name "xf86-video-glint") + (version "1.2.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-glint-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-i128 + (package + (name "xf86-video-i128") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-i128-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-intel + (package + (name "xf86-video-intel") + (version "2.19.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-intel-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-mach64 + (package + (name "xf86-video-mach64") + (version "6.9.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-mach64-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-mga + (package + (name "xf86-video-mga") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-mga-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-neomagic + (package + (name "xf86-video-neomagic") + (version "1.2.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-neomagic-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-newport + (package + (name "xf86-video-newport") + (version "0.2.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-newport-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-nv + (package + (name "xf86-video-nv") + (version "2.1.18") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-nv-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-openchrome + (package + (name "xf86-video-openchrome") + (version "0.2.906") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-openchrome-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-r128 + (package + (name "xf86-video-r128") + (version "6.8.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-r128-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-savage + (package + (name "xf86-video-savage") + (version "2.3.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-savage-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-siliconmotion + (package + (name "xf86-video-siliconmotion") + (version "1.7.6") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-siliconmotion-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-sis + (package + (name "xf86-video-sis") + (version "0.10.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-sis-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-suncg6 + (package + (name "xf86-video-suncg6") (version "1.1.1") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/app/xeyes-" + "mirror://xorg/X11R7.7/src/everything/xf86-video-suncg6-" version ".tar.bz2")) (sha256 (base32 - "08d5x2kar5kg4yammw6hhk10iva6jmh8cqq176a1z7nm1il9hplp")))) + "0000000000000000000000000000000000000000000000000000")))) (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("libxrender" ,libxrender) - ("libxmu" ,libxmu) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - -(define-public xfs + + +(define-public xf86-video-sunffb (package - (name "xfs") - (version "1.1.2") + (name "xf86-video-sunffb") + (version "1.2.1") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/app/xfs-" + "mirror://xorg/X11R7.7/src/everything/xf86-video-sunffb-" version ".tar.bz2")) (sha256 (base32 - "17g34yq789grnic83cqj5khq0knda1w2rgabhjflsyw9wg663shd")))) + "0000000000000000000000000000000000000000000000000000")))) (build-system gnu-build-system) - (inputs - `(("xtrans" ,xtrans) - ("xproto" ,xproto) - ("libxfont" ,libxfont) - ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) (license #f))) - - + + +(define-public xf86-video-tdfx + (package + (name "xf86-video-tdfx") + (version "1.4.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-tdfx-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-tga + (package + (name "xf86-video-tga") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-tga-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-trident + (package + (name "xf86-video-trident") + (version "1.3.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-trident-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-v4l + (package + (name "xf86-video-v4l") + (version "0.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-vesa + (package + (name "xf86-video-vesa") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-vesa-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-vmware + (package + (name "xf86-video-vmware") + (version "12.0.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-vmware-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-voodoo + (package + (name "xf86-video-voodoo") + (version "1.2.4") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-voodoo-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86-video-wsfb + (package + (name "xf86-video-wsfb") + (version "0.4.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86bigfontproto + (package + (name "xf86bigfontproto") + (version "1.2.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86bigfontproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86dgaproto + (package + (name "xf86dgaproto") + (version "2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86dgaproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86driproto + (package + (name "xf86driproto") + (version "2.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86driproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + +(define-public xf86vidmodeproto + (package + (name "xf86vidmodeproto") + (version "2.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xf86vidmodeproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0000000000000000000000000000000000000000000000000000")))) + (build-system gnu-build-system) + (home-page #f) + (synopsis #f) + (description #f) + (license #f))) + + (define-public xgamma (package (name "xgamma") @@ -2866,8 +3765,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xhost (package (name "xhost") @@ -2892,8 +3791,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xineramaproto (package (name "xineramaproto") @@ -2914,34 +3813,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xinit - (package - (name "xinit") - (version "1.3.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xinit-" - version - ".tar.bz2")) - (sha256 - (base32 - "0d821rlqwyn2js7bkzicyp894n9gqv1hahxs285pas1zm3d7z1m1")))) - (build-system gnu-build-system) - (inputs - `(("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("xauth" ,xauth))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public xinput (package (name "xinput") @@ -2970,8 +3843,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xkbcomp (package (name "xkbcomp") @@ -2996,8 +3869,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xkbevd (package (name "xkbevd") @@ -3021,8 +3894,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xkbutils (package (name "xkbutils") @@ -3049,8 +3922,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xkeyboard-config (package (name "xkeyboard-config") @@ -3071,8 +3944,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xkill (package (name "xkill") @@ -3096,8 +3969,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xlsatoms (package (name "xlsatoms") @@ -3119,8 +3992,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xlsclients (package (name "xlsclients") @@ -3142,33 +4015,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xmessage - (package - (name "xmessage") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/app/xmessage-" - version - ".tar.bz2")) - (sha256 - (base32 - "0nrxidff0pcd1ampfzj91ai74j6mx613j5kqk3j0c4xdshx5v8yg")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("libxaw" ,libxaw) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public xmodmap (package (name "xmodmap") @@ -3192,30 +4040,8 @@ (synopsis #f) (description #f) (license #f))) - - -(define-public xorg-cf-files - (package - (name "xorg-cf-files") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/individual/util/xorg-cf-files-" - version - ".tar.bz2")) - (sha256 - (base32 - "0s86h66b3w4623m88fg2csp41cnr08qc8i3gkj85k3wpwj1wxs9n")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - + + (define-public xorg-docs (package (name "xorg-docs") @@ -3236,8 +4062,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xorg-server (package (name "xorg-server") @@ -3246,7 +4072,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/individual/xserver/xorg-server-" + "mirror://xorg/X11R7.7/src/everything/xorg-server-" version ".tar.bz2")) (sha256 @@ -3259,7 +4085,7 @@ ("xcmiscproto" ,xcmiscproto) ("damageproto" ,damageproto) ("libxfont" ,libxfont) - ("pixman" ,pixman) +;; ("pixman" ,pixman) ("libxext" ,libxext) ("recordproto" ,recordproto) ("xf86vidmodeproto" ,xf86vidmodeproto) @@ -3274,8 +4100,8 @@ ("glproto" ,glproto) ("xf86bigfontproto" ,xf86bigfontproto) ("dbus" ,dbus) - ("mesa" ,mesa) - ("systemd" ,systemd) +;; ("mesa" ,mesa) +;; ("systemd" ,systemd) ("zlib" ,zlib) ("libxv" ,libxv) ("libxt" ,libxt) @@ -3290,7 +4116,7 @@ ("libxau" ,libxau) ("libx11" ,libx11) ("openssl" ,openssl) - ("libdrm" ,libdrm) +;; ("libdrm" ,libdrm) ("renderproto" ,renderproto) ("pkg-config" ,pkg-config))) (propagated-inputs @@ -3304,8 +4130,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xorg-sgml-doctools (package (name "xorg-sgml-doctools") @@ -3326,8 +4152,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xpr (package (name "xpr") @@ -3352,8 +4178,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xprop (package (name "xprop") @@ -3377,8 +4203,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xproto (package (name "xproto") @@ -3399,8 +4225,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xrandr (package (name "xrandr") @@ -3426,8 +4252,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xrdb (package (name "xrdb") @@ -3451,8 +4277,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xrefresh (package (name "xrefresh") @@ -3475,8 +4301,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xset (package (name "xset") @@ -3493,7 +4319,7 @@ "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1")))) (build-system gnu-build-system) (inputs - `(("libxxf86misc" ,libxxf86misc) + `(;;("libxxf86misc" ,libxxf86misc) ("xproto" ,xproto) ("libxmu" ,libxmu) ("libxext" ,libxext) @@ -3503,8 +4329,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xsetroot (package (name "xsetroot") @@ -3530,8 +4356,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xtrans (package (name "xtrans") @@ -3552,8 +4378,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xvinfo (package (name "xvinfo") @@ -3578,8 +4404,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xwd (package (name "xwd") @@ -3604,8 +4430,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xwininfo (package (name "xwininfo") @@ -3630,8 +4456,8 @@ (synopsis #f) (description #f) (license #f))) - - + + (define-public xwud (package (name "xwud") @@ -3655,4 +4481,3 @@ (synopsis #f) (description #f) (license #f))) - \ No newline at end of file From 88ee93f917194a6b027a972c302bfbe4824b8825 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Mon, 25 Feb 2013 22:52:48 +0100 Subject: [PATCH 060/151] gnu: xorg: Transform propagated into normal inputs. * gnu/packages/xorg.scm: Transform propagated into normal inputs; allows to keep packages in alphabetical order. --- gnu/packages/xorg.scm | 97 ++++++++++++++++++------------------------- 1 file changed, 41 insertions(+), 56 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 1b6d607a54..e2137154a4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -121,9 +121,9 @@ (base32 "1z0crmf669hirw4s7972mmp8xig80kfndja9h559haqbpvq5k4q4")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (propagated-inputs - `(("fixesproto" ,fixesproto))) + (inputs + `(("fixesproto" ,fixesproto) + ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) @@ -1287,8 +1287,6 @@ ("util-linux" ,util-linux) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("libice" ,libice))) (home-page #f) (synopsis #f) (description #f) @@ -1417,8 +1415,6 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("libxmu" ,libxmu))) (home-page #f) (synopsis #f) (description #f) @@ -1446,8 +1442,6 @@ ("libx11" ,libx11) ("compositeproto" ,compositeproto) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("libxfixes" ,libxfixes))) (home-page #f) (synopsis #f) (description #f) @@ -1555,8 +1549,6 @@ ("xextproto" ,xextproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("xproto" ,xproto))) (home-page #f) (synopsis #f) (description #f) @@ -1644,10 +1636,6 @@ ("freetype" ,freetype) ("fontconfig" ,fontconfig) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("fontconfig" ,fontconfig) - ("freetype" ,freetype) - ("libxrender" ,libxrender))) (home-page #f) (synopsis #f) (description #f) @@ -1899,8 +1887,6 @@ ("kbproto" ,kbproto) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("libsm" ,libsm))) (home-page #f) (synopsis #f) (description #f) @@ -4081,51 +4067,50 @@ (build-system gnu-build-system) (inputs `(("bigreqsproto" ,bigreqsproto) - ("xtrans" ,xtrans) - ("xcmiscproto" ,xcmiscproto) + ("compositeproto" ,compositeproto) ("damageproto" ,damageproto) - ("libxfont" ,libxfont) -;; ("pixman" ,pixman) - ("libxext" ,libxext) - ("recordproto" ,recordproto) - ("xf86vidmodeproto" ,xf86vidmodeproto) - ("libdmx" ,libdmx) + ("dbus" ,dbus) ("dmxproto" ,dmxproto) - ("xf86dgaproto" ,xf86dgaproto) - ("xineramaproto" ,xineramaproto) + ("dri2proto" ,dri2proto) + ("glproto" ,glproto) + ("inputproto" ,inputproto) + ("kbproto" ,kbproto) + ("libdmx" ,libdmx) +;; ("libdrm" ,libdrm) + ("libpciaccess" ,libpciaccess) + ("libx11" ,libx11) + ("libxau" ,libxau) + ("libxaw" ,libxaw) + ("libxdmcp" ,libxdmcp) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxfont" ,libxfont) + ("libxkbfile" ,libxkbfile) + ("libxmu" ,libxmu) + ("libxpm" ,libxpm) + ("libxrender" ,libxrender) + ("libxres" ,libxres) + ("libxt" ,libxt) + ("libxv" ,libxv) +;; ("mesa" ,mesa) + ("openssl" ,openssl) +;; ("pixman" ,pixman) + ("pkg-config" ,pkg-config) + ("recordproto" ,recordproto) + ("randrproto" ,randrproto) + ("renderproto" ,renderproto) ("resourceproto" ,resourceproto) ("scrnsaverproto" ,scrnsaverproto) - ("compositeproto" ,compositeproto) - ("xf86driproto" ,xf86driproto) - ("glproto" ,glproto) - ("xf86bigfontproto" ,xf86bigfontproto) - ("dbus" ,dbus) -;; ("mesa" ,mesa) ;; ("systemd" ,systemd) - ("zlib" ,zlib) - ("libxv" ,libxv) - ("libxt" ,libxt) - ("libxres" ,libxres) - ("libxrender" ,libxrender) - ("libxpm" ,libxpm) - ("libxmu" ,libxmu) - ("libxkbfile" ,libxkbfile) - ("libxfixes" ,libxfixes) - ("libxdmcp" ,libxdmcp) - ("libxaw" ,libxaw) - ("libxau" ,libxau) - ("libx11" ,libx11) - ("openssl" ,openssl) -;; ("libdrm" ,libdrm) - ("renderproto" ,renderproto) - ("pkg-config" ,pkg-config))) - (propagated-inputs - `(("kbproto" ,kbproto) - ("dri2proto" ,dri2proto) - ("randrproto" ,randrproto) + ("xcmiscproto" ,xcmiscproto) ("xextproto" ,xextproto) - ("inputproto" ,inputproto) - ("libpciaccess" ,libpciaccess))) + ("xf86bigfontproto" ,xf86bigfontproto) + ("xf86dgaproto" ,xf86dgaproto) + ("xf86driproto" ,xf86driproto) + ("xf86vidmodeproto" ,xf86vidmodeproto) + ("xineramaproto" ,xineramaproto) + ("xtrans" ,xtrans) + ("zlib" ,zlib))) (home-page #f) (synopsis #f) (description #f) From b49317cac3fb0412e4f7215eed5328e9efb33b60 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 26 Feb 2013 22:15:43 +0100 Subject: [PATCH 061/151] gnu: xorg: Add missing hashes. * gnu/packages/xorg.scm: Add hashes to all packages. --- gnu/packages/xorg.scm | 120 +++++++++++++++++++++--------------------- 1 file changed, 60 insertions(+), 60 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e2137154a4..a018282456 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -187,7 +187,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "02drlfqvjm2q7dvkkwli3fs2crb6rdb3kyd13vwx7z0rijrc10md")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -254,7 +254,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -275,7 +275,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -296,7 +296,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -317,7 +317,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -338,7 +338,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -406,7 +406,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -427,7 +427,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -448,7 +448,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -469,7 +469,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -691,7 +691,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx")))) (build-system gnu-build-system) (inputs `(("mkfontdir" ,mkfontdir) @@ -1067,7 +1067,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -1100,7 +1100,7 @@ (define-public glproto (package (name "glproto") - (version "1.4.16") + (version "1.4.15") (source (origin (method url-fetch) @@ -1110,7 +1110,7 @@ ".tar.bz2")) (sha256 (base32 - "13arnb4bz5pn89bxbh3shr8gihkhyznpjnq3zzr05msygwx6dpal")))) + "0wf1vq9g4pyzahb23ywx554pm5bpax49lz188fk6m5p8wbmmc0wr")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) (home-page #f) @@ -1333,7 +1333,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -1992,7 +1992,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2013,7 +2013,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2533,7 +2533,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2859,7 +2859,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2880,7 +2880,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2901,7 +2901,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2922,7 +2922,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2943,7 +2943,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2964,7 +2964,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "16l65mnjb1xxav6c5q0xhhqih81bzify2c5qrhqc2j3waq5yr9m8")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -2985,7 +2985,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3006,7 +3006,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3027,7 +3027,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3048,7 +3048,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3069,7 +3069,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0blnbspj4936wy46lp346s4b08dfcray6yicsxvv5b4699fzl1rb")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3090,7 +3090,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3111,7 +3111,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3132,7 +3132,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3153,7 +3153,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3174,7 +3174,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3195,7 +3195,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3216,7 +3216,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1g742szymajh88a5dw08sxcr45bmxgc4w3m6hddv9qscn5hks4rj")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3237,7 +3237,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3258,7 +3258,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3279,7 +3279,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3300,7 +3300,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3321,7 +3321,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3342,7 +3342,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3363,7 +3363,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3384,7 +3384,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3405,7 +3405,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3426,7 +3426,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3447,7 +3447,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3468,7 +3468,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3489,7 +3489,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3510,7 +3510,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3531,7 +3531,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3552,7 +3552,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3573,7 +3573,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0wqms28kkz2fvghqhqwp6w8zj7k5cgwnhzvkc7j4v268bf6h78g4")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3594,7 +3594,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3615,7 +3615,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3636,7 +3636,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3657,7 +3657,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3678,7 +3678,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3699,7 +3699,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) @@ -3720,7 +3720,7 @@ ".tar.bz2")) (sha256 (base32 - "0000000000000000000000000000000000000000000000000000")))) + "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5")))) (build-system gnu-build-system) (home-page #f) (synopsis #f) From d385b8355d532bc91292254f8221aefd5e31ee41 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 28 Feb 2013 23:10:25 +0100 Subject: [PATCH 062/151] gnu: xorg: Add licenses. Comment out packages with non-free license, without license, or not available on the ftp servers. Remove package not present in the distribution. * gnu/packages/xorg.scm (*): Add licenses. * gnu/packages/xorg.scm (libxp): Remove variable of package that is not present in the R7.7 distribution. * gnu/packages/xorg.scm (libpthread, libxcb): Comment out variables, which are referenced, but not present on the ftp servers. * gnu/packages/xorg.scm (font-adobe-utopia-100dpi, font-adobe-utopia-75dpi, font-adobe-utopia-type1, font-bh-100dpi, font-bh-75dpi, font-bh-lucidatypewriter-100dpi, font-bh-lucidatypewriter-75dpi, font-bh-type1, font-bitstream-100dpi, font-bitstream-75dpi, font-daewoo-misc, font-ibm-type1, font-jis-misc, font-misc-meltho, xf86-video-dummy): Comment out variables, packages have non-free licenses. * gnu/packages/xorg.scm (font-cursor-misc, xf86-video-v4l, xorg-docs): Comment out variables, packages have no license. --- gnu/packages/xorg.scm | 1547 ++++++++++++++++++++--------------------- 1 file changed, 762 insertions(+), 785 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index a018282456..adc62f9ffa 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -57,7 +57,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public bdftopcf @@ -81,7 +81,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public bigreqsproto @@ -103,7 +103,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public compositeproto @@ -127,7 +127,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public damageproto @@ -149,7 +149,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public dmxproto @@ -171,7 +171,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public dri2proto @@ -192,7 +192,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public encodings @@ -214,7 +214,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:public-domain))) (define-public fixesproto @@ -238,7 +238,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-adobe-100dpi @@ -259,7 +259,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-adobe-75dpi @@ -280,70 +280,70 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-adobe-utopia-100dpi - (package - (name "font-adobe-utopia-100dpi") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-adobe-utopia-75dpi - (package - (name "font-adobe-utopia-75dpi") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-adobe-utopia-type1 - (package - (name "font-adobe-utopia-type1") - (version "1.0.4") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-" - version - ".tar.bz2")) - (sha256 - (base32 - "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-adobe-utopia-100dpi +;; (package +;; (name "font-adobe-utopia-100dpi") +;; (version "1.0.4") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-100dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-adobe-utopia-75dpi +;; (package +;; (name "font-adobe-utopia-75dpi") +;; (version "1.0.4") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-75dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-adobe-utopia-type1 +;; (package +;; (name "font-adobe-utopia-type1") +;; (version "1.0.4") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-adobe-utopia-type1-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-alias @@ -365,7 +365,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-arabic-misc @@ -390,166 +390,166 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-bh-100dpi - (package - (name "font-bh-100dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bh-75dpi - (package - (name "font-bh-75dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bh-lucidatypewriter-100dpi - (package - (name "font-bh-lucidatypewriter-100dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bh-lucidatypewriter-75dpi - (package - (name "font-bh-lucidatypewriter-75dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-" - version - ".tar.bz2")) - (sha256 - (base32 - "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bh-type1 - (package - (name "font-bh-type1") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) - (build-system gnu-build-system) - (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bitstream-100dpi - (package - (name "font-bitstream-100dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) - (build-system gnu-build-system) - (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-bitstream-75dpi - (package - (name "font-bitstream-75dpi") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) - (build-system gnu-build-system) - (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-bh-100dpi +;; (package +;; (name "font-bh-100dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-100dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bh-75dpi +;; (package +;; (name "font-bh-75dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-75dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bh-lucidatypewriter-100dpi +;; (package +;; (name "font-bh-lucidatypewriter-100dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-100dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bh-lucidatypewriter-75dpi +;; (package +;; (name "font-bh-lucidatypewriter-75dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-lucidatypewriter-75dpi-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bh-type1 +;; (package +;; (name "font-bh-type1") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontscale" ,mkfontscale) +;; ("mkfontdir" ,mkfontdir) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bitstream-100dpi +;; (package +;; (name "font-bitstream-100dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontscale" ,mkfontscale) +;; ("mkfontdir" ,mkfontdir) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) +;; +;; +;; (define-public font-bitstream-75dpi +;; (package +;; (name "font-bitstream-75dpi") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-bh-ttf-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontscale" ,mkfontscale) +;; ("mkfontdir" ,mkfontdir) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-bitstream-type1 @@ -574,7 +574,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-cronyx-cyrillic @@ -599,58 +599,58 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-cursor-misc - (package - (name "font-cursor-misc") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-cursor-misc-" - version - ".tar.bz2")) - (sha256 - (base32 - "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp")))) - (build-system gnu-build-system) - (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) - ("bdftopcf" ,bdftopcf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public font-daewoo-misc - (package - (name "font-daewoo-misc") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-" - version - ".tar.bz2")) - (sha256 - (base32 - "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw")))) - (build-system gnu-build-system) - (inputs - `(("mkfontdir" ,mkfontdir) - ("bdftopcf" ,bdftopcf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-cursor-misc +;; (package +;; (name "font-cursor-misc") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-cursor-misc-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0dd6vfiagjc4zmvlskrbjz85jfqhf060cpys8j0y1qpcbsrkwdhp")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontscale" ,mkfontscale) +;; ("mkfontdir" ,mkfontdir) +;; ("bdftopcf" ,bdftopcf) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license none))) +;; +;; +;; (define-public font-daewoo-misc +;; (package +;; (name "font-daewoo-misc") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-daewoo-misc-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "1s2bbhizzgbbbn5wqs3vw53n619cclxksljvm759h9p1prqdwrdw")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontdir" ,mkfontdir) +;; ("bdftopcf" ,bdftopcf) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-dec-misc @@ -675,32 +675,32 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-ibm-type1 - (package - (name "font-ibm-type1") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-" - version - ".tar.bz2")) - (sha256 - (base32 - "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx")))) - (build-system gnu-build-system) - (inputs - `(("mkfontdir" ,mkfontdir) - ("bdftopcf" ,bdftopcf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-ibm-type1 +;; (package +;; (name "font-ibm-type1") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-cronyx-cyrillic-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "1pyjll4adch3z5cg663s6vhi02k8m6488f0mrasg81ssvg9jinzx")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontdir" ,mkfontdir) +;; ("bdftopcf" ,bdftopcf) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-isas-misc @@ -725,32 +725,32 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-jis-misc - (package - (name "font-jis-misc") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-jis-misc-" - version - ".tar.bz2")) - (sha256 - (base32 - "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b")))) - (build-system gnu-build-system) - (inputs - `(("mkfontdir" ,mkfontdir) - ("bdftopcf" ,bdftopcf) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-jis-misc +;; (package +;; (name "font-jis-misc") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-jis-misc-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0rdc3xdz12pnv951538q6wilx8mrdndpkphpbblszsv7nc8cw61b")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontdir" ,mkfontdir) +;; ("bdftopcf" ,bdftopcf) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-micro-misc @@ -775,7 +775,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:public-domain))) (define-public font-misc-cyrillic @@ -800,7 +800,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-misc-ethiopic @@ -825,32 +825,32 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public font-misc-meltho - (package - (name "font-misc-meltho") - (version "1.0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/font-misc-meltho-" - version - ".tar.bz2")) - (sha256 - (base32 - "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p")))) - (build-system gnu-build-system) - (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public font-misc-meltho +;; (package +;; (name "font-misc-meltho") +;; (version "1.0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/font-misc-meltho-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "148793fqwzrc3bmh2vlw5fdiwjc2n7vs25cic35gfp452czk489p")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("mkfontscale" ,mkfontscale) +;; ("mkfontdir" ,mkfontdir) +;; ("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public font-misc-misc @@ -877,7 +877,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:public-domain))) (define-public font-mutt-misc @@ -902,7 +902,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-schumacher-misc @@ -929,7 +929,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-screen-cyrillic @@ -954,7 +954,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-sony-misc @@ -979,7 +979,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-sun-misc @@ -1004,7 +1004,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-util @@ -1026,7 +1026,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public font-winitzki-cyrillic @@ -1051,7 +1051,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:public-domain))) (define-public font-xfree86-type1 @@ -1072,7 +1072,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public fontsproto @@ -1094,7 +1094,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public glproto @@ -1116,7 +1116,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public iceauth @@ -1141,7 +1141,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public inputproto @@ -1163,7 +1163,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public kbproto @@ -1185,7 +1185,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libapplewm @@ -1212,7 +1212,59 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) + + +(define-public libdmx + (package + (name "libdmx") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libdmx-" + version + ".tar.bz2")) + (sha256 + (base32 + "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("dmxproto" ,dmxproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) + + +(define-public libfontenc + (package + (name "libfontenc") + (version "1.1.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libfontenc-" + version + ".tar.bz2")) + (sha256 + (base32 + "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) + ("xproto" ,xproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public libfs @@ -1238,7 +1290,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libice @@ -1263,7 +1315,53 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) + + +(define-public libpciaccess + (package + (name "libpciaccess") + (version "0.13.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libpciaccess-" + version + ".tar.bz2")) + (sha256 + (base32 + "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7")))) + (build-system gnu-build-system) + (inputs + `(("zlib" ,zlib) ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) + + +;; file referenced, but not present on servers +;; (define-public libpthread-stubs +;; (package +;; (name "libpthread-stubs") +;; (version "0.3") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license license:???))) (define-public libsm @@ -1290,7 +1388,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libwindowswm @@ -1317,7 +1415,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libx11 @@ -1338,34 +1436,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) - - -(define-public libxscrnsaver - (package - (name "libxscrnsaver") - (version "1.2.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXScrnSaver-" - version - ".tar.bz2")) - (sha256 - (base32 - "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg")))) - (build-system gnu-build-system) - (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("scrnsaverproto" ,scrnsaverproto) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) + (license license:x11))) (define-public libxau @@ -1388,7 +1459,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxaw @@ -1418,7 +1489,38 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) + + +;; file referenced, but not present on servers +;; (define-public libxcb +;; (package +;; (name "libxcb") +;; (version "1.9") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/libxcb-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("xproto" ,xproto) +;; ("libxdmcp" ,libxdmcp) +;; ("xcb-proto" ,xcb-proto) +;; ("libxau" ,libxau) +;; ("libpthread-stubs" ,libpthread-stubs) +;; ("libxslt" ,libxslt) +;; ("pkg-config" ,pkg-config) +;; ("python" ,python))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license license:???))) (define-public libxcomposite @@ -1445,7 +1547,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxcursor @@ -1473,7 +1575,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxdamage @@ -1502,7 +1604,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxdmcp @@ -1525,7 +1627,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxext @@ -1552,7 +1654,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxfixes @@ -1579,7 +1681,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxfont @@ -1608,7 +1710,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxft @@ -1639,7 +1741,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxi @@ -1667,7 +1769,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxinerama @@ -1694,7 +1796,32 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) + + +(define-public libxkbfile + (package + (name "libxkbfile") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxkbfile-" + version + ".tar.bz2")) + (sha256 + (base32 + "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca")))) + (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("kbproto" ,kbproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public libxmu @@ -1722,35 +1849,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) - - -(define-public libxp - (package - (name "libxp") - (version "1.0.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXp-" - version - ".tar.bz2")) - (sha256 - (base32 - "1lj3cjg9ygbmclxvayy5v88kkndpy9jq6y68p13dc5jn01hg5lbi")))) - (build-system gnu-build-system) - (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libxau" ,libxau) - ("libx11" ,libx11) -;; ("printproto" ,printproto) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) + (license license:x11))) (define-public libxpm @@ -1778,7 +1877,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxrandr @@ -1808,7 +1907,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxrender @@ -1834,7 +1933,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxres @@ -1862,7 +1961,34 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) + + +(define-public libxscrnsaver + (package + (name "libxscrnsaver") + (version "1.2.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXScrnSaver-" + version + ".tar.bz2")) + (sha256 + (base32 + "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg")))) + (build-system gnu-build-system) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("scrnsaverproto" ,scrnsaverproto) + ("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public libxt @@ -1890,7 +2016,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxtst @@ -1919,7 +2045,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxv @@ -1947,7 +2073,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxvmc @@ -1976,7 +2102,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxxf86dga @@ -1997,7 +2123,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public libxxf86vm @@ -2018,159 +2144,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) - - -(define-public libdmx - (package - (name "libdmx") - (version "1.1.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libdmx-" - version - ".tar.bz2")) - (sha256 - (base32 - "1fiq73sfxcbyjval118ialwrzxhzb08xsxmg69adcs47i9j0p1x7")))) - (build-system gnu-build-system) - (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("dmxproto" ,dmxproto) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public libfontenc - (package - (name "libfontenc") - (version "1.1.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libfontenc-" - version - ".tar.bz2")) - (sha256 - (base32 - "0zq1483xy31sssq0h3xxf8y1v4q14cp8rv164ayn7fsn30pq2wny")))) - (build-system gnu-build-system) - (inputs - `(("zlib" ,zlib) - ("xproto" ,xproto) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public libpciaccess - (package - (name "libpciaccess") - (version "0.13.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libpciaccess-" - version - ".tar.bz2")) - (sha256 - (base32 - "11509lkgd5j4g5wy0g13z4sf31h50hqx3jfwb2i4q6k98pv6iar7")))) - (build-system gnu-build-system) - (inputs - `(("zlib" ,zlib) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public libpthread-stubs - (package - (name "libpthread-stubs") - (version "0.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" - version - ".tar.bz2")) - (sha256 - (base32 - "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public libxcb - (package - (name "libxcb") - (version "1.9") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxcb-" - version - ".tar.bz2")) - (sha256 - (base32 - "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxdmcp" ,libxdmcp) - ("xcb-proto" ,xcb-proto) - ("libxau" ,libxau) - ("libpthread-stubs" ,libpthread-stubs) - ("libxslt" ,libxslt) - ("pkg-config" ,pkg-config) - ("python" ,python))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) - - -(define-public libxkbfile - (package - (name "libxkbfile") - (version "1.0.8") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxkbfile-" - version - ".tar.bz2")) - (sha256 - (base32 - "0flg5arw6n3njagmsi4i4l0zl5bfx866a1h9ydc3bi1pqlclxaca")))) - (build-system gnu-build-system) - (inputs - `(("libx11" ,libx11) - ("kbproto" ,kbproto) - ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) + (license license:x11))) (define-public luit @@ -2194,7 +2168,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public makedepend @@ -2217,7 +2191,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public mkfontdir @@ -2239,7 +2213,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public mkfontscale @@ -2266,7 +2240,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public randrproto @@ -2288,7 +2262,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public recordproto @@ -2310,7 +2284,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public renderproto @@ -2332,7 +2306,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public resourceproto @@ -2354,7 +2328,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public scrnsaverproto @@ -2376,7 +2350,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public sessreg @@ -2399,7 +2373,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public setxkbmap @@ -2424,7 +2398,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public smproxy @@ -2451,7 +2425,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public util-macros @@ -2473,7 +2447,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public videoproto @@ -2495,7 +2469,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public windowswmproto @@ -2517,7 +2491,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public x11perf @@ -2538,7 +2512,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xauth @@ -2565,7 +2539,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xbacklight @@ -2586,12 +2560,12 @@ (inputs `(("libxrender" ,libxrender) ;; ("xcb-util" ,xcb-util) - ("libxcb" ,libxcb) +;; ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xbitmaps @@ -2613,30 +2587,31 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public xcb-proto - (package - (name "xcb-proto") - (version "1.8") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xcb-proto-" - version - ".tar.bz2")) - (sha256 - (base32 - "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93")))) - (build-system gnu-build-system) - (inputs - `(("pkg-config" ,pkg-config) ("python" ,python))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; file referenced, but not present on servers +;; (define-public xcb-proto +;; (package +;; (name "xcb-proto") +;; (version "1.8") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xcb-proto-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("pkg-config" ,pkg-config) ("python" ,python))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license license:x11))) (define-public xcmiscproto @@ -2658,7 +2633,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xcmsdb @@ -2682,7 +2657,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xcursor-themes @@ -2706,7 +2681,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xcursorgen @@ -2732,7 +2707,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xdpyinfo @@ -2760,14 +2735,14 @@ ("libxi" ,libxi) ("libxext" ,libxext) ("libxcomposite" ,libxcomposite) - ("libxcb" ,libxcb) +;; ("libxcb" ,libxcb) ("libx11" ,libx11) ("libdmx" ,libdmx) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xdriinfo @@ -2794,7 +2769,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xev @@ -2821,7 +2796,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xextproto @@ -2843,7 +2818,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-evdev @@ -2864,7 +2839,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-joystick @@ -2885,7 +2860,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-keyboard @@ -2906,7 +2881,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-mouse @@ -2927,7 +2902,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-synaptics @@ -2948,7 +2923,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-vmmouse @@ -2969,7 +2944,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-input-void @@ -2990,7 +2965,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-ark @@ -3011,7 +2986,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-ast @@ -3032,7 +3007,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-ati @@ -3053,7 +3028,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-cirrus @@ -3074,28 +3049,28 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public xf86-video-dummy - (package - (name "xf86-video-dummy") - (version "0.3.5") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public xf86-video-dummy +;; (package +;; (name "xf86-video-dummy") +;; (version "0.3.5") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xf86-video-dummy-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license non-free))) (define-public xf86-video-fbdev @@ -3116,7 +3091,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-geode @@ -3137,7 +3112,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-glide @@ -3158,7 +3133,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-glint @@ -3179,7 +3154,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-i128 @@ -3200,7 +3175,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-intel @@ -3221,7 +3196,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-mach64 @@ -3242,7 +3217,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-mga @@ -3263,7 +3238,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-neomagic @@ -3284,7 +3259,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-newport @@ -3305,7 +3280,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-nv @@ -3326,7 +3301,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-openchrome @@ -3347,7 +3322,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-r128 @@ -3368,7 +3343,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-savage @@ -3389,7 +3364,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-siliconmotion @@ -3410,7 +3385,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-sis @@ -3431,7 +3406,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:bsd-3))) (define-public xf86-video-suncg6 @@ -3452,7 +3427,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-sunffb @@ -3473,7 +3448,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-tdfx @@ -3494,7 +3469,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-tga @@ -3515,7 +3490,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-trident @@ -3536,28 +3511,28 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public xf86-video-v4l - (package - (name "xf86-video-v4l") - (version "0.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-" - version - ".tar.bz2")) - (sha256 - (base32 - "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb")))) - (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public xf86-video-v4l +;; (package +;; (name "xf86-video-v4l") +;; (version "0.2.0") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xf86-video-v4l-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb")))) +;; (build-system gnu-build-system) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license none))) (define-public xf86-video-vesa @@ -3578,7 +3553,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-vmware @@ -3599,7 +3574,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-voodoo @@ -3620,7 +3595,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86-video-wsfb @@ -3641,7 +3616,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:bsd-2))) (define-public xf86bigfontproto @@ -3662,7 +3637,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86dgaproto @@ -3683,7 +3658,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86driproto @@ -3704,7 +3679,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xf86vidmodeproto @@ -3725,7 +3700,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xgamma @@ -3750,7 +3725,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xhost @@ -3776,7 +3751,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xineramaproto @@ -3798,7 +3773,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xinput @@ -3828,7 +3803,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xkbcomp @@ -3854,7 +3829,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xkbevd @@ -3879,7 +3854,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xkbutils @@ -3907,7 +3882,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xkeyboard-config @@ -3929,7 +3904,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xkill @@ -3954,7 +3929,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xlsatoms @@ -3973,11 +3948,12 @@ "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv")))) (build-system gnu-build-system) (inputs - `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) + `(;("libxcb" ,libxcb) + ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xlsclients @@ -3996,11 +3972,12 @@ "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w")))) (build-system gnu-build-system) (inputs - `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) + `(;("libxcb" ,libxcb) + ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xmodmap @@ -4025,29 +4002,29 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) -(define-public xorg-docs - (package - (name "xorg-docs") - (version "1.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xorg-docs-" - version - ".tar.bz2")) - (sha256 - (base32 - "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) - (license #f))) +;; (define-public xorg-docs +;; (package +;; (name "xorg-docs") +;; (version "1.7") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xorg-docs-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config))) +;; (home-page #f) +;; (synopsis #f) +;; (description #f) +;; (license none))) (define-public xorg-server @@ -4114,7 +4091,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xorg-sgml-doctools @@ -4136,7 +4113,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xpr @@ -4162,7 +4139,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xprop @@ -4187,7 +4164,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xproto @@ -4209,7 +4186,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xrandr @@ -4236,7 +4213,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xrdb @@ -4261,7 +4238,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xrefresh @@ -4285,7 +4262,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xset @@ -4304,7 +4281,7 @@ "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1")))) (build-system gnu-build-system) (inputs - `(;;("libxxf86misc" ,libxxf86misc) + `(;("libxxf86misc" ,libxxf86misc) ("xproto" ,xproto) ("libxmu" ,libxmu) ("libxext" ,libxext) @@ -4313,7 +4290,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xsetroot @@ -4340,7 +4317,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xtrans @@ -4362,7 +4339,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xvinfo @@ -4388,7 +4365,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xwd @@ -4414,7 +4391,7 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xwininfo @@ -4434,13 +4411,13 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) - ("libxcb" ,libxcb) +;; ("libxcb" ,libxcb) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) (define-public xwud @@ -4465,4 +4442,4 @@ (home-page #f) (synopsis #f) (description #f) - (license #f))) + (license license:x11))) From dd85efda47ef67125abc18d387730d0f266bdf10 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 28 Feb 2013 23:32:53 +0100 Subject: [PATCH 063/151] gnu: xorg: Downgrade package versions to those present in X11R7.7 * gnu/packages/xorg.scm (dri2proto, libxcb, libxrandr, randrproto, xbacklight, xcb-proto, xorg-server): Use the versions present in X11R7.7. --- gnu/packages/xorg.scm | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index adc62f9ffa..ee6771b34d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -177,7 +177,7 @@ (define-public dri2proto (package (name "dri2proto") - (version "2.3.1") + (version "2.6") (source (origin (method url-fetch) @@ -1496,7 +1496,7 @@ ;; (define-public libxcb ;; (package ;; (name "libxcb") -;; (version "1.9") +;; (version "1.8.1") ;; (source ;; (origin ;; (method url-fetch) @@ -1883,7 +1883,7 @@ (define-public libxrandr (package (name "libxrandr") - (version "1.4.0") + (version "1.3.2") (source (origin (method url-fetch) @@ -1893,7 +1893,7 @@ ".tar.bz2")) (sha256 (base32 - "1hzm2ndra4nf8xxzm4lzd225zj05hzbzcq464q2znah15ynd0fh3")))) + "10cvv78ws8jznma4s45dzqz0ldcxk30qgsqrc4wxfcsjmcba5b3y")))) (build-system gnu-build-system) (inputs `(("libxrender" ,libxrender) @@ -2246,7 +2246,7 @@ (define-public randrproto (package (name "randrproto") - (version "1.4.0") + (version "1.3.2") (source (origin (method url-fetch) @@ -2256,7 +2256,7 @@ ".tar.bz2")) (sha256 (base32 - "1kq9h93qdnniiivry8jmhlgwn9fbx9xp5r9cmzfihlx5cs62xi45")))) + "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) (home-page #f) @@ -2545,7 +2545,7 @@ (define-public xbacklight (package (name "xbacklight") - (version "1.2.0") + (version "1.1.2") (source (origin (method url-fetch) @@ -2555,7 +2555,7 @@ ".tar.bz2")) (sha256 (base32 - "199n9qszjiz82nbjz6ychh0xl15igm535mv0830wk4m59w9xclji")))) + "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg")))) (build-system gnu-build-system) (inputs `(("libxrender" ,libxrender) @@ -2594,7 +2594,7 @@ ;; (define-public xcb-proto ;; (package ;; (name "xcb-proto") -;; (version "1.8") +;; (version "1.7.1") ;; (source ;; (origin ;; (method url-fetch) @@ -4030,7 +4030,7 @@ (define-public xorg-server (package (name "xorg-server") - (version "1.12.4") + (version "1.12.2") (source (origin (method url-fetch) @@ -4040,7 +4040,7 @@ ".tar.bz2")) (sha256 (base32 - "1xscr6rf0q15hv3hmm51xhwk0c0rx7a2swkj14ygp8vb60sprh4a")))) + "1xf57hcq6r17zxyfnx9r1wd0ir1bw13ff8bsiszwrw9jyhi9x7ya")))) (build-system gnu-build-system) (inputs `(("bigreqsproto" ,bigreqsproto) From 0820a58b3ca29910efcf39b7f0fcdcbaf2a1364a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 3 Mar 2013 19:50:26 +0100 Subject: [PATCH 064/151] gnu: xorg: Fix http mirror and uncomment xcb packages. * guix/download.scm (%mirrors): Fix main http mirror address. * gnu/packages/xorg.scm (libpthread-stubs, libxcb, xcb-proto): Uncomment and add licenses. --- gnu/packages/xorg.scm | 141 +++++++++++++++++++++--------------------- guix/download.scm | 3 +- 2 files changed, 70 insertions(+), 74 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ee6771b34d..ebabcab437 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1341,27 +1341,26 @@ (license license:x11))) -;; file referenced, but not present on servers -;; (define-public libpthread-stubs -;; (package -;; (name "libpthread-stubs") -;; (version "0.3") -;; (source -;; (origin -;; (method url-fetch) -;; (uri (string-append -;; "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" -;; version -;; ".tar.bz2")) -;; (sha256 -;; (base32 -;; "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) -;; (build-system gnu-build-system) -;; (inputs `(("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) -;; (license license:???))) +(define-public libpthread-stubs + (package + (name "libpthread-stubs") + (version "0.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" + version + ".tar.bz2")) + (sha256 + (base32 + "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public libsm @@ -1492,35 +1491,34 @@ (license license:x11))) -;; file referenced, but not present on servers -;; (define-public libxcb -;; (package -;; (name "libxcb") -;; (version "1.8.1") -;; (source -;; (origin -;; (method url-fetch) -;; (uri (string-append -;; "mirror://xorg/X11R7.7/src/everything/libxcb-" -;; version -;; ".tar.bz2")) -;; (sha256 -;; (base32 -;; "15icn78x610dvvgnji6b3pyn8nd88lz68hq0w73pcadf78mycmw8")))) -;; (build-system gnu-build-system) -;; (inputs -;; `(("xproto" ,xproto) -;; ("libxdmcp" ,libxdmcp) -;; ("xcb-proto" ,xcb-proto) -;; ("libxau" ,libxau) -;; ("libpthread-stubs" ,libpthread-stubs) -;; ("libxslt" ,libxslt) -;; ("pkg-config" ,pkg-config) -;; ("python" ,python))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) -;; (license license:???))) +(define-public libxcb + (package + (name "libxcb") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxcb-" + version + ".tar.bz2")) + (sha256 + (base32 + "03gspxcdl8r7jwbwg7fyp4cc6zic9z91amp4g5z0wwahx48nix6j")))) + (build-system gnu-build-system) + (inputs + `(("xproto" ,xproto) + ("libxdmcp" ,libxdmcp) + ("xcb-proto" ,xcb-proto) + ("libxau" ,libxau) + ("libpthread-stubs" ,libpthread-stubs) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public libxcomposite @@ -2590,28 +2588,27 @@ (license license:x11))) -;; file referenced, but not present on servers -;; (define-public xcb-proto -;; (package -;; (name "xcb-proto") -;; (version "1.7.1") -;; (source -;; (origin -;; (method url-fetch) -;; (uri (string-append -;; "mirror://xorg/X11R7.7/src/everything/xcb-proto-" -;; version -;; ".tar.bz2")) -;; (sha256 -;; (base32 -;; "1c11652h9sjynw3scm1pn5z3a6ci888pq7hij8q5n8qrl33icg93")))) -;; (build-system gnu-build-system) -;; (inputs -;; `(("pkg-config" ,pkg-config) ("python" ,python))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) -;; (license license:x11))) +(define-public xcb-proto + (package + (name "xcb-proto") + (version "1.7.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xcb-proto-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ds4qg6slidrzyz6q9ckq0a19hn6blzpnvciy4brh741gn49jpdd")))) + (build-system gnu-build-system) + (inputs + `(("pkg-config" ,pkg-config) ("python" ,python))) + (home-page #f) + (synopsis #f) + (description #f) + (license license:x11))) (define-public xcmiscproto diff --git a/guix/download.scm b/guix/download.scm index b6bf6a0822..fa89058702 100644 --- a/guix/download.scm +++ b/guix/download.scm @@ -101,8 +101,7 @@ "http://mirrors.ircam.fr/pub/apache/" "http://apache-mirror.rbc.ru/pub/apache/") (xorg ; from http://www.x.org/wiki/Releases/Download - "http://xorg.freedesktop.org/releases/" ; main mirrors - "http://www.x.org/pub/" + "http://www.x.org/releases/" ; main mirrors "ftp://mirror.csclub.uwaterloo.ca/x.org/" ; North America "ftp://xorg.mirrors.pair.com/" "http://mirror.csclub.uwaterloo.ca/x.org/" From 5223c82627a8eba9056fc4d5a48acea29a979c1d Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 3 Mar 2013 20:11:26 +0100 Subject: [PATCH 065/151] gnu: xorg: Add home-page, synopsis and description. * gnu/packages/xorg.scm: Add home-page and (generic) synopsis and description. --- gnu/packages/xorg.scm | 1098 ++++++++++++++++++++--------------------- 1 file changed, 549 insertions(+), 549 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ebabcab437..4777f68045 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -54,9 +54,9 @@ "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -78,9 +78,9 @@ (inputs `(("libxfont" ,libxfont) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -100,9 +100,9 @@ "07hvfm84scz8zjw14riiln2v4w03jlhp756ypwhq27g48jmic8a6")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -124,9 +124,9 @@ (inputs `(("fixesproto" ,fixesproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -146,9 +146,9 @@ "0nzwr5pv9hg7c21n995pdiv0zqhs91yz3r8rn3aska4ykcp12z2w")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -168,9 +168,9 @@ "02b5x9dkgajizm8dqyx2w6hmqx3v25l67mgf35nj6sz0lgk52877")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -189,9 +189,9 @@ (base32 "02drlfqvjm2q7dvkkwli3fs2crb6rdb3kyd13vwx7z0rijrc10md")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -211,9 +211,9 @@ "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:public-domain))) @@ -235,9 +235,9 @@ (inputs `(("xextproto" ,xextproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -256,9 +256,9 @@ (base32 "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -277,9 +277,9 @@ (base32 "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -298,9 +298,9 @@ ;; (base32 ;; "19dd9znam1ah72jmdh7i6ny2ss2r6m21z9v0l43xvikw48zmwvyi")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -319,9 +319,9 @@ ;; (base32 ;; "152wigpph5wvl4k9m3l4mchxxisgsnzlx033mn5iqrpkc6f72cl7")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -340,9 +340,9 @@ ;; (base32 ;; "0xw0pdnzj5jljsbbhakc6q9ha2qnca1jr81zk7w70yl9bw83b54p")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -362,9 +362,9 @@ "16ic8wfwwr3jicaml7b5a0sk6plcgc1kg84w02881yhwmqm3nicb")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -387,9 +387,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -408,9 +408,9 @@ ;; (base32 ;; "10cl4gm38dw68jzln99ijix730y7cbx8np096gmpjjwff1i73h13")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -429,9 +429,9 @@ ;; (base32 ;; "073jmhf0sr2j1l8da97pzsqj805f7mf9r2gy92j4diljmi8sm1il")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -450,9 +450,9 @@ ;; (base32 ;; "1fqzckxdzjv4802iad2fdrkpaxl4w0hhs9lxlkyraq2kq9ik7a32")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -471,9 +471,9 @@ ;; (base32 ;; "0cfbxdp5m12cm7jsh3my0lym9328cgm7fa9faz2hqj05wbxnmhaa")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -496,9 +496,9 @@ ;; `(("mkfontscale" ,mkfontscale) ;; ("mkfontdir" ,mkfontdir) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -521,9 +521,9 @@ ;; `(("mkfontscale" ,mkfontscale) ;; ("mkfontdir" ,mkfontdir) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) ;; ;; @@ -546,9 +546,9 @@ ;; `(("mkfontscale" ,mkfontscale) ;; ("mkfontdir" ,mkfontdir) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -571,9 +571,9 @@ `(("mkfontscale" ,mkfontscale) ("mkfontdir" ,mkfontdir) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -596,9 +596,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -622,9 +622,9 @@ ;; ("mkfontdir" ,mkfontdir) ;; ("bdftopcf" ,bdftopcf) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license none))) ;; ;; @@ -647,9 +647,9 @@ ;; `(("mkfontdir" ,mkfontdir) ;; ("bdftopcf" ,bdftopcf) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -672,9 +672,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -697,9 +697,9 @@ ;; `(("mkfontdir" ,mkfontdir) ;; ("bdftopcf" ,bdftopcf) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -722,9 +722,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -747,9 +747,9 @@ ;; `(("mkfontdir" ,mkfontdir) ;; ("bdftopcf" ,bdftopcf) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -772,9 +772,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:public-domain))) @@ -797,9 +797,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -822,9 +822,9 @@ `(("mkfontscale" ,mkfontscale) ("mkfontdir" ,mkfontdir) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -847,9 +847,9 @@ ;; `(("mkfontscale" ,mkfontscale) ;; ("mkfontdir" ,mkfontdir) ;; ("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -874,9 +874,9 @@ ("font-util" ,font-util) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:public-domain))) @@ -899,9 +899,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -926,9 +926,9 @@ ("font-util" ,font-util) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -951,9 +951,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -976,9 +976,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1001,9 +1001,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1023,9 +1023,9 @@ "15cijajwhjzpy3ydc817zz8x5z4gbkyv3fps687jbq544mbfbafz")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1048,9 +1048,9 @@ `(("mkfontdir" ,mkfontdir) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:public-domain))) @@ -1069,9 +1069,9 @@ (base32 "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1091,9 +1091,9 @@ "1ab8mbqxdwvdz4k5x4xb9c4n5w7i1xw276cbpk4z7a1nlpjrg746")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1113,9 +1113,9 @@ "0wf1vq9g4pyzahb23ywx554pm5bpax49lz188fk6m5p8wbmmc0wr")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1138,9 +1138,9 @@ `(("xproto" ,xproto) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1160,9 +1160,9 @@ "1c5wqamfsd8g5i8kya5pjfmcac8q5zq1l3vclh6p96f24nmicxfy")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1182,9 +1182,9 @@ "0yal11hhpiisy3w8wmacsdzzzcnc3xwnswxz8k7zri40xc5aqz03")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1209,9 +1209,9 @@ ("libx11" ,libx11) ("applewmproto" ,applewmproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1236,9 +1236,9 @@ ("libx11" ,libx11) ("dmxproto" ,dmxproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1261,9 +1261,9 @@ `(("zlib" ,zlib) ("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1287,9 +1287,9 @@ ("xproto" ,xproto) ("fontsproto" ,fontsproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1312,9 +1312,9 @@ `(("xtrans" ,xtrans) ("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1335,9 +1335,9 @@ (build-system gnu-build-system) (inputs `(("zlib" ,zlib) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1357,9 +1357,9 @@ "16bjv3in19l84hbri41iayvvg4ls9gv1ma0x0qlbmwy67i7dbdim")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1384,9 +1384,9 @@ ("util-linux" ,util-linux) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1411,9 +1411,9 @@ ("libx11" ,libx11) ("windowswmproto" ,windowswmproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1432,9 +1432,9 @@ (base32 "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1455,9 +1455,9 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1485,9 +1485,9 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1515,9 +1515,9 @@ ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) ("python" ,python))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1542,9 +1542,9 @@ ("libx11" ,libx11) ("compositeproto" ,compositeproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1570,9 +1570,9 @@ ("libx11" ,libx11) ("fixesproto" ,fixesproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1599,9 +1599,9 @@ ("fixesproto" ,fixesproto) ("damageproto" ,damageproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1622,9 +1622,9 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1649,9 +1649,9 @@ ("xextproto" ,xextproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1676,9 +1676,9 @@ ("libx11" ,libx11) ("fixesproto" ,fixesproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1705,9 +1705,9 @@ ("fontsproto" ,fontsproto) ("libfontenc" ,libfontenc) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1736,9 +1736,9 @@ ("freetype" ,freetype) ("fontconfig" ,fontconfig) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1764,9 +1764,9 @@ ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1791,9 +1791,9 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1816,9 +1816,9 @@ `(("libx11" ,libx11) ("kbproto" ,kbproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1844,9 +1844,9 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1872,9 +1872,9 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1902,9 +1902,9 @@ ("renderproto" ,renderproto) ("randrproto" ,randrproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1928,9 +1928,9 @@ ("libx11" ,libx11) ("renderproto" ,renderproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1956,9 +1956,9 @@ ("libx11" ,libx11) ("resourceproto" ,resourceproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -1983,9 +1983,9 @@ ("libx11" ,libx11) ("scrnsaverproto" ,scrnsaverproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2011,9 +2011,9 @@ ("kbproto" ,kbproto) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2040,9 +2040,9 @@ ("recordproto" ,recordproto) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2068,9 +2068,9 @@ ("libx11" ,libx11) ("videoproto" ,videoproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2097,9 +2097,9 @@ ("libx11" ,libx11) ("videoproto" ,videoproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2118,9 +2118,9 @@ (base32 "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2139,9 +2139,9 @@ (base32 "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2163,9 +2163,9 @@ (inputs `(("libfontenc" ,libfontenc) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2186,9 +2186,9 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2208,9 +2208,9 @@ "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2235,9 +2235,9 @@ ("freetype" ,freetype) ("libfontenc" ,libfontenc) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2257,9 +2257,9 @@ "0wfwcq85wbm0g5r0snc7prgki1wi3kxrxhcxinyr54n45ihh03fr")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2279,9 +2279,9 @@ "0w3kgr1zabwf79bpc28dcnj0fpni6r53rpi82ngjbalj5s6m8xx7")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2301,9 +2301,9 @@ "0dr5xw6s0qmqg0q5pdkb4jkdhaja0vbfqla79qh5j1xjj9dmlwq6")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2323,9 +2323,9 @@ "0638iyfiiyjw1hg3139pai0j6m65gkskrvd9684zgc6ydcx00riw")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2345,9 +2345,9 @@ "0rfdbfwd35d761xkfifcscx56q0n56043ixlmv70r4v4l66hmdwb")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2368,9 +2368,9 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2393,9 +2393,9 @@ `(("libxkbfile" ,libxkbfile) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2420,9 +2420,9 @@ ("libsm" ,libsm) ("libice" ,libice) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2442,9 +2442,9 @@ "1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2464,9 +2464,9 @@ "0nk3i6gwkqq1w8zwn7bxz344pi1dwcjrmf6hr330h7hxjcj6viry")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2486,9 +2486,9 @@ "0syjxgy4m8l94qrm03nvn5k6bkxc8knnlld1gbllym97nvnv0ny0")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2507,9 +2507,9 @@ (base32 "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2534,9 +2534,9 @@ ("libxau" ,libxau) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2560,9 +2560,9 @@ ;; ("xcb-util" ,xcb-util) ;; ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2582,9 +2582,9 @@ "178ym90kwidia6nas4qr5n5yqh698vv8r02js0r4vg3b6lsb0w9n")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2605,9 +2605,9 @@ (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config) ("python" ,python))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2627,9 +2627,9 @@ "1pyjv45wivnwap2wvsbrzdvjc5ql8bakkbkrvcv6q9bjjf33ccmi")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2651,9 +2651,9 @@ (inputs `(("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2675,9 +2675,9 @@ (inputs `(("libxcursor" ,libxcursor) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2701,9 +2701,9 @@ ("libx11" ,libx11) ("libpng" ,libpng) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2736,9 +2736,9 @@ ("libx11" ,libx11) ("libdmx" ,libdmx) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2763,9 +2763,9 @@ ("libx11" ,libx11) ("glproto" ,glproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2790,9 +2790,9 @@ ("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2812,9 +2812,9 @@ "06kdanbnprxvgl56l5h0lqj4b0f1fbb1ndha33mv5wvy802v2lvw")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2833,9 +2833,9 @@ (base32 "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2854,9 +2854,9 @@ (base32 "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2875,9 +2875,9 @@ (base32 "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2896,9 +2896,9 @@ (base32 "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2917,9 +2917,9 @@ (base32 "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2938,9 +2938,9 @@ (base32 "16l65mnjb1xxav6c5q0xhhqih81bzify2c5qrhqc2j3waq5yr9m8")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2959,9 +2959,9 @@ (base32 "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -2980,9 +2980,9 @@ (base32 "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3001,9 +3001,9 @@ (base32 "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3022,9 +3022,9 @@ (base32 "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3043,9 +3043,9 @@ (base32 "0blnbspj4936wy46lp346s4b08dfcray6yicsxvv5b4699fzl1rb")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3064,9 +3064,9 @@ ;; (base32 ;; "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license non-free))) @@ -3085,9 +3085,9 @@ (base32 "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3106,9 +3106,9 @@ (base32 "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3127,9 +3127,9 @@ (base32 "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3148,9 +3148,9 @@ (base32 "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3169,9 +3169,9 @@ (base32 "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3190,9 +3190,9 @@ (base32 "1g742szymajh88a5dw08sxcr45bmxgc4w3m6hddv9qscn5hks4rj")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3211,9 +3211,9 @@ (base32 "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3232,9 +3232,9 @@ (base32 "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3253,9 +3253,9 @@ (base32 "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3274,9 +3274,9 @@ (base32 "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3295,9 +3295,9 @@ (base32 "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3316,9 +3316,9 @@ (base32 "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3337,9 +3337,9 @@ (base32 "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3358,9 +3358,9 @@ (base32 "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3379,9 +3379,9 @@ (base32 "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3400,9 +3400,9 @@ (base32 "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:bsd-3))) @@ -3421,9 +3421,9 @@ (base32 "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3442,9 +3442,9 @@ (base32 "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3463,9 +3463,9 @@ (base32 "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3484,9 +3484,9 @@ (base32 "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3505,9 +3505,9 @@ (base32 "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3526,9 +3526,9 @@ ;; (base32 ;; "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb")))) ;; (build-system gnu-build-system) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license none))) @@ -3547,9 +3547,9 @@ (base32 "0wqms28kkz2fvghqhqwp6w8zj7k5cgwnhzvkc7j4v268bf6h78g4")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3568,9 +3568,9 @@ (base32 "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3589,9 +3589,9 @@ (base32 "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3610,9 +3610,9 @@ (base32 "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:bsd-2))) @@ -3631,9 +3631,9 @@ (base32 "0j0n7sj5xfjpmmgx6n5x556rw21hdd18fwmavp95wps7qki214ms")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3652,9 +3652,9 @@ (base32 "0l4hx48207mx0hp09026r6gy9nl3asbq0c75hri19wp1118zcpmc")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3673,9 +3673,9 @@ (base32 "07v69m0g2dfzb653jni4x656jlr7l84c1k39j8qc8vfb45r8sjww")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3694,9 +3694,9 @@ (base32 "0w47d7gfa8zizh2bshdr2rffvbr4jqjv019mdgyh6cmplyd4kna5")))) (build-system gnu-build-system) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3719,9 +3719,9 @@ `(("libxxf86vm" ,libxxf86vm) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3745,9 +3745,9 @@ ("libxau" ,libxau) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3767,9 +3767,9 @@ "0ns8abd27x7gbp4r44z3wc5k9zqxxj8zjnazqpcyr4n17nxp8xcp")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3797,9 +3797,9 @@ ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3823,9 +3823,9 @@ ("libxkbfile" ,libxkbfile) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3848,9 +3848,9 @@ `(("libxkbfile" ,libxkbfile) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3876,9 +3876,9 @@ ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3898,9 +3898,9 @@ "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3923,9 +3923,9 @@ `(("libxmu" ,libxmu) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3947,9 +3947,9 @@ (inputs `(;("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3971,9 +3971,9 @@ (inputs `(;("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -3996,9 +3996,9 @@ `(("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4018,9 +4018,9 @@ ;; "0prphdba6kgr1bxk7r07wxxx6x6pqjw6prr5qclypsb5sf5r3cdr")))) ;; (build-system gnu-build-system) ;; (inputs `(("pkg-config" ,pkg-config))) -;; (home-page #f) -;; (synopsis #f) -;; (description #f) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") ;; (license none))) @@ -4085,9 +4085,9 @@ ("xineramaproto" ,xineramaproto) ("xtrans" ,xtrans) ("zlib" ,zlib))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4107,9 +4107,9 @@ "0k5pffyi5bx8dmfn033cyhgd3gf6viqj3x769fqixifwhbgy2777")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4133,9 +4133,9 @@ ("libxmu" ,libxmu) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4158,9 +4158,9 @@ `(("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4180,9 +4180,9 @@ "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4207,9 +4207,9 @@ ("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4232,9 +4232,9 @@ `(("libxmu" ,libxmu) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4256,9 +4256,9 @@ (inputs `(("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4284,9 +4284,9 @@ ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4311,9 +4311,9 @@ ("xbitmaps" ,xbitmaps) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4333,9 +4333,9 @@ "19p1bw3qyn0ia1znx6q3gx92rr9rl88ylrfijjclm8vhpa8i30bz")))) (build-system gnu-build-system) (inputs `(("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4359,9 +4359,9 @@ ("libxv" ,libxv) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4385,9 +4385,9 @@ ("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4411,9 +4411,9 @@ ;; ("libxcb" ,libxcb) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) @@ -4436,7 +4436,7 @@ `(("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) - (home-page #f) - (synopsis #f) - (description #f) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") (license license:x11))) From 9d12d38f381cec2eddaa325314ac5b623f38e524 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 3 Mar 2013 20:24:42 +0100 Subject: [PATCH 066/151] gnu: xorg: Uncomment dependencies on libxcb. * gnu/packages/xorg.scm (xbacklight, xdpyinfo, xlsatoms, xlsclients, xwininfo): Uncomment dependency on libxcb. --- gnu/packages/xorg.scm | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 4777f68045..90e899c6b1 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2558,7 +2558,7 @@ (inputs `(("libxrender" ,libxrender) ;; ("xcb-util" ,xcb-util) -;; ("libxcb" ,libxcb) + ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -2732,7 +2732,7 @@ ("libxi" ,libxi) ("libxext" ,libxext) ("libxcomposite" ,libxcomposite) -;; ("libxcb" ,libxcb) + ("libxcb" ,libxcb) ("libx11" ,libx11) ("libdmx" ,libdmx) ("pkg-config" ,pkg-config))) @@ -3945,7 +3945,7 @@ "1y9nfl8s7njxbnci8c20j986xixharasgg40vdw92y593j6dk2rv")))) (build-system gnu-build-system) (inputs - `(;("libxcb" ,libxcb) + `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -3969,7 +3969,7 @@ "1l97j15mg4wfzpm81wlpzagfjff7v4fwn7s2z2rpksk3gfcg7r8w")))) (build-system gnu-build-system) (inputs - `(;("libxcb" ,libxcb) + `(("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4408,7 +4408,7 @@ (build-system gnu-build-system) (inputs `(("xproto" ,xproto) -;; ("libxcb" ,libxcb) + ("libxcb" ,libxcb) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") From 48ebc134f4456e81d4c660da652a752382890662 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 6 Mar 2013 14:38:42 +0100 Subject: [PATCH 067/151] gnu: xorg: Correct typo in download location. * gnu/packages/xorg.scm (xf86-video-glide): Correct typo. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 90e899c6b1..ea7546d8c8 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3120,7 +3120,7 @@ (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-glide" + "mirror://xorg/X11R7.7/src/everything/xf86-video-glide-" version ".tar.bz2")) (sha256 From 6eb126c5f2870209837919b93b899857046497b5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 6 Mar 2013 22:08:52 +0100 Subject: [PATCH 068/151] gnu: xorg: Add inputs and propagated-inputs, propagate some inputs. Rename two packages to avoid clashes between package names and versions. * gnu/packages/xorg.scm (font-adobe-100dpi): Rename to font-adobe100dpi. * gnu/packages/xorg.scm (font-adobe-75dpi): Rename to font-adobe75dpi. * gnu/packages/xorg.scm: Add pkg-xonfig as input to several packages. * gnu/packages/xorg.scm (encodings): Add input mkfontscale. * gnu/packages/xorg.scm (libx11): Add inputs inputprotoi, xextproto, xtrans. * gnu/packages/xorg.scm (libxpm): Add input gettext. * gnu/packages/xorg.scm (libxxf86dga): Add inputs libx11, libxext, xf86dgaproto. * gnu/packages/xorg.scm (libxxf86vm): Add inputs libx11i, libxext, xf86vidmodeproto. * gnu/packages/xorg.scm (x11perf): Add inputs libx11i, libxfti, libxmu, libxrender. * gnu/packages/xorg.scm (xcursor-themes): Add input xcursorgen. * gnu/packages/xorg.scm (xdpyinfo): Add input inputproto. * gnu/packages/xorg.scm (font-xfree86-type1): Add input mkfontdir. * gnu/packages/xorg.scm (libx11): Add propagated inputs kbproto, libxcb. * gnu/packages/xorg.scm (mkfontdir): Add propagated input mkfontscale. * gnu/packages/xorg.scm (fixesproto): Propagate input xextproto. * gnu/packages/xorg.scm (libice): Propagate input xproto. * gnu/packages/xorg.scm (libxau): Propagate input xproto. * gnu/packages/xorg.scm (libxaw): Propagate inputs libxext, libxmu, libxpm. * gnu/packages/xorg.scm (libxcb): Propagate inputs libpthread-stubs, libxaui, libxdmcp. * gnu/packages/xorg.scm (libxcursor): Propagate inputs libx11, libxfixes, libxrender, xproto. * gnu/packages/xorg.scm (libxext): Propagate input xextproto. * gnu/packages/xorg.scm (libxfixes): Propagate input fixesproto. * gnu/packages/xorg.scm (libxfont): Propagate inputs fontsproto, freetype, libfontenc, xproto. * gnu/packages/xorg.scm (libxinerama): Propagate input xineramaproto. * gnu/packages/xorg.scm (libxrandr): Propagate inputs libxext, randrproto. * gnu/packages/xorg.scm (libxrender): Propagate input renderproto. * gnu/packages/xorg.scm (libxt): Propagate inputs libx11, libice, libsm. * gnu/packages/xorg.scm (libxtst): Propagate input recordproto. * gnu/packages/xorg.scm (xbacklight): Propagate inputs libx11, libxrandr. * gnu/packages/xorg.scm (xkeyboard-config): Propagate inputs libx11, xkbcomp. * gnu/packages/xorg.scm (xproto): Propagate input util-macros. --- gnu/packages/xorg.scm | 1071 +++++++++++++++++++++++------------------ 1 file changed, 596 insertions(+), 475 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index ea7546d8c8..d6439ec4d4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -27,6 +27,8 @@ #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) + #:use-module ((gnu packages gettext) + #:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages glib) #:use-module (gnu packages gperf) #:use-module (gnu packages libpng) @@ -38,6 +40,13 @@ #:use-module (gnu packages python) #:use-module (gnu packages xml)) + + +;; packages without propagated input +;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to +;; be defined first, the split makes book-keeping easier.) + + (define-public applewmproto (package (name "applewmproto") @@ -210,40 +219,18 @@ (base32 "0ffmaw80vmfwdgvdkp6495xgsqszb6s0iira5j0j6pd4i0lk3mnf")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("mkfontscale" ,mkfontscale) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:public-domain))) -(define-public fixesproto +(define-public font-adobe100dpi (package - (name "fixesproto") - (version "5.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/fixesproto-" - version - ".tar.bz2")) - (sha256 - (base32 - "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs")))) - (build-system gnu-build-system) - (inputs - `(("xextproto" ,xextproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public font-adobe-100dpi - (package - (name "font-adobe-100dpi") + (name "font-adobe100dpi") (version "1.0.3") (source (origin @@ -262,9 +249,9 @@ (license license:x11))) -(define-public font-adobe-75dpi +(define-public font-adobe75dpi (package - (name "font-adobe-75dpi") + (name "font-adobe75dpi") (version "1.0.3") (source (origin @@ -283,9 +270,9 @@ (license license:x11))) -;; (define-public font-adobe-utopia-100dpi +;; (define-public font-adobe-utopia100dpi ;; (package -;; (name "font-adobe-utopia-100dpi") +;; (name "font-adobe-utopia100dpi") ;; (version "1.0.4") ;; (source ;; (origin @@ -304,9 +291,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-adobe-utopia-75dpi +;; (define-public font-adobe-utopia75dpi ;; (package -;; (name "font-adobe-utopia-75dpi") +;; (name "font-adobe-utopia75dpi") ;; (version "1.0.4") ;; (source ;; (origin @@ -393,9 +380,9 @@ (license license:x11))) -;; (define-public font-bh-100dpi +;; (define-public font-bh100dpi ;; (package -;; (name "font-bh-100dpi") +;; (name "font-bh100dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -414,9 +401,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-bh-75dpi +;; (define-public font-bh75dpi ;; (package -;; (name "font-bh-75dpi") +;; (name "font-bh75dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -435,9 +422,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-bh-lucidatypewriter-100dpi +;; (define-public font-bh-lucidatypewriter100dpi ;; (package -;; (name "font-bh-lucidatypewriter-100dpi") +;; (name "font-bh-lucidatypewriter100dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -456,9 +443,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-bh-lucidatypewriter-75dpi +;; (define-public font-bh-lucidatypewriter75dpi ;; (package -;; (name "font-bh-lucidatypewriter-75dpi") +;; (name "font-bh-lucidatypewriter75dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -502,9 +489,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-bitstream-100dpi +;; (define-public font-bitstream100dpi ;; (package -;; (name "font-bitstream-100dpi") +;; (name "font-bitstream100dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -527,9 +514,9 @@ ;; (license non-free))) ;; ;; -;; (define-public font-bitstream-75dpi +;; (define-public font-bitstream75dpi ;; (package -;; (name "font-bitstream-75dpi") +;; (name "font-bitstream75dpi") ;; (version "1.0.3") ;; (source ;; (origin @@ -1069,6 +1056,9 @@ (base32 "0jp3zc0qfdaqfkgzrb44vi9vi0a8ygb35wp082yz7rvvxhmg9sya")))) (build-system gnu-build-system) + (inputs + `(("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -1293,31 +1283,6 @@ (license license:x11))) -(define-public libice - (package - (name "libice") - (version "1.0.8") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libICE-" - version - ".tar.bz2")) - (sha256 - (base32 - "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94")))) - (build-system gnu-build-system) - (inputs - `(("xtrans" ,xtrans) - ("xproto" ,xproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libpciaccess (package (name "libpciaccess") @@ -1417,110 +1382,6 @@ (license license:x11))) -(define-public libx11 - (package - (name "libx11") - (version "1.5.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libX11-" - version - ".tar.bz2")) - (sha256 - (base32 - "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3")))) - (build-system gnu-build-system) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxau - (package - (name "libxau") - (version "1.0.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXau-" - version - ".tar.bz2")) - (sha256 - (base32 - "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxaw - (package - (name "libxaw") - (version "1.0.11") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXaw-" - version - ".tar.bz2")) - (sha256 - (base32 - "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47")))) - (build-system gnu-build-system) - (inputs - `(("libxt" ,libxt) - ("xproto" ,xproto) - ("libxpm" ,libxpm) - ("libxmu" ,libxmu) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxcb - (package - (name "libxcb") - (version "1.8.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxcb-" - version - ".tar.bz2")) - (sha256 - (base32 - "03gspxcdl8r7jwbwg7fyp4cc6zic9z91amp4g5z0wwahx48nix6j")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxdmcp" ,libxdmcp) - ("xcb-proto" ,xcb-proto) - ("libxau" ,libxau) - ("libpthread-stubs" ,libpthread-stubs) - ("libxslt" ,libxslt) - ("pkg-config" ,pkg-config) - ("python" ,python))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxcomposite (package (name "libxcomposite") @@ -1548,34 +1409,6 @@ (license license:x11))) -(define-public libxcursor - (package - (name "libxcursor") - (version "1.1.13") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXcursor-" - version - ".tar.bz2")) - (sha256 - (base32 - "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p")))) - (build-system gnu-build-system) - (inputs - `(("libxrender" ,libxrender) - ("xproto" ,xproto) - ("libxfixes" ,libxfixes) - ("libx11" ,libx11) - ("fixesproto" ,fixesproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxdamage (package (name "libxdamage") @@ -1628,89 +1461,6 @@ (license license:x11))) -(define-public libxext - (package - (name "libxext") - (version "1.3.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXext-" - version - ".tar.bz2")) - (sha256 - (base32 - "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn")))) - (build-system gnu-build-system) - (inputs - `(("libxau" ,libxau) - ("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxfixes - (package - (name "libxfixes") - (version "5.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXfixes-" - version - ".tar.bz2")) - (sha256 - (base32 - "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libx11" ,libx11) - ("fixesproto" ,fixesproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxfont - (package - (name "libxfont") - (version "1.4.5") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXfont-" - version - ".tar.bz2")) - (sha256 - (base32 - "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv")))) - (build-system gnu-build-system) - (inputs - `(("zlib" ,zlib) - ("xtrans" ,xtrans) - ("xproto" ,xproto) - ("freetype" ,freetype) - ("fontsproto" ,fontsproto) - ("libfontenc" ,libfontenc) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxft (package (name "libxft") @@ -1770,33 +1520,6 @@ (license license:x11))) -(define-public libxinerama - (package - (name "libxinerama") - (version "1.1.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXinerama-" - version - ".tar.bz2")) - (sha256 - (base32 - "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4")))) - (build-system gnu-build-system) - (inputs - `(("xineramaproto" ,xineramaproto) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxkbfile (package (name "libxkbfile") @@ -1866,7 +1589,8 @@ "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6")))) (build-system gnu-build-system) (inputs - `(("libxt" ,libxt) + `(("gettext" ,gnu:gettext) + ("libxt" ,libxt) ("xproto" ,xproto) ("xextproto" ,xextproto) ("libxext" ,libxext) @@ -1878,62 +1602,6 @@ (license license:x11))) -(define-public libxrandr - (package - (name "libxrandr") - (version "1.3.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/XqqR7.7/src/everything/libXrandr-" - version - ".tar.bz2")) - (sha256 - (base32 - "10cvv78ws8jznma4s45dzqz0ldcxk30qgsqrc4wxfcsjmcba5b3y")))) - (build-system gnu-build-system) - (inputs - `(("libxrender" ,libxrender) - ("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("renderproto" ,renderproto) - ("randrproto" ,randrproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxrender - (package - (name "libxrender") - (version "0.9.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXrender-" - version - ".tar.bz2")) - (sha256 - (base32 - "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libx11" ,libx11) - ("renderproto" ,renderproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxres (package (name "libxres") @@ -1989,63 +1657,6 @@ (license license:x11))) -(define-public libxt - (package - (name "libxt") - (version "1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXt-" - version - ".tar.bz2")) - (sha256 - (base32 - "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libx11" ,libx11) - ("libsm" ,libsm) - ("kbproto" ,kbproto) - ("libice" ,libice) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - -(define-public libxtst - (package - (name "libxtst") - (version "1.2.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXtst-" - version - ".tar.bz2")) - (sha256 - (base32 - "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky")))) - (build-system gnu-build-system) - (inputs - `(("libxi" ,libxi) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("recordproto" ,recordproto) - ("inputproto" ,inputproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxv (package (name "libxv") @@ -2118,6 +1729,11 @@ (base32 "15291ddhyr54sribwbg8hxx2psgzm5gh0pgkw5yrf3zgvdsa67sm")))) (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2139,6 +1755,11 @@ (base32 "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55")))) (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("pkg-config" ,pkg-config) + ("xf86vidmodeproto" ,xf86vidmodeproto))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2192,28 +1813,6 @@ (license license:x11))) -(define-public mkfontdir - (package - (name "mkfontdir") - (version "1.0.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/mkfontdir-" - version - ".tar.bz2")) - (sha256 - (base32 - "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public mkfontscale (package (name "mkfontscale") @@ -2507,6 +2106,12 @@ (base32 "111iwpxhnxjiq44w96zf0kszg5zpgv1g3ayx18v4nhdzl9bqivi4")))) (build-system gnu-build-system) + (inputs + `(("libx11" ,libx11) + ("libxft" ,libxft) + ("libxmu" ,libxmu) + ("libxrender" ,libxrender) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2556,8 +2161,9 @@ "02b5jfys2msla2yvg5s0knzyxg2104r25czkwd49i8g8kp804bxg")))) (build-system gnu-build-system) (inputs - `(("libxrender" ,libxrender) -;; ("xcb-util" ,xcb-util) + `(("libx11" ,libx11) + ("libxrandr" ,libxrandr) + ("libxrender" ,libxrender) ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -2674,7 +2280,8 @@ (build-system gnu-build-system) (inputs `(("libxcursor" ,libxcursor) - ("pkg-config" ,pkg-config))) + ("pkg-config" ,pkg-config) + ("xcursorgen" ,xcursorgen))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2723,7 +2330,8 @@ "0gypsvpmay3lsh3b1dg29pjxv95pkrr21d4w6ys02mrbld24kvi3")))) (build-system gnu-build-system) (inputs - `(("libxxf86vm" ,libxxf86vm) + `(("inputproto" ,inputproto) + ("libxxf86vm" ,libxxf86vm) ;; ("libxxf86misc" ,libxxf86misc) ("libxxf86dga" ,libxxf86dga) ("libxtst" ,libxtst) @@ -2833,6 +2441,7 @@ (base32 "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2854,6 +2463,7 @@ (base32 "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2875,6 +2485,7 @@ (base32 "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2896,6 +2507,7 @@ (base32 "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2917,6 +2529,7 @@ (base32 "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2938,6 +2551,7 @@ (base32 "16l65mnjb1xxav6c5q0xhhqih81bzify2c5qrhqc2j3waq5yr9m8")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2959,6 +2573,7 @@ (base32 "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2980,6 +2595,7 @@ (base32 "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3001,6 +2617,7 @@ (base32 "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3022,6 +2639,7 @@ (base32 "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3043,6 +2661,7 @@ (base32 "0blnbspj4936wy46lp346s4b08dfcray6yicsxvv5b4699fzl1rb")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3064,6 +2683,7 @@ ;; (base32 ;; "0pyr50kqh7g84r4p0x09ay5kxax20dip9sh8h3cbd4xv8cswdbfm")))) ;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config))) ;; (home-page "http://www.x.org/wiki/") ;; (synopsis "xorg implementation of the X Window System") ;; (description "X.org provides an implementation of the X Window System") @@ -3085,6 +2705,7 @@ (base32 "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3106,6 +2727,7 @@ (base32 "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3127,6 +2749,7 @@ (base32 "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3148,6 +2771,7 @@ (base32 "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3169,6 +2793,7 @@ (base32 "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3190,6 +2815,7 @@ (base32 "1g742szymajh88a5dw08sxcr45bmxgc4w3m6hddv9qscn5hks4rj")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3211,6 +2837,7 @@ (base32 "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3232,6 +2859,7 @@ (base32 "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3253,6 +2881,7 @@ (base32 "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3274,6 +2903,7 @@ (base32 "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3295,6 +2925,7 @@ (base32 "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3316,6 +2947,7 @@ (base32 "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3337,6 +2969,7 @@ (base32 "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3358,6 +2991,7 @@ (base32 "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3379,6 +3013,7 @@ (base32 "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3400,6 +3035,7 @@ (base32 "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3421,6 +3057,7 @@ (base32 "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3442,6 +3079,7 @@ (base32 "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3463,6 +3101,7 @@ (base32 "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3484,6 +3123,7 @@ (base32 "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3505,6 +3145,7 @@ (base32 "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3526,6 +3167,7 @@ ;; (base32 ;; "0pcjc75hgbih3qvhpsx8d4fljysfk025slxcqyyhr45dzch93zyb")))) ;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config))) ;; (home-page "http://www.x.org/wiki/") ;; (synopsis "xorg implementation of the X Window System") ;; (description "X.org provides an implementation of the X Window System") @@ -3547,6 +3189,7 @@ (base32 "0wqms28kkz2fvghqhqwp6w8zj7k5cgwnhzvkc7j4v268bf6h78g4")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3568,6 +3211,7 @@ (base32 "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3589,6 +3233,7 @@ (base32 "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3610,6 +3255,7 @@ (base32 "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3897,7 +3543,10 @@ (base32 "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs + `(("libx11" ,libx11) + ("pkg-config" ,pkg-config) + ("xkbcomp" ,xkbcomp))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4164,28 +3813,6 @@ (license license:x11))) -(define-public xproto - (package - (name "xproto") - (version "7.0.23") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xproto-" - version - ".tar.bz2")) - (sha256 - (base32 - "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public xrandr (package (name "xrandr") @@ -4440,3 +4067,497 @@ (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) + + + +;; packages of height 1 in the propagated-inputs tree + +(define-public fixesproto + (package + (name "fixesproto") + (version "5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/fixesproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "1ki4wiq2iivx5g4w5ckzbjbap759kfqd72yg18m3zpbb4hqkybxs")))) + (build-system gnu-build-system) + (propagated-inputs + `(("xextproto" ,xextproto))) + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxext + (package + (name "libxext") + (version "1.3.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXext-" + version + ".tar.bz2")) + (sha256 + (base32 + "0ng8clhn7srbkadxjc7ih3z3v27v9ny0aa0dqkgddgxpgrhrq8jn")))) + (build-system gnu-build-system) + (propagated-inputs + `(("xextproto" ,xextproto))) + (inputs + `(("libxau" ,libxau) + ("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxinerama + (package + (name "libxinerama") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXinerama-" + version + ".tar.bz2")) + (sha256 + (base32 + "1b3aq1762hxzchd9ndavdjlksq93991s0g2z6spf8wl3v0pprrx4")))) + (build-system gnu-build-system) + (propagated-inputs + `(("xineramaproto" ,xineramaproto))) + (inputs + `(("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxrender + (package + (name "libxrender") + (version "0.9.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXrender-" + version + ".tar.bz2")) + (sha256 + (base32 + "1rmvja2gkf5v0k2n1bcghw8v98m2kfn3af0rbmsda5dwr69npd7r")))) + (build-system gnu-build-system) + (propagated-inputs + `(("renderproto" ,renderproto))) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxtst + (package + (name "libxtst") + (version "1.2.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXtst-" + version + ".tar.bz2")) + (sha256 + (base32 + "1q750hjplq1rfyxkr4545z1y2a1wfnc828ynvbws7b4jwdk3xsky")))) + (build-system gnu-build-system) + (propagated-inputs + `(("recordproto" ,recordproto))) + (inputs + `(("libxi" ,libxi) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public mkfontdir + (package + (name "mkfontdir") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/mkfontdir-" + version + ".tar.bz2")) + (sha256 + (base32 + "0c3563kw9fg15dpgx4dwvl12qz6sdqdns1pxa574hc7i5m42mman")))) + (build-system gnu-build-system) + (propagated-inputs + `(("mkfontscale" ,mkfontscale))) + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public xproto + (package + (name "xproto") + (version "7.0.23") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "17lkmi12f89qvg4jj5spqzwzc24fmsqq68dv6kpy7r7b944lmq5d")))) + (build-system gnu-build-system) + (propagated-inputs + `(("util-macros" ,util-macros))) ; to get util-macros in (almost?) all package inputs + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + + +;; packages of height 2 in the propagated-inputs tree + +(define-public libice + (package + (name "libice") + (version "1.0.8") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libICE-" + version + ".tar.bz2")) + (sha256 + (base32 + "07mp13pb3s73kj7y490gnx619znzwk91mlf8kdw0rzq29ll93a94")))) + (build-system gnu-build-system) + (propagated-inputs + `(("xproto" ,xproto))) + (inputs + `(("xtrans" ,xtrans) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxau + (package + (name "libxau") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXau-" + version + ".tar.bz2")) + (sha256 + (base32 + "12d4f7sdv2pjxhk0lcay0pahccddszkw579dc59daqi37r8bllvi")))) + (build-system gnu-build-system) + (propagated-inputs + `(("xproto" ,xproto))) + (inputs + `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxaw + (package + (name "libxaw") + (version "1.0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXaw-" + version + ".tar.bz2")) + (sha256 + (base32 + "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxext" ,libxext) + ("libxmu" ,libxmu) + ("libxpm" ,libxpm))) + (inputs + `(("libxt" ,libxt) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxfixes + (package + (name "libxfixes") + (version "5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXfixes-" + version + ".tar.bz2")) + (sha256 + (base32 + "1qx2rmwhmca2n7rgafy0arp15k5vwhdhhh6v6mx76hlj29328yjk")))) + (build-system gnu-build-system) + (propagated-inputs + `(("fixesproto" ,fixesproto))) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxfont + (package + (name "libxfont") + (version "1.4.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXfont-" + version + ".tar.bz2")) + (sha256 + (base32 + "0w3irg00k6b6mziddnacln9q2rkf5848b04nvjqwv5bb1fw6zydv")))) + (build-system gnu-build-system) + (propagated-inputs + `(("fontsproto" ,fontsproto) + ("freetype" ,freetype) + ("libfontenc" ,libfontenc) + ("xproto" ,xproto))) + (inputs + `(("zlib" ,zlib) + ("xtrans" ,xtrans) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxrandr + (package + (name "libxrandr") + (version "1.3.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/XqqR7.7/src/everything/libXrandr-" + version + ".tar.bz2")) + (sha256 + (base32 + "10cvv78ws8jznma4s45dzqz0ldcxk30qgsqrc4wxfcsjmcba5b3y")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxext" ,libxext) + ("randrproto" ,randrproto))) + (inputs + `(("libxrender" ,libxrender) + ("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("renderproto" ,renderproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + + +;; packages of height 3 in the propagated-inputs tree + +(define-public libxcb + (package + (name "libxcb") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libxcb-" + version + ".tar.bz2")) + (sha256 + (base32 + "03gspxcdl8r7jwbwg7fyp4cc6zic9z91amp4g5z0wwahx48nix6j")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libpthread-stubs" ,libpthread-stubs) + ("libxau" ,libxau) + ("libxdmcp" ,libxdmcp))) + (inputs + `(("xcb-proto" ,xcb-proto) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("xproto" ,xproto))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +;; packages of height 4 in the propagated-inputs tree + +(define-public libx11 + (package + (name "libx11") + (version "1.5.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libX11-" + version + ".tar.bz2")) + (sha256 + (base32 + "11jdpl15bxwpwv0knpkh990s8jvlybng3dx477pkrz1bx7byz0n3")))) + (build-system gnu-build-system) + (propagated-inputs + `(("kbproto" ,kbproto) + ("libxcb" ,libxcb))) + (inputs + `(("inputproto" ,inputproto) + ("libxcb" ,libxcb) + ("pkg-config" ,pkg-config) + ("xextproto" ,xextproto) + ("xtrans" ,xtrans))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +;; packages of height 5 in the propagated-inputs tree + +(define-public libxcursor + (package + (name "libxcursor") + (version "1.1.13") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXcursor-" + version + ".tar.bz2")) + (sha256 + (base32 + "13xd1dyb06gwdwb0bxb22fkgdlmis6wrljm2xk6fhz0v9bg2g27p")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libx11" ,libx11) + ("libxrender" ,libxrender) + ("libxfixes" ,libxfixes) + ("xproto" ,xproto))) + (inputs + `(("fixesproto" ,fixesproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + +(define-public libxt + (package + (name "libxt") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXt-" + version + ".tar.bz2")) + (sha256 + (base32 + "1g85gwnhs7lg5f01gfi1cpb916xc3spm1fjlv2f4xz2zzk1r7dcd")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libx11" ,libx11) + ("libice" ,libice) + ("libsm" ,libsm))) + (inputs + `(("xproto" ,xproto) + ("libx11" ,libx11) + ("kbproto" ,kbproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + From d92083ad99e0d5f43fa9ded5ef0d023815ea4ff3 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 6 Mar 2013 22:24:08 +0100 Subject: [PATCH 069/151] gnu: xorg: Comment applewmproto and libapplewm, compile only on macos. * gnu/packages/xorg.scm (applewmproto,libapplewm): Remove variables. --- gnu/packages/xorg.scm | 92 ++++++++++++++++++++++--------------------- 1 file changed, 47 insertions(+), 45 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d6439ec4d4..248d4efa73 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -47,26 +47,27 @@ ;; be defined first, the split makes book-keeping easier.) -(define-public applewmproto - (package - (name "applewmproto") - (version "1.4.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/applewmproto-" - version - ".tar.bz2")) - (sha256 - (base32 - "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) +;; compiles only on macos +;; (define-public applewmproto +;; (package +;; (name "applewmproto") +;; (version "1.4.2") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/applewmproto-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "1zi4p07mp6jmk030p4gmglwxcwp0lzs5mi31y1b4rp8lsqxdxizw")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config))) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") +;; (license license:x11))) (define-public bdftopcf @@ -1178,31 +1179,32 @@ (license license:x11))) -(define-public libapplewm - (package - (name "libapplewm") - (version "1.4.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libAppleWM-" - version - ".tar.bz2")) - (sha256 - (base32 - "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y")))) - (build-system gnu-build-system) - (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("applewmproto" ,applewmproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) +;; requires applewmproto, which compiles only on macos +;; (define-public libapplewm +;; (package +;; (name "libapplewm") +;; (version "1.4.1") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/libAppleWM-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0r8x28n45q89x91mz8mv0zkkcxi8wazkac886fyvflhiv2y8ap2y")))) +;; (build-system gnu-build-system) +;; (inputs +;; `(("xextproto" ,xextproto) +;; ("libxext" ,libxext) +;; ("libx11" ,libx11) +;; ("applewmproto" ,applewmproto) +;; ("pkg-config" ,pkg-config))) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") +;; (license license:x11))) (define-public libdmx From 5acf2910b8055b8baf9fc4187943095370f1764c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 6 Mar 2013 22:40:03 +0100 Subject: [PATCH 070/151] gnu: xorg: Add pixman. * gnu/packages/xorg.scm (pixman): New variable. * gnu/packages/xorg.scm (xorg-server): Enable input pixman. --- gnu/packages/xorg.scm | 33 ++++++++++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 248d4efa73..0735f950a4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -42,6 +42,37 @@ +;; packages outside the x.org system proper + +(define-public pixman + (package + (name "pixman") + (version "0.28.2") + (source + (origin + (method url-fetch) + (uri (string-append + "http://cairographics.org/releases/pixman-" + version + ".tar.gz")) + (sha256 + (base32 + "0mcvxd5gx3w1wzgph91l2vaiic91jmx7s01hi2igphyvd80ckyia")))) + (build-system gnu-build-system) + (inputs + `(("libpng" ,libpng) + ("pkg-config" ,pkg-config) + ("zlib" ,zlib))) + (home-page "http://www.pixman.org/") + (synopsis "pixman, a 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))) + + + + ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to ;; be defined first, the split makes book-keeping easier.) @@ -3719,7 +3750,7 @@ ("libxv" ,libxv) ;; ("mesa" ,mesa) ("openssl" ,openssl) -;; ("pixman" ,pixman) + ("pixman" ,pixman) ("pkg-config" ,pkg-config) ("recordproto" ,recordproto) ("randrproto" ,randrproto) From f8d3c99ba1f1cd0493e2cbdfdf022d5664958511 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Wed, 6 Mar 2013 23:20:34 +0100 Subject: [PATCH 071/151] gnu: xorg: Add libdrm. * gnu/packages/xorg.scm (libdrm): New variable. --- gnu/packages/xorg.scm | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0735f950a4..51522b4bc4 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -71,6 +71,38 @@ rasterisation.") (license license:x11))) +(define-public libdrm + (package + (name "libdrm") + (version "2.4.42") + (source + (origin + (method url-fetch) + (uri (string-append + "http://dri.freedesktop.org/libdrm/libdrm-" + version + ".tar.bz2")) + (sha256 + (base32 + "1qbnpi64hyqzd650hj6jki1d50pzypdhj3rw9m3whwbqly110rz0")))) + (build-system gnu-build-system) + (inputs + `(("libpciaccess" ,libpciaccess) + ("libpthread-stubs" ,libpthread-stubs) + ("pkg-config" ,pkg-config))) + (home-page "http://dri.freedesktop.org/wiki/") + (synopsis "libdrm, 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))) + ;; packages without propagated input From 30db6af1de2066430ac59cec7dbf0105c3230ff0 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Sun, 3 Mar 2013 23:20:28 +0000 Subject: [PATCH 072/151] utils: Add 'wrap-program'. * guix/build/utils.scm (wrap-program): New procedure. --- guix/build/utils.scm | 68 +++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 67 insertions(+), 1 deletion(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index ef215e60bb..356dd46b52 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012, 2013 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. ;;; @@ -51,7 +52,8 @@ patch-shebang patch-makefile-SHELL fold-port-matches - remove-store-references)) + remove-store-references + wrap-program)) ;;; @@ -652,6 +654,70 @@ known as `nuke-refs' in Nixpkgs." (put-u8 out (char->integer char)) result)))))) +(define* (wrap-program prog #:rest vars) + "Rename PROG to .PROG-real and make PROG a wrapper. VARS should look like +this: + + '(VARIABLE DELIMITER POSITION LIST-OF-DIRECTORIES) + +where DELIMITER is optional. ':' will be used if DELIMITER is not given. + +For example, this command: + + (wrap-program \"foo\" + '(\"PATH\" \":\" = (\"/nix/.../bar/bin\")) + '(\"CERT_PATH\" suffix (\"/nix/.../baz/certs\" + \"/qux/certs\"))) + +will copy 'foo' to '.foo-real' and create the file 'foo' with the following +contents: + + #!location/of/bin/bash + export PATH=\"/nix/.../bar/bin\" + export CERT_PATH=\"$CERT_PATH${CERT_PATH:+:}/nix/.../baz/certs:/qux/certs\" + exec location/of/.foo-real + +This is useful for scripts that expect particular programs to be in $PATH, for +programs that expect particular shared libraries to be in $LD_LIBRARY_PATH, or +modules in $GUILE_LOAD_PATH, etc." + (let ((prog-real (string-append "." prog "-real")) + (prog-tmp (string-append "." prog "-tmp"))) + (define (export-variable lst) + ;; Return a string that exports an environment variable. + (match lst + ((var sep '= rest) + (format #f "export ~a=\"~a\"" + var (string-join rest sep))) + ((var sep 'prefix rest) + (format #f "export ~a=\"~a${~a~a+~a}$~a\"" + var (string-join rest sep) var sep sep var)) + ((var sep 'suffix rest) + (format #f "export ~a=\"$~a${~a~a+~a}~a\"" + var var var sep sep (string-join rest sep))) + ((var '= rest) + (format #f "export ~a=\"~a\"" + var (string-join rest ":"))) + ((var 'prefix rest) + (format #f "export ~a=\"~a${~a:+:}$~a\"" + var (string-join rest ":") var var)) + ((var 'suffix rest) + (format #f "export ~a=\"$~a${~a:+:}~a\"" + var var var (string-join rest ":"))))) + + (copy-file prog prog-real) + + (with-output-to-file prog-tmp + (lambda () + (format #t + "#!~a~%~a~%exec ~a~%" + (which "bash") + (string-join (map export-variable vars) + "\n") + (canonicalize-path prog-real)))) + + (chmod prog-tmp #o755) + (rename-file prog-tmp prog))) + ;;; Local Variables: ;;; eval: (put 'call-with-output-file/atomic 'scheme-indent-function 1) ;;; eval: (put 'with-throw-handler 'scheme-indent-function 1) From 322cbda7c5e89e9393310555e3158b83b24c713c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 8 Mar 2013 22:47:01 +0100 Subject: [PATCH 073/151] gnu: libxml2: Add python support. * gnu/packages/xml.scm (libxml2): Compile and install python module. --- gnu/packages/xml.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index b3c5f7d512..ab9fd4bffc 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -19,6 +19,7 @@ (define-module (gnu packages xml) #:use-module (gnu packages) + #:use-module (gnu packages compression) #:use-module (gnu packages gnupg) #:use-module (gnu packages perl) #:use-module (gnu packages python) @@ -64,7 +65,21 @@ things the parser might find in the XML document (like start tags).") (home-page "http://www.xmlsoft.org/") (synopsis "libxml2, a C parser for XML") (inputs `(("perl" ,perl) - ("python" ,python))) + ("python" ,python) + ("zlib" ,zlib))) + (arguments + `(#:phases + (alist-replace + 'install + (lambda* (#:key inputs outputs #:allow-other-keys #:rest args) + (let ((install (assoc-ref %standard-phases 'install)) + (glibc (assoc-ref inputs "libc")) + (out (assoc-ref outputs "out"))) + (apply install args) + (chdir "python") + (substitute* "setup.py" (("/opt/include") (string-append glibc "/include"))) + (system* "python" "setup.py" "install" (string-append "--prefix=" out)))) + %standard-phases))) (description "Libxml2 is the XML C parser and toolkit developed for the Gnome project (but it is usable outside of the Gnome platform).") From 11e3f107884d5f8139ff82c9de5a7ac7ac43727f Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 8 Mar 2013 23:01:39 +0100 Subject: [PATCH 074/151] gnu: libxslt: Add zlib and libxml2 python module to inputs. * gnu/packages/xml.scm (libxslt): Add input zlib and add libxml2 to PYTHONPATH. --- gnu/packages/xml.scm | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index ab9fd4bffc..7b3d222cb0 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -101,7 +101,19 @@ things the parser might find in the XML document (like start tags).") (synopsis "libxslt, a C library for applying XSLT stylesheets to XML documents") (inputs `(("libgcrypt" ,libgcrypt) ("libxml2" ,libxml2) - ("python" ,python))) + ("python" ,python) + ("zlib" ,zlib))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (libxml2 (assoc-ref inputs "libxml2"))) + ;; FIXME: This should be done more centrally. + (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) + (apply configure args))) + %standard-phases))) (description "Libxslt is an XSLT C library developed for the GNOME project. It is based on libxml for XML parsing, tree manipulation and XPath support.") From 6f52fb63ae5792b1d75a56810eaf65a373a0a388 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 9 Mar 2013 00:18:34 +0100 Subject: [PATCH 075/151] gnu: xorg: Propagate input. * gnu/packages/xorg.scm (libxdamage): Propagate input damageproto. --- gnu/packages/xorg.scm | 60 +++++++++++++++++++++---------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 51522b4bc4..14f19938dc 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -24,7 +24,6 @@ #:use-module (guix build-system gnu) #:use-module (gnu packages bison) #:use-module (gnu packages compression) - #:use-module (gnu packages bison) #:use-module (gnu packages flex) #:use-module (gnu packages fontutils) #:use-module ((gnu packages gettext) @@ -1474,35 +1473,6 @@ and Matrox.") (license license:x11))) -(define-public libxdamage - (package - (name "libxdamage") - (version "1.1.3") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXdamage-" - version - ".tar.bz2")) - (sha256 - (base32 - "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("libxfixes" ,libxfixes) - ("xextproto" ,xextproto) - ("libx11" ,libx11) - ("fixesproto" ,fixesproto) - ("damageproto" ,damageproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxdmcp (package (name "libxdmcp") @@ -4162,6 +4132,36 @@ and Matrox.") (license license:x11))) +(define-public libxdamage + (package + (name "libxdamage") + (version "1.1.3") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXdamage-" + version + ".tar.bz2")) + (sha256 + (base32 + "1a678bwap74sqczbr2z4y4fvbr35km3inkm8bi1igjyk4v46jqdw")))) + (build-system gnu-build-system) + (propagated-inputs + `(("damageproto" ,damageproto))) + (inputs + `(("xproto" ,xproto) + ("libxfixes" ,libxfixes) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("fixesproto" ,fixesproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public libxext (package (name "libxext") From 68a3d0e8cd9b0998abbe1c7e15d0de3107dda0f5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 9 Mar 2013 22:28:05 +0100 Subject: [PATCH 076/151] gnu: xorg: Add old versions of mesa and libdrm. * gnu/packages/xorg.scm (mesa): New variable, only version 8.0.5 compiles. * gnu/packages/xorg.scm (libdrm-2.4.33): New variable, required by mesa 8.0.5. --- gnu/packages/xorg.scm | 84 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 84 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 14f19938dc..2998b67c42 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -103,6 +103,90 @@ 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 mesa + (package + (name "mesa") + ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an + ;; infinite configure loop, see + ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527 + (version "8.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.freedesktop.org/pub/mesa/" version + "/MesaLib-" version + ".tar.bz2")) + (sha256 + (base32 + "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) + (build-system gnu-build-system) + (inputs + `(("bison" ,bison) + ("dri2proto" ,dri2proto) + ("expat" ,expat) + ("glproto" ,glproto) + ("flex" ,flex) + ("libdrm" ,libdrm-2.4.33) + ("libx11" ,libx11) + ("libxdamage" ,libxdamage) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxml2" ,libxml2) + ("libxxf86vm" ,libxxf86vm) + ("makedepend" ,makedepend) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (arguments + `(#:configure-flags + `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm + #:phases + (alist-cons-after + 'unpack 'remove-symlink + (lambda* (#:key #:allow-other-keys) + ;; remove dangling symlink to /usr/include/wine/windows + (delete-file "src/gallium/state_trackers/d3d1x/w32api")) + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (libxml2 (assoc-ref inputs "libxml2"))) + ;; FIXME: This should be done more centrally. + (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) + (apply configure args))) + %standard-phases)))) + (home-page "http://mesa3d.org/") + (synopsis "Mesa, an OpenGL implementation") + (description "Mesa is a free implementation of the OpenGL specification - +a system for rendering interactive 3D graphics. A variety of device drivers +allows Mesa to be used in many different environments ranging from software +emulation to complete hardware acceleration for modern GPUs.") + (license license:x11))) + + + ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to From 2b8c5f547ac98b210d855e7ccb67e23cd344e3eb Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 10 Mar 2013 12:46:24 +0100 Subject: [PATCH 077/151] gnu: Add intltool. * gnu/packages/xml.scm (intltool): New variable. * gnu/packages/xml.scm (perl-xml-parser): Fix download location. --- gnu/packages/xml.scm | 40 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 39 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 7b3d222cb0..2c4cda54a3 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -126,7 +126,7 @@ based on libxml for XML parsing, tree manipulation and XPath support.") (source (origin (method url-fetch) (uri (string-append - "mirror://cpan/authors/id/M/MS/MSERGEANT/XML-Parser-" + "mirror://cpan/authors/id/T/TO/TODDR/XML-Parser-" version ".tar.gz")) (sha256 (base32 @@ -149,3 +149,41 @@ then passed on to the Expat object on each parse call. They can also be given as extra arguments to the parse methods, in which case they override options given at XML::Parser creation time.") (home-page "http://search.cpan.org/~toddr/XML-Parser-2.41/Parser.pm"))) + +(define-public intltool + (package + (name "intltool") + (version "0.50.2") + (source (origin + (method url-fetch) + (uri (string-append "https://launchpad.net/intltool/trunk/" + version "/+download/intltool-" + version ".tar.gz")) + (sha256 + (base32 + "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) + (build-system gnu-build-system) + (propagated-inputs + `(("perl" ,perl) + ("perl-xml-parser" ,perl-xml-parser))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (perl-xml-parser (assoc-ref inputs "perl-xml-parser"))) + ;; FIXME: This should be done more centrally. + (setenv "PERL5LIB" (string-append perl-xml-parser "/lib/perl5/site_perl")) + (apply configure args))) + %standard-phases))) + (home-page "https://launchpad.net/intltool/+download") + (synopsis "Utility scripts for internationalising xml") + (description + "intltool automatically extracts translatable strings from oaf, glade, +bonobo ui, nautilus theme and other XML files into the po files. +It automatically merges translations from po files back into .oaf files +(encoding to be 7-bit clean). The merging mechanism can also be extended to +support other types of XML files.") + (license license:gpl2+))) + From 42ed9985b10c08dee53ca58b7d95b4608eb53161 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 10 Mar 2013 13:00:57 +0100 Subject: [PATCH 078/151] gnu: xorg: Make xkeyboard-config compile. * gnu/packages/xorg.scm (xkeyboard-config): Add inputs gettext, intltool, perl-xml-parser. --- gnu/packages/xorg.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 2998b67c42..13c5c4d0c8 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3663,9 +3663,24 @@ emulation to complete hardware acceleration for modern GPUs.") "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) (build-system gnu-build-system) (inputs - `(("libx11" ,libx11) + `(("gettext" ,gnu:gettext) + ("intltool" ,intltool) + ("libx11" ,libx11) + ;; required to set PERL5LIB, although it is propagated by intltool + ("perl-xml-parser" ,perl-xml-parser) ("pkg-config" ,pkg-config) ("xkbcomp" ,xkbcomp))) + (arguments + `(#:phases + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (perl-xml-parser (assoc-ref inputs "perl-xml-parser"))) + ;; FIXME: This should be done more centrally. + (setenv "PERL5LIB" (string-append perl-xml-parser "/lib/perl5/site_perl")) + (apply configure args))) + %standard-phases))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") From 08dccdfd12a176cf8a689aa8ca5e19fb280a137c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 10 Mar 2013 13:31:03 +0100 Subject: [PATCH 079/151] gnu: xorg: Make xorg-server compilable (tests still fail). * gnu/packages/xorg.scm (mesa): Propagate inputs libdrm and libxdamage. * gnu/packages/xorg.scm (xorg-server): Add input videoproto. --- gnu/packages/xorg.scm | 139 ++++++++++++++++++++++-------------------- 1 file changed, 72 insertions(+), 67 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 13c5c4d0c8..e5c0eff097 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -125,69 +125,6 @@ and Matrox.") `("--enable-nouveau-experimental-api"))))) -(define-public mesa - (package - (name "mesa") - ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an - ;; infinite configure loop, see - ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527 - (version "8.0.5") - (source - (origin - (method url-fetch) - (uri (string-append - "ftp://ftp.freedesktop.org/pub/mesa/" version - "/MesaLib-" version - ".tar.bz2")) - (sha256 - (base32 - "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) - (build-system gnu-build-system) - (inputs - `(("bison" ,bison) - ("dri2proto" ,dri2proto) - ("expat" ,expat) - ("glproto" ,glproto) - ("flex" ,flex) - ("libdrm" ,libdrm-2.4.33) - ("libx11" ,libx11) - ("libxdamage" ,libxdamage) - ("libxext" ,libxext) - ("libxfixes" ,libxfixes) - ("libxml2" ,libxml2) - ("libxxf86vm" ,libxxf86vm) - ("makedepend" ,makedepend) - ("pkg-config" ,pkg-config) - ("python" ,python))) - (arguments - `(#:configure-flags - `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm - #:phases - (alist-cons-after - 'unpack 'remove-symlink - (lambda* (#:key #:allow-other-keys) - ;; remove dangling symlink to /usr/include/wine/windows - (delete-file "src/gallium/state_trackers/d3d1x/w32api")) - (alist-replace - 'configure - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure)) - (libxml2 (assoc-ref inputs "libxml2"))) - ;; FIXME: This should be done more centrally. - (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) - (apply configure args))) - %standard-phases)))) - (home-page "http://mesa3d.org/") - (synopsis "Mesa, an OpenGL implementation") - (description "Mesa is a free implementation of the OpenGL specification - -a system for rendering interactive 3D graphics. A variety of device drivers -allows Mesa to be used in many different environments ranging from software -emulation to complete hardware acceleration for modern GPUs.") - (license license:x11))) - - - - ;; packages without propagated input ;; (rationale for this separation: The packages in PROPAGATED_INPUTS need to ;; be defined first, the split makes book-keeping easier.) @@ -3833,7 +3770,6 @@ emulation to complete hardware acceleration for modern GPUs.") ("inputproto" ,inputproto) ("kbproto" ,kbproto) ("libdmx" ,libdmx) -;; ("libdrm" ,libdrm) ("libpciaccess" ,libpciaccess) ("libx11" ,libx11) ("libxau" ,libxau) @@ -3849,16 +3785,17 @@ emulation to complete hardware acceleration for modern GPUs.") ("libxres" ,libxres) ("libxt" ,libxt) ("libxv" ,libxv) -;; ("mesa" ,mesa) + ("mesa" ,mesa) ("openssl" ,openssl) ("pixman" ,pixman) ("pkg-config" ,pkg-config) - ("recordproto" ,recordproto) + ("python" ,python) ("randrproto" ,randrproto) + ("recordproto" ,recordproto) ("renderproto" ,renderproto) ("resourceproto" ,resourceproto) ("scrnsaverproto" ,scrnsaverproto) -;; ("systemd" ,systemd) + ("videoproto" ,videoproto) ("xcmiscproto" ,xcmiscproto) ("xextproto" ,xextproto) ("xf86bigfontproto" ,xf86bigfontproto) @@ -3866,6 +3803,9 @@ emulation to complete hardware acceleration for modern GPUs.") ("xf86driproto" ,xf86driproto) ("xf86vidmodeproto" ,xf86vidmodeproto) ("xineramaproto" ,xineramaproto) +;; ("xkbcomp" ,xkbcomp) +;; ("xkbutils" ,xkbutils) +;; ("xkeyboard-config" ,xkeyboard-config) ("xtrans" ,xtrans) ("zlib" ,zlib))) (home-page "http://www.x.org/wiki/") @@ -4425,6 +4365,71 @@ emulation to complete hardware acceleration for modern GPUs.") +;; package outside the x.org system proper of height 2 + +(define-public mesa + (package + (name "mesa") + ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an + ;; infinite configure loop, see + ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527 + (version "8.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.freedesktop.org/pub/mesa/" version + "/MesaLib-" version + ".tar.bz2")) + (sha256 + (base32 + "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libdrm" ,libdrm-2.4.33) + ("libxdamage" ,libxdamage))) + (inputs + `(("bison" ,bison) + ("dri2proto" ,dri2proto) + ("expat" ,expat) + ("glproto" ,glproto) + ("flex" ,flex) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxml2" ,libxml2) + ("libxxf86vm" ,libxxf86vm) + ("makedepend" ,makedepend) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (arguments + `(#:configure-flags + `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm + #:phases + (alist-cons-after + 'unpack 'remove-symlink + (lambda* (#:key #:allow-other-keys) + ;; remove dangling symlink to /usr/include/wine/windows + (delete-file "src/gallium/state_trackers/d3d1x/w32api")) + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (libxml2 (assoc-ref inputs "libxml2"))) + ;; FIXME: This should be done more centrally. + (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) + (apply configure args))) + %standard-phases)))) + (home-page "http://mesa3d.org/") + (synopsis "Mesa, an OpenGL implementation") + (description "Mesa is a free implementation of the OpenGL specification - +a system for rendering interactive 3D graphics. A variety of device drivers +allows Mesa to be used in many different environments ranging from software +emulation to complete hardware acceleration for modern GPUs.") + (license license:x11))) + + + ;; packages of height 2 in the propagated-inputs tree (define-public libice From e45a6082455d54dbf0eed939df83edcc718a80f5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 10 Mar 2013 13:42:40 +0100 Subject: [PATCH 080/151] gnu: xorg: Add xeyes (for testing purposes). * gnu/packages/xorg.scm (xeyes): New variable. --- gnu/packages/xorg.scm | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index e5c0eff097..6f0d7b5b43 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -43,6 +43,33 @@ ;; 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 + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxmu" ,libxmu) + ("libxt" ,libxt) + ("pkg-config" ,pkg-config))) + (home-page "http://xeyes.sourcearchive.com/") + (synopsis "") + (description "") + (license license:x11))) + + (define-public pixman (package (name "pixman") From 444c64b04e84af4e6b2137b12c205f194f312d68 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Mar 2013 18:37:40 +0100 Subject: [PATCH 081/151] gnu: binutils: Update to 2.23.1. * gnu/packages/base.scm (binutils): Update to 2.23.1. Add `--disable-werror'. (binutils-boot0): Augment BINUTILS's configure flags. --- gnu/packages/base.scm | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 537bd5af6d..e1b84b73dc 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -342,14 +342,14 @@ that it is possible to use Make to build and install the program.") (define-public binutils (package (name "binutils") - (version "2.22") + (version "2.23.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "1a9w66v5dwvbnawshjwqcgz7km6kw6ihkzp6sswv9ycc3knzhykc")))) + "06bs5v5ndb4g5qx96d52lc818gkbskd1m0sz57314v887sqfbcia")))) (build-system gnu-build-system) ;; Split Binutils in several outputs, mostly to avoid collisions in @@ -367,7 +367,11 @@ that it is possible to use Make to build and install the program.") "LDFLAGS=-static-libgcc" ;; Don't search under /usr/lib & co. - "--with-lib-path=/no-ld-lib-path"))) + "--with-lib-path=/no-ld-lib-path" + + ;; Glibc 2.17 has a "comparison of unsigned + ;; expression >= 0 is always true" in wchar.h. + "--disable-werror"))) (synopsis "GNU Binutils, tools for manipulating binaries (linker, assembler, etc.)") @@ -703,7 +707,8 @@ identifier SYSTEM." #:implicit-inputs? #f ,@(substitute-keyword-arguments (package-arguments binutils) ((#:configure-flags cf) - `(list ,(string-append "--target=" (boot-triplet))))))) + `(cons ,(string-append "--target=" (boot-triplet)) + ,cf))))) (inputs %boot0-inputs)))) (define gcc-boot0 From 847e7725e9d4033c25e9d802f702d5bd08f9568d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 15 Mar 2013 18:38:47 +0100 Subject: [PATCH 082/151] gnu: coreutils, sed: Update. * gnu/packages/base.scm (sed): Update to 4.2.2. (coreutils): Update to 8.21. --- gnu/packages/base.scm | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index e1b84b73dc..cba1f40c76 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -88,14 +88,14 @@ lines.") (define-public sed (package (name "sed") - (version "4.2.1") + (version "4.2.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/sed/sed-" version ".tar.bz2")) (sha256 (base32 - "13wlsb4sf5d5a82xjhxqmdvrrn36rmw5f0pl9qyb9zkvldnb7hra")))) + "1myvrmh99jsvk7v3d7crm0gcrq51hmmm1r2kjyyci152in1x2j7h")))) (build-system gnu-build-system) (synopsis "GNU sed, a batch stream editor") (arguments @@ -263,14 +263,14 @@ The tools supplied with this package are: (define-public coreutils (package (name "coreutils") - (version "8.20") + (version "8.21") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/coreutils/coreutils-" version ".tar.xz")) (sha256 (base32 - "1cly97xdy3v4nbbx631k43smqw0nnpn651kkprs0yyl2cj3pkjyv")))) + "064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd")))) (build-system gnu-build-system) (inputs `(("acl" ,acl) ("gmp" ,gmp) From 5ee12e217c8ac59dc4515ef12416242d112d938c Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 15 Mar 2013 20:52:48 +0100 Subject: [PATCH 083/151] gnu: xorg: Change download location for xcb related packages. * gnu/packages/xorg.sm (libpthread-stubs, libxcb, xcb-proto): Replace broken xorg mirrors by url of the xcb project. --- gnu/packages/xorg.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 6f0d7b5b43..0706a943be 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1426,7 +1426,7 @@ and Matrox.") (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libpthread-stubs-" + "http://xcb.freedesktop.org/dist/libpthread-stubs-" version ".tar.bz2")) (sha256 @@ -2285,7 +2285,7 @@ and Matrox.") (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xcb-proto-" + "http://xcb.freedesktop.org/dist/xcb-proto-" version ".tar.bz2")) (sha256 @@ -4641,7 +4641,7 @@ emulation to complete hardware acceleration for modern GPUs.") (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libxcb-" + "http://xcb.freedesktop.org/dist/libxcb-" version ".tar.bz2")) (sha256 From c0589f7591e40517b0cc5387cbc13e29567cdbd5 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 17 Mar 2013 00:57:02 +0100 Subject: [PATCH 084/151] gnu: Add X.org as input to Texlive. * gnu/packages/texlive.scm (texlive): Add x.org inputs. --- gnu/packages/texlive.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/texlive.scm b/gnu/packages/texlive.scm index 8ea78de873..090d342054 100644 --- a/gnu/packages/texlive.scm +++ b/gnu/packages/texlive.scm @@ -33,6 +33,7 @@ #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) #:use-module (gnu packages tcsh) + #:use-module (gnu packages xorg) #:use-module (gnu packages zip)) (define texlive-extra-src @@ -66,6 +67,8 @@ ("icu4c" ,icu4c) ("ghostscript" ,ghostscript) ("libpng" ,libpng) + ("libxaw" ,libxaw) + ("libxt" ,libxt) ("perl" ,perl) ("poppler" ,poppler) ("pkg-config" ,pkg-config) @@ -88,7 +91,6 @@ ,(string-append "--datarootdir=" (assoc-ref %outputs "data")) ,(string-append "--infodir=" (assoc-ref %outputs "out") "/share/info") ,(string-append "--mandir=" (assoc-ref %outputs "out") "/share/man") - "--without-x" ; FIXME: Drop as soon as X is available. "--with-system-freetype2" ;; "--with-system-gd" ;; "--with-system-graphite" From b04ac5a1e29dfa563bd9835c75b006514d19f081 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 17 Mar 2013 18:59:21 +0100 Subject: [PATCH 085/151] gnu: xorg: Arrange more inputs for x server related packages. * gnu/packages/xorg.scm (xf86-input-evdev): Add input xorg-server. * gnu/packages/xorg.scm (xorg-server): Propagate inputs and add normal and propagated inputs. --- gnu/packages/xorg.scm | 155 ++++++++++++++++++++++-------------------- 1 file changed, 81 insertions(+), 74 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0706a943be..f6b66a0568 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -65,8 +65,9 @@ ("libxt" ,libxt) ("pkg-config" ,pkg-config))) (home-page "http://xeyes.sourcearchive.com/") - (synopsis "") - (description "") + (synopsis "A follow the mouse X demo") + (description "Xeyes is a demo program for x.org. It shows eyes +following the mouse.") (license license:x11))) @@ -2524,7 +2525,8 @@ and Matrox.") (base32 "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("xorg-server" ,xorg-server) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3771,76 +3773,6 @@ and Matrox.") ;; (license none))) -(define-public xorg-server - (package - (name "xorg-server") - (version "1.12.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xorg-server-" - version - ".tar.bz2")) - (sha256 - (base32 - "1xf57hcq6r17zxyfnx9r1wd0ir1bw13ff8bsiszwrw9jyhi9x7ya")))) - (build-system gnu-build-system) - (inputs - `(("bigreqsproto" ,bigreqsproto) - ("compositeproto" ,compositeproto) - ("damageproto" ,damageproto) - ("dbus" ,dbus) - ("dmxproto" ,dmxproto) - ("dri2proto" ,dri2proto) - ("glproto" ,glproto) - ("inputproto" ,inputproto) - ("kbproto" ,kbproto) - ("libdmx" ,libdmx) - ("libpciaccess" ,libpciaccess) - ("libx11" ,libx11) - ("libxau" ,libxau) - ("libxaw" ,libxaw) - ("libxdmcp" ,libxdmcp) - ("libxext" ,libxext) - ("libxfixes" ,libxfixes) - ("libxfont" ,libxfont) - ("libxkbfile" ,libxkbfile) - ("libxmu" ,libxmu) - ("libxpm" ,libxpm) - ("libxrender" ,libxrender) - ("libxres" ,libxres) - ("libxt" ,libxt) - ("libxv" ,libxv) - ("mesa" ,mesa) - ("openssl" ,openssl) - ("pixman" ,pixman) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("randrproto" ,randrproto) - ("recordproto" ,recordproto) - ("renderproto" ,renderproto) - ("resourceproto" ,resourceproto) - ("scrnsaverproto" ,scrnsaverproto) - ("videoproto" ,videoproto) - ("xcmiscproto" ,xcmiscproto) - ("xextproto" ,xextproto) - ("xf86bigfontproto" ,xf86bigfontproto) - ("xf86dgaproto" ,xf86dgaproto) - ("xf86driproto" ,xf86driproto) - ("xf86vidmodeproto" ,xf86vidmodeproto) - ("xineramaproto" ,xineramaproto) -;; ("xkbcomp" ,xkbcomp) -;; ("xkbutils" ,xkbutils) -;; ("xkeyboard-config" ,xkeyboard-config) - ("xtrans" ,xtrans) - ("zlib" ,zlib))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public xorg-sgml-doctools (package (name "xorg-sgml-doctools") @@ -4607,7 +4539,7 @@ emulation to complete hardware acceleration for modern GPUs.") (origin (method url-fetch) (uri (string-append - "mirror://xorg/XqqR7.7/src/everything/libXrandr-" + "mirror://xorg/X11R7.7/src/everything/libXrandr-" version ".tar.bz2")) (sha256 @@ -4630,6 +4562,81 @@ emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define-public xorg-server + (package + (name "xorg-server") + (version "1.12.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/xorg-server-" + version + ".tar.bz2")) + (sha256 + (base32 + "1xf57hcq6r17zxyfnx9r1wd0ir1bw13ff8bsiszwrw9jyhi9x7ya")))) + (build-system gnu-build-system) + (propagated-inputs + `(("dri2proto" ,dri2proto) + ("fontsproto" ,fontsproto) + ("inputproto" ,inputproto) + ("kbproto" ,kbproto) + ("libpciaccess" ,libpciaccess) + ("pixman" ,pixman) + ("randrproto" ,randrproto) + ("renderproto" ,renderproto) + ("videoproto" ,videoproto) + ("xextproto" ,xextproto) + ("xineramaproto" ,xineramaproto) + ("xproto" ,xproto))) + (inputs + `(("bigreqsproto" ,bigreqsproto) + ("compositeproto" ,compositeproto) + ("damageproto" ,damageproto) + ("dbus" ,dbus) + ("dmxproto" ,dmxproto) + ("glproto" ,glproto) + ("libdmx" ,libdmx) + ("libx11" ,libx11) + ("libxau" ,libxau) + ("libxaw" ,libxaw) + ("libxdmcp" ,libxdmcp) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxfont" ,libxfont) + ("libxkbfile" ,libxkbfile) + ("libxmu" ,libxmu) + ("libxpm" ,libxpm) + ("libxrender" ,libxrender) + ("libxres" ,libxres) + ("libxt" ,libxt) + ("libxv" ,libxv) + ("mesa" ,mesa) + ("openssl" ,openssl) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("recordproto" ,recordproto) + ("resourceproto" ,resourceproto) + ("scrnsaverproto" ,scrnsaverproto) + ("xcmiscproto" ,xcmiscproto) + ("xf86bigfontproto" ,xf86bigfontproto) + ("xf86dgaproto" ,xf86dgaproto) + ("xf86driproto" ,xf86driproto) + ("xf86vidmodeproto" ,xf86vidmodeproto) +;; ("xkbcomp" ,xkbcomp) +;; ("xkbutils" ,xkbutils) +;; ("xkeyboard-config" ,xkeyboard-config) + ("xtrans" ,xtrans) + ("zlib" ,zlib))) +;; (arguments +;; `(#:tests? #f)) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + ;; packages of height 3 in the propagated-inputs tree From d539646af4bdb07abcea2e0f57eb9c50131197ab Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 17 Mar 2013 19:02:56 +0100 Subject: [PATCH 086/151] gnu: xorg: Enable xdriinfo. * gnu/packages/xorg.scm (xdriinfo): Enable input mesa. --- gnu/packages/xorg.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index f6b66a0568..181aa6466f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2450,7 +2450,7 @@ and Matrox.") "076bjix941znyjmh3j5jjsnhp2gv2iq53d0ks29mvvv87cyy9iim")))) (build-system gnu-build-system) (inputs - `(;;("mesa" ,mesa) + `(("mesa" ,mesa) ("glproto" ,glproto) ("libx11" ,libx11) ("glproto" ,glproto) From 14a3a67364f46b24d7e39d64ac92879c3eb7f8eb Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 22 Mar 2013 13:04:41 +0100 Subject: [PATCH 087/151] gnu: Update mpfr to 3.1.2. * gnu/packages/multiprecision.scm (mpfr): Update to 3.1.2. --- gnu/packages/multiprecision.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/multiprecision.scm b/gnu/packages/multiprecision.scm index 5e0dee0620..acff875db1 100644 --- a/gnu/packages/multiprecision.scm +++ b/gnu/packages/multiprecision.scm @@ -70,13 +70,13 @@ faster algorithms.") (define-public mpfr (package (name "mpfr") - (version "3.1.1") + (version "3.1.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/mpfr/mpfr-" version ".tar.xz")) (sha256 (base32 - "0ym1ylcq803n52qrggxqmkz66gbn8ncc3ybawal31v5y5p1srma9")))) + "0fs501qi8l523gs3cpy4jjcnvwxggyfbklcys80wq236xx3hz79r")))) (build-system gnu-build-system) (propagated-inputs `(("gmp" ,gmp))) ; refers to (synopsis "GNU MPFR, a library for multiple-precision floating-point From a25fe6d62069ffaff276bf1747ab178441654f9d Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sun, 24 Mar 2013 20:23:15 +0100 Subject: [PATCH 088/151] gnu: add dependencies to poppler. Add libpng and zlib to the inputs. --- gnu/packages/pdf.scm | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index 5a9d513336..a172414553 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -25,6 +25,7 @@ #:use-module (gnu packages compression) #:use-module (gnu packages fontutils) #:use-module (gnu packages libjpeg) + #:use-module (gnu packages libpng) #:use-module (gnu packages libtiff) #:use-module (gnu packages pkg-config)) @@ -40,15 +41,25 @@ "1rmrspavldlpqi6g76fijcmshy80m0kxd01nc1dmy4id3h4las44")))) (build-system gnu-build-system) ;; FIXME: more dependencies could be added + ;; cairo output: no (requires cairo >= 1.10.0) + ;; qt4 wrapper: no + ;; glib wrapper: no (requires cairo output) + ;; introspection: no + ;; use gtk-doc: no + ;; use libcurl: no + ;; use libopenjpeg: no (inputs `(("fontconfig" ,fontconfig) ("freetype" ,freetype) ("libjpeg-8" ,libjpeg-8) + ("libpng" ,libpng) ("libtiff" ,libtiff) ("pkg-config" ,pkg-config) ("zlib" ,zlib))) (arguments `(#:tests? #f ; no test data provided with the tarball - #:configure-flags '("--enable-xpdf-headers"))) ; to install header files + #:configure-flags + '("--enable-xpdf-headers" ; to install header files + "--enable-zlib"))) (synopsis "Poppler, a pdf rendering library") (description "Poppler is a PDF rendering library based on the xpdf-3.0 code base.") From 917748dd6d6237f7539e7d4a5bebb48551d91179 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Thu, 28 Mar 2013 23:54:58 +0100 Subject: [PATCH 089/151] gnu: xorg: Make most xserver related packages compile. * gnu/packages/xorg.scm (xf86-*): Add input xorg-server. * gnu/packages/xorg.scm (xf86-video-glint, xf86-video-neomagic, xf86-video-tga, xf86-video-trident, xf86-video-voodoo): Add input xf86dgaproto. * gnu/packages/xorg.scm (xf86-video-ati, xf86-video-mach64, xf86-video-mga, xf86-video-r128, xf86-video-savage, xf86-video-tdfx): Add inputs mesa and xf86driproto. * gnu/packages/xorg.scm (xf86-video-i128): Add inputs libdrm and libx11. * gnu/packages/xorg.scm (xf86-video-openchrome): Add inputs libx11, libxext, libxvmc, mesa and xf86driproto. * gnu/packages/xorg.scm (xf86-video-siliconmotion): Add inputs mesa, xf86dgaproto and xf86driproto. * gnu/packages/xorg.scm (xf86-video-vmware): Add inputs libx11 and libxext. * gnu/packages/xorg.scm (libxvmc): Propagate input libxv. * gnu/packages/xorg.scm (mesa): Propagate input glproto. * gnu/packages/xorg.scm (xf86-video-geode): Correct source hash. --- gnu/packages/xorg.scm | 214 ++++++++++++++++++++++++++++-------------- 1 file changed, 143 insertions(+), 71 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 181aa6466f..bc5da3b7d5 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1769,35 +1769,6 @@ and Matrox.") (license license:x11))) -(define-public libxvmc - (package - (name "libxvmc") - (version "1.0.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXvMC-" - version - ".tar.bz2")) - (sha256 - (base32 - "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18")))) - (build-system gnu-build-system) - (inputs - `(("libxv" ,libxv) - ("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("videoproto" ,videoproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxxf86dga (package (name "libxxf86dga") @@ -2525,14 +2496,16 @@ and Matrox.") (base32 "1ivf5n821chckrgp89mpb18zi00v1hyrkc1hr82q0x6g1kpgxq9y")))) (build-system gnu-build-system) - (inputs `(("xorg-server" ,xorg-server) - ("pkg-config" ,pkg-config))) + ;; FIXME: Add required input udev once it is available. + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) +;; FIXME: Tries to install file joystick-properties.h into ...--xorg-server-1.12.2/include/xorg (define-public xf86-input-joystick (package (name "xf86-input-joystick") @@ -2548,7 +2521,8 @@ and Matrox.") (base32 "1xgpkdmfw4ahjlva97gs9sllzw8nlpa8mxj59g28fxhak67mvv8x")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2570,7 +2544,8 @@ and Matrox.") (base32 "1hwc1bjw5mxv186xbrxiky0agfglwqg8fsxqdh4br1vzgxpck7ma")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2592,7 +2567,8 @@ and Matrox.") (base32 "0fs1lwnycyv3d0m6l2wrnlgvbs8qw66d93hwlnmrsswfq5bp6ark")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2614,13 +2590,16 @@ and Matrox.") (base32 "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + ;; FIXME: Add required input mtdev. + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) +;; FIXME: Installation tries to create ...-xorg-server-1.12.2/share/X11/xorg.conf.d (define-public xf86-input-vmmouse (package (name "xf86-input-vmmouse") @@ -2636,7 +2615,8 @@ and Matrox.") (base32 "16l65mnjb1xxav6c5q0xhhqih81bzify2c5qrhqc2j3waq5yr9m8")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2658,7 +2638,8 @@ and Matrox.") (base32 "01bmk324fq48wydvy1qrnxbw6qz0fjd0i80g0n4cqr1c4mjmif9a")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2680,7 +2661,8 @@ and Matrox.") (base32 "194zc35ivfh3vcxcilf9nbi88c2di8kbh84x535cljlpiajdnk5x")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2702,7 +2684,8 @@ and Matrox.") (base32 "1q64z8qqa0ix3cymqiwk1s3sphd1fvvz30lvyxhgkgciygz6dm69")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2724,7 +2707,10 @@ and Matrox.") (base32 "11gg6xn65vym75769hzgzpkjsyhlkrw4zw3ncngriq7vz1g47zjg")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xxf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2746,7 +2732,8 @@ and Matrox.") (base32 "0blnbspj4936wy46lp346s4b08dfcray6yicsxvv5b4699fzl1rb")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2790,13 +2777,15 @@ and Matrox.") (base32 "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) +;; FIXME: Compilation errors (define-public xf86-video-geode (package (name "xf86-video-geode") @@ -2810,15 +2799,17 @@ and Matrox.") ".tar.bz2")) (sha256 (base32 - "1mc23w0bfmak5216411xh58nrs93jlxmi6l412hmqzhxnjs73clk")))) + "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) +;; FIXME: Add required input "glide" (define-public xf86-video-glide (package (name "xf86-video-glide") @@ -2834,7 +2825,8 @@ and Matrox.") (base32 "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2856,7 +2848,9 @@ and Matrox.") (base32 "0nf36jryabpncqq4m6sfsnmzk00f7gvfmjnl8l8sfy7w6sa6iacs")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2878,7 +2872,8 @@ and Matrox.") (base32 "1sik8ck410hb2885vy7rlc590hw5br8lr2fzxgmv55jyawgfpv9y")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2900,7 +2895,10 @@ and Matrox.") (base32 "1g742szymajh88a5dw08sxcr45bmxgc4w3m6hddv9qscn5hks4rj")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libdrm" ,libdrm) + ("libx11" ,libx11) + ("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2922,7 +2920,10 @@ and Matrox.") (base32 "0kl3kvpc2ny48z89313i9fi4cxzwb2pllvxcr9j5ly680ygx8slz")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2944,7 +2945,10 @@ and Matrox.") (base32 "03l3wz5kz0hmxmzqqbkgn7pf9d956jlag04rb701a0fr1mw3v66a")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2966,7 +2970,9 @@ and Matrox.") (base32 "124qci48xrk0w2jy91n7vqs7s6q397zyiqqszhmkx6ld7six57mi")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -2988,7 +2994,8 @@ and Matrox.") (base32 "1yafmp23jrfdmc094i6a4dsizapsc9v0pl65cpc8w1kvn7343k4i")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3010,7 +3017,8 @@ and Matrox.") (base32 "05glbi9jc7j9nm4sf4qvl3z87s48ibm3i283lqz85kbphg62dxvc")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3032,7 +3040,13 @@ and Matrox.") (base32 "0hgzn1r7ig94xbr9dvq0bp1nxqlfp2ki8823jca3f22a2kf8wmg7")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libx11" ,libx11) + ("libxext" ,libxext) + ("libxvmc" ,libxvmc) + ("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3054,7 +3068,10 @@ and Matrox.") (base32 "1c84x40k9qz9dnf5qs6nnjcgz7px6mpc3rbk8mj62zhp7mf16hbv")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3076,7 +3093,10 @@ and Matrox.") (base32 "0jdy4wv3k3ylx3lajjcbsg37z2hf6366a1jvv16sv1ln6dk6lris")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3098,7 +3118,8 @@ and Matrox.") (base32 "01sdl6ky1vmvmfgx2d44i35rqafi0z07xdy40cvindcr2k91p7x5")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3120,7 +3141,11 @@ and Matrox.") (base32 "03diq0l93lfsipmwkpdb2ysgbxxryl6yakpghzc3fksjxa01112f")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3142,7 +3167,8 @@ and Matrox.") (base32 "07w0hm63fiy5l3cpcjsl0ig8z84z9r36xm0cmnpiv3g75dy6q8fi")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3164,7 +3190,8 @@ and Matrox.") (base32 "04byax4sc1fn183vyyq0q11q730k16h2by4ggjky7s36wgv7ldzx")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3186,7 +3213,10 @@ and Matrox.") (base32 "124gsi30rj547jjd7gvv7xykfnwlyrxw0gcacamby7pvl3g33fg0")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("mesa" ,mesa) + ("pkg-config" ,pkg-config) + ("xf86driproto" ,xf86driproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3208,7 +3238,9 @@ and Matrox.") (base32 "0mdqrn02zzkdnmhg4vh9djaawg6b2p82g5qbj66z8b30yr77b93h")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3230,7 +3262,9 @@ and Matrox.") (base32 "02y5pzdp0a1c12jr8gghbrzgbyfbgq67x7kd7n4f323pmf8x1csb")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3274,7 +3308,8 @@ and Matrox.") (base32 "0wqms28kkz2fvghqhqwp6w8zj7k5cgwnhzvkc7j4v268bf6h78g4")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3296,7 +3331,10 @@ and Matrox.") (base32 "0isiwx516gww8hfk3vy7js83yziyjym9mq2zjadyq1a8v5gqf9y8")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("libx11" ,libx11) + ("libxext" ,libxext) + ("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -3318,13 +3356,16 @@ and Matrox.") (base32 "0ha748yz92yzn6hp2rhin3il8f4j2rs4vkgdvqkagnv1ryxkh0ph")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xf86dgaproto" ,xf86dgaproto) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") (license license:x11))) +;; FIXME: Add input providing dev/wscons/wsconsio.h; only relevant for BSD? (define-public xf86-video-wsfb (package (name "xf86-video-wsfb") @@ -3340,7 +3381,8 @@ and Matrox.") (base32 "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config))) + (inputs `(("pkg-config" ,pkg-config) + ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4273,6 +4315,36 @@ and Matrox.") (license license:x11))) +(define-public libxvmc + (package + (name "libxvmc") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXvMC-" + version + ".tar.bz2")) + (sha256 + (base32 + "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxv" ,libxv))) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("videoproto" ,videoproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public mkfontdir (package (name "mkfontdir") @@ -4345,13 +4417,13 @@ and Matrox.") "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) (build-system gnu-build-system) (propagated-inputs - `(("libdrm" ,libdrm-2.4.33) + `(("glproto" ,glproto) + ("libdrm" ,libdrm-2.4.33) ("libxdamage" ,libxdamage))) (inputs `(("bison" ,bison) ("dri2proto" ,dri2proto) ("expat" ,expat) - ("glproto" ,glproto) ("flex" ,flex) ("libx11" ,libx11) ("libxext" ,libxext) @@ -4629,8 +4701,8 @@ emulation to complete hardware acceleration for modern GPUs.") ;; ("xkeyboard-config" ,xkeyboard-config) ("xtrans" ,xtrans) ("zlib" ,zlib))) -;; (arguments -;; `(#:tests? #f)) + (arguments + `(#:tests? #f)) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") From 13f5ea6f4630068c248c9fd50a16d3dfb8fa0637 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 29 Mar 2013 10:49:30 +0100 Subject: [PATCH 090/151] gnu: Add lesstif. * gnu/packages/lesstif.scm: New file. * Makefile.am (MODULES): Add it. --- gnu/packages/lesstif.scm | 48 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 48 insertions(+) create mode 100644 gnu/packages/lesstif.scm diff --git a/gnu/packages/lesstif.scm b/gnu/packages/lesstif.scm new file mode 100644 index 0000000000..3d89258399 --- /dev/null +++ b/gnu/packages/lesstif.scm @@ -0,0 +1,48 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Andreas Enge +;;; +;;; This file is part of GNU Guix. +;;; +;;; GNU Guix is free software; you can redistribute it and/or modify it +;;; under the terms of the GNU General Public License as published by +;;; the Free Software Foundation; either version 3 of the License, or (at +;;; your option) any later version. +;;; +;;; GNU Guix is distributed in the hope that it will be useful, but +;;; WITHOUT ANY WARRANTY; without even the implied warranty of +;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +;;; GNU General Public License for more details. +;;; +;;; You should have received a copy of the GNU General Public License +;;; along with GNU Guix. If not, see . + +(define-module (gnu packages lesstif) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages xorg)) + + +(define-public lesstif + (package + (name "lesstif") + (version "0.95.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://sourceforge/lesstif/lesstif/" version + "/lesstif-" version ".tar.bz2")) + (sha256 + (base32 + "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb")))) + (build-system gnu-build-system) + (inputs + `(("libxext" ,libxext) + ("libxt" ,libxt))); + (home-page "http://lesstif.sourceforge.net/") + (synopsis "Clone of the Motif toolkit for the X window system") + (description "Clone of the Motif toolkit for the X window system") + (license license:gpl2+))) ; some files are lgpl2.1+ or x11 From 73274a8ae793b5335e35b89c8dcd65055dcdfe7b Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 29 Mar 2013 10:51:41 +0100 Subject: [PATCH 091/151] gnu: Really add lesstif. * Makefile.am (MODULES): Commit the module addition. --- Makefile.am | 1 + 1 file changed, 1 insertion(+) diff --git a/Makefile.am b/Makefile.am index 70387ef565..54ca41b3b8 100644 --- a/Makefile.am +++ b/Makefile.am @@ -100,6 +100,7 @@ MODULES = \ gnu/packages/irssi.scm \ gnu/packages/ld-wrapper.scm \ gnu/packages/less.scm \ + gnu/packages/lesstif.scm \ gnu/packages/libapr.scm \ gnu/packages/libdaemon.scm \ gnu/packages/libevent.scm \ From 979bc0f49b1de09239b2bd70a079d38ca69cf516 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 08:43:47 +0100 Subject: [PATCH 092/151] gnu: xorg: Make xvinfo compile. * gnu/packages/xorg.scm (libxv): Propagate input videoproto. --- gnu/packages/xorg.scm | 69 ++++++++++++++++++++++--------------------- 1 file changed, 35 insertions(+), 34 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index bc5da3b7d5..9a4394bf81 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1741,34 +1741,6 @@ and Matrox.") (license license:x11))) -(define-public libxv - (package - (name "libxv") - (version "1.0.7") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXv-" - version - ".tar.bz2")) - (sha256 - (base32 - "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("videoproto" ,videoproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxxf86dga (package (name "libxxf86dga") @@ -4315,29 +4287,28 @@ and Matrox.") (license license:x11))) -(define-public libxvmc +(define-public libxv (package - (name "libxvmc") + (name "libxv") (version "1.0.7") (source (origin (method url-fetch) (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXvMC-" + "mirror://xorg/X11R7.7/src/everything/libXv-" version ".tar.bz2")) (sha256 (base32 - "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18")))) + "044hllz013afhzywwpxz007l4zjy99bv9im065rqd30zckmllrjx")))) (build-system gnu-build-system) (propagated-inputs - `(("libxv" ,libxv))) + `(("videoproto" ,videoproto))) (inputs `(("xproto" ,xproto) ("xextproto" ,xextproto) ("libxext" ,libxext) ("libx11" ,libx11) - ("videoproto" ,videoproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4634,6 +4605,36 @@ emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define-public libxvmc + (package + (name "libxvmc") + (version "1.0.7") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXvMC-" + version + ".tar.bz2")) + (sha256 + (base32 + "18yf6ysc01pqkbk9704914ghalq1sl2hfdjmwggxm8qqhpy8bw18")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxv" ,libxv))) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libxext" ,libxext) + ("libx11" ,libx11) + ("videoproto" ,videoproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public xorg-server (package (name "xorg-server") From 47038b76b23ef69f3ed78ded2a03ef0c49408286 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 08:50:39 +0100 Subject: [PATCH 093/151] gnu: xorg: Make xgamma compile. * gnu/packages/xorg.scm (libxxf86vm): Propagate inputs libxext and xf86vidmodeproto. --- gnu/packages/xorg.scm | 54 ++++++++++++++++++++++--------------------- 1 file changed, 28 insertions(+), 26 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 9a4394bf81..dfd5500198 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1767,32 +1767,6 @@ and Matrox.") (license license:x11))) -(define-public libxxf86vm - (package - (name "libxxf86vm") - (version "1.1.2") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXxf86vm-" - version - ".tar.bz2")) - (sha256 - (base32 - "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55")))) - (build-system gnu-build-system) - (inputs - `(("libx11" ,libx11) - ("libxext" ,libxext) - ("pkg-config" ,pkg-config) - ("xf86vidmodeproto" ,xf86vidmodeproto))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public luit (package (name "luit") @@ -4635,6 +4609,34 @@ emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define-public libxxf86vm + (package + (name "libxxf86vm") + (version "1.1.2") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXxf86vm-" + version + ".tar.bz2")) + (sha256 + (base32 + "117w92xz39rcqcahspi48nc04cc9110x1dycpf3vbcb6p0pifr55")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxext" ,libxext) + ("xf86vidmodeproto" ,xf86vidmodeproto))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public xorg-server (package (name "xorg-server") From 6706269ed434217c43328531084c525414281dd2 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 08:53:20 +0100 Subject: [PATCH 094/151] gnu: xorg: Disable xf86-video-wsfb. * gnu/packages/xorg.scm (xf86-video-wsfb): Comment variable, only relevant for the frame buffer on BSD systems. --- gnu/packages/xorg.scm | 44 +++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index dfd5500198..251b3b54ea 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -3311,28 +3311,28 @@ and Matrox.") (license license:x11))) -;; FIXME: Add input providing dev/wscons/wsconsio.h; only relevant for BSD? -(define-public xf86-video-wsfb - (package - (name "xf86-video-wsfb") - (version "0.4.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-" - version - ".tar.bz2")) - (sha256 - (base32 - "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config) - ("xorg-server" ,xorg-server))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:bsd-2))) +;; Only relevant for the frame buffer on BSD systems. +;; (define-public xf86-video-wsfb +;; (package +;; (name "xf86-video-wsfb") +;; (version "0.4.0") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xf86-video-wsfb-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0hr8397wpd0by1hc47fqqrnaw3qdqd8aqgwgzv38w5k3l3jy6p4p")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config) +;; ("xorg-server" ,xorg-server))) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") +;; (license license:bsd-2))) (define-public xf86bigfontproto From 1f44111f8378fab19620a846e73592ac6861f572 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 09:00:25 +0100 Subject: [PATCH 095/151] gnu: xorg: Disable xf86-video-glide. * gnu/packages/xorg.scm (xf86-video-glide): Comment variable; driver for obsolete graphics cards, depends on libglide, last updated in 2003, and which does not compile out of the box any more. --- gnu/packages/xorg.scm | 46 ++++++++++++++++++++++--------------------- 1 file changed, 24 insertions(+), 22 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 251b3b54ea..d83893213d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2755,28 +2755,30 @@ and Matrox.") (license license:x11))) -;; FIXME: Add required input "glide" -(define-public xf86-video-glide - (package - (name "xf86-video-glide") - (version "1.2.0") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-glide-" - version - ".tar.bz2")) - (sha256 - (base32 - "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config) - ("xorg-server" ,xorg-server))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) +;; Driver for obsolete graphics cards, depends on libglide: +;; http://sourceforge.net/projects/glide/ , +;; last updated in 2003, and which does not compile out of the box any more. +;; (define-public xf86-video-glide +;; (package +;; (name "xf86-video-glide") +;; (version "1.2.0") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xf86-video-glide-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "0byapm9mnpqk3wijfnnan3d22ii5cw6dmg4xn1625iiz89j5vs1l")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config) +;; ("xorg-server" ,xorg-server))) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") +;; (license license:x11))) (define-public xf86-video-glint From 3a5d958570d9041d7eab509cbbc6e85956ad8858 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 09:19:24 +0100 Subject: [PATCH 096/151] gnu: xorg: Fix compilation of xorg-server. * gnu/packages/xorg.scm (mesa): Propagate input libxxf86vm. --- gnu/packages/xorg.scm | 196 +++++++++++++++++++++--------------------- 1 file changed, 98 insertions(+), 98 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d83893213d..eb2b5e9a5c 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4343,71 +4343,6 @@ and Matrox.") -;; package outside the x.org system proper of height 2 - -(define-public mesa - (package - (name "mesa") - ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an - ;; infinite configure loop, see - ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527 - (version "8.0.5") - (source - (origin - (method url-fetch) - (uri (string-append - "ftp://ftp.freedesktop.org/pub/mesa/" version - "/MesaLib-" version - ".tar.bz2")) - (sha256 - (base32 - "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) - (build-system gnu-build-system) - (propagated-inputs - `(("glproto" ,glproto) - ("libdrm" ,libdrm-2.4.33) - ("libxdamage" ,libxdamage))) - (inputs - `(("bison" ,bison) - ("dri2proto" ,dri2proto) - ("expat" ,expat) - ("flex" ,flex) - ("libx11" ,libx11) - ("libxext" ,libxext) - ("libxfixes" ,libxfixes) - ("libxml2" ,libxml2) - ("libxxf86vm" ,libxxf86vm) - ("makedepend" ,makedepend) - ("pkg-config" ,pkg-config) - ("python" ,python))) - (arguments - `(#:configure-flags - `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm - #:phases - (alist-cons-after - 'unpack 'remove-symlink - (lambda* (#:key #:allow-other-keys) - ;; remove dangling symlink to /usr/include/wine/windows - (delete-file "src/gallium/state_trackers/d3d1x/w32api")) - (alist-replace - 'configure - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure)) - (libxml2 (assoc-ref inputs "libxml2"))) - ;; FIXME: This should be done more centrally. - (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) - (apply configure args))) - %standard-phases)))) - (home-page "http://mesa3d.org/") - (synopsis "Mesa, an OpenGL implementation") - (description "Mesa is a free implementation of the OpenGL specification - -a system for rendering interactive 3D graphics. A variety of device drivers -allows Mesa to be used in many different environments ranging from software -emulation to complete hardware acceleration for modern GPUs.") - (license license:x11))) - - - ;; packages of height 2 in the propagated-inputs tree (define-public libice @@ -4639,6 +4574,104 @@ emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +;; package outside the x.org system proper of height 3 + +(define-public mesa + (package + (name "mesa") + ;; In newer versions (9.0.5 and 9.1 tested), "make" results in an + ;; infinite configure loop, see + ;; https://bugs.freedesktop.org/show_bug.cgi?id=61527 + (version "8.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "ftp://ftp.freedesktop.org/pub/mesa/" version + "/MesaLib-" version + ".tar.bz2")) + (sha256 + (base32 + "0pjs8x51c0i6mawgd4w03lxpyx5fnx7rc8plr8jfsscf9yiqs6si")))) + (build-system gnu-build-system) + (propagated-inputs + `(("glproto" ,glproto) + ("libdrm" ,libdrm-2.4.33) + ("libxdamage" ,libxdamage) + ("libxxf86vm" ,libxxf86vm))) + (inputs + `(("bison" ,bison) + ("dri2proto" ,dri2proto) + ("expat" ,expat) + ("flex" ,flex) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxfixes" ,libxfixes) + ("libxml2" ,libxml2) + ("makedepend" ,makedepend) + ("pkg-config" ,pkg-config) + ("python" ,python))) + (arguments + `(#:configure-flags + `("--with-gallium-drivers=r600,svga,swrast") ; drop r300 from the default list as it requires llvm + #:phases + (alist-cons-after + 'unpack 'remove-symlink + (lambda* (#:key #:allow-other-keys) + ;; remove dangling symlink to /usr/include/wine/windows + (delete-file "src/gallium/state_trackers/d3d1x/w32api")) + (alist-replace + 'configure + (lambda* (#:key inputs #:allow-other-keys #:rest args) + (let ((configure (assoc-ref %standard-phases 'configure)) + (libxml2 (assoc-ref inputs "libxml2"))) + ;; FIXME: This should be done more centrally. + (setenv "PYTHONPATH" (string-append libxml2 "/lib/python2.7/site-packages")) + (apply configure args))) + %standard-phases)))) + (home-page "http://mesa3d.org/") + (synopsis "Mesa, an OpenGL implementation") + (description "Mesa is a free implementation of the OpenGL specification - +a system for rendering interactive 3D graphics. A variety of device drivers +allows Mesa to be used in many different environments ranging from software +emulation to complete hardware acceleration for modern GPUs.") + (license license:x11))) + + + +;; packages of height 3 in the propagated-inputs tree + +(define-public libxcb + (package + (name "libxcb") + (version "1.8.1") + (source + (origin + (method url-fetch) + (uri (string-append + "http://xcb.freedesktop.org/dist/libxcb-" + version + ".tar.bz2")) + (sha256 + (base32 + "03gspxcdl8r7jwbwg7fyp4cc6zic9z91amp4g5z0wwahx48nix6j")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libpthread-stubs" ,libpthread-stubs) + ("libxau" ,libxau) + ("libxdmcp" ,libxdmcp))) + (inputs + `(("xcb-proto" ,xcb-proto) + ("libxslt" ,libxslt) + ("pkg-config" ,pkg-config) + ("python" ,python) + ("xproto" ,xproto))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public xorg-server (package (name "xorg-server") @@ -4715,39 +4748,6 @@ emulation to complete hardware acceleration for modern GPUs.") -;; packages of height 3 in the propagated-inputs tree - -(define-public libxcb - (package - (name "libxcb") - (version "1.8.1") - (source - (origin - (method url-fetch) - (uri (string-append - "http://xcb.freedesktop.org/dist/libxcb-" - version - ".tar.bz2")) - (sha256 - (base32 - "03gspxcdl8r7jwbwg7fyp4cc6zic9z91amp4g5z0wwahx48nix6j")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libpthread-stubs" ,libpthread-stubs) - ("libxau" ,libxau) - ("libxdmcp" ,libxdmcp))) - (inputs - `(("xcb-proto" ,xcb-proto) - ("libxslt" ,libxslt) - ("pkg-config" ,pkg-config) - ("python" ,python) - ("xproto" ,xproto))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - ;; packages of height 4 in the propagated-inputs tree (define-public libx11 From 7e2ec42b1a110b71e6c6d9ccd2c51f6b574998c8 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 09:42:11 +0100 Subject: [PATCH 097/151] gnu: xorg: Disable not compiling xf86-video-geode. * gnu/packages/xorg.scm (xf86-video-geode): Comment out since not compiling (assembler errors). --- gnu/packages/xorg.scm | 44 +++++++++++++++++++++---------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index eb2b5e9a5c..91d480d23b 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2731,28 +2731,28 @@ and Matrox.") (license license:x11))) -;; FIXME: Compilation errors -(define-public xf86-video-geode - (package - (name "xf86-video-geode") - (version "2.11.13") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/xf86-video-geode-" - version - ".tar.bz2")) - (sha256 - (base32 - "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863")))) - (build-system gnu-build-system) - (inputs `(("pkg-config" ,pkg-config) - ("xorg-server" ,xorg-server))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) +;; Compilation errors: Assembler messages operand size mismatch etc. +;; (define-public xf86-video-geode +;; (package +;; (name "xf86-video-geode") +;; (version "2.11.13") +;; (source +;; (origin +;; (method url-fetch) +;; (uri (string-append +;; "mirror://xorg/X11R7.7/src/everything/xf86-video-geode-" +;; version +;; ".tar.bz2")) +;; (sha256 +;; (base32 +;; "09p2cjd2fb7h32k9qs4wp7qvhfn2zv454spv5mfplv7w2jis4863")))) +;; (build-system gnu-build-system) +;; (inputs `(("pkg-config" ,pkg-config) +;; ("xorg-server" ,xorg-server))) +;; (home-page "http://www.x.org/wiki/") +;; (synopsis "xorg implementation of the X Window System") +;; (description "X.org provides an implementation of the X Window System") +;; (license license:x11))) ;; Driver for obsolete graphics cards, depends on libglide: From 84419dfd2557c2cc05f1bc0158e28de7857bf256 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 10:00:36 +0100 Subject: [PATCH 098/151] gnu: xorg: Add mtdev and make xf86-input-synaptics compile (not install). * gnu/packages/xorg.scm (mtdev): New variable. * gnu/packages/xorg.scm (xf86-input-synaptics): Add inputs libx11, libxi and mtdev. * gnu/packages/xorg.scm (libxi): Propagate input libxext. --- gnu/packages/xorg.scm | 90 ++++++++++++++++++++++++++++--------------- 1 file changed, 59 insertions(+), 31 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 91d480d23b..34553861d7 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -153,7 +153,32 @@ and Matrox.") `("--enable-nouveau-experimental-api"))))) -;; packages without propagated input +(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 ;; be defined first, the split makes book-keeping easier.) @@ -1576,34 +1601,6 @@ and Matrox.") (license license:x11))) -(define-public libxi - (package - (name "libxi") - (version "1.6.1") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXi-" - version - ".tar.bz2")) - (sha256 - (base32 - "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj")))) - (build-system gnu-build-system) - (inputs - `(("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libxext" ,libxext) - ("libx11" ,libx11) - ("inputproto" ,inputproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxkbfile (package (name "libxkbfile") @@ -2536,8 +2533,10 @@ and Matrox.") (base32 "0g5b1s6q1dg38l8y47cwg7cs5nivwj0agmp71g273ws0lfg4bc8s")))) (build-system gnu-build-system) - ;; FIXME: Add required input mtdev. - (inputs `(("pkg-config" ,pkg-config) + (inputs `(("libx11" ,libx11) + ("libxi" ,libxi) + ("mtdev" ,mtdev) + ("pkg-config" ,pkg-config) ("xorg-server" ,xorg-server))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4485,6 +4484,35 @@ and Matrox.") (license license:x11))) +(define-public libxi + (package + (name "libxi") + (version "1.6.1") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXi-" + version + ".tar.bz2")) + (sha256 + (base32 + "029ihw4jq8mng8rx7a3jdvq64jm1zdkqidca93zmxv4jf9yn5qzj")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxext" ,libxext))) + (inputs + `(("xproto" ,xproto) + ("xextproto" ,xextproto) + ("libx11" ,libx11) + ("inputproto" ,inputproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public libxrandr (package (name "libxrandr") From bc3073c8e3768f8fcad0b745f8dfd4269a68b7f3 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sat, 30 Mar 2013 10:13:23 +0100 Subject: [PATCH 099/151] gnu: xorg: Make font-adobe75dpi and font-adobe100dpi compile (not install). * gnu/packages/xorg/scm (font-adobe75dpi, font-adobe100dpi): Add inputs bdftopcf, font-util and mkfontdir. --- gnu/packages/xorg.scm | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 34553861d7..8376a4230f 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -380,6 +380,11 @@ tracking.") (base32 "0m60f5bd0caambrk8ksknb5dks7wzsg7g7xaf0j21jxmx8rq9h5j")))) (build-system gnu-build-system) + (inputs + `(("bdftopcf" ,bdftopcf) + ("font-util", font-util) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -401,6 +406,11 @@ tracking.") (base32 "02advcv9lyxpvrjv8bjh1b797lzg6jvhipclz49z8r8y98g4l0n6")))) (build-system gnu-build-system) + (inputs + `(("bdftopcf" ,bdftopcf) + ("font-util", font-util) + ("mkfontdir" ,mkfontdir) + ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") From a96748bb46c6da65c7d66cb6d4f0d6f19febda27 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 30 Mar 2013 11:31:50 +0100 Subject: [PATCH 100/151] build-system/gnu: Remove #:path-exclusions parameter. * guix/build/gnu-build-system.scm (set-paths): Remove `path-exclusions' parameter. Replace `relevant-input-directories' by `input-directories'. * guix/build-system/gnu.scm (gnu-build): Remove `path-exclusions' parameter; don't pass it in BUILDER. * guix/build-system/cmake.scm (cmake-build): Likewise. --- guix/build-system/cmake.scm | 2 -- guix/build-system/gnu.scm | 2 -- guix/build/gnu-build-system.scm | 26 +++++++++----------------- 3 files changed, 9 insertions(+), 21 deletions(-) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 2a9db80cf8..9794f4d057 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -42,7 +42,6 @@ (patches ''()) (patch-flags ''("--batch" "-p1")) (cmake (@ (gnu packages cmake) cmake)) (out-of-source? #f) - (path-exclusions ''()) (tests? #t) (test-target "test") (parallel-build? #t) (parallel-tests? #f) @@ -77,7 +76,6 @@ provides a 'CMakeLists.txt' file as its build system." #:configure-flags ,configure-flags #:make-flags ,make-flags #:out-of-source? ,out-of-source? - #:path-exclusions ,path-exclusions #:tests? ,tests? #:test-target ,test-target #:parallel-build? ,parallel-build? diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 8049e7510f..f4d0fa4f7c 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -163,7 +163,6 @@ System: GCC, GNU Make, Bash, Coreutils, etc." (make-flags ''()) (patches ''()) (patch-flags ''("--batch" "-p1")) (out-of-source? #f) - (path-exclusions ''()) (tests? #t) (test-target "check") (parallel-build? #t) (parallel-tests? #t) @@ -205,7 +204,6 @@ which could lead to gratuitous input divergence." #:configure-flags ,configure-flags #:make-flags ,make-flags #:out-of-source? ,out-of-source? - #:path-exclusions ,path-exclusions #:tests? ,tests? #:test-target ,test-target #:parallel-build? ,parallel-build? diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 8fc6f86507..891c30df8f 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -48,34 +48,26 @@ #f dir)) -(define* (set-paths #:key inputs (path-exclusions '()) +(define* (set-paths #:key inputs #:allow-other-keys) - (define (relevant-input-directories env-var) - ;; Return the subset of INPUTS that should be considered when setting - ;; ENV-VAR. - (match (assoc-ref path-exclusions env-var) - (#f - (map cdr inputs)) - ((excluded ...) - (filter-map (match-lambda - ((name . dir) - (and (not (member name excluded)) - dir))) - inputs)))) + (define input-directories + (match inputs + (((_ . dir) ...) + dir))) (set-path-environment-variable "PATH" '("bin") - (relevant-input-directories "PATH")) + input-directories) (set-path-environment-variable "CPATH" '("include") - (relevant-input-directories "CPATH")) + input-directories) (set-path-environment-variable "LIBRARY_PATH" '("lib" "lib64") - (relevant-input-directories "LIBRARY_PATH")) + input-directories) ;; FIXME: Eventually move this to the `search-paths' field of the ;; `pkg-config' package. (set-path-environment-variable "PKG_CONFIG_PATH" '("lib/pkgconfig" "lib64/pkgconfig" "share/pkgconfig") - (relevant-input-directories "PKG_CONFIG_PATH")) + input-directories) ;; Dump the environment variables as a shell script, for handy debugging. (system "export > environment-variables")) From 5cfdb4bcac145abb4f6ce29aaf8fd46504e9e0a9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 30 Mar 2013 21:49:17 +0100 Subject: [PATCH 101/151] build: Pass the appropriate flags when building `libstore.a'. * daemon.am (libstore_a_CFLAGS): Rename to... (libstore_a_CXXFLAGS): ... this. --- daemon.am | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/daemon.am b/daemon.am index 0c9bc9fb69..4f2314b773 100644 --- a/daemon.am +++ b/daemon.am @@ -115,7 +115,7 @@ libstore_a_CPPFLAGS = \ -DNIX_BIN_DIR=\"$(bindir)\" \ -DOPENSSL_PATH="\"openssl\"" -libstore_a_CFLAGS = \ +libstore_a_CXXFLAGS = \ $(SQLITE3_CFLAGS) $(LIBGCRYPT_CFLAGS) bin_PROGRAMS = guix-daemon From a18eda2747fa2eb962e3288066d2b1a679589ed3 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 30 Mar 2013 22:56:38 +0100 Subject: [PATCH 102/151] packages: Add `native-search-paths' field and honor it. * guix/packages.scm (): New record type. (search-path-specification->sexp): New procedure. ()[native-search-paths]: New field. (package-derivation): Accumulate the search paths, and pass them as #:search-paths toe BUILDER. * guix/build-system/gnu.scm (gnu-build): Add #:search-paths. Compute `implicit-search-paths'. Pass #:search-paths in BUILDER. * guix/build-system/perl.scm (perl-build): Add #:search-paths, pass it to BUILDER with the search paths of PERL. * guix/build-system/cmake.scm (cmake-build): Add #:search-paths, pass it to BUILDER. * guix/build-system/trivial.scm (trivial-build): Add #:search-paths, ignore it. * guix/build/gnu-build-system.scm (set-paths): Add #:search-paths. Remove explicit settings of CPATH, LIBRARY_PATH, and PKG_CONFIG_PATH. Instead, walk SEARCH-PATHS and call `set-path-environment-variable' for them. * guix/build/perl-build-system.scm (perl-build): Remove PERL5LIB setting. * tests/packages.scm ("search paths"): New test. * gnu/packages/bootstrap.scm (%bootstrap-guile)[raw]: Add #:search-paths. (%bootstrap-gcc): Add `native-search-paths' field. * gnu/packages/perl.scm (perl): Likewise. * gnu/packages/pkg-config.scm (pkg-config): Likewise. * gnu/packages/glib.scm (intltool): Remove `arguments'. * gnu/packages/avahi.scm (avahi): Remove #:phases. --- gnu/packages/avahi.scm | 14 +-------- gnu/packages/bootstrap.scm | 10 ++++++- gnu/packages/gcc.scm | 8 ++++++ gnu/packages/glib.scm | 12 -------- gnu/packages/perl.scm | 3 ++ gnu/packages/pkg-config.scm | 5 ++++ guix/build-system/cmake.scm | 3 ++ guix/build-system/gnu.scm | 25 ++++++++++++++-- guix/build-system/perl.scm | 7 +++++ guix/build-system/trivial.scm | 6 ++-- guix/build/gnu-build-system.scm | 20 ++++++------- guix/build/perl-build-system.scm | 4 --- guix/packages.scm | 49 +++++++++++++++++++++++++------- tests/packages.scm | 36 +++++++++++++++++++++++ 14 files changed, 145 insertions(+), 57 deletions(-) diff --git a/gnu/packages/avahi.scm b/gnu/packages/avahi.scm index f7ce908351..fbdc0e2834 100644 --- a/gnu/packages/avahi.scm +++ b/gnu/packages/avahi.scm @@ -48,19 +48,7 @@ "--disable-xmltoman" "--enable-tests" "--disable-qt3" "--disable-qt4" - "--disable-gtk" "--disable-gtk3") - #:phases (alist-cons-before - 'configure 'set-perl-path - (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: Remove this phase when proper support for search - ;; paths is available. - (let ((xml-parser (assoc-ref inputs - "intltool/perl-xml-parser"))) - (setenv "PERL5LIB" - (string-append xml-parser - "/lib/perl5/site_perl")) - #t)) - %standard-phases))) + "--disable-gtk" "--disable-gtk3"))) (inputs `(("expat" ,expat) ("glib" ,glib) diff --git a/gnu/packages/bootstrap.scm b/gnu/packages/bootstrap.scm index 82a8db614f..eaad45a741 100644 --- a/gnu/packages/bootstrap.scm +++ b/gnu/packages/bootstrap.scm @@ -154,7 +154,8 @@ check whether everything is alright." (let ((raw (build-system (name "raw") (description "Raw build system with direct store access") - (build (lambda* (store name source inputs #:key outputs system) + (build (lambda* (store name source inputs + #:key outputs system search-paths) (define (->store file) (add-to-store store file #t "sha256" (or (search-bootstrap-binary file @@ -352,6 +353,13 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \ ("i686-linux" (base32 "06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) + (native-search-paths + (list (search-path-specification + (variable "CPATH") + (directories '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (directories '("lib" "lib64"))))) (synopsis "Bootstrap binaries of the GNU Compiler Collection") (description #f) (home-page #f) diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index a26dc24a4f..878d246c36 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -131,6 +131,14 @@ "install")))) %standard-phases))))) + (native-search-paths + (list (search-path-specification + (variable "CPATH") + (directories '("include"))) + (search-path-specification + (variable "LIBRARY_PATH") + (directories '("lib" "lib64"))))) + (properties `((gcc-libc . ,(assoc-ref inputs "libc")))) (synopsis "The GNU Compiler Collection") (description diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index fdcc9bdc31..7ff9ede22b 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -142,18 +142,6 @@ dynamic loading, and an object system.") (base32 "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd")))) (build-system gnu-build-system) - (arguments - '(#:phases (alist-cons-before - 'configure 'set-perl-path - (lambda* (#:key inputs #:allow-other-keys) - ;; FIXME: Remove this phase when proper support for search - ;; paths is available. - (let ((xml-parser (assoc-ref inputs "perl-xml-parser"))) - (setenv "PERL5LIB" - (string-append xml-parser - "/lib/perl5/site_perl")) - #t)) - %standard-phases))) (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs `(("gettext" ,guix:gettext) diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index 624d228059..c677a1b7e2 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -63,6 +63,9 @@ (string-append "-Dloclibpth=" libc "/lib"))))) %standard-phases))) (inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch")))) + (native-search-paths (list (search-path-specification + (variable "PERL5LIB") + (directories '("lib/perl5/site_perl"))))) (synopsis "Implementation of the Perl programming language") (description "Perl 5 is a highly capable, feature-rich programming language with over diff --git a/gnu/packages/pkg-config.scm b/gnu/packages/pkg-config.scm index 0910a410ee..294163b474 100644 --- a/gnu/packages/pkg-config.scm +++ b/gnu/packages/pkg-config.scm @@ -36,6 +36,11 @@ "05wc5nwkqz7saj2v33ydmz1y6jdg659dll4jjh91n41m63gx0qsg")))) (build-system gnu-build-system) (arguments `(#:configure-flags '("--with-internal-glib"))) + (native-search-paths + (list (search-path-specification + (variable "PKG_CONFIG_PATH") + (directories '("lib/pkgconfig" "lib64/pkgconfig" + "share/pkgconfig"))))) (home-page "http://www.freedesktop.org/wiki/Software/pkg-config") (license gpl2+) (synopsis "a helper tool used when compiling applications and diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 9794f4d057..4e993f3961 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -38,6 +38,7 @@ (define* (cmake-build store name source inputs #:key (guile #f) (outputs '("out")) (configure-flags ''()) + (search-paths '()) (make-flags ''()) (patches ''()) (patch-flags ''("--batch" "-p1")) (cmake (@ (gnu packages cmake) cmake)) @@ -70,6 +71,8 @@ provides a 'CMakeLists.txt' file as its build system." #:system ,system #:outputs %outputs #:inputs %build-inputs + #:search-paths ',(map search-path-specification->sexp + search-paths) #:patches ,patches #:patch-flags ,patch-flags #:phases ,phases diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index f4d0fa4f7c..d5ad1e3e01 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -159,7 +159,9 @@ System: GCC, GNU Make, Bash, Coreutils, etc." (define* (gnu-build store name source inputs #:key (guile #f) - (outputs '("out")) (configure-flags ''()) + (outputs '("out")) + (search-paths '()) + (configure-flags ''()) (make-flags ''()) (patches ''()) (patch-flags ''("--batch" "-p1")) (out-of-source? #f) @@ -189,6 +191,21 @@ the builder's environment, from the host. Note that we distinguish between both, because for Guile's own modules like (ice-9 foo), we want to use GUILE's own version of it, rather than import the user's one, which could lead to gratuitous input divergence." + (define implicit-inputs + (and implicit-inputs? + (parameterize ((%store store)) + (standard-inputs system)))) + + (define implicit-search-paths + (if implicit-inputs? + (append-map (match-lambda + ((_ (? package? p) _ ...) + (package-native-search-paths p)) + (_ + '())) + implicit-inputs) + '())) + (define builder `(begin (use-modules ,@modules) @@ -198,6 +215,9 @@ which could lead to gratuitous input divergence." #:system ,system #:outputs %outputs #:inputs %build-inputs + #:search-paths ',(map search-path-specification->sexp + (append implicit-search-paths + search-paths)) #:patches ,patches #:patch-flags ,patch-flags #:phases ,phases @@ -231,8 +251,7 @@ which could lead to gratuitous input divergence." '()) ,@inputs ,@(if implicit-inputs? - (parameterize ((%store store)) - (standard-inputs system)) + implicit-inputs '())) #:outputs outputs #:modules imported-modules diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index 537c29e799..c97698e225 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -38,6 +38,7 @@ (define* (perl-build store name source inputs #:key (perl (@ (gnu packages perl) perl)) + (search-paths '()) (tests? #t) (make-maker-flags ''()) (phases '(@ (guix build perl-build-system) @@ -53,6 +54,9 @@ (guix build utils)))) "Build SOURCE using PERL, and with INPUTS. This assumes that SOURCE provides a `Makefile.PL' file as its build system." + (define perl-search-paths + (package-native-search-paths perl)) + (define builder `(begin (use-modules ,@modules) @@ -60,6 +64,9 @@ provides a `Makefile.PL' file as its build system." #:source ,(if (and source (derivation-path? source)) (derivation-path->output-path source) source) + #:search-paths ',(map search-path-specification->sexp + (append perl-search-paths + search-paths)) #:make-maker-flags ,make-maker-flags #:system ,system #:test-target "test" diff --git a/guix/build-system/trivial.scm b/guix/build-system/trivial.scm index e5bbeaa91d..2eb15aa2e0 100644 --- a/guix/build-system/trivial.scm +++ b/guix/build-system/trivial.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès +;;; Copyright © 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -26,7 +26,9 @@ #:export (trivial-build-system)) (define* (trivial-build store name source inputs - #:key outputs guile system builder (modules '())) + #:key + outputs guile system builder (modules '()) + search-paths) "Run build expression BUILDER, an expression, for SYSTEM. SOURCE is ignored." (define guile-for-build diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 891c30df8f..94a7d6bca8 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -48,26 +48,22 @@ #f dir)) -(define* (set-paths #:key inputs +(define* (set-paths #:key inputs (search-paths '()) #:allow-other-keys) (define input-directories (match inputs (((_ . dir) ...) dir))) - (set-path-environment-variable "PATH" '("bin") - input-directories) - (set-path-environment-variable "CPATH" '("include") - input-directories) - (set-path-environment-variable "LIBRARY_PATH" '("lib" "lib64") + (set-path-environment-variable "PATH" '("bin" "sbin") input-directories) - ;; FIXME: Eventually move this to the `search-paths' field of the - ;; `pkg-config' package. - (set-path-environment-variable "PKG_CONFIG_PATH" - '("lib/pkgconfig" "lib64/pkgconfig" - "share/pkgconfig") - input-directories) + (for-each (match-lambda + ((env-var (directories ...) separator) + (set-path-environment-variable env-var directories + input-directories + #:separator separator))) + search-paths) ;; Dump the environment variables as a shell script, for handy debugging. (system "export > environment-variables")) diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm index d625ef3ed6..793b6aacb5 100644 --- a/guix/build/perl-build-system.scm +++ b/guix/build/perl-build-system.scm @@ -50,10 +50,6 @@ (define* (perl-build #:key inputs (phases %standard-phases) #:allow-other-keys #:rest args) "Build the given Perl package, applying all of PHASES in order." - (set-path-environment-variable "PERL5LIB" '("lib/perl5/site_perl") - (match inputs - (((_ . path) ...) - path))) (apply gnu:gnu-build #:inputs inputs #:phases phases args)) diff --git a/guix/packages.scm b/guix/packages.scm index 81f09d638e..3a6a07bbcc 100644 --- a/guix/packages.scm +++ b/guix/packages.scm @@ -37,6 +37,11 @@ origin-file-name base32 + + search-path-specification + search-path-specification? + search-path-specification->sexp + package package? package-name @@ -49,6 +54,7 @@ package-native-inputs package-propagated-inputs package-outputs + package-native-search-paths package-search-paths package-synopsis package-description @@ -104,8 +110,22 @@ representation." ((_ str) #'(nix-base32-string->bytevector str))))) -;; A package. +;; The specification of a search path. +(define-record-type* + search-path-specification make-search-path-specification + search-path-specification? + (variable search-path-specification-variable) + (directories search-path-specification-directories) + (separator search-path-specification-separator (default ":"))) +(define (search-path-specification->sexp spec) + "Return an sexp representing SPEC, a . The sexp +corresponds to the arguments expected by `set-path-environment-variable'." + (match spec + (($ variable directories separator) + `(,variable ,directories ,separator)))) + +;; A package. (define-record-type* package make-package package? @@ -128,10 +148,13 @@ representation." (outputs package-outputs ; list of strings (default '("out"))) - (search-paths package-search-paths ; list of (ENV-VAR (DIRS ...)) - (default '())) ; tuples; see - ; `set-path-environment-variable' - ; (aka. "setup-hook") + + ; lists of + ; , + ; for native and cross + ; inputs + (native-search-paths package-native-search-paths (default '())) + (search-paths package-search-paths (default '())) (synopsis package-synopsis) ; one-line description (description package-description) ; one or two paragraphs @@ -292,16 +315,22 @@ PACKAGE for SYSTEM." (($ name version source (= build-system-builder builder) args inputs propagated-inputs native-inputs self-native-input? outputs) - ;; TODO: For `search-paths', add a builder prologue that calls - ;; `set-path-environment-variable'. - (let ((inputs (map expand-input - (package-transitive-inputs package)))) + (let* ((inputs (package-transitive-inputs package)) + (input-drvs (map expand-input inputs)) + (paths (delete-duplicates + (append-map (match-lambda + ((_ (? package? p) _ ...) + (package-native-search-paths + p)) + (_ '())) + inputs)))) (apply builder store (package-full-name package) (and source (package-source-derivation store source system)) - inputs + input-drvs + #:search-paths paths #:outputs outputs #:system system (args)))))))) diff --git a/tests/packages.scm b/tests/packages.scm index c5d9d280ed..2d16f8a03f 100644 --- a/tests/packages.scm +++ b/tests/packages.scm @@ -22,6 +22,7 @@ #:use-module (guix utils) #:use-module (guix derivations) #:use-module (guix packages) + #:use-module (guix build-system) #:use-module (guix build-system trivial) #:use-module (guix build-system gnu) #:use-module (gnu packages) @@ -138,6 +139,41 @@ (let ((p (pk 'drv d (derivation-path->output-path d)))) (eq? 'hello (call-with-input-file p read)))))) +(test-assert "search paths" + (let* ((p (make-prompt-tag "return-search-paths")) + (s (build-system + (name "raw") + (description "Raw build system with direct store access") + (build (lambda* (store name source inputs + #:key outputs system search-paths) + search-paths)))) + (x (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (directories '("share/guile/site/2.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (directories '("share/guile/site/2.0"))))) + (a (package (inherit (dummy-package "guile")) + (build-system s) + (native-search-paths x))) + (b (package (inherit (dummy-package "guile-foo")) + (build-system s) + (inputs `(("guile" ,a))))) + (c (package (inherit (dummy-package "guile-bar")) + (build-system s) + (inputs `(("guile" ,a) + ("guile-foo" ,b)))))) + (let-syntax ((collect (syntax-rules () + ((_ body ...) + (call-with-prompt p + (lambda () + body ...) + (lambda (k search-paths) + search-paths)))))) + (and (null? (collect (package-derivation %store a))) + (equal? x (collect (package-derivation %store b))) + (equal? x (collect (package-derivation %store c))))))) + (unless (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)) (test-skip 1)) (test-assert "GNU Make, bootstrap" From 9be8d7c8cb1b1ee4d1f3ba7360320527199b4a0d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 30 Mar 2013 22:50:45 +0100 Subject: [PATCH 103/151] gnu: Define `native-search-paths' for Automake, Guile, and Python. * gnu/packages/autotools.scm (automake)[native-search-paths]: New field. * gnu/packages/guile.scm (guile-1.8)[native-search-paths]: New field. (guile-2.0)[native-search-paths]: New field. * gnu/packages/python.scm (python)[native-search-paths]: New field. --- gnu/packages/autotools.scm | 5 +++++ gnu/packages/guile.scm | 13 +++++++++++++ gnu/packages/python.scm | 4 ++++ 3 files changed, 22 insertions(+) diff --git a/gnu/packages/autotools.scm b/gnu/packages/autotools.scm index bc4dddc01f..114e98f606 100644 --- a/gnu/packages/autotools.scm +++ b/gnu/packages/autotools.scm @@ -164,6 +164,11 @@ exec ~a --no-auto-compile \"$0\" \"$@\" (setenv "SHELL" sh) (setenv "CONFIG_SHELL" sh))) %standard-phases))) + (native-search-paths + (list (search-path-specification + (variable "ACLOCAL_PATH") + (directories '("share/aclocal"))))) + (home-page "http://www.gnu.org/software/automake/") (synopsis "GNU Automake, a GNU standard-compliant makefile generator") diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 58e7c2910c..c74d0512c6 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -88,6 +88,11 @@ ;; When cross-compiling, a native version of Guile itself is needed. (self-native-input? #t) + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (directories '("share/guile/site"))))) + (synopsis "GNU Guile 1.8, an embeddable Scheme interpreter") (description "GNU Guile 1.8 is an interpreter for the Scheme programming language, @@ -137,6 +142,14 @@ extensible. It supports many SRFIs.") (string-append bash "/bin/bash"))))) %standard-phases))) + (native-search-paths + (list (search-path-specification + (variable "GUILE_LOAD_PATH") + (directories '("share/guile/site/2.0"))) + (search-path-specification + (variable "GUILE_LOAD_COMPILED_PATH") + (directories '("share/guile/site/2.0"))))) + (synopsis "GNU Guile 2.0, an embeddable Scheme implementation") (description "GNU Guile is an implementation of the Scheme programming language, with diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 52b11e4197..26b76864ce 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -43,6 +43,10 @@ `(("zlib" ,zlib) ("openssl" ,openssl) ("bzip2" ,bzip2))) + (native-search-paths + (list (search-path-specification + (variable "PYTHONPATH") + (directories '("lib/python2.7/site-packages"))))) (home-page "http://python.org") (synopsis "Python, a high-level dynamically-typed programming language") From bd8c5d5b02d33ed5952a7d093298611cadfa5818 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 31 Mar 2013 14:33:33 +0200 Subject: [PATCH 104/151] gnu: xorg: Add libxp and printproto, not included in X11R7.7. * gnu/packages/xorg.scm (libxp, printproto): New variables. --- gnu/packages/xorg.scm | 51 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 51 insertions(+) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 8376a4230f..d770531f5d 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -1848,6 +1848,29 @@ tracking.") (license license:x11))) +;; The package is missing from X11R7.7. +(define-public printproto + (package + (name "printproto") + (version "1.0.5") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/proto/printproto-" + version + ".tar.bz2")) + (sha256 + (base32 + "06liap8n4s25sgp27d371cc7yg9a08dxcr3pmdjp761vyin3360j")))) + (build-system gnu-build-system) + (inputs `(("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public randrproto (package (name "randrproto") @@ -4215,6 +4238,34 @@ tracking.") (license license:x11))) +;; The package is missing from X11R7.7. +(define-public libxp + (package + (name "libxp") + (version "1.0.0") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/individual/lib/libXp-" + version + ".tar.bz2")) + (sha256 + (base32 + "1blwrr5zhmwwy87j0svmhv3hc13acyn5j14n5rv0anz81iav2r3y")))) + (build-system gnu-build-system) + (propagated-inputs + `(("printproto" ,printproto))) + (inputs + `(("libx11" ,libx11) + ("libxext" ,libxext) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) + + (define-public libxrender (package (name "libxrender") From 0a92b5b30a1701ca6e96e729041b305c057dac37 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 31 Mar 2013 14:50:10 +0200 Subject: [PATCH 105/151] gnu: freetype: Make include file ft2build.h work without changing the CPATH of dependent packages. * gnu/packages/fontutils.scm (freetype): Add link include/freetype to include/freetype2/freetype. --- gnu/packages/fontutils.scm | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 551d4ac167..14f8250357 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -38,6 +38,20 @@ (sha256 (base32 "0gpcz6swir64kp0dk3rwgqqkmf48b90dqgczdmznjjryhrahx9r9")))) (build-system gnu-build-system) + (arguments + `(#:phases + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys #:rest args) + (let ((install (assoc-ref %standard-phases 'install)) + (include (string-append (assoc-ref outputs "out") "/include"))) + (apply install args) + ;; Unravel one directory, since ft2build.h includes directly from + ;; freetype/, not freetype2/freetype; this is announced in the file + ;; to be changed in a future release. + (symlink (string-append include "/freetype2/freetype") + (string-append include "/freetype")))) + %standard-phases))) (synopsis "Freetype, a library to render fonts") (description "Freetype is a library that can be used by applications to access the From 141ccae8a737ba89eeb3d7f749270c5eda73d8b7 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 31 Mar 2013 14:58:01 +0200 Subject: [PATCH 106/151] gnu: lesstif: Make package usable by adding propagated input. * gnu/packages/lesstif.scm (lesstif): Add propagated input printproto; include/Xm/Print.h from lesstif includes X11/extensions/Print.h from printproto. --- gnu/packages/lesstif.scm | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/gnu/packages/lesstif.scm b/gnu/packages/lesstif.scm index 3d89258399..d15549454f 100644 --- a/gnu/packages/lesstif.scm +++ b/gnu/packages/lesstif.scm @@ -39,9 +39,11 @@ (base32 "1qzpxjjf7ri1jzv71mvq5m9g8hfaj5yzwp30rwxlm6n2b24a6jpb")))) (build-system gnu-build-system) + (propagated-inputs + `(("printproto" ,printproto))) (inputs `(("libxext" ,libxext) - ("libxt" ,libxt))); + ("libxt" ,libxt))) (home-page "http://lesstif.sourceforge.net/") (synopsis "Clone of the Motif toolkit for the X window system") (description "Clone of the Motif toolkit for the X window system") From 14ecc0effca4d7447510bc67a774f897ac03ab87 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 31 Mar 2013 17:25:11 +0200 Subject: [PATCH 107/151] gnu: Add xpdf. * gnu/packages/pdf.scm (xpdf): New variable. * gnu/packages/patches/xpdf-constchar.patch: New file. * Makefile.am (dist_patch_DATA): Add it. --- Makefile.am | 3 +- gnu/packages/patches/xpdf-constchar.patch | 15 ++++++++ gnu/packages/pdf.scm | 42 +++++++++++++++++++++-- 3 files changed, 56 insertions(+), 4 deletions(-) create mode 100644 gnu/packages/patches/xpdf-constchar.patch diff --git a/Makefile.am b/Makefile.am index 54ca41b3b8..9b9bdbf8b3 100644 --- a/Makefile.am +++ b/Makefile.am @@ -223,7 +223,8 @@ dist_patch_DATA = \ gnu/packages/patches/tar-gets-undeclared.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ - gnu/packages/patches/vpnc-script.patch + gnu/packages/patches/vpnc-script.patch \ + gnu/packages/patches/xpdf-constchar.patch bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux diff --git a/gnu/packages/patches/xpdf-constchar.patch b/gnu/packages/patches/xpdf-constchar.patch new file mode 100644 index 0000000000..95dbe73c71 --- /dev/null +++ b/gnu/packages/patches/xpdf-constchar.patch @@ -0,0 +1,15 @@ +This patch circumvents an error with 'const char *' to 'char *' conversion, +see http://gnats.netbsd.org/45562 . + +diff -u a/xpdf/XPDFViewer.cc b/xpdf/XPDFViewer.cc +--- a/xpdf/XPDFViewer.cc 2011-08-15 23:08:53.000000000 +0200 ++++ b/xpdf/XPDFViewer.cc 2013-03-31 15:13:21.000000000 +0200 +@@ -1803,7 +1803,7 @@ + menuPane = XmCreatePulldownMenu(toolBar, "zoomMenuPane", args, n); + for (i = 0; i < nZoomMenuItems; ++i) { + n = 0; +- s = XmStringCreateLocalized(zoomMenuInfo[i].label); ++ s = XmStringCreateLocalized((char *) zoomMenuInfo[i].label); + XtSetArg(args[n], XmNlabelString, s); ++n; + XtSetArg(args[n], XmNuserData, (XtPointer)i); ++n; + sprintf(buf, "zoom%d", i); diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index a172414553..b2f1ade143 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -17,17 +17,21 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages pdf) - #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc '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 fontutils) + #:use-module (gnu packages ghostscript) + #:use-module (gnu packages lesstif) #:use-module (gnu packages libjpeg) #:use-module (gnu packages libpng) #:use-module (gnu packages libtiff) - #:use-module (gnu packages pkg-config)) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages xorg)) (define-public poppler (package @@ -63,5 +67,37 @@ (synopsis "Poppler, a pdf rendering library") (description "Poppler is a PDF rendering library based on the xpdf-3.0 code base.") - (license gpl2+) + (license license:gpl2+) (home-page "http://poppler.freedesktop.org/"))) + +(define-public xpdf + (package + (name "xpdf") + (version "3.03") + (source (origin + (method url-fetch) + (uri (string-append "ftp://ftp.foolabs.com/pub/xpdf/xpdf-" + version ".tar.gz")) + (sha256 (base32 + "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2")))) + (build-system gnu-build-system) + (inputs `(("freetype" ,freetype) + ("lesstif" ,lesstif) + ("libpaper" ,libpaper) + ("libx11" ,libx11) + ("libxext" ,libxext) + ("libxp" ,libxp) + ("libxpm" ,libxpm) + ("libxt" ,libxt) + ("zlib" ,zlib) + ("patch/constchar" + ,(search-patch "xpdf-constchar.patch")))) + (arguments + `(#:tests? #f ; there is no check target + #:patches (list (assoc-ref %build-inputs + "patch/constchar")))) + (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+ + (home-page "http://www.foolabs.com/xpdf/"))) From c7f9993146a12c579098959b3b0dcfdb46151fee Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 31 Mar 2013 21:16:50 +0200 Subject: [PATCH 108/151] gnu: xorg: Remove inputs already available through propagation. * gnu/packages/xorg.scm: Remove inputs that are available through propagation. --- gnu/packages/xorg.scm | 92 ++++++++----------------------------------- 1 file changed, 17 insertions(+), 75 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index d770531f5d..0059effa95 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -59,8 +59,7 @@ "04c3md570j67g55h3bix1qbngcslnq91skli51k3g1avki88zkm9")))) (build-system gnu-build-system) (inputs - `(("libx11" ,libx11) - ("libxext" ,libxext) + `(("libxext" ,libxext) ("libxmu" ,libxmu) ("libxt" ,libxt) ("pkg-config" ,pkg-config))) @@ -702,8 +701,7 @@ tracking.") "0pyjmc0ha288d4i4j0si4dh3ncf3jiwwjljvddrb0k8v4xiyljqv")))) (build-system gnu-build-system) (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) + `(("mkfontdir" ,mkfontdir) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -953,8 +951,7 @@ tracking.") "19cq7iq0pfad0nc2v28n681fdq3fcw1l1hzaq0wpkgpx7bc1zjsk")))) (build-system gnu-build-system) (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) + `(("mkfontdir" ,mkfontdir) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -1003,8 +1000,7 @@ tracking.") "150pq6n8n984fah34n3k133kggn9v0c5k07igv29sxp1wi07krxq")))) (build-system gnu-build-system) (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) + `(("mkfontdir" ,mkfontdir) ("font-util" ,font-util) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) @@ -1055,8 +1051,7 @@ tracking.") "0nkym3n48b4v36y4s927bbkjnsmicajarnf6vlp7wxp0as304i74")))) (build-system gnu-build-system) (inputs - `(("mkfontscale" ,mkfontscale) - ("mkfontdir" ,mkfontdir) + `(("mkfontdir" ,mkfontdir) ("font-util" ,font-util) ("bdftopcf" ,bdftopcf) ("pkg-config" ,pkg-config))) @@ -1272,8 +1267,7 @@ tracking.") "1aq6v671s2x5rc6zn0rgxb4wddg4vq94mckw3cpwl7ccrjjvd5hl")))) (build-system gnu-build-system) (inputs - `(("xproto" ,xproto) - ("libice" ,libice) + `(("libice" ,libice) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -1493,7 +1487,6 @@ tracking.") (build-system gnu-build-system) (inputs `(("xtrans" ,xtrans) - ("xproto" ,xproto) ("util-linux" ,util-linux) ("libice" ,libice) ("pkg-config" ,pkg-config))) @@ -1596,8 +1589,7 @@ tracking.") "1gdv6559cdz1lfw73x7wsvax1fkvphmayrymprljhyyb5nwk5kkz")))) (build-system gnu-build-system) (inputs - `(("renderproto" ,renderproto) - ("libx11" ,libx11) + `(("libx11" ,libx11) ("xproto" ,xproto) ("libxrender" ,libxrender) ("xproto" ,xproto) @@ -1628,7 +1620,6 @@ tracking.") (build-system gnu-build-system) (inputs `(("libx11" ,libx11) - ("kbproto" ,kbproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -1654,9 +1645,7 @@ tracking.") (inputs `(("libxt" ,libxt) ("xproto" ,xproto) - ("xextproto" ,xextproto) ("libxext" ,libxext) - ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -1683,9 +1672,7 @@ tracking.") `(("gettext" ,gnu:gettext) ("libxt" ,libxt) ("xproto" ,xproto) - ("xextproto" ,xextproto) ("libxext" ,libxext) - ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -1710,7 +1697,6 @@ tracking.") (build-system gnu-build-system) (inputs `(("xproto" ,xproto) - ("xextproto" ,xextproto) ("libxext" ,libxext) ("libx11" ,libx11) ("resourceproto" ,resourceproto) @@ -1737,8 +1723,7 @@ tracking.") "07ff4r20nkkrj7h08f9fwamds9b3imj8jz5iz6y38zqw6jkyzwcg")))) (build-system gnu-build-system) (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) + `(("libxext" ,libxext) ("libx11" ,libx11) ("scrnsaverproto" ,scrnsaverproto) ("pkg-config" ,pkg-config))) @@ -2047,8 +2032,6 @@ tracking.") (inputs `(("libxt" ,libxt) ("libxmu" ,libxmu) - ("libsm" ,libsm) - ("libice" ,libice) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -2195,7 +2178,6 @@ tracking.") `(("libx11" ,libx11) ("libxrandr" ,libxrandr) ("libxrender" ,libxrender) - ("libxcb" ,libxcb) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -2336,7 +2318,6 @@ tracking.") (build-system gnu-build-system) (inputs `(("libxcursor" ,libxcursor) - ("libx11" ,libx11) ("libpng" ,libpng) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -2362,17 +2343,14 @@ tracking.") (build-system gnu-build-system) (inputs `(("inputproto" ,inputproto) + ("libx11" ,libx11) ("libxxf86vm" ,libxxf86vm) -;; ("libxxf86misc" ,libxxf86misc) ("libxxf86dga" ,libxxf86dga) ("libxtst" ,libxtst) ("libxrender" ,libxrender) ("libxinerama" ,libxinerama) ("libxi" ,libxi) - ("libxext" ,libxext) ("libxcomposite" ,libxcomposite) - ("libxcb" ,libxcb) - ("libx11" ,libx11) ("libdmx" ,libdmx) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -2398,9 +2376,7 @@ tracking.") (build-system gnu-build-system) (inputs `(("mesa" ,mesa) - ("glproto" ,glproto) ("libx11" ,libx11) - ("glproto" ,glproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -3546,7 +3522,6 @@ tracking.") ("libxrandr" ,libxrandr) ("libxinerama" ,libxinerama) ("libxi" ,libxi) - ("libxext" ,libxext) ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) @@ -3626,7 +3601,6 @@ tracking.") `(("libxt" ,libxt) ("xproto" ,xproto) ("libxaw" ,libxaw) - ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -3960,8 +3934,7 @@ tracking.") "1s61mvscd0h7y6anljarj7nkii6plhs8ndx1fm8b1f1h00a1qdv1")))) (build-system gnu-build-system) (inputs - `(;("libxxf86misc" ,libxxf86misc) - ("xproto" ,xproto) + `(("xproto" ,xproto) ("libxmu" ,libxmu) ("libxext" ,libxext) ("libx11" ,libx11) @@ -3991,7 +3964,6 @@ tracking.") `(("libxmu" ,libxmu) ("libxcursor" ,libxcursor) ("xbitmaps" ,xbitmaps) - ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4065,7 +4037,6 @@ tracking.") (inputs `(("libxt" ,libxt) ("xproto" ,xproto) - ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4089,10 +4060,9 @@ tracking.") "0fmcr5yl03xw7m8p9h1rk67rrj7gp5x16a547xhmg8idw2f6r9lg")))) (build-system gnu-build-system) (inputs - `(("xproto" ,xproto) - ("libxcb" ,libxcb) - ("libx11" ,libx11) - ("pkg-config" ,pkg-config))) + `(("libx11" ,libx11) + ("pkg-config" ,pkg-config) + ("xproto" ,xproto))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4172,9 +4142,7 @@ tracking.") (inputs `(("xproto" ,xproto) ("libxfixes" ,libxfixes) - ("xextproto" ,xextproto) ("libx11" ,libx11) - ("fixesproto" ,fixesproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4201,7 +4169,6 @@ tracking.") `(("xextproto" ,xextproto))) (inputs `(("libxau" ,libxau) - ("xproto" ,xproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -4228,8 +4195,7 @@ tracking.") (propagated-inputs `(("xineramaproto" ,xineramaproto))) (inputs - `(("xextproto" ,xextproto) - ("libxext" ,libxext) + `(("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -4312,8 +4278,6 @@ tracking.") `(("recordproto" ,recordproto))) (inputs `(("libxi" ,libxi) - ("xextproto" ,xextproto) - ("libxext" ,libxext) ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) @@ -4342,7 +4306,6 @@ tracking.") `(("videoproto" ,videoproto))) (inputs `(("xproto" ,xproto) - ("xextproto" ,xextproto) ("libxext" ,libxext) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) @@ -4478,8 +4441,6 @@ tracking.") (inputs `(("libxt" ,libxt) ("xproto" ,xproto) - ("xextproto" ,xextproto) - ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4506,7 +4467,6 @@ tracking.") `(("fixesproto" ,fixesproto))) (inputs `(("xproto" ,xproto) - ("xextproto" ,xextproto) ("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") @@ -4564,7 +4524,6 @@ tracking.") `(("libxext" ,libxext))) (inputs `(("xproto" ,xproto) - ("xextproto" ,xextproto) ("libx11" ,libx11) ("inputproto" ,inputproto) ("pkg-config" ,pkg-config))) @@ -4595,9 +4554,7 @@ tracking.") (inputs `(("libxrender" ,libxrender) ("xproto" ,xproto) - ("xextproto" ,xextproto) ("libx11" ,libx11) - ("renderproto" ,renderproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4624,10 +4581,8 @@ tracking.") `(("libxv" ,libxv))) (inputs `(("xproto" ,xproto) - ("xextproto" ,xextproto) ("libxext" ,libxext) ("libx11" ,libx11) - ("videoproto" ,videoproto) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4655,7 +4610,6 @@ tracking.") ("xf86vidmodeproto" ,xf86vidmodeproto))) (inputs `(("libx11" ,libx11) - ("libxext" ,libxext) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") @@ -4694,7 +4648,6 @@ tracking.") ("expat" ,expat) ("flex" ,flex) ("libx11" ,libx11) - ("libxext" ,libxext) ("libxfixes" ,libxfixes) ("libxml2" ,libxml2) ("makedepend" ,makedepend) @@ -4753,8 +4706,7 @@ emulation to complete hardware acceleration for modern GPUs.") `(("xcb-proto" ,xcb-proto) ("libxslt" ,libxslt) ("pkg-config" ,pkg-config) - ("python" ,python) - ("xproto" ,xproto))) + ("python" ,python))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4795,18 +4747,13 @@ emulation to complete hardware acceleration for modern GPUs.") ("damageproto" ,damageproto) ("dbus" ,dbus) ("dmxproto" ,dmxproto) - ("glproto" ,glproto) ("libdmx" ,libdmx) - ("libx11" ,libx11) ("libxau" ,libxau) ("libxaw" ,libxaw) ("libxdmcp" ,libxdmcp) - ("libxext" ,libxext) ("libxfixes" ,libxfixes) ("libxfont" ,libxfont) ("libxkbfile" ,libxkbfile) - ("libxmu" ,libxmu) - ("libxpm" ,libxpm) ("libxrender" ,libxrender) ("libxres" ,libxres) ("libxt" ,libxt) @@ -4823,7 +4770,6 @@ emulation to complete hardware acceleration for modern GPUs.") ("xf86dgaproto" ,xf86dgaproto) ("xf86driproto" ,xf86driproto) ("xf86vidmodeproto" ,xf86vidmodeproto) -;; ("xkbcomp" ,xkbcomp) ;; ("xkbutils" ,xkbutils) ;; ("xkeyboard-config" ,xkeyboard-config) ("xtrans" ,xtrans) @@ -4859,7 +4805,6 @@ emulation to complete hardware acceleration for modern GPUs.") ("libxcb" ,libxcb))) (inputs `(("inputproto" ,inputproto) - ("libxcb" ,libxcb) ("pkg-config" ,pkg-config) ("xextproto" ,xextproto) ("xtrans" ,xtrans))) @@ -4892,8 +4837,7 @@ emulation to complete hardware acceleration for modern GPUs.") ("libxfixes" ,libxfixes) ("xproto" ,xproto))) (inputs - `(("fixesproto" ,fixesproto) - ("pkg-config" ,pkg-config))) + `(("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") @@ -4920,9 +4864,7 @@ emulation to complete hardware acceleration for modern GPUs.") ("libice" ,libice) ("libsm" ,libsm))) (inputs - `(("xproto" ,xproto) - ("libx11" ,libx11) - ("kbproto" ,kbproto) + `(("libx11" ,libx11) ("pkg-config" ,pkg-config))) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") From 8dc5d0cf7e18ee423c73087570c6b50d215ae216 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Tue, 2 Apr 2013 12:47:39 +0200 Subject: [PATCH 109/151] gnu: xorg: Re-enable tests for xorg-server. * gnu/packages/xorg.scm (xorg-server): Re-enable (failing) tests. --- gnu/packages/xorg.scm | 2 -- 1 file changed, 2 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 0059effa95..7c08e4471e 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4774,8 +4774,6 @@ emulation to complete hardware acceleration for modern GPUs.") ;; ("xkeyboard-config" ,xkeyboard-config) ("xtrans" ,xtrans) ("zlib" ,zlib))) - (arguments - `(#:tests? #f)) (home-page "http://www.x.org/wiki/") (synopsis "xorg implementation of the X Window System") (description "X.org provides an implementation of the X Window System") From 068cdcd07c59ab8228c7c5580f6fd162069e3999 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 9 Apr 2013 19:01:21 +0200 Subject: [PATCH 110/151] build-system/gnu: Fix search path computation with implicit inputs. Reported by Andreas Enge . * guix/build-system/gnu.scm (standard-packages): New procedure. (standard-inputs): Use it instead of resolving things locally. (gnu-build)[implicit-search-paths]: Map over (standard-packages), not over STANDARD-INPUTS. --- guix/build-system/gnu.scm | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index d5ad1e3e01..3b3d99b313 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -135,6 +135,14 @@ use `--strip-all' as the arguments to `strip'." ;; Store passed to STANDARD-INPUTS. (make-parameter #f)) +(define (standard-packages) + "Return the list of (NAME PACKAGE OUTPUT) or (NAME PACKAGE) tuples of +standard packages used as implicit inputs of the GNU build system." + + ;; Resolve (gnu packages base) lazily to hide circular dependency. + (let ((distro (resolve-module '(gnu packages base)))) + (module-ref distro '%final-inputs))) + (define standard-inputs (memoize (lambda (system) @@ -148,9 +156,7 @@ System: GCC, GNU Make, Bash, Coreutils, etc." (z (error "invalid standard input" z))) - ;; Resolve (gnu packages base) lazily to hide circular dependency. - (let* ((distro (resolve-module '(gnu packages base))) - (inputs (module-ref distro '%final-inputs))) + (let ((inputs (standard-packages))) (append inputs (append-map (match-lambda ((name package _ ...) @@ -203,7 +209,7 @@ which could lead to gratuitous input divergence." (package-native-search-paths p)) (_ '())) - implicit-inputs) + (standard-packages)) '())) (define builder From 1010e530d38af0b87fced74267bb7864a213b158 Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Mon, 1 Apr 2013 00:23:42 +0200 Subject: [PATCH 111/151] gnu: Add dwm. * gnu/packages/dwm.scm: New file. * Makefile.am: Add it. --- Makefile.am | 1 + gnu/packages/dwm.scm | 86 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 87 insertions(+) create mode 100644 gnu/packages/dwm.scm diff --git a/Makefile.am b/Makefile.am index 053dc1e8c5..8dd9808dcd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -79,6 +79,7 @@ MODULES = \ gnu/packages/cyrus-sasl.scm \ gnu/packages/dejagnu.scm \ gnu/packages/ddrescue.scm \ + gnu/packages/dwm.scm \ gnu/packages/ed.scm \ gnu/packages/emacs.scm \ gnu/packages/fdisk.scm \ diff --git a/gnu/packages/dwm.scm b/gnu/packages/dwm.scm new file mode 100644 index 0000000000..ce87b14e5f --- /dev/null +++ b/gnu/packages/dwm.scm @@ -0,0 +1,86 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 Cyril Roelandt +;;; +;;; 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 dwm) + #:use-module (guix licenses) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (gnu packages) + #:use-module (gnu packages xorg)) + +(define-public dwm + (package + (name "dwm") + (version "6.0") + (source (origin + (method url-fetch) + (uri (string-append "http://dl.suckless.org/dwm/dwm-" + version ".tar.gz")) + (sha256 + (base32 "0mpbivy9j80l1jqq4bd4g4z8s5c54fxrjj44avmfwncjwqylifdj")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f + #:phases + (alist-replace + 'configure + (lambda _ + (substitute* "Makefile" (("\\$\\{CC\\}") "gcc")) + #t) + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (zero? + (system* "make" "install" + (string-append "DESTDIR=" out) "PREFIX=")))) + %standard-phases)))) + (inputs + `(("libx11" ,libx11) + ("libxinerama" ,libxinerama))) + (home-page "http://dwm.suckless.org/") + (synopsis "Dynamic window manager") + (description + "dwm is a dynamic window manager for X. It manages windows in tiled, +monocle and floating layouts. All of the layouts can be applied dynamically, +optimising the environment for the application in use and the task performed. + +In tiled layout windows are managed in a master and stacking area. The master +area contains the window which currently needs most attention, whereas the +stacking area contains all other windows. In monocle layout all windows are +maximised to the screen size. In floating layout windows can be resized and +moved freely. Dialog windows are always managed floating, regardless of the +layout applied. + +Windows are grouped by tags. Each window can be tagged with one or multiple +tags. Selecting certain tags displays all windows with these tags. + +Each screen contains a small status bar which displays all available tags, the +layout, the number of visible windows, the title of the focused window, and the +text read from the root window name property, if the screen is focused. A +floating window is indicated with an empty square and a maximised floating +window is indicated with a filled square before the windows title. The selected +tags are indicated with a different color. The tags of the focused window are +indicated with a filled square in the top left corner. The tags which are +applied to one or more windows are indicated with an empty square in the top +left corner. + +dwm draws a small customizable border around windows to indicate the focus +state.") + (license x11))) From 7a88ad6bff385062dcc726a7a092ed60fb05b5da Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Apr 2013 22:54:52 +0200 Subject: [PATCH 112/151] tests: Adjust `gnu-build' test to search path mechanism. Fixes a regression introduced in a18eda2. Reported by Nikita Karetnikov . * tests/builders.scm (%bootstrap-search-paths): New variable. ("gnu-build"): Pass #:search-paths. --- tests/builders.scm | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) diff --git a/tests/builders.scm b/tests/builders.scm index 880dddd0b6..1e6b62ee6a 100644 --- a/tests/builders.scm +++ b/tests/builders.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Ludovic Courtès +;;; Copyright © 2012, 2013 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -25,7 +25,8 @@ #:use-module (guix utils) #:use-module (guix base32) #:use-module (guix derivations) - #:use-module ((guix packages) #:select (package-derivation)) + #:use-module ((guix packages) + #:select (package-derivation package-native-search-paths)) #:use-module (gnu packages bootstrap) #:use-module (ice-9 match) #:use-module (srfi srfi-1) @@ -50,6 +51,13 @@ (list name (package-derivation %store package)))) (@@ (gnu packages base) %boot0-inputs)))) +(define %bootstrap-search-paths + ;; Search path specifications that go with %BOOTSTRAP-INPUTS. + (append-map (match-lambda + ((name package _ ...) + (package-native-search-paths package))) + (@@ (gnu packages base) %boot0-inputs))) + (define network-reachable? (false-if-exception (getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV))) @@ -83,7 +91,8 @@ (build (gnu-build %store "hello-2.8" tarball %bootstrap-inputs #:implicit-inputs? #f - #:guile %bootstrap-guile)) + #:guile %bootstrap-guile + #:search-paths %bootstrap-search-paths)) (out (derivation-path->output-path build))) (and (build-derivations %store (list (pk 'hello-drv build))) (valid-path? %store out) From bdf06d8922e62f725f94560c1aa1f00e3392b624 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 31 Mar 2013 12:46:28 +0200 Subject: [PATCH 113/151] pull: Switch to the cgit URL. * guix/scripts/pull.scm (%snapshot-url): Switch to the cgit URL, given that the Hydra one is not currently available. --- guix/scripts/pull.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/pull.scm b/guix/scripts/pull.scm index bc72dc4088..c5facd84d5 100644 --- a/guix/scripts/pull.scm +++ b/guix/scripts/pull.scm @@ -34,8 +34,8 @@ #:export (guix-pull)) (define %snapshot-url - "http://hydra.gnu.org/job/guix/master/tarball/latest/download" - ;;"http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz" + ;; "http://hydra.gnu.org/job/guix/master/tarball/latest/download" + "http://git.savannah.gnu.org/cgit/guix.git/snapshot/guix-master.tar.gz" ) (define (download-and-store store) From 5477e0342f477bafc0fd23d7ea85288fdd3a0fb7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Apr 2013 00:41:55 +0200 Subject: [PATCH 114/151] gnu-maintenance: Adjust `http-fetch' to the various Guile versions. * guix/gnu-maintenance.scm (http-fetch): Try #:streaming? #t, or 'http-get*', or 'http-get' as a last resort. Check whether DATA is #f, a string, or an input port. --- guix/gnu-maintenance.scm | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/guix/gnu-maintenance.scm b/guix/gnu-maintenance.scm index 979678d076..89e7f25589 100644 --- a/guix/gnu-maintenance.scm +++ b/guix/gnu-maintenance.scm @@ -66,12 +66,18 @@ (define (http-fetch uri) "Return an input port containing the textual data at URI, a string." (let*-values (((resp data) - (http-get (string->uri uri))) + (let ((uri (string->uri uri))) + ;; Try hard to use the API du jour to get an input port. + (if (version>? "2.0.7" (version)) + (if (defined? 'http-get*) + (http-get* uri) + (http-get uri)) ; old Guile, returns a string + (http-get uri #:streaming? #t)))) ; 2.0.8 or later ((code) (response-code resp))) (case code ((200) - (cond ((string<=? (version) "2.0.5") + (cond ((not data) (begin ;; XXX: Guile 2.0.5 and earlier did not support chunked transfer ;; encoding, which is required when fetching %PACKAGE-LIST-URL @@ -85,9 +91,10 @@ (response-transfer-encoding resp)) (error "download failed; use a newer Guile" uri resp))) - ((string<=? (version) "2.0.7") + ((string? data) ; old `http-get' returns a string (open-input-string data)) - (else data))) + (else ; input port + data))) (else (error "download failed" uri code (response-reason-phrase resp)))))) From afb49942e032000ba03ae879a7a1d29803aac094 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 1 Apr 2013 16:08:31 +0200 Subject: [PATCH 115/151] store: Add `store-path-hash-part'. * guix/store.scm (store-path-hash-part): New procedure. * tests/store.scm ("store-path-hash-part", "store-path-hash-part #f"): New tests. --- guix/store.scm | 12 +++++++++++- tests/store.scm | 12 ++++++++++++ 2 files changed, 23 insertions(+), 1 deletion(-) diff --git a/guix/store.scm b/guix/store.scm index 4d078c5899..3bb2656bb6 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -83,7 +83,8 @@ %store-prefix store-path? derivation-path? - store-path-package-name)) + store-path-package-name + store-path-hash-part)) (define %protocol-version #x10c) @@ -751,3 +752,12 @@ collected, and the number of bytes freed." (and=> (regexp-exec store-path-rx path) (cut match:substring <> 1))) + +(define (store-path-hash-part path) + "Return the hash part of PATH as a base32 string, or #f if PATH is not a +syntactically valid store path." + (let ((path-rx (make-regexp + (string-append"^" (regexp-quote (%store-prefix)) + "/([0-9a-df-np-sv-z]{32})-[^/]+$")))) + (and=> (regexp-exec path-rx path) + (cut match:substring <> 1)))) diff --git a/tests/store.scm b/tests/store.scm index c2de99e160..d6e1aa54e3 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -48,6 +48,18 @@ (test-begin "store") +(test-equal "store-path-hash-part" + "283gqy39v3g9dxjy26rynl0zls82fmcg" + (store-path-hash-part + (string-append (%store-prefix) + "/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))) + +(test-equal "store-path-hash-part #f" + #f + (store-path-hash-part + (string-append (%store-prefix) + "/foo/bar/283gqy39v3g9dxjy26rynl0zls82fmcg-guile-2.0.7"))) + (test-skip (if %store 0 10)) (test-assert "dead-paths" From f14d6b697e31b04e5657f27388b777ccee3aa5cb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Apr 2013 10:59:27 +0200 Subject: [PATCH 116/151] gnu: Add libphidget. * gnu/packages/libphidget.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/libphidget.scm | 42 +++++++++++++++++++++++++++++++++++++ 2 files changed, 43 insertions(+) create mode 100644 gnu/packages/libphidget.scm diff --git a/Makefile.am b/Makefile.am index 8dd9808dcd..722b3b79fe 100644 --- a/Makefile.am +++ b/Makefile.am @@ -116,6 +116,7 @@ MODULES = \ gnu/packages/libffi.scm \ gnu/packages/libidn.scm \ gnu/packages/libjpeg.scm \ + gnu/packages/libphidget.scm \ gnu/packages/libpng.scm \ gnu/packages/libsigsegv.scm \ gnu/packages/libtiff.scm \ diff --git a/gnu/packages/libphidget.scm b/gnu/packages/libphidget.scm new file mode 100644 index 0000000000..0f4ae5f965 --- /dev/null +++ b/gnu/packages/libphidget.scm @@ -0,0 +1,42 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 libphidget) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module (guix licenses) + #:use-module (gnu packages libusb)) + +(define-public libphidget + (package + (name "libphidget") + (version "2.1.8.20130320") + (source (origin + (method url-fetch) + (uri (string-append + "http://www.phidgets.com/downloads/libraries/libphidget_" + version ".tar.gz")) + (sha256 + (base32 "09ibrz1df5ajqcm9vmx6zw8qama2rzf0961yhmmfsy629qfhyrk0")))) + (build-system gnu-build-system) + (inputs `(("libusb" ,libusb))) + (home-page "http://www.phidgets.com/") + (license lgpl3+) + (synopsis "C library to manipulate Phidgets") + (description synopsis))) From 04151253e3de87059f9e1a0794a8667b49095917 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 3 Apr 2013 14:44:40 +0200 Subject: [PATCH 117/151] gnu: bigloo: Add dependencies on Avahi and libphidget. * gnu/packages/scheme.scm (bigloo): Add Avahi and libphidget as inputs, and pkg-config as a native input. --- gnu/packages/scheme.scm | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/gnu/packages/scheme.scm b/gnu/packages/scheme.scm index 59e1da22ac..4b42f8c53c 100644 --- a/gnu/packages/scheme.scm +++ b/gnu/packages/scheme.scm @@ -28,6 +28,9 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages patchelf) #:use-module (gnu packages which) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages avahi) + #:use-module (gnu packages libphidget) #:use-module (ice-9 match)) (define-public mit-scheme @@ -161,7 +164,13 @@ development cycle.") %standard-phases))))) (inputs `(("emacs" ,emacs) - ("patch/shebangs" ,(search-patch "bigloo-gc-shebangs.patch")))) + ("patch/shebangs" ,(search-patch "bigloo-gc-shebangs.patch")) + + ;; Optional APIs for which Bigloo has bindings. + ("avahi" ,avahi) + ("libphidget" ,libphidget))) + (native-inputs + `(("pkg-config" ,pkg-config))) (propagated-inputs `(("gmp" ,gmp))) ; bigloo.h refers to gmp.h (home-page "http://www-sop.inria.fr/indes/fp/Bigloo/") From 419fffa2e84bdcfee13572e1b346a7487926113d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 2 Apr 2013 10:44:20 +0200 Subject: [PATCH 118/151] Add preliminary binary substituter. * guix/scripts/substitute-binary.scm: New file. * Makefile.am (MODULES): Add it. * nix/scripts/substitute-binary.in: New file. * config-daemon.ac: Produce nix/scripts/substitute-binary. * daemon.am (nodist_pkglibexec_SCRIPTS): Add nix/scripts/substitute-binary. * guix/store.scm (substitutable-path-info): Use the `query-substitutable-path-infos' RPC. * nix/nix-daemon/guix-daemon.cc (main): Honor `NIX_SUBSTITUTERS'. * pre-inst-env.in: Set `NIX_SUBSTITUTERS'. * test-env.in: Leave `NIX_SUBSTITUTERS' unchanged. Set `GUIX_BINARY_SUBSTITUTE_URL, and create $NIX_STATE_DIR/substituter-data. Run `guix-daemon' within `./pre-inst-env'. * tests/store.scm ("substitute query"): New test. --- .gitignore | 1 + Makefile.am | 1 + config-daemon.ac | 5 +- daemon.am | 3 +- guix/scripts/substitute-binary.scm | 232 +++++++++++++++++++++++++++++ guix/store.scm | 2 +- nix/nix-daemon/guix-daemon.cc | 12 +- nix/scripts/substitute-binary.in | 11 ++ pre-inst-env.in | 3 +- test-env.in | 17 ++- tests/store.scm | 39 +++++ 11 files changed, 313 insertions(+), 13 deletions(-) create mode 100755 guix/scripts/substitute-binary.scm create mode 100644 nix/scripts/substitute-binary.in diff --git a/.gitignore b/.gitignore index 302e473fd8..f2b1f1cd39 100644 --- a/.gitignore +++ b/.gitignore @@ -72,3 +72,4 @@ stamp-h[0-9] /doc/guix.tp /doc/guix.vr /doc/guix.vrs +/nix/scripts/substitute-binary diff --git a/Makefile.am b/Makefile.am index 722b3b79fe..8b3057fd0b 100644 --- a/Makefile.am +++ b/Makefile.am @@ -31,6 +31,7 @@ MODULES = \ guix/scripts/package.scm \ guix/scripts/gc.scm \ guix/scripts/pull.scm \ + guix/scripts/substitute-binary.scm \ guix/base32.scm \ guix/utils.scm \ guix/derivations.scm \ diff --git a/config-daemon.ac b/config-daemon.ac index f48741dfda..eed1e23f9e 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -93,8 +93,9 @@ if test "x$guix_build_daemon" = "xyes"; then AC_MSG_RESULT([$GUIX_TEST_ROOT]) AC_SUBST([GUIX_TEST_ROOT]) - AC_CONFIG_FILES([nix/scripts/list-runtime-roots], - [chmod +x nix/scripts/list-runtime-roots]) + AC_CONFIG_FILES([nix/scripts/list-runtime-roots + nix/scripts/substitute-binary], + [chmod +x nix/scripts/list-runtime-roots nix/scripts/substitute-binary]) fi AM_CONDITIONAL([BUILD_DAEMON], [test "x$guix_build_daemon" = "xyes"]) diff --git a/daemon.am b/daemon.am index 4f2314b773..069700b1b6 100644 --- a/daemon.am +++ b/daemon.am @@ -159,7 +159,8 @@ nix/libstore/schema.sql.hh: nix/libstore/schema.sql (write (get-string-all in) out)))))" nodist_pkglibexec_SCRIPTS = \ - nix/scripts/list-runtime-roots + nix/scripts/list-runtime-roots \ + nix/scripts/substitute-binary EXTRA_DIST += \ nix/sync-with-upstream \ diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm new file mode 100755 index 0000000000..6e886b6c96 --- /dev/null +++ b/guix/scripts/substitute-binary.scm @@ -0,0 +1,232 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 (guix scripts substitute-binary) + #:use-module (guix ui) + #:use-module (guix store) + #:use-module (guix utils) + #:use-module (ice-9 rdelim) + #:use-module (ice-9 regex) + #:use-module (ice-9 match) + #:use-module (ice-9 threads) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-9) + #:use-module (srfi srfi-11) + #:use-module (srfi srfi-26) + #:use-module (web uri) + #:use-module (web client) + #:use-module (web response) + #:export (guix-substitute-binary)) + +;;; Comment: +;;; +;;; This is the "binary substituter". It is invoked by the daemon do check +;;; for the existence of available "substitutes" (pre-built binaries), and to +;;; actually use them as a substitute to building things locally. +;;; +;;; If possible, substitute a binary for the requested store path, using a Nix +;;; "binary cache". This program implements the Nix "substituter" protocol. +;;; +;;; Code: + +(define (fields->alist port) + "Read recutils-style record from PORT and return them as a list of key/value +pairs." + (define field-rx + (make-regexp "^([[:graph:]]+): (.*)$")) + + (let loop ((line (read-line port)) + (result '())) + (cond ((eof-object? line) + (reverse result)) + ((regexp-exec field-rx line) + => + (lambda (match) + (loop (read-line port) + (alist-cons (match:substring match 1) + (match:substring match 2) + result)))) + (else + (error "unmatched line" line))))) + +(define (alist->record alist make keys) + "Apply MAKE to the values associated with KEYS in ALIST." + (let ((args (map (cut assoc-ref alist <>) keys))) + (apply make args))) + +(define (fetch uri) + (case (uri-scheme uri) + ((file) + (open-input-file (uri-path uri))) + ((http) + (let*-values (((resp port) + ;; XXX: `http-get*' was introduced in 2.0.7, and deprecated + ;; in 2.0.8 (!). Assume it is available here. + (if (version>? "2.0.7" (version)) + (http-get* uri #:decode-body? #f) + (http-get uri #:streaming? #t))) + ((code) + (response-code resp)) + ((size) + (response-content-length resp))) + (case code + ((200) ; OK + port) + ((301 ; moved permanently + 302) ; found (redirection) + (let ((uri (response-location resp))) + (format #t "following redirection to `~a'...~%" + (uri->string uri)) + (fetch uri))) + (else + (error "download failed" (uri->string uri) + code (response-reason-phrase resp)))))))) + +(define-record-type + (%make-cache url store-directory wants-mass-query?) + cache? + (url cache-url) + (store-directory cache-store-directory) + (wants-mass-query? cache-wants-mass-query?)) + +(define (open-cache url) + "Open the binary cache at URL. Return a object on success, or #f on +failure." + (define (download-cache-info url) + ;; Download the `nix-cache-info' from URL, and return its contents as an + ;; list of key/value pairs. + (and=> (false-if-exception (fetch (string->uri url))) + fields->alist)) + + (and=> (download-cache-info (string-append url "/nix-cache-info")) + (lambda (properties) + (alist->record properties + (cut %make-cache url <...>) + '("StoreDir" "WantMassQuery"))))) + +(define-record-type + (%make-narinfo path url compression file-hash file-size nar-hash nar-size + references deriver system) + narinfo? + (path narinfo-path) + (url narinfo-url) + (compression narinfo-compression) + (file-hash narinfo-file-hash) + (file-size narinfo-file-size) + (nar-hash narinfo-hash) + (nar-size narinfo-size) + (references narinfo-references) + (deriver narinfo-deriver) + (system narinfo-system)) + +(define (make-narinfo path url compression file-hash file-size nar-hash nar-size + references deriver system) + "Return a new object." + (%make-narinfo path url compression file-hash + (and=> file-size string->number) + nar-hash + (and=> nar-size string->number) + (string-tokenize references) + (match deriver + ((or #f "") #f) + (_ deriver)) + system)) + +(define (fetch-narinfo cache path) + "Return the record for PATH, or #f if CACHE does not hold PATH." + (define (download url) + ;; Download the `nix-cache-info' from URL, and return its contents as an + ;; list of key/value pairs. + (and=> (false-if-exception (fetch (string->uri url))) + fields->alist)) + + (and=> (download (string-append (cache-url cache) "/" + (store-path-hash-part path) + ".narinfo")) + (lambda (properties) + (alist->record properties make-narinfo + '("StorePath" "URL" "Compression" + "FileHash" "FileSize" "NarHash" "NarSize" + "References" "Deriver" "System"))))) + +(define %cache-url + (or (getenv "GUIX_BINARY_SUBSTITUTE_URL") + "http://hydra.gnu.org")) + + +;;; +;;; Entry point. +;;; + +(define (guix-substitute-binary . args) + "Implement the build daemon's substituter protocol." + (match args + (("--query") + (let ((cache (open-cache %cache-url))) + (let loop ((command (read-line))) + (or (eof-object? command) + (begin + (match (string-tokenize command) + (("have" paths ..1) + ;; Return the subset of PATHS available in CACHE. + (let ((substitutable + (if cache + (par-map (cut fetch-narinfo cache <>) + paths) + '()))) + (for-each (lambda (narinfo) + (when narinfo + (display (narinfo-path narinfo)) + (newline))) + substitutable))) + (("info" paths ..1) + ;; Reply info about PATHS if it's in CACHE. + (let ((substitutable + (if cache + (par-map (cut fetch-narinfo cache <>) + paths) + '()))) + (for-each (lambda (narinfo) + (format #t "~a\n~a\n~a\n" + (narinfo-path narinfo) + (or (and=> (narinfo-deriver narinfo) + (cute string-append + (%store-prefix) "/" + <>)) + "") + (length (narinfo-references narinfo))) + (for-each (cute format #t "~a/~a~%" + (%store-prefix) <>) + (narinfo-references narinfo)) + (format #t "~a\n~a\n" + (or (narinfo-file-size narinfo) 0) + (or (narinfo-size narinfo) 0)) + (newline)) + substitutable))) + (wtf + (error "unknown `--query' command" wtf))) + (loop (read-line))))))) + (("--substitute" store-path destination) + ;; Download PATH and add it to the store. + ;; TODO: Implement. + (format (current-error-port) "substitution not implemented yet~%") + #f) + (("--version") + (show-version-and-exit "guix substitute-binary")))) + +;;; substitute-binary.scm ends here diff --git a/guix/store.scm b/guix/store.scm index 3bb2656bb6..de9785c835 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -662,7 +662,7 @@ file name. Return #t on success." store-path-list)) (define substitutable-path-info - (operation (query-substitutable-paths (store-path-list paths)) + (operation (query-substitutable-path-infos (store-path-list paths)) "Return information about the subset of PATHS that is substitutable. For each substitutable path, a `substitutable?' object is returned." diff --git a/nix/nix-daemon/guix-daemon.cc b/nix/nix-daemon/guix-daemon.cc index 1611840bd4..0e2f36150b 100644 --- a/nix/nix-daemon/guix-daemon.cc +++ b/nix/nix-daemon/guix-daemon.cc @@ -200,9 +200,17 @@ main (int argc, char *argv[]) { settings.processEnvironment (); - /* FIXME: Disable substitutes until we have something that works. */ - settings.useSubstitutes = false; + /* Use our substituter by default. */ settings.substituters.clear (); + string subs = getEnv ("NIX_SUBSTITUTERS", "default"); + if (subs == "default") + /* XXX: No substituters until we have something that works. */ + settings.substituters.clear (); + // settings.substituters.push_back (settings.nixLibexecDir + // + "/guix/substitute-binary"); + else + settings.substituters = tokenizeString (subs, ":"); + argp_parse (&argp, argc, argv, 0, 0, 0); diff --git a/nix/scripts/substitute-binary.in b/nix/scripts/substitute-binary.in new file mode 100644 index 0000000000..48d7bb8ff1 --- /dev/null +++ b/nix/scripts/substitute-binary.in @@ -0,0 +1,11 @@ +#!@SHELL@ +# A shorthand for "guix substitute-binary", for use by the daemon. + +if test "x$GUIX_UNINSTALLED" = "x" +then + prefix="@prefix@" + exec_prefix="@exec_prefix@" + exec "@bindir@/guix" substitute-binary "$@" +else + exec guix substitute-binary "$@" +fi diff --git a/pre-inst-env.in b/pre-inst-env.in index 4e079c8d41..5e7758cd7c 100644 --- a/pre-inst-env.in +++ b/pre-inst-env.in @@ -35,8 +35,9 @@ export PATH # Daemon helpers. NIX_ROOT_FINDER="@abs_top_builddir@/nix/scripts/list-runtime-roots" +NIX_SUBSTITUTERS="@abs_top_builddir@/nix/scripts/substitute-binary" NIX_SETUID_HELPER="@abs_top_builddir@/nix-setuid-helper" -export NIX_ROOT_FINDER NIX_SETUID_HELPER +export NIX_ROOT_FINDER NIX_SETUID_HELPER NIX_SUBSTITUTERS # The following variables need only be defined when compiling Guix # modules, but we define them to be on the safe side in case of diff --git a/test-env.in b/test-env.in index 491a45c7b4..9a6257197c 100644 --- a/test-env.in +++ b/test-env.in @@ -1,7 +1,7 @@ #!/bin/sh # GNU Guix --- Functional package management for GNU -# Copyright © 2012 Ludovic Courtès +# Copyright © 2012, 2013 Ludovic Courtès # # This file is part of GNU Guix. # @@ -26,7 +26,6 @@ if [ -x "@abs_top_builddir@/guix-daemon" ] then - NIX_SUBSTITUTERS="" # don't resort to substituters NIX_SETUID_HELPER="@abs_top_builddir@/nix-setuid-helper" # normally unused NIX_IGNORE_SYMLINK_STORE=1 # in case the store is a symlink NIX_STORE_DIR="@GUIX_TEST_ROOT@/store" @@ -39,18 +38,24 @@ then # that the directory name must be chosen so that the socket's file # name is less than 108-char long (the size of `sun_path' in glibc). # Currently, in Nix builds, we're at ~106 chars... - NIX_STATE_DIR="@GUIX_TEST_ROOT@/var/$$" # allow for parallel tests + NIX_STATE_DIR="@GUIX_TEST_ROOT@/var/$$" - export NIX_SUBSTITUTERS NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ + # A place to store data of the substituter. + GUIX_BINARY_SUBSTITUTE_URL="file://$NIX_STATE_DIR/substituter-data" + rm -rf "$NIX_STATE_DIR/substituter-data" + mkdir -p "$NIX_STATE_DIR/substituter-data" + + export NIX_IGNORE_SYMLINK_STORE NIX_STORE_DIR \ NIX_LOCALSTATE_DIR NIX_LOG_DIR NIX_STATE_DIR NIX_DB_DIR \ - NIX_ROOT_FINDER NIX_SETUID_HELPER + NIX_ROOT_FINDER NIX_SETUID_HELPER GUIX_BINARY_SUBSTITUTE_URL # Do that because store.scm calls `canonicalize-path' on it. mkdir -p "$NIX_STORE_DIR" # Launch the daemon without chroot support because is may be # unavailable, for instance if we're not running as root. - "@abs_top_builddir@/guix-daemon" --disable-chroot & + "@abs_top_builddir@/pre-inst-env" \ + "@abs_top_builddir@/guix-daemon" --disable-chroot & daemon_pid=$! trap "kill $daemon_pid ; rm -rf $NIX_STATE_DIR" EXIT diff --git a/tests/store.scm b/tests/store.scm index d6e1aa54e3..c75b99c6a9 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -26,6 +26,7 @@ #:use-module (gnu packages) #:use-module (gnu packages bootstrap) #:use-module (ice-9 match) + #:use-module (web uri) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) #:use-module (srfi srfi-64)) @@ -128,6 +129,44 @@ (null? (substitutable-paths s o)) (null? (substitutable-path-info s o))))) +(test-skip (if (getenv "GUIX_BINARY_SUBSTITUTE_URL") 0 1)) + +(test-assert "substitute query" + (let* ((s (open-connection)) + (d (package-derivation s %bootstrap-guile (%current-system))) + (o (derivation-path->output-path d)) + (dir (and=> (getenv "GUIX_BINARY_SUBSTITUTE_URL") + (compose uri-path string->uri)))) + ;; Create fake substituter data, to be read by `substitute-binary'. + (call-with-output-file (string-append dir "/nix-cache-info") + (lambda (p) + (format p "StoreDir: ~a\nWantMassQuery: 0\n" + (getenv "NIX_STORE_DIR")))) + (call-with-output-file (string-append dir "/" (store-path-hash-part o) + ".narinfo") + (lambda (p) + (format p "StorePath: ~a +URL: ~a +Compression: none +NarSize: 1234 +References: +System: ~a +Deriver: ~a~%" + o ; StorePath + (string-append dir "/example.nar") ; URL + (%current-system) ; System + (basename d)))) ; Deriver + + ;; Make sure `substitute-binary' correctly communicates the above data. + (set-build-options s #:use-substitutes? #t) + (and (has-substitutes? s o) + (equal? (list o) (substitutable-paths s (list o))) + (match (pk 'spi (substitutable-path-info s (list o))) + (((? substitutable? s)) + (and (equal? (substitutable-deriver s) d) + (null? (substitutable-references s)) + (equal? (substitutable-nar-size s) 1234))))))) + (test-end "store") From 7ce1f2160fa783e9a43f8f8d8d5775d05a6b0638 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 Apr 2013 21:47:55 +0200 Subject: [PATCH 119/151] substitute-binary: Fix communication of several store paths to the daemon. * guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]: Emit blank lines only after the complete list of store paths has been returned. --- guix/scripts/substitute-binary.scm | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 6e886b6c96..389acab094 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -191,9 +191,9 @@ failure." '()))) (for-each (lambda (narinfo) (when narinfo - (display (narinfo-path narinfo)) - (newline))) - substitutable))) + (format #t "~a~%" (narinfo-path narinfo)))) + substitutable) + (newline))) (("info" paths ..1) ;; Reply info about PATHS if it's in CACHE. (let ((substitutable @@ -215,9 +215,9 @@ failure." (narinfo-references narinfo)) (format #t "~a\n~a\n" (or (narinfo-file-size narinfo) 0) - (or (narinfo-size narinfo) 0)) - (newline)) - substitutable))) + (or (narinfo-size narinfo) 0))) + substitutable) + (newline))) (wtf (error "unknown `--query' command" wtf))) (loop (read-line))))))) From f0cd71f21e41d5a638b69ecee0fa3939f27a4502 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 4 Apr 2013 22:29:08 +0200 Subject: [PATCH 120/151] Add (guix nar) and (guix serialization). * guix/store.scm (write-int, read-int, write-long-long, read-long-long, write-padding, write-string, read-string, read-latin1-string, write-string-list, read-string-list, write-store-path, read-store-path, write-store-path-list, read-store-path-list): Move to serialization.scm. (write-contents, write-file): Move to nar.scm. * guix/nar.scm, guix/serialization.scm: New files. * Makefile.am (MODULES): Add them. --- Makefile.am | 2 + guix/nar.scm | 110 ++++++++++++++++++++++++++++++ guix/serialization.scm | 114 +++++++++++++++++++++++++++++++ guix/store.scm | 149 +---------------------------------------- 4 files changed, 228 insertions(+), 147 deletions(-) create mode 100644 guix/nar.scm create mode 100644 guix/serialization.scm diff --git a/Makefile.am b/Makefile.am index 8b3057fd0b..e4afb74310 100644 --- a/Makefile.am +++ b/Makefile.am @@ -34,6 +34,8 @@ MODULES = \ guix/scripts/substitute-binary.scm \ guix/base32.scm \ guix/utils.scm \ + guix/serialization.scm \ + guix/nar.scm \ guix/derivations.scm \ guix/download.scm \ guix/gnu-maintenance.scm \ diff --git a/guix/nar.scm b/guix/nar.scm new file mode 100644 index 0000000000..b42f03c514 --- /dev/null +++ b/guix/nar.scm @@ -0,0 +1,110 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013 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 (guix nar) + #:use-module (guix utils) + #:use-module (guix serialization) + #:use-module (rnrs bytevectors) + #:use-module (rnrs io ports) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:use-module (ice-9 ftw) + #:export (write-file)) + +;;; Comment: +;;; +;;; Read and write Nix archives, aka. ‘nar’. +;;; +;;; Code: + +(define (write-contents file p size) + "Write SIZE bytes from FILE to output port P." + (define (call-with-binary-input-file file proc) + ;; Open FILE as a binary file. This avoids scan-for-encoding, and thus + ;; avoids any initial buffering. Disable file name canonicalization to + ;; avoid stat'ing like crazy. + (with-fluids ((%file-port-name-canonicalization #f)) + (let ((port (open-file file "rb"))) + (catch #t (cut proc port) + (lambda args + (close-port port) + (apply throw args)))))) + + (define (dump in size) + (define buf-size 65536) + (define buf (make-bytevector buf-size)) + + (let loop ((left size)) + (if (<= left 0) + 0 + (let ((read (get-bytevector-n! in buf 0 buf-size))) + (if (eof-object? read) + left + (begin + (put-bytevector p buf 0 read) + (loop (- left read)))))))) + + (write-string "contents" p) + (write-long-long size p) + (call-with-binary-input-file file + ;; Use `sendfile' when available (Guile 2.0.8+). + (if (compile-time-value (defined? 'sendfile)) + (cut sendfile p <> size 0) + (cut dump <> size))) + (write-padding size p)) + +(define (write-file file port) + "Write the contents of FILE to PORT in Nar format, recursing into +sub-directories of FILE as needed." + (define %archive-version-1 "nix-archive-1") + (define p port) + + (write-string %archive-version-1 p) + + (let dump ((f file)) + (let ((s (lstat f))) + (write-string "(" p) + (case (stat:type s) + ((regular) + (write-string "type" p) + (write-string "regular" p) + (if (not (zero? (logand (stat:mode s) #o100))) + (begin + (write-string "executable" p) + (write-string "" p))) + (write-contents f p (stat:size s))) + ((directory) + (write-string "type" p) + (write-string "directory" p) + (let ((entries (remove (cut member <> '("." "..")) + (scandir f)))) + (for-each (lambda (e) + (let ((f (string-append f "/" e))) + (write-string "entry" p) + (write-string "(" p) + (write-string "name" p) + (write-string e p) + (write-string "node" p) + (dump f) + (write-string ")" p))) + entries))) + (else + (error "ENOSYS"))) + (write-string ")" p)))) + +;;; nar.scm ends here diff --git a/guix/serialization.scm b/guix/serialization.scm new file mode 100644 index 0000000000..474dc69de5 --- /dev/null +++ b/guix/serialization.scm @@ -0,0 +1,114 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013 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 (guix serialization) + #:use-module (guix utils) + #:use-module (rnrs bytevectors) + #:use-module (rnrs io ports) + #:use-module (srfi srfi-1) + #:use-module (srfi srfi-26) + #:export (write-int read-int + write-long-long read-long-long + write-padding + write-string read-string read-latin1-string + write-string-list read-string-list + write-store-path read-store-path + write-store-path-list read-store-path-list)) + +;;; Comment: +;;; +;;; Serialization procedures used by the RPCs and the Nar format. This module +;;; is for internal consumption. +;;; +;;; Code: + +;; Similar to serialize.cc in Nix. + +(define (write-int n p) + (let ((b (make-bytevector 8 0))) + (bytevector-u32-set! b 0 n (endianness little)) + (put-bytevector p b))) + +(define (read-int p) + (let ((b (get-bytevector-n p 8))) + (bytevector-u32-ref b 0 (endianness little)))) + +(define (write-long-long n p) + (let ((b (make-bytevector 8 0))) + (bytevector-u64-set! b 0 n (endianness little)) + (put-bytevector p b))) + +(define (read-long-long p) + (let ((b (get-bytevector-n p 8))) + (bytevector-u64-ref b 0 (endianness little)))) + +(define write-padding + (let ((zero (make-bytevector 8 0))) + (lambda (n p) + (let ((m (modulo n 8))) + (or (zero? m) + (put-bytevector p zero 0 (- 8 m))))))) + +(define (write-string s p) + (let* ((s (string->utf8 s)) + (l (bytevector-length s)) + (m (modulo l 8)) + (b (make-bytevector (+ 8 l (if (zero? m) 0 (- 8 m)))))) + (bytevector-u32-set! b 0 l (endianness little)) + (bytevector-copy! s 0 b 8 l) + (put-bytevector p b))) + +(define (read-string p) + (let* ((len (read-int p)) + (m (modulo len 8)) + (bv (get-bytevector-n p len)) + (str (utf8->string bv))) + (or (zero? m) + (get-bytevector-n p (- 8 m))) + str)) + +(define (read-latin1-string p) + (let* ((len (read-int p)) + (m (modulo len 8)) + (str (get-string-n p len))) + (or (zero? m) + (get-bytevector-n p (- 8 m))) + str)) + +(define (write-string-list l p) + (write-int (length l) p) + (for-each (cut write-string <> p) l)) + +(define (read-string-list p) + (let ((len (read-int p))) + (unfold (cut >= <> len) + (lambda (i) + (read-string p)) + 1+ + 0))) + +(define (write-store-path f p) + (write-string f p)) ; TODO: assert path + +(define (read-store-path p) + (read-string p)) ; TODO: assert path + +(define write-store-path-list write-string-list) +(define read-store-path-list read-string-list) + +;;; serialization.scm ends here diff --git a/guix/store.scm b/guix/store.scm index de9785c835..cc21af84e4 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -17,8 +17,10 @@ ;;; along with GNU Guix. If not, see . (define-module (guix store) + #:use-module (guix nar) #:use-module (guix utils) #:use-module (guix config) + #:use-module (guix serialization) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) #:use-module (srfi srfi-1) @@ -29,7 +31,6 @@ #:use-module (srfi srfi-39) #:use-module (ice-9 match) #:use-module (ice-9 rdelim) - #:use-module (ice-9 ftw) #:use-module (ice-9 regex) #:export (%daemon-socket-file @@ -161,152 +162,6 @@ -;; serialize.cc - -(define (write-int n p) - (let ((b (make-bytevector 8 0))) - (bytevector-u32-set! b 0 n (endianness little)) - (put-bytevector p b))) - -(define (read-int p) - (let ((b (get-bytevector-n p 8))) - (bytevector-u32-ref b 0 (endianness little)))) - -(define (write-long-long n p) - (let ((b (make-bytevector 8 0))) - (bytevector-u64-set! b 0 n (endianness little)) - (put-bytevector p b))) - -(define (read-long-long p) - (let ((b (get-bytevector-n p 8))) - (bytevector-u64-ref b 0 (endianness little)))) - -(define write-padding - (let ((zero (make-bytevector 8 0))) - (lambda (n p) - (let ((m (modulo n 8))) - (or (zero? m) - (put-bytevector p zero 0 (- 8 m))))))) - -(define (write-string s p) - (let* ((s (string->utf8 s)) - (l (bytevector-length s)) - (m (modulo l 8)) - (b (make-bytevector (+ 8 l (if (zero? m) 0 (- 8 m)))))) - (bytevector-u32-set! b 0 l (endianness little)) - (bytevector-copy! s 0 b 8 l) - (put-bytevector p b))) - -(define (read-string p) - (let* ((len (read-int p)) - (m (modulo len 8)) - (bv (get-bytevector-n p len)) - (str (utf8->string bv))) - (or (zero? m) - (get-bytevector-n p (- 8 m))) - str)) - -(define (read-latin1-string p) - (let* ((len (read-int p)) - (m (modulo len 8)) - (str (get-string-n p len))) - (or (zero? m) - (get-bytevector-n p (- 8 m))) - str)) - -(define (write-string-list l p) - (write-int (length l) p) - (for-each (cut write-string <> p) l)) - -(define (read-string-list p) - (let ((len (read-int p))) - (unfold (cut >= <> len) - (lambda (i) - (read-string p)) - 1+ - 0))) - -(define (write-store-path f p) - (write-string f p)) ; TODO: assert path - -(define (read-store-path p) - (read-string p)) ; TODO: assert path - -(define write-store-path-list write-string-list) -(define read-store-path-list read-string-list) - -(define (write-contents file p size) - "Write SIZE bytes from FILE to output port P." - (define (call-with-binary-input-file file proc) - ;; Open FILE as a binary file. This avoids scan-for-encoding, and thus - ;; avoids any initial buffering. Disable file name canonicalization to - ;; avoid stat'ing like crazy. - (with-fluids ((%file-port-name-canonicalization #f)) - (let ((port (open-file file "rb"))) - (catch #t (cut proc port) - (lambda args - (close-port port) - (apply throw args)))))) - - (define (dump in size) - (define buf-size 65536) - (define buf (make-bytevector buf-size)) - - (let loop ((left size)) - (if (<= left 0) - 0 - (let ((read (get-bytevector-n! in buf 0 buf-size))) - (if (eof-object? read) - left - (begin - (put-bytevector p buf 0 read) - (loop (- left read)))))))) - - (write-string "contents" p) - (write-long-long size p) - (call-with-binary-input-file file - ;; Use `sendfile' when available (Guile 2.0.8+). - (if (compile-time-value (defined? 'sendfile)) - (cut sendfile p <> size 0) - (cut dump <> size))) - (write-padding size p)) - -(define (write-file f p) - (define %archive-version-1 "nix-archive-1") - - (write-string %archive-version-1 p) - - (let dump ((f f)) - (let ((s (lstat f))) - (write-string "(" p) - (case (stat:type s) - ((regular) - (write-string "type" p) - (write-string "regular" p) - (if (not (zero? (logand (stat:mode s) #o100))) - (begin - (write-string "executable" p) - (write-string "" p))) - (write-contents f p (stat:size s))) - ((directory) - (write-string "type" p) - (write-string "directory" p) - (let ((entries (remove (cut member <> '("." "..")) - (scandir f)))) - (for-each (lambda (e) - (let ((f (string-append f "/" e))) - (write-string "entry" p) - (write-string "(" p) - (write-string "name" p) - (write-string e p) - (write-string "node" p) - (dump f) - (write-string ")" p))) - entries))) - (else - (error "ENOSYS"))) - (write-string ")" p)))) - ;; Information about a substitutable store path. (define-record-type (substitutable path deriver refs dl-size nar-size) From 3fdc99da1933e07985b6ca04d3b9412d5df05ade Mon Sep 17 00:00:00 2001 From: Cyril Roelandt Date: Sat, 6 Apr 2013 00:28:39 +0200 Subject: [PATCH 121/151] gnu: Python: fix the compilation of some modules from the standard library. This commit enables the bz2, dbm, readline, ssl and zlib modules. * gnu/packages/gdbm.scm: Enable the compatibility mode. * gnu/packages/python.scm: Enable a few modules from the standard library. * gnu/packages/patches/python-fix-dbm.patch: New file. * Makefile.am: Add it. --- Makefile.am | 1 + gnu/packages/gdbm.scm | 1 + gnu/packages/patches/python-fix-dbm.patch | 20 ++++++++++++++ gnu/packages/python.scm | 33 ++++++++++++++++++++--- 4 files changed, 52 insertions(+), 3 deletions(-) create mode 100644 gnu/packages/patches/python-fix-dbm.patch diff --git a/Makefile.am b/Makefile.am index e4afb74310..ab72b1faa7 100644 --- a/Makefile.am +++ b/Makefile.am @@ -234,6 +234,7 @@ dist_patch_DATA = \ gnu/packages/patches/make-impure-dirs.patch \ gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \ + gnu/packages/patches/python-fix-dbm.patch \ gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/qemu-multiple-smb-shares.patch \ gnu/packages/patches/readline-link-ncurses.patch \ diff --git a/gnu/packages/gdbm.scm b/gnu/packages/gdbm.scm index 588b732b02..76733dba65 100644 --- a/gnu/packages/gdbm.scm +++ b/gnu/packages/gdbm.scm @@ -34,6 +34,7 @@ (sha256 (base32 "0h9lfzdjc2yl849y0byg51h6xfjg0y7vg9jnsw3gpfwlbd617y13")))) + (arguments `(#:configure-flags '("--enable-libgdbm-compat"))) (build-system gnu-build-system) (home-page "http://www.gnu.org/software/gdbm/") (synopsis "GNU dbm key/value database library") diff --git a/gnu/packages/patches/python-fix-dbm.patch b/gnu/packages/patches/python-fix-dbm.patch new file mode 100644 index 0000000000..29e4521f3f --- /dev/null +++ b/gnu/packages/patches/python-fix-dbm.patch @@ -0,0 +1,20 @@ +This patch allows the dbm module to be built using the compatibility mode of +gdbm. It will not be needed any more with Python 2.7.4. +--- setup.py 2013-04-06 00:53:37.000000000 +0200 ++++ setup.py.new 2013-04-06 19:55:05.000000000 +0200 +@@ -1158,10 +1158,14 @@ + for cand in dbm_order: + if cand == "ndbm": + if find_file("ndbm.h", inc_dirs, []) is not None: +- # Some systems have -lndbm, others don't ++ # Some systems have -lndbm, some have -lgdbm_compat, ++ # others have no particular linker flags. + if self.compiler.find_library_file(lib_dirs, + 'ndbm'): + ndbm_libs = ['ndbm'] ++ elif self.compiler.find_library_file(lib_dirs, ++ 'gdbm_compat'): ++ ndbm_libs = ['gdbm_compat'] + else: + ndbm_libs = [] + print "building dbm using ndbm" diff --git a/gnu/packages/python.scm b/gnu/packages/python.scm index 26b76864ce..30bb8e22f7 100644 --- a/gnu/packages/python.scm +++ b/gnu/packages/python.scm @@ -19,7 +19,10 @@ (define-module (gnu packages python) #:use-module ((guix licenses) #:select (psfl)) + #:use-module (gnu packages) #:use-module (gnu packages compression) + #:use-module (gnu packages gdbm) + #:use-module (gnu packages readline) #:use-module (gnu packages openssl) #:use-module (guix packages) #:use-module (guix download) @@ -38,11 +41,35 @@ (base32 "11f9aw855lrmknr6c82gm1ijr3n0smc6idyp94y7774yivjnplv1")))) (build-system gnu-build-system) - (arguments `(#:tests? #f)) ; XXX: some tests fail + (arguments + `(#:tests? #f ; XXX: some tests fail + #:patches (list (assoc-ref %build-inputs "patch-dbm")) + #:patch-flags '("-p0") + #:configure-flags + (let ((bz2 (assoc-ref %build-inputs "bzip2")) + (gdbm (assoc-ref %build-inputs "gdbm")) + (openssl (assoc-ref %build-inputs "openssl")) + (readline (assoc-ref %build-inputs "readline")) + (zlib (assoc-ref %build-inputs "zlib"))) + (list (string-append "CPPFLAGS=" + "-I" bz2 "/include " + "-I" gdbm "/include " + "-I" openssl "/include " + "-I" readline "/include " + "-I" zlib "/include") + (string-append "LDFLAGS=" + "-L" bz2 "/lib " + "-L" gdbm "/lib " + "-L" openssl "/lib " + "-L" readline "/lib " + "-L" zlib "/lib"))))) (inputs - `(("zlib" ,zlib) + `(("bzip2" ,bzip2) + ("gdbm" ,gdbm) ("openssl" ,openssl) - ("bzip2" ,bzip2))) + ("readline" ,readline) + ("zlib" ,zlib) + ("patch-dbm" ,(search-patch "python-fix-dbm.patch")))) (native-search-paths (list (search-path-specification (variable "PYTHONPATH") From 865c4ef33ce65ca87002a268230edae504c87166 Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Fri, 5 Apr 2013 23:08:44 +0000 Subject: [PATCH 122/151] gnu: shishi: Update to 1.0.2. * gnu/packages/shishi.scm (shishi): Update to 1.0.2. * gnu/packages/patches/shishi-gets-undeclared.patch: Remove it. * Makefile.am (dist_patch_DATA): Adjust accordingly. --- Makefile.am | 1 - .../patches/shishi-gets-undeclared.patch | 71 ------------------- gnu/packages/shishi.scm | 46 +++++------- 3 files changed, 16 insertions(+), 102 deletions(-) delete mode 100644 gnu/packages/patches/shishi-gets-undeclared.patch diff --git a/Makefile.am b/Makefile.am index ab72b1faa7..f73437f0f4 100644 --- a/Makefile.am +++ b/Makefile.am @@ -238,7 +238,6 @@ dist_patch_DATA = \ gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/qemu-multiple-smb-shares.patch \ gnu/packages/patches/readline-link-ncurses.patch \ - gnu/packages/patches/shishi-gets-undeclared.patch \ gnu/packages/patches/tar-gets-undeclared.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/teckit-cstdio.patch \ diff --git a/gnu/packages/patches/shishi-gets-undeclared.patch b/gnu/packages/patches/shishi-gets-undeclared.patch deleted file mode 100644 index a3d6d0cca2..0000000000 --- a/gnu/packages/patches/shishi-gets-undeclared.patch +++ /dev/null @@ -1,71 +0,0 @@ -This patch is needed to allow builds with newer versions of -the GNU libc (2.16+). - - -commit 66712c23388e93e5c518ebc8515140fa0c807348 -Author: Eric Blake -Date: Thu Mar 29 13:30:41 2012 -0600 - - stdio: don't assume gets any more - - Gnulib intentionally does not have a gets module, and now that C11 - and glibc have dropped it, we should be more proactive about warning - any user on a platform that still has a declaration of this dangerous - interface. - - * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets - support. - * modules/stdio (Makefile.am): Likewise. - * lib/stdio-read.c (gets): Likewise. - * tests/test-stdio-c++.cc: Likewise. - * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment. - * lib/stdio.in.h (gets): Make warning occur in more places. - * doc/posix-functions/gets.texi (gets): Update documentation. - Reported by Christer Solskogen. - - Signed-off-by: Eric Blake - -diff --git a/gl/stdio.in.h b/gl/stdio.in.h -index aa7b599..c377b6e 100644 ---- a/gl/stdio.in.h -+++ b/gl/stdio.in.h -@@ -698,22 +698,11 @@ _GL_WARN_ON_USE (getline, "getline is unportable - " - # endif - #endif - --#if @GNULIB_GETS@ --# if @REPLACE_STDIO_READ_FUNCS@ && @GNULIB_STDIO_H_NONBLOCKING@ --# if !(defined __cplusplus && defined GNULIB_NAMESPACE) --# undef gets --# define gets rpl_gets --# endif --_GL_FUNCDECL_RPL (gets, char *, (char *s) _GL_ARG_NONNULL ((1))); --_GL_CXXALIAS_RPL (gets, char *, (char *s)); --# else --_GL_CXXALIAS_SYS (gets, char *, (char *s)); --# undef gets --# endif --_GL_CXXALIASWARN (gets); - /* It is very rare that the developer ever has full control of stdin, -- so any use of gets warrants an unconditional warning. Assume it is -- always declared, since it is required by C89. */ -+ so any use of gets warrants an unconditional warning; besides, C11 -+ removed it. */ -+#undef gets -+#if HAVE_RAW_DECL_GETS - _GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead"); - #endif - -@@ -1053,9 +1042,9 @@ _GL_WARN_ON_USE (snprintf, "snprintf is unportable - " - # endif - #endif - --/* Some people would argue that sprintf should be handled like gets -- (for example, OpenBSD issues a link warning for both functions), -- since both can cause security holes due to buffer overruns. -+/* Some people would argue that all sprintf uses should be warned about -+ (for example, OpenBSD issues a link warning for it), -+ since it can cause security holes due to buffer overruns. - However, we believe that sprintf can be used safely, and is more - efficient than snprintf in those safe cases; and as proof of our - belief, we use sprintf in several gnulib modules. So this header diff --git a/gnu/packages/shishi.scm b/gnu/packages/shishi.scm index 1590221496..767037a580 100644 --- a/gnu/packages/shishi.scm +++ b/gnu/packages/shishi.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012 Nikita Karetnikov +;;; Copyright © 2012, 2013 Nikita Karetnikov ;;; Copyright © 2012 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. @@ -18,12 +18,11 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages shishi) - #:use-module (guix licenses) + #:use-module ((guix licenses) #:select (gpl3+)) #:use-module (gnu packages) #:use-module (gnu packages gnutls) #:use-module (gnu packages gnupg) - #:use-module ((gnu packages compression) - #:renamer (symbol-prefix-proc 'guix:)) + #:use-module (gnu packages compression) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu)) @@ -31,41 +30,28 @@ (define-public shishi (package (name "shishi") - (version "1.0.1") + (version "1.0.2") (source (origin (method url-fetch) - (uri (string-append - "mirror://gnu/shishi/shishi-" - version - ".tar.gz")) + (uri (string-append "mirror://gnu/shishi/shishi-" + version ".tar.gz")) (sha256 (base32 - "13c6w9rpaqb3am65nrn86byvmll5r78pld2vb0i68491vww4fzlx")))) + "032qf72cpjdfffq1yq54gz3ahgqf2ijca4vl31sfabmjzq9q370d")))) (build-system gnu-build-system) - (arguments - `(#:make-flags - '("CPPFLAGS=-DMAX_ERROR_DESCRIPTION_SIZE=ASN1_MAX_ERROR_DESCRIPTION_SIZE") - #:patches (list (assoc-ref %build-inputs - "patch/gets")))) (inputs `(("gnutls" ,gnutls) - ("zlib" ,guix:zlib) + ("zlib" ,zlib) ("libgcrypt" ,libgcrypt) - ("libtasn1" ,libtasn1) - ("patch/gets" ,(search-patch "shishi-gets-undeclared.patch")))) + ("libtasn1" ,libtasn1))) (home-page "http://www.gnu.org/software/shishi/") (synopsis - "GNU Shishi, free implementation of the Kerberos 5 network security system") + "GNU Shishi, an implementation of the Kerberos 5 network security system") (description - " GNU Shishi is an implementation of the Kerberos 5 network - authentication system, as specified in RFC 4120. Shishi can be - used to authenticate users in distributed systems. - - Shishi contains a library (`libshishi') that can be used by - application developers to add support for Kerberos 5. Shishi - contains a command line utility (1shishi') that is used by - users to acquire and manage tickets (and more). The server - side, a Key Distribution Center, is implemented by `shishid'. -") - (license gpl3+))) ; some files are under GPLv2+ + "Shishi contains a library ('libshishi') that can be used by application +developers to add support for Kerberos 5. Shishi contains a command line +utility ('shishi') that is used by users to acquire and manage tickets (and +more). The server side, a Key Distribution Center (KDC), is implemented by +'shishid', and support X.509 authenticated TLS via GnuTLS.") + (license gpl3+))) From ca877f5a3a0e216d2e0e62bea3e42cdc2e4c3dab Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 8 Apr 2013 22:54:08 +0200 Subject: [PATCH 123/151] nar: Implement restoration from Nar. * guix/nar.scm (&nar-error, &nar-read-error): New condition types. (dump): New procedure. (write-contents)[dump]: Remove. Use the one above instead. (read-contents, write-file, restore-file): New procedures. (%archive-version-1): New variable. --- Makefile.am | 1 + guix/nar.scm | 150 ++++++++++++++++++++++++++++++++++++++++++++------ tests/nar.scm | 95 ++++++++++++++++++++++++++++++++ 3 files changed, 228 insertions(+), 18 deletions(-) create mode 100644 tests/nar.scm diff --git a/Makefile.am b/Makefile.am index f73437f0f4..a1bda16759 100644 --- a/Makefile.am +++ b/Makefile.am @@ -302,6 +302,7 @@ TESTS = \ tests/packages.scm \ tests/snix.scm \ tests/store.scm \ + tests/nar.scm \ tests/union.scm \ tests/guix-build.sh \ tests/guix-download.sh \ diff --git a/guix/nar.scm b/guix/nar.scm index b42f03c514..9ae76ff2a9 100644 --- a/guix/nar.scm +++ b/guix/nar.scm @@ -19,12 +19,23 @@ (define-module (guix nar) #:use-module (guix utils) #:use-module (guix serialization) + #:use-module ((guix build utils) #:select (with-directory-excursion)) #:use-module (rnrs bytevectors) #:use-module (rnrs io ports) #:use-module (srfi srfi-1) #:use-module (srfi srfi-26) + #:use-module (srfi srfi-34) + #:use-module (srfi srfi-35) #:use-module (ice-9 ftw) - #:export (write-file)) + #:use-module (ice-9 match) + #:export (nar-error? + nar-read-error? + nar-read-error-file + nar-read-error-port + nar-read-error-token + + write-file + restore-file)) ;;; Comment: ;;; @@ -32,6 +43,31 @@ ;;; ;;; Code: +(define-condition-type &nar-error &error ; XXX: inherit from &nix-error ? + nar-error?) + +(define-condition-type &nar-read-error &nar-error + nar-read-error? + (port nar-read-error-port) ; port from which we read + (file nar-read-error-file) ; file we were restoring, or #f + (token nar-read-error-token)) ; faulty token, or #f + + +(define (dump in out size) + "Copy SIZE bytes from IN to OUT." + (define buf-size 65536) + (define buf (make-bytevector buf-size)) + + (let loop ((left size)) + (if (<= left 0) + 0 + (let ((read (get-bytevector-n! in buf 0 (min left buf-size)))) + (if (eof-object? read) + left + (begin + (put-bytevector out buf 0 read) + (loop (- left read)))))))) + (define (write-contents file p size) "Write SIZE bytes from FILE to output port P." (define (call-with-binary-input-file file proc) @@ -45,33 +81,55 @@ (close-port port) (apply throw args)))))) - (define (dump in size) - (define buf-size 65536) - (define buf (make-bytevector buf-size)) - - (let loop ((left size)) - (if (<= left 0) - 0 - (let ((read (get-bytevector-n! in buf 0 buf-size))) - (if (eof-object? read) - left - (begin - (put-bytevector p buf 0 read) - (loop (- left read)))))))) - (write-string "contents" p) (write-long-long size p) (call-with-binary-input-file file ;; Use `sendfile' when available (Guile 2.0.8+). (if (compile-time-value (defined? 'sendfile)) (cut sendfile p <> size 0) - (cut dump <> size))) + (cut dump <> p size))) (write-padding size p)) +(define (read-contents in out) + "Read the contents of a file from the Nar at IN, write it to OUT, and return +the size in bytes." + (define executable? + (match (read-string in) + ("contents" + #f) + ("executable" + (match (list (read-string in) (read-string in)) + (("" "contents") #t) + (x (raise + (condition (&message + (message "unexpected executable file marker")) + (&nar-read-error (port in) + (file #f) + (token x)))))) + #t) + (x + (raise + (condition (&message (message "unsupported nar file type")) + (&nar-read-error (port in) (file #f) (token x))))))) + + (let ((size (read-long-long in))) + ;; Note: `sendfile' cannot be used here because of port buffering on IN. + (dump in out size) + + (when executable? + (chmod out #o755)) + (let ((m (modulo size 8))) + (unless (zero? m) + (get-bytevector-n in (- 8 m)))) + size)) + +(define %archive-version-1 + ;; Magic cookie for Nix archives. + "nix-archive-1") + (define (write-file file port) "Write the contents of FILE to PORT in Nar format, recursing into sub-directories of FILE as needed." - (define %archive-version-1 "nix-archive-1") (define p port) (write-string %archive-version-1 p) @@ -104,7 +162,63 @@ sub-directories of FILE as needed." (write-string ")" p))) entries))) (else - (error "ENOSYS"))) + (raise (condition (&message (message "ENOSYS")) + (&nar-error))))) (write-string ")" p)))) +(define (restore-file port file) + "Read a file (possibly a directory structure) in Nar format from PORT. +Restore it as FILE." + (let ((signature (read-string port))) + (unless (equal? signature %archive-version-1) + (raise + (condition (&message (message "invalid nar signature")) + (&nar-read-error (port port) + (token signature) + (file #f)))))) + + (let restore ((file file)) + (match (list (read-string port) (read-string port) (read-string port)) + (("(" "type" "regular") + (call-with-output-file file (cut read-contents port <>)) + (match (read-string port) + (")" #t) + (x (raise + (condition + (&message (message "invalid nar end-of-file marker")) + (&nar-read-error (port port) (file file) (token x))))))) + (("(" "type" "directory") + (let ((dir file)) + (mkdir dir) + (let loop ((prefix (read-string port))) + (match prefix + ("entry" + (match (list (read-string port) + (read-string port) (read-string port) + (read-string port)) + (("(" "name" file "node") + (restore (string-append dir "/" file)) + (match (read-string port) + (")" #t) + (x + (raise + (condition + (&message + (message "unexpected directory entry termination")) + (&nar-read-error (port port) + (file file) + (token x)))))) + (loop (read-string port))))) + (")" #t) ; done with DIR + (x + (raise + (condition + (&message (message "unexpected directory inter-entry marker")) + (&nar-read-error (port port) (file file) (token x))))))))) + (x + (raise + (condition + (&message (message "unsupported nar entry type")) + (&nar-read-error (port port) (file file) (token x)))))))) + ;;; nar.scm ends here diff --git a/tests/nar.scm b/tests/nar.scm new file mode 100644 index 0000000000..2d9bffd487 --- /dev/null +++ b/tests/nar.scm @@ -0,0 +1,95 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2012, 2013 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 (test-nar) + #:use-module (guix nar) + #:use-module (rnrs bytevectors) + #:use-module (rnrs io ports) + #:use-module (srfi srfi-26) + #:use-module (srfi srfi-64) + #:use-module (ice-9 ftw)) + +;; Test the (guix nar) module. + +(define (rm-rf dir) + (file-system-fold (const #t) ; enter? + (lambda (file stat result) ; leaf + (delete-file file)) + (const #t) ; down + (lambda (dir stat result) ; up + (rmdir dir)) + (const #t) ; skip + (const #t) ; error + #t + dir + lstat)) + + +(test-begin "nar") + +(test-assert "write-file + restore-file" + (let* ((input (string-append (dirname (search-path %load-path "guix.scm")) + "/guix")) + (output (string-append (dirname input) + "/test-nar-" + (number->string (getpid)))) + (nar (string-append output ".nar"))) + (dynamic-wind + (lambda () #t) + (lambda () + (call-with-output-file nar + (cut write-file input <>)) + (call-with-input-file nar + (cut restore-file <> output)) + (let* ((strip (cute string-drop <> (string-length input))) + (sibling (compose (cut string-append output <>) strip)) + (file=? (lambda (a b) + (and (eq? (stat:type (lstat a)) (stat:type (lstat b))) + (case (stat:type (lstat a)) + ((regular) + (equal? + (call-with-input-file a get-bytevector-all) + (call-with-input-file b get-bytevector-all))) + ((symlink) + (string=? (readlink a) (readlink b))) + (else + (error "what?" (lstat a)))))))) + (file-system-fold (const #t) + (lambda (name stat result) ; leaf + (and result + (file=? name (sibling name)))) + (lambda (name stat result) ; down + result) + (lambda (name stat result) ; up + result) + (const #f) ; skip + (lambda (name stat errno result) + (pk 'error name stat errno) + #f) + (> (stat:nlink (stat output)) 2) + input + lstat))) + (lambda () + (false-if-exception (delete-file nar)) + (false-if-exception (rm-rf output)) + )))) + +(test-end "nar") + + +(exit (= (test-runner-fail-count (test-runner-current)) 0)) From 6f80c9d8f387f5b881a73cefdbbba91a40d8eec6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Thu, 11 Apr 2013 22:30:06 +0200 Subject: [PATCH 124/151] ui: Add a `warning' macro. * guix/ui.scm (program-name, guix-warning-port): New variables. (warning): New macro. (guix-main): Parametrize PROGRAM-NAME. * guix/scripts/build.scm, guix/scripts/download.scm, guix/scripts/gc.scm, guix/scripts/package.scm: Adjust to use `leave' and `warning' consistently. --- guix/scripts/build.scm | 16 +++++-------- guix/scripts/download.scm | 3 +-- guix/scripts/gc.scm | 15 ++++-------- guix/scripts/package.scm | 20 +++++++--------- guix/ui.scm | 49 +++++++++++++++++++++++++++++++++++---- 5 files changed, 64 insertions(+), 39 deletions(-) diff --git a/guix/scripts/build.scm b/guix/scripts/build.scm index a49bfdbeb8..339ad0d06f 100644 --- a/guix/scripts/build.scm +++ b/guix/scripts/build.scm @@ -176,9 +176,8 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) 0 paths)))) (lambda args - (format (current-error-port) - (_ "failed to create GC root `~a': ~a~%") - root (strerror (system-error-errno args))) + (leave (_ "failed to create GC root `~a': ~a~%") + root (strerror (system-error-errno args))) (exit 1))))) (define newest-available-packages @@ -202,13 +201,10 @@ Build the given PACKAGE-OR-DERIVATION and return their output paths.\n")) ((p) ; one match p) ((p x ...) ; several matches - (format (current-error-port) - (_ "warning: ambiguous package specification `~a'~%") - request) - (format (current-error-port) - (_ "warning: choosing ~a from ~a~%") - (package-full-name p) - (location->string (package-location p))) + (warning (_ "ambiguous package specification `~a'~%") request) + (warning (_ "choosing ~a from ~a~%") + (package-full-name p) + (location->string (package-location p))) p) (_ ; no matches (if version diff --git a/guix/scripts/download.scm b/guix/scripts/download.scm index 3f989a3494..7c00312c74 100644 --- a/guix/scripts/download.scm +++ b/guix/scripts/download.scm @@ -81,8 +81,7 @@ and the hash of its contents.\n")) ((or "base16" "hex" "hexadecimal") bytevector->base16-string) (x - (format (current-error-port) - "unsupported hash format: ~a~%" arg)))) + (leave (_ "unsupported hash format: ~a~%") arg)))) (alist-cons 'format fmt-proc (alist-delete 'format result)))) diff --git a/guix/scripts/gc.scm b/guix/scripts/gc.scm index 12d80fd171..3d918923f8 100644 --- a/guix/scripts/gc.scm +++ b/guix/scripts/gc.scm @@ -87,13 +87,9 @@ interpreted." ("TB" (expt 10 12)) ("" 1) (_ - (format (current-error-port) (_ "error: unknown unit: ~a~%") - unit) + (leave (_ "error: unknown unit: ~a~%") unit) (exit 1)))) - (begin - (format (current-error-port) - (_ "error: invalid number: ~a") numstr) - (exit 1))))) + (leave (_ "error: invalid number: ~a") numstr)))) (define %options ;; Specification of the command-line options. @@ -114,11 +110,8 @@ interpreted." (let ((amount (size->number arg))) (if arg (alist-cons 'min-freed amount result) - (begin - (format (current-error-port) - (_ "error: invalid amount of storage: ~a~%") - arg) - (exit 1))))) + (leave (_ "error: invalid amount of storage: ~a~%") + arg)))) (#f result))))) (option '(#\d "delete") #f #f (lambda (opt name arg result) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 6de2f1beb6..89708ccc49 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -208,12 +208,10 @@ all of PACKAGES, a list of name/version/output/path/deps tuples." (switch-symlinks profile previous-profile)) (cond ((not (file-exists? profile)) ; invalid profile - (format (current-error-port) - (_ "error: profile `~a' does not exist~%") - profile)) + (leave (_ "error: profile `~a' does not exist~%") + profile)) ((zero? number) ; empty profile - (format (current-error-port) - (_ "nothing to do: already at the empty profile~%"))) + (leave (_ "nothing to do: already at the empty profile~%"))) ((or (zero? previous-number) ; going to emptiness (not (file-exists? previous-profile))) (let*-values (((drv-path drv) @@ -465,13 +463,11 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (list name (package-version p) sub-drv (ensure-output p sub-drv) (package-transitive-propagated-inputs p))) ((p p* ...) - (format (current-error-port) - (_ "warning: ambiguous package specification `~a'~%") - request) - (format (current-error-port) - (_ "warning: choosing ~a from ~a~%") - (package-full-name p) - (location->string (package-location p))) + (warning (_ "ambiguous package specification `~a'~%") + request) + (warning (_ "choosing ~a from ~a~%") + (package-full-name p) + (location->string (package-location p))) (list name (package-version p) sub-drv (ensure-output p sub-drv) (package-transitive-propagated-inputs p))) (() diff --git a/guix/ui.scm b/guix/ui.scm index 94f0825a0a..dfb6418a10 100644 --- a/guix/ui.scm +++ b/guix/ui.scm @@ -47,6 +47,9 @@ string->recutils package->recutils run-guix-command + program-name + guix-warning-port + warning guix-main)) ;;; Commentary: @@ -332,6 +335,43 @@ WIDTH columns." (symbol-append 'guix- command)))) (apply command-main args))) +(define program-name + ;; Name of the command-line program currently executing, or #f. + (make-parameter #f)) + +(define guix-warning-port + (make-parameter (current-warning-port))) + +(define-syntax warning + (lambda (s) + "Emit a warming. The macro assumes that `_' is bound to `gettext'." + ;; All this just to preserve `-Wformat' warnings. Too much? + + (define (augmented-format-string fmt) + (string-append "~:[~;guix ~a: ~]~a" (syntax->datum fmt))) + + (define prefix + #'(_ "warning: ")) + + (syntax-case s (N_ _) ; these are literals, yeah... + ((warning (_ fmt) args ...) + (string? (syntax->datum #'fmt)) + (with-syntax ((fmt* (augmented-format-string #'fmt)) + (prefix prefix)) + #'(format (guix-warning-port) (gettext fmt*) + (program-name) (program-name) prefix + args ...))) + ((warning (N_ singular plural n) args ...) + (and (string? (syntax->datum #'singular)) + (string? (syntax->datum #'plural))) + (with-syntax ((s (augmented-format-string #'singular)) + (p (augmented-format-string #'plural)) + (b prefix)) + #'(format (guix-warning-port) + (ngettext s p n %gettext-domain) + (program-name) (program-name) b + args ...)))))) + (define (guix-main arg0 . args) (initialize-guix) (let () @@ -340,10 +380,11 @@ WIDTH columns." (() (show-guix-usage) (exit 1)) (("--help") (show-guix-usage)) (("--version") (show-version-and-exit "guix")) - (((? option? arg1) args ...) (show-guix-usage) (exit 1)) + (((? option?) args ...) (show-guix-usage) (exit 1)) ((command args ...) - (apply run-guix-command - (string->symbol command) - args))))) + (parameterize ((program-name command)) + (apply run-guix-command + (string->symbol command) + args)))))) ;;; ui.scm ends here From c7b62db614a40c7d7dc93b7e763e3741325486df Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 14:35:01 +0200 Subject: [PATCH 125/151] nar: Add support for symlinks. * guix/nar.scm (write-file): Add case for type `symlink'. (restore-file): Likewise. * tests/nar.scm (random-file-size, make-file-tree, delete-file-tree, with-file-tree, file-tree-equal?, make-random-bytevector, populate-file): New procedures. (%test-dir): New variable. ("write-file + restore-file"): Use `%test-dir' and `file-tree-equal?'. ("write-file + restore-file with symlinks"): New test. --- guix/nar.scm | 23 ++++++- tests/nar.scm | 183 ++++++++++++++++++++++++++++++++++++++++---------- 2 files changed, 169 insertions(+), 37 deletions(-) diff --git a/guix/nar.scm b/guix/nar.scm index 9ae76ff2a9..29b57dc989 100644 --- a/guix/nar.scm +++ b/guix/nar.scm @@ -161,6 +161,11 @@ sub-directories of FILE as needed." (dump f) (write-string ")" p))) entries))) + ((symlink) + (write-string "type" p) + (write-string "symlink" p) + (write-string "target" p) + (write-string (readlink f) p)) (else (raise (condition (&message (message "ENOSYS")) (&nar-error))))) @@ -178,14 +183,26 @@ Restore it as FILE." (file #f)))))) (let restore ((file file)) + (define (read-eof-marker) + (match (read-string port) + (")" #t) + (x (raise + (condition + (&message (message "invalid nar end-of-file marker")) + (&nar-read-error (port port) (file file) (token x))))))) + (match (list (read-string port) (read-string port) (read-string port)) (("(" "type" "regular") (call-with-output-file file (cut read-contents port <>)) - (match (read-string port) - (")" #t) + (read-eof-marker)) + (("(" "type" "symlink") + (match (list (read-string port) (read-string port)) + (("target" target) + (symlink target file) + (read-eof-marker)) (x (raise (condition - (&message (message "invalid nar end-of-file marker")) + (&message (message "invalid symlink tokens")) (&nar-read-error (port port) (file file) (token x))))))) (("(" "type" "directory") (let ((dir file)) diff --git a/tests/nar.scm b/tests/nar.scm index 2d9bffd487..4321cbda53 100644 --- a/tests/nar.scm +++ b/tests/nar.scm @@ -22,10 +22,122 @@ #:use-module (rnrs io ports) #:use-module (srfi srfi-26) #:use-module (srfi srfi-64) - #:use-module (ice-9 ftw)) + #:use-module (ice-9 ftw) + #:use-module (ice-9 match)) ;; Test the (guix nar) module. + +;;; +;;; File system testing tools, initially contributed to Guile, then libchop. +;;; + +(define (random-file-size) + (define %average (* 1024 512)) ; 512 KiB + (define %stddev (* 1024 64)) ; 64 KiB + (inexact->exact + (max 0 (round (+ %average (* %stddev (random:normal))))))) + +(define (make-file-tree dir tree) + "Make file system TREE at DIR." + (let loop ((dir dir) + (tree tree)) + (define (scope file) + (string-append dir "/" file)) + + (match tree + (('directory name (body ...)) + (mkdir (scope name)) + (for-each (cute loop (scope name) <>) body)) + (('directory name (? integer? mode) (body ...)) + (mkdir (scope name)) + (for-each (cute loop (scope name) <>) body) + (chmod (scope name) mode)) + ((file) + (populate-file (scope file) (random-file-size))) + ((file (? integer? mode)) + (populate-file (scope file) (random-file-size)) + (chmod (scope file) mode)) + ((from '-> to) + (symlink to (scope from)))))) + +(define (delete-file-tree dir tree) + "Delete file TREE from DIR." + (let loop ((dir dir) + (tree tree)) + (define (scope file) + (string-append dir "/" file)) + + (match tree + (('directory name (body ...)) + (for-each (cute loop (scope name) <>) body) + (rmdir (scope name))) + (('directory name (? integer? mode) (body ...)) + (chmod (scope name) #o755) ; make sure it can be entered + (for-each (cute loop (scope name) <>) body) + (rmdir (scope name))) + ((from '-> _) + (delete-file (scope from))) + ((file _ ...) + (delete-file (scope file)))))) + +(define-syntax-rule (with-file-tree dir tree body ...) + (dynamic-wind + (lambda () + (make-file-tree dir 'tree)) + (lambda () + body ...) + (lambda () + (delete-file-tree dir 'tree)))) + +(define (file-tree-equal? input output) + "Return #t if the file trees at INPUT and OUTPUT are equal." + (define strip + (cute string-drop <> (string-length input))) + (define sibling + (compose (cut string-append output <>) strip)) + (define (file=? a b) + (and (eq? (stat:type (lstat a)) (stat:type (lstat b))) + (case (stat:type (lstat a)) + ((regular) + (equal? + (call-with-input-file a get-bytevector-all) + (call-with-input-file b get-bytevector-all))) + ((symlink) + (string=? (readlink a) (readlink b))) + (else + (error "what?" (lstat a)))))) + + (file-system-fold (const #t) + (lambda (name stat result) ; leaf + (and result + (file=? name (sibling name)))) + (lambda (name stat result) ; down + result) + (lambda (name stat result) ; up + result) + (const #f) ; skip + (lambda (name stat errno result) + (pk 'error name stat errno) + #f) + (> (stat:nlink (stat output)) 2) + input + lstat)) + +(define (make-random-bytevector n) + (let ((bv (make-bytevector n))) + (let loop ((i 0)) + (if (< i n) + (begin + (bytevector-u8-set! bv i (random 256)) + (loop (1+ i))) + bv)))) + +(define (populate-file file size) + (call-with-output-file file + (lambda (p) + (put-bytevector p (make-random-bytevector size))))) + (define (rm-rf dir) (file-system-fold (const #t) ; enter? (lambda (file stat result) ; leaf @@ -39,15 +151,18 @@ dir lstat)) +(define %test-dir + ;; An output directory under $top_builddir. + (string-append (dirname (search-path %load-path "configure")) + "/test-nar-" (number->string (getpid)))) + (test-begin "nar") (test-assert "write-file + restore-file" (let* ((input (string-append (dirname (search-path %load-path "guix.scm")) "/guix")) - (output (string-append (dirname input) - "/test-nar-" - (number->string (getpid)))) + (output %test-dir) (nar (string-append output ".nar"))) (dynamic-wind (lambda () #t) @@ -56,40 +171,40 @@ (cut write-file input <>)) (call-with-input-file nar (cut restore-file <> output)) - (let* ((strip (cute string-drop <> (string-length input))) - (sibling (compose (cut string-append output <>) strip)) - (file=? (lambda (a b) - (and (eq? (stat:type (lstat a)) (stat:type (lstat b))) - (case (stat:type (lstat a)) - ((regular) - (equal? - (call-with-input-file a get-bytevector-all) - (call-with-input-file b get-bytevector-all))) - ((symlink) - (string=? (readlink a) (readlink b))) - (else - (error "what?" (lstat a)))))))) - (file-system-fold (const #t) - (lambda (name stat result) ; leaf - (and result - (file=? name (sibling name)))) - (lambda (name stat result) ; down - result) - (lambda (name stat result) ; up - result) - (const #f) ; skip - (lambda (name stat errno result) - (pk 'error name stat errno) - #f) - (> (stat:nlink (stat output)) 2) - input - lstat))) + (file-tree-equal? input output)) (lambda () (false-if-exception (delete-file nar)) - (false-if-exception (rm-rf output)) - )))) + (false-if-exception (rm-rf output)))))) + +(test-assert "write-file + restore-file with symlinks" + (let ((input (string-append %test-dir ".input"))) + (mkdir input) + (dynamic-wind + (const #t) + (lambda () + (with-file-tree input + (directory "root" + (("reg") ("exe" #o777) ("sym" -> "reg"))) + (let* ((output %test-dir) + (nar (string-append output ".nar"))) + (dynamic-wind + (lambda () #t) + (lambda () + (call-with-output-file nar + (cut write-file input <>)) + (call-with-input-file nar + (cut restore-file <> output)) + (file-tree-equal? input output)) + (lambda () + (false-if-exception (delete-file nar))))))) + (lambda () + (rmdir input))))) (test-end "nar") (exit (= (test-runner-fail-count (test-runner-current)) 0)) + +;;; Local Variables: +;;; eval: (put 'with-file-tree 'scheme-indent-function 2) +;;; End: From f03f0c9a867e22dd999a8519f4bf03b182739c97 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 15:52:27 +0200 Subject: [PATCH 126/151] substitute-binary: Correctly handle missing narinfos in `--query' mode. * guix/scripts/substitute-binary.scm (guix-substitute-binary)["--query"]("have", "info"): Filter SUBSTITUTABLE through `narinfo?'. --- guix/scripts/substitute-binary.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 389acab094..64df4f09d6 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -192,7 +192,7 @@ failure." (for-each (lambda (narinfo) (when narinfo (format #t "~a~%" (narinfo-path narinfo)))) - substitutable) + (filter narinfo? substitutable)) (newline))) (("info" paths ..1) ;; Reply info about PATHS if it's in CACHE. @@ -216,7 +216,7 @@ failure." (format #t "~a\n~a\n" (or (narinfo-file-size narinfo) 0) (or (narinfo-size narinfo) 0))) - substitutable) + (filter narinfo? substitutable)) (newline))) (wtf (error "unknown `--query' command" wtf))) From cdf2022052268b9c517d486294ec34f0c18091aa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 17:30:27 +0200 Subject: [PATCH 127/151] substitute-binary: Implement `--substitute'. This allows build outputs to be transparently downloaded from http://hydra.gnu.org, for example. * config-daemon.ac: Check for `gzip', `bzip2', and `xz'. * guix/config.scm.in (%gzip, %bzip2, %xz): New variable. * guix/scripts/substitute-binary.scm (fetch): Return SIZE as a second value. (): Change `url' to `uri'. (make-narinfo): Rename to... (narinfo-maker): ... this. Handle relative URLs. (fetch-narinfo): Adjust accordingly. (filtered-port, decompressed-port): New procedures. (guix-substitute-binary): Implement the `--substitute' case. * tests/store.scm ("substitute query"): Use (%store-prefix) instead of (getenv "NIX_STORE_DIR"). ("substitute"): New test. --- config-daemon.ac | 8 +++ guix/config.scm.in | 14 +++- guix/scripts/substitute-binary.scm | 100 +++++++++++++++++++++++------ tests/store.scm | 55 +++++++++++++++- 4 files changed, 154 insertions(+), 23 deletions(-) diff --git a/config-daemon.ac b/config-daemon.ac index eed1e23f9e..7c51f2b95c 100644 --- a/config-daemon.ac +++ b/config-daemon.ac @@ -11,6 +11,14 @@ if test "x$guix_build_daemon" = "xyes"; then AC_PROG_RANLIB AC_CONFIG_HEADER([nix/config.h]) + dnl Decompressors, for use by the substituter. + AC_PATH_PROG([GZIP], [gzip]) + AC_PATH_PROG([BZIP2], [bzip2]) + AC_PATH_PROG([XZ], [xz]) + AC_SUBST([GZIP]) + AC_SUBST([BZIP2]) + AC_SUBST([XZ]) + dnl Use 64-bit file system calls so that we can support files > 2 GiB. AC_SYS_LARGEFILE diff --git a/guix/config.scm.in b/guix/config.scm.in index ab7b0669b8..772ea8c289 100644 --- a/guix/config.scm.in +++ b/guix/config.scm.in @@ -26,7 +26,10 @@ %system %libgcrypt %nixpkgs - %nix-instantiate)) + %nix-instantiate + %gzip + %bzip2 + %xz)) ;;; Commentary: ;;; @@ -67,4 +70,13 @@ (define %nix-instantiate "@NIX_INSTANTIATE@") +(define %gzip + "@GZIP@") + +(define %bzip2 + "@BZIP2@") + +(define %xz + "@XZ@") + ;;; config.scm ends here diff --git a/guix/scripts/substitute-binary.scm b/guix/scripts/substitute-binary.scm index 64df4f09d6..2b447ce7f2 100755 --- a/guix/scripts/substitute-binary.scm +++ b/guix/scripts/substitute-binary.scm @@ -20,10 +20,13 @@ #:use-module (guix ui) #:use-module (guix store) #:use-module (guix utils) + #:use-module (guix config) + #:use-module (guix nar) #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) #:use-module (ice-9 match) #:use-module (ice-9 threads) + #:use-module (ice-9 format) #:use-module (srfi srfi-1) #:use-module (srfi srfi-9) #:use-module (srfi srfi-11) @@ -70,9 +73,12 @@ pairs." (apply make args))) (define (fetch uri) + "Return a binary input port to URI and the number of bytes it's expected to +provide." (case (uri-scheme uri) ((file) - (open-input-file (uri-path uri))) + (let ((port (open-input-file (uri-path uri)))) + (values port (stat:size (stat port))))) ((http) (let*-values (((resp port) ;; XXX: `http-get*' was introduced in 2.0.7, and deprecated @@ -86,7 +92,7 @@ pairs." (response-content-length resp))) (case code ((200) ; OK - port) + (values port size)) ((301 ; moved permanently 302) ; found (redirection) (let ((uri (response-location resp))) @@ -120,11 +126,11 @@ failure." '("StoreDir" "WantMassQuery"))))) (define-record-type - (%make-narinfo path url compression file-hash file-size nar-hash nar-size + (%make-narinfo path uri compression file-hash file-size nar-hash nar-size references deriver system) narinfo? (path narinfo-path) - (url narinfo-url) + (uri narinfo-uri) (compression narinfo-compression) (file-hash narinfo-file-hash) (file-size narinfo-file-size) @@ -134,18 +140,26 @@ failure." (deriver narinfo-deriver) (system narinfo-system)) -(define (make-narinfo path url compression file-hash file-size nar-hash nar-size - references deriver system) - "Return a new object." - (%make-narinfo path url compression file-hash - (and=> file-size string->number) - nar-hash - (and=> nar-size string->number) - (string-tokenize references) - (match deriver - ((or #f "") #f) - (_ deriver)) - system)) +(define (narinfo-maker cache-url) + "Return a narinfo constructor for narinfos originating from CACHE-URL." + (lambda (path url compression file-hash file-size nar-hash nar-size + references deriver system) + "Return a new object." + (%make-narinfo path + + ;; Handle the case where URL is a relative URL. + (or (string->uri url) + (string->uri (string-append cache-url "/" url))) + + compression file-hash + (and=> file-size string->number) + nar-hash + (and=> nar-size string->number) + (string-tokenize references) + (match deriver + ((or #f "") #f) + (_ deriver)) + system))) (define (fetch-narinfo cache path) "Return the record for PATH, or #f if CACHE does not hold PATH." @@ -159,11 +173,36 @@ failure." (store-path-hash-part path) ".narinfo")) (lambda (properties) - (alist->record properties make-narinfo + (alist->record properties (narinfo-maker (cache-url cache)) '("StorePath" "URL" "Compression" "FileHash" "FileSize" "NarHash" "NarSize" "References" "Deriver" "System"))))) +(define (filtered-port command input) + "Return an input port (and PID) where data drained from INPUT is filtered +through COMMAND. INPUT must be a file input port." + (let ((i+o (pipe))) + (match (primitive-fork) + (0 + (close-port (car i+o)) + (close-port (current-input-port)) + (dup2 (fileno input) 0) + (close-port (current-output-port)) + (dup2 (fileno (cdr i+o)) 1) + (apply execl (car command) command)) + (child + (close-port (cdr i+o)) + (values (car i+o) child))))) + +(define (decompressed-port compression input) + "Return an input port where INPUT is decompressed according to COMPRESSION." + (match compression + ("none" (values input #f)) + ("bzip2" (filtered-port `(,%bzip2 "-dc") input)) + ("xz" (filtered-port `(,%xz "-dc") input)) + ("gzip" (filtered-port `(,%gzip "-dc") input)) + (else (error "unsupported compression scheme" compression)))) + (define %cache-url (or (getenv "GUIX_BINARY_SUBSTITUTE_URL") "http://hydra.gnu.org")) @@ -222,10 +261,29 @@ failure." (error "unknown `--query' command" wtf))) (loop (read-line))))))) (("--substitute" store-path destination) - ;; Download PATH and add it to the store. - ;; TODO: Implement. - (format (current-error-port) "substitution not implemented yet~%") - #f) + ;; Download STORE-PATH and add store it as a Nar in file DESTINATION. + (let* ((cache (open-cache %cache-url)) + (narinfo (fetch-narinfo cache store-path)) + (uri (narinfo-uri narinfo))) + ;; Tell the daemon what the expected hash of the Nar itself is. + (format #t "~a~%" (narinfo-hash narinfo)) + + (let*-values (((raw download-size) + (fetch uri)) + ((input pid) + (decompressed-port (narinfo-compression narinfo) + raw))) + ;; Note that Hydra currently generates Nars on the fly and doesn't + ;; specify a Content-Length, so DOWNLOAD-SIZE is #f in practice. + (format (current-error-port) + (_ "downloading `~a' from `~a'~:[~*~; (~,1f KiB)~]...~%") + store-path (uri->string uri) + download-size + (and=> download-size (cut / <> 1024.0))) + + ;; Unpack the Nar at INPUT into DESTINATION. + (restore-file input destination) + (or (not pid) (zero? (cdr (waitpid pid))))))) (("--version") (show-version-and-exit "guix substitute-binary")))) diff --git a/tests/store.scm b/tests/store.scm index c75b99c6a9..4ee20a9352 100644 --- a/tests/store.scm +++ b/tests/store.scm @@ -23,9 +23,11 @@ #:use-module (guix base32) #:use-module (guix packages) #:use-module (guix derivations) + #:use-module (guix nar) #:use-module (gnu packages) #:use-module (gnu packages bootstrap) #:use-module (ice-9 match) + #:use-module (rnrs io ports) #:use-module (web uri) #:use-module (srfi srfi-1) #:use-module (srfi srfi-11) @@ -141,7 +143,7 @@ (call-with-output-file (string-append dir "/nix-cache-info") (lambda (p) (format p "StoreDir: ~a\nWantMassQuery: 0\n" - (getenv "NIX_STORE_DIR")))) + (%store-prefix)))) (call-with-output-file (string-append dir "/" (store-path-hash-part o) ".narinfo") (lambda (p) @@ -167,6 +169,57 @@ Deriver: ~a~%" (null? (substitutable-references s)) (equal? (substitutable-nar-size s) 1234))))))) +(test-assert "substitute" + (let* ((s (open-connection)) + (c (random-text)) ; contents of the output + (d (build-expression->derivation + s "substitute-me" (%current-system) + `(call-with-output-file %output + (lambda (p) + (exit 1) ; would actually fail + (display ,c p))) + '() + #:guile-for-build + (package-derivation s %bootstrap-guile (%current-system)))) + (o (derivation-path->output-path d)) + (dir (and=> (getenv "GUIX_BINARY_SUBSTITUTE_URL") + (compose uri-path string->uri)))) + ;; Create fake substituter data, to be read by `substitute-binary'. + (call-with-output-file (string-append dir "/nix-cache-info") + (lambda (p) + (format p "StoreDir: ~a\nWantMassQuery: 0\n" + (%store-prefix)))) + (call-with-output-file (string-append dir "/example.out") + (lambda (p) + (display c p))) + (call-with-output-file (string-append dir "/example.nar") + (lambda (p) + (write-file (string-append dir "/example.out") p))) + (call-with-output-file (string-append dir "/" (store-path-hash-part o) + ".narinfo") + (lambda (p) + (format p "StorePath: ~a +URL: ~a +Compression: none +NarSize: 1234 +NarHash: sha256:~a +References: +System: ~a +Deriver: ~a~%" + o ; StorePath + "example.nar" ; relative URL + (call-with-input-file (string-append dir "/example.nar") + (compose bytevector->nix-base32-string sha256 + get-bytevector-all)) + (%current-system) ; System + (basename d)))) ; Deriver + + ;; Make sure we use `substitute-binary'. + (set-build-options s #:use-substitutes? #t) + (and (has-substitutes? s o) + (build-derivations s (list d)) + (equal? c (call-with-input-file o get-string-all))))) + (test-end "store") From 581f9eb84532b5682f48926e868456e2457fe54c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 15:43:55 +0200 Subject: [PATCH 128/151] guix package: Add `--no-substitutes'. * guix/scripts/package.scm (%default-options): Add `substitutes?'. (show-help, %options): Add and document `--no-substitutes'. (guix-package): Call `set-build-options' to honor `substitutes?'. --- doc/guix.texi | 3 +++ guix/scripts/package.scm | 13 ++++++++++++- 2 files changed, 15 insertions(+), 1 deletion(-) diff --git a/doc/guix.texi b/doc/guix.texi index 1be172c3f6..c91bc2021d 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -570,6 +570,9 @@ Use @var{profile} instead of the user's default profile. @itemx -n Show what would be done without actually doing it. +@item --no-substitutes +Build instead of resorting to pre-built substitutes. + @item --verbose Produce verbose output. In particular, emit the environment's build log on the standard error port. diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index 89708ccc49..ba75cd778c 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -313,7 +313,8 @@ but ~a is available upstream~%") (define %default-options ;; Alist of default option values. - `((profile . ,%current-profile))) + `((profile . ,%current-profile) + (substitutes? . #t))) (define (show-help) (display (_ "Usage: guix package [OPTION]... PACKAGES... @@ -334,6 +335,8 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) -p, --profile=PROFILE use PROFILE instead of the user's default profile")) (display (_ " -n, --dry-run show what would be done without actually doing it")) + (display (_ " + --no-substitutes build instead of resorting to pre-built substitutes")) (display (_ " --bootstrap use the bootstrap Guile to build the profile")) (display (_ " @@ -388,6 +391,10 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (option '(#\n "dry-run") #f #f (lambda (opt name arg result) (alist-cons 'dry-run? #t result))) + (option '("no-substitutes") #f #f + (lambda (opt name arg result) + (alist-cons 'substitutes? #f + (alist-delete 'substitutes? result)))) (option '("bootstrap") #f #f (lambda (opt name arg result) (alist-cons 'bootstrap? #t result))) @@ -750,6 +757,10 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (or (process-query opts) (with-error-handling (parameterize ((%store (open-connection))) + (set-build-options (%store) + #:use-substitutes? + (assoc-ref opts 'substitutes?)) + (parameterize ((%guile-for-build (package-derivation (%store) (if (assoc-ref opts 'bootstrap?) From 0d2fe78f8598cdff97d62483ad7580386235671d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 15:59:03 +0200 Subject: [PATCH 129/151] Update `TODO'. --- TODO | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/TODO b/TODO index 205e1d71af..7a3b892105 100644 --- a/TODO +++ b/TODO @@ -17,11 +17,13 @@ X.509 SubjectPublicKeyInfo. These can be decoded with the [[http://lists.gnu.or GnuTLS]], but not yet with its Guile bindings. There’s also ‘gnutls_privkey_sign_data’ to sign, and related functions. -** Add a binary cache substituter -Like scripts/download-from-binary-cache.pl in Nix, but written in -Scheme. Substituters allow pre-built binaries to be downloaded when -they are available from a trusted source. +** Add `guix publish' to publish the store using Guile's web server + +Generate narinfos and nars on the fly, upon HTTP GET requests. +Ideally, extend .nix-cache-info to include the server's public key, and also +reply to requests for .narinfo.sig. +Optionally, use Guile-Avahi to publish the service. ** MAYBE Add a substituter that uses the GNUnet DHT From d5d6db8918fb8cd66132f5ad5d4c03d6ed2db815 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 18:07:17 +0200 Subject: [PATCH 130/151] package: Being at the empty profile is not an error. * guix/scripts/package.scm (roll-back): Use `format', not `leave' when indicating "already at the empty profile". Fixes a regression introduced in a2011be5dfaf2b94a1d0e3dfbcf4b512389b4711. Reported by Nikita Karetnikov . --- guix/scripts/package.scm | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index ba75cd778c..ac99d16497 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -211,7 +211,8 @@ all of PACKAGES, a list of name/version/output/path/deps tuples." (leave (_ "error: profile `~a' does not exist~%") profile)) ((zero? number) ; empty profile - (leave (_ "nothing to do: already at the empty profile~%"))) + (format (current-error-port) + (_ "nothing to do: already at the empty profile~%"))) ((or (zero? previous-number) ; going to emptiness (not (file-exists? previous-profile))) (let*-values (((drv-path drv) From 841032d4482360b8125291f80b20111e1371167a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 18:22:41 +0200 Subject: [PATCH 131/151] store: Remove unneeded and conflicting import. * guix/store.scm: Remove unneeded (ice-9 rdelim) import. In Guile 2.0.9 that module exports `read-string', which conflicts with that of (guix serialization). --- guix/store.scm | 1 - 1 file changed, 1 deletion(-) diff --git a/guix/store.scm b/guix/store.scm index cc21af84e4..b1b60babf0 100644 --- a/guix/store.scm +++ b/guix/store.scm @@ -30,7 +30,6 @@ #:use-module (srfi srfi-35) #:use-module (srfi srfi-39) #:use-module (ice-9 match) - #:use-module (ice-9 rdelim) #:use-module (ice-9 regex) #:export (%daemon-socket-file From c5c555b186a894e6bd3d5709c5199fcab1f0b7d0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 12 Apr 2013 21:26:41 +0200 Subject: [PATCH 132/151] gnu: Add Ratpoison. * gnu/packages/ratpoison.scm: New file. * Makefile.am (MODULES): Add it. --- Makefile.am | 1 + gnu/packages/ratpoison.scm | 71 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 72 insertions(+) create mode 100644 gnu/packages/ratpoison.scm diff --git a/Makefile.am b/Makefile.am index a1bda16759..d07272f8bd 100644 --- a/Makefile.am +++ b/Makefile.am @@ -157,6 +157,7 @@ MODULES = \ gnu/packages/pth.scm \ gnu/packages/python.scm \ gnu/packages/qemu.scm \ + gnu/packages/ratpoison.scm \ gnu/packages/readline.scm \ gnu/packages/recutils.scm \ gnu/packages/rsync.scm \ diff --git a/gnu/packages/ratpoison.scm b/gnu/packages/ratpoison.scm new file mode 100644 index 0000000000..30e6c224d6 --- /dev/null +++ b/gnu/packages/ratpoison.scm @@ -0,0 +1,71 @@ +;;; GNU Guix --- Functional package management for GNU +;;; Copyright © 2013 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 ratpoison) + #:use-module (guix packages) + #:use-module (guix download) + #:use-module (guix build-system gnu) + #:use-module ((guix licenses) #:select (gpl2+)) + #:use-module (gnu packages xorg) + #:use-module (gnu packages perl) + #:use-module (gnu packages readline) + #:use-module (gnu packages pkg-config) + #:use-module (gnu packages fontutils)) + +(define-public ratpoison + (package + (name "ratpoison") + (version "1.4.6") + (source (origin + (method url-fetch) + (uri (string-append "mirror://savannah/ratpoison/ratpoison-" + version ".tar.xz")) + (sha256 + (base32 + "0v4mh8d3vsh5xbbycfdl3g8zfygi1rkslh1x7k5hi1d05bfq3cdr")))) + (build-system gnu-build-system) + (inputs + `(("perl" ,perl) + ("pkg-config" ,pkg-config) + ("libXi" ,libxi) + ("readline" ,readline) + ("xextproto" ,xextproto) + ("libXtst" ,libxtst) + ("freetype" ,freetype) + ("fontconfig" ,fontconfig) + ("libXft" ,libxft) + ("libXpm" ,libxpm) + ("libXt" ,libxt) + ("inputproto" ,inputproto) + ("libX11" ,libx11))) + (home-page "http://www.nongnu.org/ratpoison/") + (synopsis "A 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 +rodent dependence. It is largely modelled after GNU Screen which +has done wonders in the virtual terminal market. + +The screen can be split into non-overlapping frames. All windows +are kept maximized inside their frames to take full advantage of +your precious screen real estate. + +All interaction with the window manager is done through keystrokes. +Ratpoison has a prefix map to minimize the key clobbering that +cripples Emacs and other quality pieces of software.") + (license gpl2+))) From baa0d82a8a766ed5b86a1e4f6b1a4bb6b5b64f49 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Apr 2013 22:06:47 +0200 Subject: [PATCH 133/151] gnu: libXaw: Propagate libXt. * gnu/packages/xorg.scm (libxaw): Propagate libXt. --- gnu/packages/xorg.scm | 57 ++++++++++++++++++++----------------------- 1 file changed, 27 insertions(+), 30 deletions(-) diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 7c08e4471e..93e2da5d48 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -4418,36 +4418,6 @@ tracking.") (description "X.org provides an implementation of the X Window System") (license license:x11))) - -(define-public libxaw - (package - (name "libxaw") - (version "1.0.11") - (source - (origin - (method url-fetch) - (uri (string-append - "mirror://xorg/X11R7.7/src/everything/libXaw-" - version - ".tar.bz2")) - (sha256 - (base32 - "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47")))) - (build-system gnu-build-system) - (propagated-inputs - `(("libxext" ,libxext) - ("libxmu" ,libxmu) - ("libxpm" ,libxpm))) - (inputs - `(("libxt" ,libxt) - ("xproto" ,xproto) - ("pkg-config" ,pkg-config))) - (home-page "http://www.x.org/wiki/") - (synopsis "xorg implementation of the X Window System") - (description "X.org provides an implementation of the X Window System") - (license license:x11))) - - (define-public libxfixes (package (name "libxfixes") @@ -4870,3 +4840,30 @@ emulation to complete hardware acceleration for modern GPUs.") (license license:x11))) +(define-public libxaw + (package + (name "libxaw") + (version "1.0.11") + (source + (origin + (method url-fetch) + (uri (string-append + "mirror://xorg/X11R7.7/src/everything/libXaw-" + version + ".tar.bz2")) + (sha256 + (base32 + "14ll7ndf5njc30hz2w197qvwp7fqj7y14wq4p1cyxlbipfn79a47")))) + (build-system gnu-build-system) + (propagated-inputs + `(("libxext" ,libxext) + ("libxmu" ,libxmu) + ("libxpm" ,libxpm) + ("libxt" ,libxt))) + (inputs + `(("xproto" ,xproto) + ("pkg-config" ,pkg-config))) + (home-page "http://www.x.org/wiki/") + (synopsis "xorg implementation of the X Window System") + (description "X.org provides an implementation of the X Window System") + (license license:x11))) From 50efa797742af747f8d544a4fac52116993d9da8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 13 Apr 2013 22:08:09 +0200 Subject: [PATCH 134/151] gnu: emacs: Build the GUI with libXaw. * gnu/packages/emacs.scm (emacs): Add inputs: libX11, libXaw, libXt, libtiff, libjpeg, libpng, zlib, libXpm, libxml2, and D-Bus. --- gnu/packages/emacs.scm | 36 ++++++++++++++++++++++++++---------- 1 file changed, 26 insertions(+), 10 deletions(-) diff --git a/gnu/packages/emacs.scm b/gnu/packages/emacs.scm index 9a107967a3..9e1e6aa7ca 100644 --- a/gnu/packages/emacs.scm +++ b/gnu/packages/emacs.scm @@ -26,7 +26,16 @@ #:use-module (gnu packages texinfo) #:use-module (gnu packages gnutls) #:use-module (gnu packages pkg-config) - #:use-module (gnu packages guile)) + #:use-module (gnu packages guile) + #:use-module (gnu packages xorg) + #:use-module (gnu packages lesstif) + #:use-module (gnu packages libjpeg) + #:use-module (gnu packages libtiff) + #:use-module (gnu packages libpng) + #:use-module ((gnu packages compression) + #:renamer (symbol-prefix-proc 'compression:)) + #:use-module (gnu packages xml) + #:use-module (gnu packages glib)) (define-public emacs (package @@ -43,7 +52,8 @@ (arguments '(#:configure-flags (list (string-append "--with-crt-dir=" (assoc-ref %build-inputs "libc") - "/lib")) + "/lib") + "--with-gif=no") ; XXX: add libungif #:patches (list (assoc-ref %build-inputs "patch/epaths")) #:phases (alist-cons-before 'configure 'fix-/bin/pwd @@ -60,16 +70,22 @@ ("ncurses" ,ncurses) ;; TODO: Add the optional dependencies. - ;; ("xlibs" ,xlibs) + ("xlibs" ,libx11) + ("libXaw" ,libxaw) ; XXX: eventually replace by GTK+ ;; ("gtk+" ,gtk+) - ;; ("libXft" ,libXft) - ;; ("libtiff" ,libtiff) + ("libXft" ,libxft) + ("libtiff" ,libtiff) ;; ("libungif" ,libungif) - ;; ("libjpeg" ,libjpeg) - ;; ("libpng" ,libpng) - ;; ("libXpm" ,libXpm) - ;; ("libxml2" ,libxml2) - ;; ("dbus-library" ,dbus-library) + ("libjpeg" ,libjpeg-8) + + ;; When looking for libpng `configure' links with `-lpng -lz', so we + ;; must also provide zlib as an input. + ("libpng" ,libpng) + ("zlib" ,compression:zlib) + + ("libXpm" ,libxpm) + ("libxml2" ,libxml2) + ("dbus" ,dbus) ("patch/epaths" ,(search-patch "emacs-configure-sh.patch")) )) From 35ac56b63e438aaefde9364db7164dd213677022 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Tue, 16 Apr 2013 14:05:00 +0200 Subject: [PATCH 135/151] build-system/{perl,cmake}: Keep the standard search paths of gnu-build-system. Reported by Andreas Enge . * guix/build-system/gnu.scm (standard-search-paths): New procedure. (gnu-build): Use it. * guix/build-system/perl.scm (perl-build): Append (standard-search-paths) to the search paths of PERL. * guix/build-system/cmake.scm (cmake-build): Append (standard-search-paths) to SEARCH-PATHS. --- guix/build-system/cmake.scm | 3 ++- guix/build-system/gnu.scm | 18 ++++++++++++------ guix/build-system/perl.scm | 3 ++- 3 files changed, 16 insertions(+), 8 deletions(-) diff --git a/guix/build-system/cmake.scm b/guix/build-system/cmake.scm index 4e993f3961..3347dc502c 100644 --- a/guix/build-system/cmake.scm +++ b/guix/build-system/cmake.scm @@ -72,7 +72,8 @@ provides a 'CMakeLists.txt' file as its build system." #:outputs %outputs #:inputs %build-inputs #:search-paths ',(map search-path-specification->sexp - search-paths) + (append search-paths + (standard-search-paths))) #:patches ,patches #:patch-flags ,patch-flags #:phases ,phases diff --git a/guix/build-system/gnu.scm b/guix/build-system/gnu.scm index 3b3d99b313..b64bce7dae 100644 --- a/guix/build-system/gnu.scm +++ b/guix/build-system/gnu.scm @@ -27,6 +27,7 @@ #:use-module (ice-9 match) #:export (gnu-build gnu-build-system + standard-search-paths standard-inputs package-with-explicit-inputs package-with-extra-configure-variable @@ -143,6 +144,16 @@ standard packages used as implicit inputs of the GNU build system." (let ((distro (resolve-module '(gnu packages base)))) (module-ref distro '%final-inputs))) +(define (standard-search-paths) + "Return the list of for the standard (implicit) +inputs." + (append-map (match-lambda + ((_ (? package? p) _ ...) + (package-native-search-paths p)) + (_ + '())) + (standard-packages))) + (define standard-inputs (memoize (lambda (system) @@ -204,12 +215,7 @@ which could lead to gratuitous input divergence." (define implicit-search-paths (if implicit-inputs? - (append-map (match-lambda - ((_ (? package? p) _ ...) - (package-native-search-paths p)) - (_ - '())) - (standard-packages)) + (standard-search-paths) '())) (define builder diff --git a/guix/build-system/perl.scm b/guix/build-system/perl.scm index c97698e225..1ff9fd2674 100644 --- a/guix/build-system/perl.scm +++ b/guix/build-system/perl.scm @@ -55,7 +55,8 @@ "Build SOURCE using PERL, and with INPUTS. This assumes that SOURCE provides a `Makefile.PL' file as its build system." (define perl-search-paths - (package-native-search-paths perl)) + (append (package-native-search-paths perl) + (standard-search-paths))) (define builder `(begin From f594028a9ca1908a864fecf6d9e345a83f7ee9c0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Wed, 17 Apr 2013 14:59:19 +0200 Subject: [PATCH 136/151] gnu: Add missing import in (gnu packages cross-base). * gnu/packages/cross-base.scm: Use (gnu packages gcc). Reported by Nikita Karetnikov . --- gnu/packages/cross-base.scm | 1 + 1 file changed, 1 insertion(+) diff --git a/gnu/packages/cross-base.scm b/gnu/packages/cross-base.scm index 69dc9f5b0b..55670fad96 100644 --- a/gnu/packages/cross-base.scm +++ b/gnu/packages/cross-base.scm @@ -19,6 +19,7 @@ (define-module (gnu packages cross-base) #:use-module (guix licenses) #:use-module (gnu packages) + #:use-module (gnu packages gcc) #:use-module (gnu packages base) #:use-module (gnu packages linux) #:use-module (guix packages) From d6b8cb5c4a54c35b31304b2c96c7ab0082434d2a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Fri, 19 Apr 2013 19:41:05 +0200 Subject: [PATCH 137/151] gnu: Unify the two intltool packages. * gnu/packages/xml.scm (intltool): Delete variable. * gnu/packages/glib.scm (intltool): Update to version 0.50.2. --- gnu/packages/glib.scm | 42 ++++++++++++++++++++---------------------- gnu/packages/xml.scm | 38 -------------------------------------- 2 files changed, 20 insertions(+), 60 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 7ff9ede22b..e7de0e490c 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -1,6 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013 Ludovic Courtès +;;; Copyright © 2013 Andreas Enge +;;; Copyright © 2013 Nikita Karetnikov ;;; ;;; This file is part of GNU Guix. ;;; @@ -18,7 +19,8 @@ ;;; along with GNU Guix. If not, see . (define-module (gnu packages glib) - #:use-module ((guix licenses) #:select (lgpl2.0+ gpl2+ gpl2)) + #:use-module ((guix licenses) + #:renamer (symbol-prefix-proc 'license:)) #:use-module (guix packages) #:use-module (guix download) #:use-module (guix build-system gnu) @@ -28,11 +30,10 @@ #:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'guix:)) #:use-module (gnu packages libffi) + #:use-module (gnu packages perl) #:use-module (gnu packages pkg-config) #:use-module (gnu packages python) - #:use-module (gnu packages perl) - #:use-module ((gnu packages xml) - #:renamer (symbol-prefix-proc 'xml:))) + #:use-module (gnu packages xml)) (define-public dbus (package @@ -48,7 +49,7 @@ "1wacqyfkcpayg7f8rvx9awqg275n5pksxq5q7y21lxjx85x6pfjz")))) (build-system gnu-build-system) (inputs - `(("expat" ,xml:expat) + `(("expat" ,expat) ("pkg-config" ,pkg-config))) (home-page "http://dbus.freedesktop.org/") (synopsis "Message bus for inter-process communication (IPC)") @@ -68,7 +69,7 @@ to communicate directly (without going through the message bus daemon). Currently the communicating applications are on one computer, or through unencrypted TCP/IP suitable for use behind a firewall with shared NFS home directories.") - (license gpl2+))) ; or Academic Free License 2.1 + (license license:gpl2+))) ; or Academic Free License 2.1 (define-public glib (package @@ -126,31 +127,28 @@ shared NFS home directories.") and interfaces for such runtime functionality as an event loop, threads, dynamic loading, and an object system.") (home-page "http://developer.gnome.org/glib/") - (license lgpl2.0+))) ; some files are under lgpl2.1+ + (license license:lgpl2.0+))) ; some files are under lgpl2.1+ (define-public intltool (package (name "intltool") - (version "0.40.6") + (version "0.50.2") (source (origin (method url-fetch) - (uri (string-append - "mirror://gnome/sources/intltool/0.40/intltool-" - version - ".tar.bz2")) + (uri (string-append "https://launchpad.net/intltool/trunk/" + version "/+download/intltool-" + version ".tar.gz")) (sha256 (base32 - "0r1vkvy5xzqk01yl6a0xlrry39bra24alkrx6279b77hc62my7jd")))) + "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) (build-system gnu-build-system) - (native-inputs `(("pkg-config" ,pkg-config))) (propagated-inputs - `(("gettext" ,guix:gettext) - ("perl-xml-parser" ,xml:perl-xml-parser) - ("perl" ,perl))) - (home-page "http://freedesktop.org/wiki/Software/intltool") - (synopsis "Tools to centralize translation of many different file formats") + `(("perl" ,perl) + ("perl-xml-parser" ,perl-xml-parser))) + (home-page "https://launchpad.net/intltool/+download") + (synopsis "Tools to centralise translations of different file formats") (description - "intltool is a set of tools to centralize translation of many different + "intltool is a set of tools to centralise translations of many different file formats using GNU gettext-compatible PO files. The intltool collection can be used to do these things: @@ -163,4 +161,4 @@ The intltool collection can be used to do these things: Merge back the translations from .po files into .xml, .desktop and oaf files. This merge step will happen at build resp. installation time.") - (license gpl2))) + (license license:gpl2+))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 2c4cda54a3..524614b23f 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -149,41 +149,3 @@ then passed on to the Expat object on each parse call. They can also be given as extra arguments to the parse methods, in which case they override options given at XML::Parser creation time.") (home-page "http://search.cpan.org/~toddr/XML-Parser-2.41/Parser.pm"))) - -(define-public intltool - (package - (name "intltool") - (version "0.50.2") - (source (origin - (method url-fetch) - (uri (string-append "https://launchpad.net/intltool/trunk/" - version "/+download/intltool-" - version ".tar.gz")) - (sha256 - (base32 - "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) - (build-system gnu-build-system) - (propagated-inputs - `(("perl" ,perl) - ("perl-xml-parser" ,perl-xml-parser))) - (arguments - `(#:phases - (alist-replace - 'configure - (lambda* (#:key inputs #:allow-other-keys #:rest args) - (let ((configure (assoc-ref %standard-phases 'configure)) - (perl-xml-parser (assoc-ref inputs "perl-xml-parser"))) - ;; FIXME: This should be done more centrally. - (setenv "PERL5LIB" (string-append perl-xml-parser "/lib/perl5/site_perl")) - (apply configure args))) - %standard-phases))) - (home-page "https://launchpad.net/intltool/+download") - (synopsis "Utility scripts for internationalising xml") - (description - "intltool automatically extracts translatable strings from oaf, glade, -bonobo ui, nautilus theme and other XML files into the po files. -It automatically merges translations from po files back into .oaf files -(encoding to be 7-bit clean). The merging mechanism can also be extended to -support other types of XML files.") - (license license:gpl2+))) - From 107b415e4381150a323b94da48b102cab74398c8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Apr 2013 11:27:37 +0200 Subject: [PATCH 138/151] gnu: intltool: Propagate gettext. * gnu/packages/glib.scm (intltool): Propagate gettext. --- gnu/packages/glib.scm | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index e7de0e490c..8219196adf 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -143,8 +143,12 @@ dynamic loading, and an object system.") "01j4yd7i84n9nk4ccs6yifg84pp68nr9by57jdbhj7dpdxf5rwk7")))) (build-system gnu-build-system) (propagated-inputs - `(("perl" ,perl) - ("perl-xml-parser" ,perl-xml-parser))) + `(;; Propagate gettext because users expect it to be there, and so does + ;; the `intltool-update' script. + ("gettext" ,guix:gettext) + + ("perl-xml-parser" ,xml:perl-xml-parser) + ("perl" ,perl))) (home-page "https://launchpad.net/intltool/+download") (synopsis "Tools to centralise translations of different file formats") (description From e33d9d6f09874f83bb5a03f49cb969a84588e10e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 21 Apr 2013 21:09:49 +0200 Subject: [PATCH 139/151] gnu: intltool: Fix typo. * gnu/packages/glib.scm (intltool): Fix typo. --- gnu/packages/glib.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/gnu/packages/glib.scm b/gnu/packages/glib.scm index 8219196adf..135c672818 100644 --- a/gnu/packages/glib.scm +++ b/gnu/packages/glib.scm @@ -147,7 +147,7 @@ dynamic loading, and an object system.") ;; the `intltool-update' script. ("gettext" ,guix:gettext) - ("perl-xml-parser" ,xml:perl-xml-parser) + ("perl-xml-parser" ,perl-xml-parser) ("perl" ,perl))) (home-page "https://launchpad.net/intltool/+download") (synopsis "Tools to centralise translations of different file formats") From d83ae7240171bba5a3a47870832562aab53552c5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 26 Apr 2013 22:13:14 +0200 Subject: [PATCH 140/151] gnu: diffutils: Update to 3.3. * gnu/packages/base.scm (diffutils): Update to 3.3. --- gnu/packages/base.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index fadc2463d0..2afb64ab9e 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -179,18 +179,15 @@ producing patched versions.") (define-public diffutils (package (name "diffutils") - (version "3.2") + (version "3.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/diffutils/diffutils-" version ".tar.xz")) (sha256 (base32 - "0jci0wv68025xd0s0rq4s5qxpx56dd9d730lka63qpzk1rfvfkxb")))) + "1761vymxbp4wb5rzjvabhdkskk95pghnn67464byvzb5mfl8jpm2")))) (build-system gnu-build-system) - (inputs `(("patch/gets" - ,(search-patch "diffutils-gets-undeclared.patch")))) - (arguments `(#:patches (list (assoc-ref %build-inputs "patch/gets")))) (synopsis "Comparing and merging files") (description "GNU Diffutils is a package of several programs related to finding From 6aded2dd3fdeb349f18e9085bf700ea1bb926c0b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 26 Apr 2013 22:48:17 +0200 Subject: [PATCH 141/151] gnu: guile: Default to 2.0.9. * gnu/packages/guile.scm (guile-2.0/fixed): Switch to `guile-2.0'. --- gnu/packages/guile.scm | 10 +--------- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 0b50530b22..c8604f88f4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -164,15 +164,7 @@ call interface, and powerful string processing.") (define-public guile-2.0/fixed ;; A package of Guile 2.0 that's rarely changed. It is the one used ;; in the `base' module, and thus changing it entails a full rebuild. - (package (inherit guile-2.0) - (version "2.0.7") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/guile/guile-" version - ".tar.xz")) - (sha256 - (base32 - "0f53pxkia4v17n0avwqlcjpy0n89hkazm2xsa6p84lv8k6k8y9vg")))))) + guile-2.0) ;;; From 3b401612d9ea23cf20f5377594251a82c28e03e6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Fri, 26 Apr 2013 22:51:07 +0200 Subject: [PATCH 142/151] gnu: Binutils 2.23.2 and GCC 4.7.3. * gnu/packages/base.scm (binutils): Update to 2.23.2. (binutils-2.23, ld-wrapper-2.23): Remove. (gcc-4.8): Move to... * gnu/packages/gcc.scm (gcc-4.8): ... here. (gcc-4.7): Update to 4.7.3. Add dependencies on ISL, CLooG, libelf, and zlib. --- gnu/packages/base.scm | 44 ++----------------------------------------- gnu/packages/gcc.scm | 26 ++++++++++++++++++++----- 2 files changed, 23 insertions(+), 47 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index 2afb64ab9e..fae0c8151f 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -337,14 +337,14 @@ that it is possible to use Make to build and install the program.") (define-public binutils (package (name "binutils") - (version "2.23.1") + (version "2.23.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/binutils/binutils-" version ".tar.bz2")) (sha256 (base32 - "06bs5v5ndb4g5qx96d52lc818gkbskd1m0sz57314v887sqfbcia")))) + "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")))) (build-system gnu-build-system) ;; Split Binutils in several outputs, mostly to avoid collisions in @@ -376,17 +376,6 @@ BFD (Binary File Descriptor) library, `gprof', `nm', `strip', etc.") (license gpl3+) (home-page "http://www.gnu.org/software/binutils/"))) -(define-public binutils-2.23 - (package (inherit binutils) - (version "2.23.2") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/binutils/binutils-" - version ".tar.bz2")) - (sha256 - (base32 - "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")))))) - (define-public glibc (package (name "glibc") @@ -962,35 +951,6 @@ store.") ,@(fold alist-delete (package-inputs ld-wrapper-boot3) '("guile" "bash")))))) -(define-public ld-wrapper-2.23 ; TODO: remove when Binutils is updated - (package (inherit ld-wrapper) - (inputs `(("binutils" ,binutils-2.23) - ,@(alist-delete "binutils" (package-inputs ld-wrapper)))))) - -(define-public gcc-4.8 - ;; FIXME: Move to gcc.scm when Binutils is updated. - (package (inherit gcc-4.7) - (version "4.8.0") - (source (origin - (method url-fetch) - (uri (string-append "mirror://gnu/gcc/gcc-" - version "/gcc-" version ".tar.bz2")) - (sha256 - (base32 - "0b6cp9d1sas3vq6dj3zrgd134p9b569fqhbixb9cl7mp698zwdxh")))) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr) - ("mpc" ,mpc) - ("isl" ,isl) - ("cloog" ,cloog) - ("zlib" ,(@ (gnu packages compression) zlib)) - - ;; With ld from Binutils 2.22, we get the following error while - ;; linking gcov: - ;; ld: gcov: hidden symbol `__deregister_frame_info' in /nix/store/47myfniw4x7kfc601d7q1yvz5mixlr00-gcc-4.7.2/lib/gcc/x86_64-unknown-linux-gnu/4.7.2/libgcc_eh.a(unwind-dw2-fde-dip.o) is referenced by DSO - ;; See . - ("ld-wrapper" ,ld-wrapper-2.23))))) - (define-public %final-inputs ;; Final derivations used as implicit inputs by `gnu-build-system'. (let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs diff --git a/gnu/packages/gcc.scm b/gnu/packages/gcc.scm index 96b82d5af7..d239b5a9ab 100644 --- a/gnu/packages/gcc.scm +++ b/gnu/packages/gcc.scm @@ -35,18 +35,22 @@ (let ((stripped? #t)) ; TODO: make this a parameter (package (name "gcc") - (version "4.7.2") + (version "4.7.3") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gcc/gcc-" version "/gcc-" version ".tar.bz2")) (sha256 (base32 - "115h03hil99ljig8lkrq4qk426awmzh0g99wrrggxf8g07bq74la")))) + "1hx9h64ivarlzi4hxvq42as5m9vlr5cyzaaq4gzj4i619zmkfz1g")))) (build-system gnu-build-system) - (inputs `(("gmp" ,gmp) - ("mpfr" ,mpfr) - ("mpc" ,mpc))) ; TODO: libelf, ppl, cloog, zlib, etc. + (inputs `(("gmp" ,gmp) + ("mpfr" ,mpfr) + ("mpc" ,mpc) + ("isl" ,isl) + ("cloog" ,cloog) + ("libelf" ,libelf) + ("zlib" ,zlib))) (arguments `(#:out-of-source? #t #:strip-binaries? ,stripped? @@ -152,6 +156,18 @@ used in the GNU system including the GNU/Linux variant.") (license gpl3+) (home-page "http://gcc.gnu.org/")))) +(define-public gcc-4.8 + ;; FIXME: Move to gcc.scm when Binutils is updated. + (package (inherit gcc-4.7) + (version "4.8.0") + (source (origin + (method url-fetch) + (uri (string-append "mirror://gnu/gcc/gcc-" + version "/gcc-" version ".tar.bz2")) + (sha256 + (base32 + "0b6cp9d1sas3vq6dj3zrgd134p9b569fqhbixb9cl7mp698zwdxh")))))) + (define-public isl (package (name "isl") From 9369a02bfc3f11626fba09dd6cf0cae411d57f3c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 27 Apr 2013 00:23:19 +0200 Subject: [PATCH 143/151] gnu: patch: Update to 2.7.1. * gnu/packages/base.scm (patch): Update to 2.7.1. --- gnu/packages/base.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/packages/base.scm b/gnu/packages/base.scm index fae0c8151f..34c4db98f9 100644 --- a/gnu/packages/base.scm +++ b/gnu/packages/base.scm @@ -153,14 +153,14 @@ files (as archives).") (define-public patch (package (name "patch") - (version "2.6.1") + (version "2.7.1") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/patch/patch-" version ".tar.xz")) (sha256 (base32 - "18012gxs9wc96izskp1q7bclrwns6rdmkn4jj31c8jbyfz6l5npq")))) + "1sqckf560pzwgniy00vcpdv2c9c11s4cmhlm14yqgg8avd3bl94i")))) (build-system gnu-build-system) (native-inputs '()) ; FIXME: needs `ed' for the tests (arguments From cecb712cce32467b8dd4eb3ececc522c209c93a2 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 27 Apr 2013 00:23:45 +0200 Subject: [PATCH 144/151] gnu: gawk: Update to 4.0.2. * gnu/packages/gawk.scm (gawk): Update to 4.0.2. --- gnu/packages/gawk.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/gnu/packages/gawk.scm b/gnu/packages/gawk.scm index 15ff2a4401..bba2ea1af0 100644 --- a/gnu/packages/gawk.scm +++ b/gnu/packages/gawk.scm @@ -26,13 +26,13 @@ (define-public gawk (package (name "gawk") - (version "4.0.0") + (version "4.0.2") (source (origin (method url-fetch) (uri (string-append "mirror://gnu/gawk/gawk-" version - ".tar.bz2")) + ".tar.xz")) (sha256 - (base32 "0sss7rhpvizi2a88h6giv0i7w5h07s2fxkw3s6n1hqvcnhrfgbb0")))) + (base32 "04vd0axif762mf781pj3days6ilv2333b9zi9c50y5mma66g5q91")))) (build-system gnu-build-system) (arguments `(#:parallel-tests? #f ; test suite fails in parallel From 1f7c6a1f53d0a752af70de123f2ce9d138e0db0a Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 28 Apr 2013 21:12:55 +0200 Subject: [PATCH 145/151] gnu: Add gs-fonts. * gnu/packages/ghostscript.scm (gs-fonts): New variable. --- gnu/packages/ghostscript.scm | 42 ++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/gnu/packages/ghostscript.scm b/gnu/packages/ghostscript.scm index 2c58bca0bd..1f4aa2f77a 100644 --- a/gnu/packages/ghostscript.scm +++ b/gnu/packages/ghostscript.scm @@ -171,3 +171,45 @@ It consists of a PostScript interpreter layer, and a graphics library.") (license license:gpl3+) (home-page "http://www.gnu.org/software/ghostscript/"))) + +(define-public gs-fonts + (package + (name "gs-fonts") + (version "8.11") + (source (origin + (method url-fetch) + (uri (string-append "mirror://sourceforge/gs-fonts/gs-fonts/" + version + "%20%28base%2035%2C%20GPL%29/ghostscript-fonts-std-" + version + ".tar.gz")) + (sha256 (base32 + "00f4l10xd826kak51wsmaz69szzm2wp8a41jasr4jblz25bg7dhf")))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; nothing to check, just files to copy + #:modules ((guix build gnu-build-system) + (guix build utils) + (srfi srfi-1)) ; for alist-delete + #:phases + (alist-delete + 'configure + (alist-delete + 'build + (alist-replace + 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (dir (string-append out "/share/fonts/type1/ghostscript"))) + (mkdir-p dir) + (for-each + (lambda (file) + (copy-file file (string-append dir "/" file))) + (find-files "." "pfb|afm")))) + %standard-phases))))) + (synopsis "free replacements for the PostScript fonts") + (description + "gs-fonts provides fonts and font metrics customarily distributed with +Ghostscript. It currently includes the 35 standard PostScript fonts.") + (license license:gpl2) + (home-page "http://sourceforge.net/projects/gs-fonts/"))) From 19cb51701266404e023eda5a50c026bccb0dc6a0 Mon Sep 17 00:00:00 2001 From: Andreas Enge Date: Sun, 28 Apr 2013 22:05:27 +0200 Subject: [PATCH 146/151] gnu: xpdf: Use gs-fonts to provide standard postscript fonts. * gnu/packages/pdf (xpdf): Add path to gs-fonts in xpdfrc. --- gnu/packages/pdf.scm | 17 ++++++++++++++++- 1 file changed, 16 insertions(+), 1 deletion(-) diff --git a/gnu/packages/pdf.scm b/gnu/packages/pdf.scm index b2f1ade143..820a879288 100644 --- a/gnu/packages/pdf.scm +++ b/gnu/packages/pdf.scm @@ -82,6 +82,7 @@ "1jnfzdqc54wa73lw28kjv0m7120mksb0zkcn81jdlvijyvc67kq2")))) (build-system gnu-build-system) (inputs `(("freetype" ,freetype) + ("gs-fonts" ,gs-fonts) ("lesstif" ,lesstif) ("libpaper" ,libpaper) ("libx11" ,libx11) @@ -95,7 +96,21 @@ (arguments `(#:tests? #f ; there is no check target #:patches (list (assoc-ref %build-inputs - "patch/constchar")))) + "patch/constchar")) + #:phases + (alist-replace + 'install + (lambda* (#:key outputs inputs #:allow-other-keys #:rest args) + (let* ((install (assoc-ref %standard-phases 'install)) + (out (assoc-ref outputs "out")) + (xpdfrc (string-append out "/etc/xpdfrc")) + (gs-fonts (assoc-ref inputs "gs-fonts"))) + (apply install args) + (substitute* xpdfrc + (("/usr/local/share/ghostscript/fonts") + (string-append gs-fonts "/share/fonts/type1/ghostscript")) + (("#fontFile") "fontFile")))) + %standard-phases))) (synopsis "Viewer for pdf files based on the Motif toolkit.") (description "Xpdf is a viewer for Portable Document Format (PDF) files") From 2bcfb9e065ac6abb6abf7ac9a263ba3c4d70124f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 28 Apr 2013 21:38:40 +0200 Subject: [PATCH 147/151] utils: Add `string-tokenize*'. * guix/utils.scm (string-tokenize*): New procedure. * tests/utils.scm ("string-tokenize*"): New test. --- guix/utils.scm | 28 ++++++++++++++++++++++++++++ tests/utils.scm | 10 ++++++++++ 2 files changed, 38 insertions(+) diff --git a/guix/utils.scm b/guix/utils.scm index 3cbed2fd0f..0b09affffd 100644 --- a/guix/utils.scm +++ b/guix/utils.scm @@ -60,6 +60,7 @@ version-compare version>? package-name->name+version + string-tokenize* file-extension call-with-temporary-output-file fold2)) @@ -471,6 +472,33 @@ introduce the version part." (let ((dot (string-rindex file #\.))) (and dot (substring file (+ 1 dot) (string-length file))))) +(define (string-tokenize* string separator) + "Return the list of substrings of STRING separated by SEPARATOR. This is +like `string-tokenize', but SEPARATOR is a string." + (define (index string what) + (let loop ((string string) + (offset 0)) + (cond ((string-null? string) + #f) + ((string-prefix? what string) + offset) + (else + (loop (string-drop string 1) (+ 1 offset)))))) + + (define len + (string-length separator)) + + (let loop ((string string) + (result '())) + (cond ((index string separator) + => + (lambda (offset) + (loop (string-drop string (+ offset len)) + (cons (substring string 0 offset) + result)))) + (else + (reverse (cons string result)))))) + (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/tests/utils.scm b/tests/utils.scm index fa7d7b03fd..97547a6d62 100644 --- a/tests/utils.scm +++ b/tests/utils.scm @@ -64,6 +64,16 @@ ("nixpkgs" "1.0pre22125_a28fe19") ("gtk2" "2.38.0")))) +(test-equal "string-tokenize*" + '(("foo") + ("foo" "bar" "baz") + ("foo" "bar" "") + ("foo" "bar" "baz")) + (list (string-tokenize* "foo" ":") + (string-tokenize* "foo;bar;baz" ";") + (string-tokenize* "foo!bar!" "!") + (string-tokenize* "foo+-+bar+-+baz" "+-+"))) + (test-equal "fold2, 1 list" (list (reverse (iota 5)) (map - (reverse (iota 5)))) From 5924080dccae93fa725bf77df5f7a1e9a8756101 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 28 Apr 2013 23:05:57 +0200 Subject: [PATCH 148/151] guix package: Add `--search-paths' & co. * guix/scripts/package.scm (search-path-environment-variables, display-search-paths): New procedures. (show-help, %options): Add `--search-paths'. (guix-package)[process-actions]: Call `display-search-paths' once the profile is ready. [process-query]: Honor `search-paths'. --- doc/guix.texi | 22 +++++++++++++- guix/scripts/package.scm | 66 +++++++++++++++++++++++++++++++++++++++- tests/guix-package.sh | 8 +++++ 3 files changed, 94 insertions(+), 2 deletions(-) diff --git a/doc/guix.texi b/doc/guix.texi index e23eab0f81..d571de95a0 100644 --- a/doc/guix.texi +++ b/doc/guix.texi @@ -517,8 +517,13 @@ Thus, when installing MPC, the MPFR and GMP libraries also get installed in the profile; removing MPC also removes MPFR and GMP---unless they had also been explicitly installed independently. +Besides, packages sometime rely on the definition of environment +variables for their search paths (see explanation of +@code{--search-paths} below.) Any missing or possibly incorrect +environment variable definitions are reported here. + @c XXX: keep me up-to-date -Besides, when installing a GNU package, the tool reports the +Finally, when installing a GNU package, the tool reports the availability of a newer upstream version. In the future, it may provide the option of installing directly from the upstream version, even if that version is not yet in the distribution. @@ -566,6 +571,21 @@ Installing, removing, or upgrading packages from a generation that has been rolled back to overwrites previous future generations. Thus, the history of a profile's generations is always linear. +@item --search-paths +@cindex search paths +Report environment variable definitions, in Bash syntax, that may be +needed in order to use the set of installed packages. These environment +variables are used to specify @dfn{search paths} for files used by some +of the installed packages. + +For example, GCC needs the @code{CPATH} and @code{LIBRARY_PATH} +environment variables to be defined so it can look for headers and +libraries in the user's profile (@pxref{Environment Variables,,, gcc, +Using the GNU Compiler Collection (GCC)}). If GCC and, say, the C +library are installed in the profile, then @code{--search-paths} will +suggest setting these variables to @code{@var{profile}/include} and +@code{@var{profile}/lib}, respectively. + @item --profile=@var{profile} @itemx -p @var{profile} Use @var{profile} instead of the user's default profile. diff --git a/guix/scripts/package.scm b/guix/scripts/package.scm index c5656efc14..560b673618 100644 --- a/guix/scripts/package.scm +++ b/guix/scripts/package.scm @@ -330,6 +330,53 @@ but ~a is available upstream~%") ((getaddrinfo-error ftp-error) #f) (else (apply throw key args)))))) +(define* (search-path-environment-variables packages profile + #:optional (getenv getenv)) + "Return environment variable definitions that may be needed for the use of +PACKAGES in PROFILE. Use GETENV to determine the current settings and report +only settings not already effective." + + ;; The search path info is not stored in the manifest. Thus, we infer the + ;; search paths from same-named packages found in the distro. + + (define package-in-manifest->package + (match-lambda + ((name version _ ...) + (match (append (find-packages-by-name name version) + (find-packages-by-name name)) + ((p _ ...) p) + (_ #f))))) + + (define search-path-definition + (match-lambda + (($ variable directories separator) + (let ((values (or (and=> (getenv variable) + (cut string-tokenize* <> separator)) + '())) + (directories (filter file-exists? + (map (cut string-append profile + "/" <>) + directories)))) + (if (every (cut member <> values) directories) + #f + (format #f "export ~a=\"~a\"" + variable + (string-join directories separator))))))) + + (let* ((packages (filter-map package-in-manifest->package packages)) + (search-paths (delete-duplicates + (append-map package-native-search-paths + packages)))) + (filter-map search-path-definition search-paths))) + +(define (display-search-paths packages profile) + "Display the search path environment variables that may need to be set for +PACKAGES, in the context of PROFILE." + (let ((settings (search-path-environment-variables packages profile))) + (unless (null? settings) + (format #t (_ "The following environment variable definitions may be needed:~%")) + (format #t "~{ ~a~%~}" settings)))) + ;;; ;;; Command-line options. @@ -354,6 +401,8 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) -u, --upgrade[=REGEXP] upgrade all the installed packages matching REGEXP")) (display (_ " --roll-back roll back to the previous generation")) + (display (_ " + --search-paths display needed environment variable definitions")) (newline) (display (_ " -p, --profile=PROFILE use PROFILE instead of the user's default profile")) @@ -408,6 +457,9 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (option '("roll-back") #f #f (lambda (opt name arg result) (alist-cons 'roll-back? #t result))) + (option '("search-paths") #f #f + (lambda (opt name arg result) + (cons `(query search-paths) result))) (option '(#\p "profile") #t #f (lambda (opt name arg result) (alist-cons 'profile arg @@ -728,7 +780,9 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (build-derivations (%store) (list prof-drv))) (begin (switch-symlinks name prof) - (switch-symlinks profile name)))))))))) + (switch-symlinks profile name) + (display-search-paths packages + profile)))))))))) (define (process-query opts) ;; Process any query specified by OPTS. Return #t when a query was @@ -776,6 +830,16 @@ Install, remove, or upgrade PACKAGES in a single transaction.\n")) (for-each (cute package->recutils <> (current-output-port)) (find-packages-by-description regexp)) #t)) + + (('search-paths) + (let* ((manifest (profile-manifest profile)) + (packages (manifest-packages manifest)) + (settings (search-path-environment-variables packages + profile + (const #f)))) + (format #t "~{~a~%~}" settings) + #t)) + (_ #f)))) (let ((opts (parse-options))) diff --git a/tests/guix-package.sh b/tests/guix-package.sh index 7b101aa501..5a514a0dc0 100644 --- a/tests/guix-package.sh +++ b/tests/guix-package.sh @@ -47,6 +47,10 @@ test -L "$profile" && test -L "$profile-1-link" ! test -f "$profile-2-link" test -f "$profile/bin/guile" +# No search path env. var. here. +guix package --search-paths -p "$profile" +test "`guix package --search-paths -p "$profile" | wc -l`" = 0 + # Check whether we have network access. if guile -c '(getaddrinfo "www.gnu.org" "80" AI_NUMERICSERV)' 2> /dev/null then @@ -119,6 +123,10 @@ then rm "$profile-1-link" guix package --bootstrap -p "$profile" --roll-back test "`readlink_base "$profile"`" = "$profile-0-link" + + # Make sure LIBRARY_PATH gets listed by `--search-paths'. + guix package --bootstrap -p "$profile" -i guile-bootstrap -i gcc-bootstrap + guix package --search-paths -p "$profile" | grep LIBRARY_PATH fi # Make sure the `:' syntax works. From 593987671af63984632ae54eab13f9a47d471ea5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sat, 27 Apr 2013 17:27:16 +0200 Subject: [PATCH 149/151] build-system/gnu: Fix default name for the "doc" output directory. * guix/build/gnu-build-system.scm (configure)[package-name]: Drop the prefix corresponding to the hash part of OUT. --- guix/build/gnu-build-system.scm | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 94a7d6bca8..47820aa02e 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -109,9 +109,10 @@ makefiles." (base (basename out)) (dash (string-rindex base #\-))) ;; XXX: We'd rather use `package-name->name+version' or similar. - (if dash - (substring base 0 dash) - base))) + (string-drop (if dash + (substring base 0 dash) + base) + (+ 1 (string-index base #\-))))) (let* ((prefix (assoc-ref outputs "out")) (bindir (assoc-ref outputs "bin")) From 867df0eeb61b029e33e3298c91890083f0d6a17a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Mon, 29 Apr 2013 00:28:36 +0200 Subject: [PATCH 150/151] gnu: make-bootstrap: Fix %glibc-stripped. * gnu/packages/make-bootstrap.scm (%glibc-stripped): Add `outputs' field. --- gnu/packages/make-bootstrap.scm | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gnu/packages/make-bootstrap.scm b/gnu/packages/make-bootstrap.scm index 40e3e21210..de4e0dcbeb 100644 --- a/gnu/packages/make-bootstrap.scm +++ b/gnu/packages/make-bootstrap.scm @@ -324,7 +324,10 @@ (string-append incdir "/asm-generic")) #t)))) (inputs `(("libc" ,glibc) - ("linux-headers" ,linux-libre-headers)))))) + ("linux-headers" ,linux-libre-headers))) + + ;; Only one output. + (outputs '("out"))))) (define %gcc-static ;; A statically-linked GCC, with stripped-down functionality. From 01155b1808b17f0a4f54388261ab0c6f5fee2f1b Mon Sep 17 00:00:00 2001 From: Nikita Karetnikov Date: Sun, 28 Apr 2013 16:08:23 +0000 Subject: [PATCH 151/151] utils: Adjust 'wrap-program'. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * guix/build/utils.scm (wrap-program): Fix computation of PROG-REAL and PROG-TMP when PROG is an absolute file name. Add "$@" in the generated script, and quote PROG-REAL. Signed-off-by: Ludovic Courtès --- guix/build/utils.scm | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/guix/build/utils.scm b/guix/build/utils.scm index 356dd46b52..a4a82a5f8c 100644 --- a/guix/build/utils.scm +++ b/guix/build/utils.scm @@ -680,8 +680,8 @@ contents: This is useful for scripts that expect particular programs to be in $PATH, for programs that expect particular shared libraries to be in $LD_LIBRARY_PATH, or modules in $GUILE_LOAD_PATH, etc." - (let ((prog-real (string-append "." prog "-real")) - (prog-tmp (string-append "." prog "-tmp"))) + (let ((prog-real (string-append (dirname prog) "/." (basename prog) "-real")) + (prog-tmp (string-append (dirname prog) "/." (basename prog) "-tmp"))) (define (export-variable lst) ;; Return a string that exports an environment variable. (match lst @@ -709,7 +709,7 @@ modules in $GUILE_LOAD_PATH, etc." (with-output-to-file prog-tmp (lambda () (format #t - "#!~a~%~a~%exec ~a~%" + "#!~a~%~a~%exec \"~a\" \"$@\"~%" (which "bash") (string-join (map export-variable vars) "\n")