Merge branch 'core-updates'

Conflicts:
	gnu/packages/gnunet.scm
This commit is contained in:
Ludovic Courtès 2013-11-23 22:30:10 +01:00
commit 53c85e97dc
70 changed files with 794 additions and 374 deletions

1
.gitignore vendored
View File

@ -46,6 +46,7 @@ config.cache
/doc/version.texi /doc/version.texi
/gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz /gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz /gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz
/gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
/guix/config.scm /guix/config.scm
/nix/nix-daemon/nix-daemon.cc /nix/nix-daemon/nix-daemon.cc
/nix/config.h /nix/config.h

View File

@ -45,7 +45,7 @@
(match (string-tokenize file (char-set-complement (char-set #\/))) (match (string-tokenize file (char-set-complement (char-set #\/)))
((_ ... system basename) ((_ ... system basename)
(string->uri (string-append %url-base "/" system (string->uri (string-append %url-base "/" system
"/20130105/" basename))))) "/20131110/" basename)))))
(match (command-line) (match (command-line)
((_ file expected-hash) ((_ file expected-hash)

View File

@ -83,7 +83,7 @@ SYSTEM."
(define %core-packages (define %core-packages
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep (list gmp mpfr mpc coreutils findutils diffutils patch sed grep
gawk gettext hello guile-2.0 gawk gnu-gettext hello guile-2.0
%bootstrap-binaries-tarball %bootstrap-binaries-tarball
%binutils-bootstrap-tarball %binutils-bootstrap-tarball
%glibc-bootstrap-tarball %glibc-bootstrap-tarball

View File

@ -1738,7 +1738,7 @@ for in @code{$PATH}.
Guix comes with a distribution of free software@footnote{The term Guix comes with a distribution of free software@footnote{The term
``free'' here refers to the ``free'' here refers to the
@url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to @url{http://www.gnu.org/philosophy/free-sw.html,freedom provided to
users of that software}.} that form the basis of the GNU system. This users of that software}.} that forms the basis of the GNU system. This
includes core GNU packages such as GNU libc, GCC, and Binutils, as well 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 as many GNU and non-GNU applications. The complete list of available
packages can be browsed packages can be browsed
@ -1754,6 +1754,26 @@ Linux-based and other variants of GNU, with a focus on the promotion and
tight integration of GNU components, and an emphasis on programs and tight integration of GNU components, and an emphasis on programs and
tools that help users exert that freedom. tools that help users exert that freedom.
The GNU distribution is currently available on the following platforms:
@table @code
@item x86_64-linux
Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
@item i686-linux
Intel 32-bit architecture (IA32), Linux-Libre kernel;
@item mips64el-linux
little-endian 64-bit MIPS processors, specifically the Loongson series,
n32 application binary interface (ABI), and Linux-Libre kernel.
@end table
@noindent
For information on porting to other architectures or kernels,
@xref{Porting}.
@menu @menu
* Installing Debugging Files:: Feeding the debugger. * Installing Debugging Files:: Feeding the debugger.
* Package Modules:: Packages from the programmer's viewpoint. * Package Modules:: Packages from the programmer's viewpoint.

View File

@ -1,6 +1,7 @@
# GNU Guix --- Functional package management for GNU # GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org> # Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013 Andreas Enge <andreas@enge.fr> # Copyright © 2013 Andreas Enge <andreas@enge.fr>
# Copyright © 2013 Mark H Weaver <mhw@netris.org>
# #
# This file is part of GNU Guix. # This file is part of GNU Guix.
# #
@ -208,11 +209,14 @@ GNU_SYSTEM_MODULES = \
patchdir = $(guilemoduledir)/gnu/packages/patches patchdir = $(guilemoduledir)/gnu/packages/patches
dist_patch_DATA = \ dist_patch_DATA = \
gnu/packages/patches/alsa-lib-mips-atomic-fix.patch \
gnu/packages/patches/apr-skip-getservbyname-test.patch \ gnu/packages/patches/apr-skip-getservbyname-test.patch \
gnu/packages/patches/automake-skip-amhello-tests.patch \ gnu/packages/patches/automake-skip-amhello-tests.patch \
gnu/packages/patches/avahi-localstatedir.patch \ gnu/packages/patches/avahi-localstatedir.patch \
gnu/packages/patches/bigloo-gc-shebangs.patch \ gnu/packages/patches/bigloo-gc-shebangs.patch \
gnu/packages/patches/binutils-ld-new-dtags.patch \ gnu/packages/patches/binutils-ld-new-dtags.patch \
gnu/packages/patches/binutils-loongson-madd-fix.patch \
gnu/packages/patches/binutils-loongson-workaround.patch \
gnu/packages/patches/cdparanoia-fpic.patch \ gnu/packages/patches/cdparanoia-fpic.patch \
gnu/packages/patches/cmake-fix-tests.patch \ gnu/packages/patches/cmake-fix-tests.patch \
gnu/packages/patches/cpio-gets-undeclared.patch \ gnu/packages/patches/cpio-gets-undeclared.patch \
@ -224,13 +228,15 @@ dist_patch_DATA = \
gnu/packages/patches/flex-bison-tests.patch \ gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \ gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \ gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gd-mips64-deplibs-fix.patch \
gnu/packages/patches/gdb-loongson-madd-fix.patch \
gnu/packages/patches/glib-tests-desktop.patch \ gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \ gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-newnet.patch \ gnu/packages/patches/glib-tests-newnet.patch \
gnu/packages/patches/glib-tests-prlimit.patch \ gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \ gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \ gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-no-ld-so-cache.patch \ gnu/packages/patches/glibc-make-4.0.patch \
gnu/packages/patches/grub-gets-undeclared.patch \ gnu/packages/patches/grub-gets-undeclared.patch \
gnu/packages/patches/gstreamer-0.10-bison3.patch \ gnu/packages/patches/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \ gnu/packages/patches/gstreamer-0.10-silly-test.patch \
@ -240,14 +246,21 @@ dist_patch_DATA = \
gnu/packages/patches/guile-relocatable.patch \ gnu/packages/patches/guile-relocatable.patch \
gnu/packages/patches/hop-bigloo-4.0b.patch \ gnu/packages/patches/hop-bigloo-4.0b.patch \
gnu/packages/patches/libevent-dns-tests.patch \ gnu/packages/patches/libevent-dns-tests.patch \
gnu/packages/patches/libffi-mips-n32-fix.patch \
gnu/packages/patches/liboop-mips64-deplibs-fix.patch \
gnu/packages/patches/libmad-mips-newgcc.patch \
gnu/packages/patches/libtheora-config-guess.patch \
gnu/packages/patches/libtool-skip-tests.patch \ gnu/packages/patches/libtool-skip-tests.patch \
gnu/packages/patches/libtool-skip-tests-for-mips.patch \
gnu/packages/patches/m4-gets-undeclared.patch \ gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/m4-readlink-EINVAL.patch \ gnu/packages/patches/m4-readlink-EINVAL.patch \
gnu/packages/patches/make-impure-dirs.patch \ gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mcron-install.patch \ gnu/packages/patches/mcron-install.patch \
gnu/packages/patches/mit-krb5-init-fix.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \ gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/plotutils-libpng-jmpbuf.patch \ gnu/packages/patches/plotutils-libpng-jmpbuf.patch \
gnu/packages/patches/procps-make-3.82.patch \ gnu/packages/patches/procps-make-3.82.patch \
gnu/packages/patches/pspp-tests.patch \
gnu/packages/patches/pulseaudio-test-timeouts.patch \ gnu/packages/patches/pulseaudio-test-timeouts.patch \
gnu/packages/patches/python-fix-dbm.patch \ gnu/packages/patches/python-fix-dbm.patch \
gnu/packages/patches/qemu-multiple-smb-shares.patch \ gnu/packages/patches/qemu-multiple-smb-shares.patch \
@ -255,7 +268,6 @@ dist_patch_DATA = \
gnu/packages/patches/readline-link-ncurses.patch \ gnu/packages/patches/readline-link-ncurses.patch \
gnu/packages/patches/ripperx-libm.patch \ gnu/packages/patches/ripperx-libm.patch \
gnu/packages/patches/scheme48-tests.patch \ gnu/packages/patches/scheme48-tests.patch \
gnu/packages/patches/tar-gets-undeclared.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \ gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \ gnu/packages/patches/teckit-cstdio.patch \
gnu/packages/patches/valgrind-glibc.patch \ gnu/packages/patches/valgrind-glibc.patch \
@ -266,6 +278,7 @@ dist_patch_DATA = \
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
dist_bootstrap_x86_64_linux_DATA = \ dist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/bash \ gnu/packages/bootstrap/x86_64-linux/bash \
@ -279,12 +292,20 @@ dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/tar \ gnu/packages/bootstrap/i686-linux/tar \
gnu/packages/bootstrap/i686-linux/xz gnu/packages/bootstrap/i686-linux/xz
dist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/bash \
gnu/packages/bootstrap/mips64el-linux/mkdir \
gnu/packages/bootstrap/mips64el-linux/tar \
gnu/packages/bootstrap/mips64el-linux/xz
# Big bootstrap binaries are not included in the tarball. Instead, they # Big bootstrap binaries are not included in the tarball. Instead, they
# are downloaded. # are downloaded.
nodist_bootstrap_x86_64_linux_DATA = \ nodist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
nodist_bootstrap_i686_linux_DATA = \ nodist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
nodist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
# Those files must remain executable, so they remain executable once # Those files must remain executable, so they remain executable once
# imported into the store. # imported into the store.
@ -293,7 +314,8 @@ install-data-hook:
DISTCLEANFILES = \ DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \ $(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA) $(nodist_bootstrap_i686_linux_DATA) \
$(nodist_bootstrap_mips64el_linux_DATA)
# Method to download a file from an external source. # Method to download a file from an external source.
DOWNLOAD_FILE = \ DOWNLOAD_FILE = \
@ -301,9 +323,12 @@ DOWNLOAD_FILE = \
$(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \ $(GUILE) --no-auto-compile -L "$(top_builddir)" -L "$(top_srcdir)" \
"$(top_srcdir)/build-aux/download.scm" "$(top_srcdir)/build-aux/download.scm"
gnu/packages/bootstrap/x86_64-linux/guile-2.0.7.tar.xz: gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"` $(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "bc43210dcd146d242bef4d354b0aeac12c4ef3118c07502d17ffa8d49e15aa2c" $(DOWNLOAD_FILE) "$@" "037b103522a2d0d7d69c7ffd8de683dfe5bb4b59c1fafd70b4ffd397fd2f57f0"
gnu/packages/bootstrap/i686-linux/guile-2.0.7.tar.xz: gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"` $(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "f9a7c6f4c556eaafa2a69bcf07d4ffbb6682ea831d4c9da9ba095aca3ccd217c" $(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"

View File

@ -20,8 +20,7 @@
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
@ -62,7 +61,7 @@
'() '()
`(("perl" ,perl))))) `(("perl" ,perl)))))
(native-inputs (native-inputs
`(("gettext" ,guix:gettext))) `(("gettext" ,gnu-gettext)))
(home-page (home-page
"http://savannah.nongnu.org/projects/acl") "http://savannah.nongnu.org/projects/acl")

View File

@ -21,8 +21,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages maths) #:use-module (gnu packages maths)
#:use-module (gnu packages readline)) #:use-module (gnu packages readline))
@ -40,7 +39,7 @@
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.gnu.org/software/apl/") (home-page "http://www.gnu.org/software/apl/")
(inputs (inputs
`(("gettext" ,guix:gettext) `(("gettext" ,gnu-gettext)
("lapack" ,lapack) ("lapack" ,lapack)
("readline" ,readline))) ("readline" ,readline)))
(synopsis "APL interpreter") (synopsis "APL interpreter")

View File

@ -20,8 +20,7 @@
(define-module (gnu packages attr) (define-module (gnu packages attr)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu))
@ -75,7 +74,7 @@
'() '()
`(("perl" ,perl)))) `(("perl" ,perl))))
(native-inputs (native-inputs
`(("gettext" ,guix:gettext))) `(("gettext" ,gnu-gettext)))
(home-page "http://savannah.nongnu.org/projects/attr/") (home-page "http://savannah.nongnu.org/projects/attr/")
(synopsis "Library and tools for manipulating extended attributes") (synopsis "Library and tools for manipulating extended attributes")

View File

@ -216,7 +216,10 @@ simplifying the entire process for the developer.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk")))) "0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
(patches
(list (search-patch "libtool-skip-tests.patch")
(search-patch "libtool-skip-tests-for-mips.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("m4" ,m4) (native-inputs `(("m4" ,m4)
("perl" ,perl))) ("perl" ,perl)))
@ -228,33 +231,30 @@ simplifying the entire process for the developer.")
"out")) ; libltdl.so, ltdl.h, etc. "out")) ; libltdl.so, ltdl.h, etc.
(arguments (arguments
`(#:patches (list (assoc-ref %build-inputs "patch/skip-tests")) (if (%current-target-system)
,@(if (%current-target-system) '() ; no `check' phase when cross-building
'() ; no `check' phase when cross-building '(#:phases (alist-cons-before
'(#:phases (alist-cons-before 'check 'pre-check
'check 'pre-check (lambda* (#:key inputs #:allow-other-keys)
(lambda* (#:key inputs #:allow-other-keys) ;; Run the test suite in parallel, if possible.
;; Run the test suite in parallel, if possible. (let ((ncores
(let ((ncores (cond
(cond ((getenv "NIX_BUILD_CORES")
((getenv "NIX_BUILD_CORES") =>
=> (lambda (n)
(lambda (n) (if (zero? (string->number n))
(if (zero? (string->number n)) (number->string (current-processor-count))
(number->string (current-processor-count)) n)))
n))) (else "1"))))
(else "1")))) (setenv "TESTSUITEFLAGS"
(setenv "TESTSUITEFLAGS" (string-append "-j" ncores)))
(string-append "-j" ncores)))
;; Path references to /bin/sh. ;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash"))) (let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite" (substitute* "tests/testsuite"
(("/bin/sh") (("/bin/sh")
(string-append bash "/bin/bash"))))) (string-append bash "/bin/bash")))))
%standard-phases))))) %standard-phases))))
(inputs `(("patch/skip-tests"
,(search-patch "libtool-skip-tests.patch"))))
(synopsis "Generic shared library support tools") (synopsis "Generic shared library support tools")
(description (description
"Libtool is a script to help in the creation of shared libraries. By "Libtool is a script to help in the creation of shared libraries. By

View File

@ -68,14 +68,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep (define-public grep
(package (package
(name "grep") (name "grep")
(version "2.14") (version "2.15")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-" (uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1qbjb1l7f9blckc5pqy8jlf6482hpx4awn2acmhyf5mv9wfq03p7")))) "052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(synopsis "Print lines matching a pattern") (synopsis "Print lines matching a pattern")
(description (description
@ -125,18 +125,15 @@ is often used for substituting text patterns in a stream.")
(define-public tar (define-public tar
(package (package
(name "tar") (name "tar")
(version "1.26") (version "1.27.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/tar/tar-" (uri (string-append "mirror://gnu/tar/tar-"
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0hbdkzmchq9ycr2x1pxqdcgdbaxksh8c6ac0jf75jajhcks6jlss")))) "1iip0fk0wqhxb0jcwphz43r4fxkx1y7mznnhmlvr618jhp7b63wv"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("patch/gets" ,(search-patch "tar-gets-undeclared.patch"))))
(arguments
`(#:patches (list (assoc-ref %build-inputs "patch/gets"))))
(synopsis "Managing tar archives") (synopsis "Managing tar archives")
(description (description
"Tar provides the ability to create tar archives, as well as the "Tar provides the ability to create tar archives, as well as the
@ -207,19 +204,15 @@ interactive means to merge two files.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3")))) "0amn0bbwqvsvvsh6drfwz20ydc2czk374lzw5kksbh6bf78k4ks3"))
(patches (list (search-patch "findutils-absolute-paths.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
`(("patch/absolute-paths"
,(search-patch "findutils-absolute-paths.patch"))))
(arguments (arguments
`(#:patches (list (assoc-ref %build-inputs "patch/absolute-paths")) ;; Work around cross-compilation failure.
;; See <http://savannah.gnu.org/bugs/?27299#comment1>.
;; Work around cross-compilation failure. (if (%current-target-system)
;; See <http://savannah.gnu.org/bugs/?27299#comment1>. '(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
,@(if (%current-target-system) '()))
'(#:configure-flags '("gl_cv_func_wcwidth_works=yes"))
'())))
(synopsis "Operating on files matching given criteria") (synopsis "Operating on files matching given criteria")
(description (description
"Findutils supplies the basic file directory searching utilities of the "Findutils supplies the basic file directory searching utilities of the
@ -278,21 +271,20 @@ functionality beyond that which is outlined in the POSIX standard.")
(define-public gnu-make (define-public gnu-make
(package (package
(name "make") (name "make")
(version "3.82") (version "4.0")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/make/make-" version (uri (string-append "mirror://gnu/make/make-" version
".tar.bz2")) ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0ri98385hsd7li6rh4l5afcq92v8l2lgiaz85wgcfh4w2wzsghg2")))) "1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
(patches (list (search-patch "make-impure-dirs.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs (inputs `(("guile" ,guile-2.0)))
`(("patch/impure-dirs" ,(search-patch "make-impure-dirs.patch"))))
(outputs '("out" "debug")) (outputs '("out" "debug"))
(arguments (arguments
'(#:patches (list (assoc-ref %build-inputs "patch/impure-dirs")) '(#:phases (alist-cons-before
#:phases (alist-cons-before
'build 'set-default-shell 'build 'set-default-shell
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
;; Change the default shell from /bin/sh. ;; Change the default shell from /bin/sh.
@ -323,7 +315,10 @@ change.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy")))) "15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))
(patches (list (search-patch "binutils-ld-new-dtags.patch")
(search-patch "binutils-loongson-workaround.patch")
(search-patch "binutils-loongson-madd-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; Split Binutils in several outputs, mostly to avoid collisions in ;; Split Binutils in several outputs, mostly to avoid collisions in
@ -332,11 +327,8 @@ change.")
"lib")) ; libbfd.a, bfd.h, etc. "lib")) ; libbfd.a, bfd.h, etc.
;; TODO: Add dependency on zlib + those for Gold. ;; TODO: Add dependency on zlib + those for Gold.
(native-inputs
`(("patch/new-dtags" ,(search-patch "binutils-ld-new-dtags.patch"))))
(arguments (arguments
`(#:patches (list (assoc-ref %build-inputs "patch/new-dtags")) `(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
;; on GCC when bootstrapping. ;; on GCC when bootstrapping.
"LDFLAGS=-static-libgcc" "LDFLAGS=-static-libgcc"
@ -367,7 +359,19 @@ archives.")
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c")))) "18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))
(snippet
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
;; required on LFS distros to avoid loading the distro's libc.so
;; instead of ours.
'(substitute* "sysdeps/unix/sysv/linux/configure"
(("use_ldconfig=yes")
"use_ldconfig=no")))
(modules '((guix build utils)))
(imported-modules modules)
(patches (map search-patch
'("glibc-ldd-x86_64.patch"
"glibc-make-4.0.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc ;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
@ -382,8 +386,6 @@ archives.")
(arguments (arguments
`(#:out-of-source? #t `(#:out-of-source? #t
#:patches (list (assoc-ref %build-inputs "patch/ld.so.cache")
(assoc-ref %build-inputs "patch/ldd"))
#:configure-flags #:configure-flags
(list "--enable-add-ons" (list "--enable-add-ons"
"--sysconfdir=/etc" "--sysconfdir=/etc"
@ -467,11 +469,7 @@ archives.")
(zero? (system* "make" "localedata/install-locales"))) (zero? (system* "make" "localedata/install-locales")))
%standard-phases)))) %standard-phases))))
(inputs `(("patch/ld.so.cache" (inputs `(("static-bash" ,(static-package bash-light))))
,(search-patch "glibc-no-ld-so-cache.patch"))
("patch/ldd"
,(search-patch "glibc-ldd-x86_64.patch"))
("static-bash" ,(static-package bash-light))))
(synopsis "The GNU C Library") (synopsis "The GNU C Library")
(description (description
"Any Unix-like operating system needs a C library: the library which "Any Unix-like operating system needs a C library: the library which
@ -569,6 +567,10 @@ and daylight-saving rules.")
((#:phases phases) ((#:phases phases)
`(alist-replace `(alist-replace
'build (lambda _ 'build (lambda _
;; Don't attempt to build 'guile.c' since we don't
;; have Guile here.
(substitute* "build.sh"
(("guile\\.\\$\\{OBJEXT\\}") ""))
(zero? (system* "./build.sh"))) (zero? (system* "./build.sh")))
(alist-replace (alist-replace
'install (lambda* (#:key outputs #:allow-other-keys) 'install (lambda* (#:key outputs #:allow-other-keys)
@ -645,7 +647,7 @@ identifier SYSTEM."
(define gcc-boot0 (define gcc-boot0
(package-with-bootstrap-guile (package-with-bootstrap-guile
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(name "gcc-cross-boot0") (name "gcc-cross-boot0")
(arguments (arguments
`(#:guile ,%bootstrap-guile `(#:guile ,%bootstrap-guile
@ -655,7 +657,7 @@ identifier SYSTEM."
(ice-9 regex) (ice-9 regex)
(srfi srfi-1) (srfi srfi-1)
(srfi srfi-26)) (srfi srfi-26))
,@(substitute-keyword-arguments (package-arguments gcc-4.7) ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
((#:configure-flags flags) ((#:configure-flags flags)
`(append (list ,(string-append "--target=" (boot-triplet)) `(append (list ,(string-append "--target=" (boot-triplet))
@ -664,8 +666,18 @@ identifier SYSTEM."
;; Disable features not needed at this stage. ;; Disable features not needed at this stage.
"--disable-shared" "--disable-shared"
"--enable-languages=c" "--enable-languages=c,c++"
;; libstdc++ cannot be built at this stage
;; ("Link tests are not allowed after
;; GCC_NO_EXECUTABLES.").
"--disable-libstdc++-v3"
"--disable-threads"
"--disable-libmudflap" "--disable-libmudflap"
"--disable-libatomic"
"--disable-libsanitizer"
"--disable-libitm"
"--disable-libgomp" "--disable-libgomp"
"--disable-libssp" "--disable-libssp"
"--disable-libquadmath" "--disable-libquadmath"
@ -692,24 +704,7 @@ identifier SYSTEM."
,@(map (lambda (lib) ,@(map (lambda (lib)
`(symlink ,(package-full-name lib) `(symlink ,(package-full-name lib)
,(package-name lib))) ,(package-name lib)))
(list gmp mpfr mpc)) (list gmp mpfr mpc))))
;; MPFR headers/lib are found under $(MPFR)/src, but
;; `configure' wrongfully tells MPC too look under
;; $(MPFR), so fix that.
(substitute* "configure"
(("extra_mpc_mpfr_configure_flags(.+)--with-mpfr-include=([^/]+)/mpfr(.*)--with-mpfr-lib=([^ ]+)/mpfr"
_ equals include middle lib)
(string-append "extra_mpc_mpfr_configure_flags" equals
"--with-mpfr-include=" include
"/mpfr/src" middle
"--with-mpfr-lib=" lib
"/mpfr/src"))
(("gmpinc='-I([^ ]+)/mpfr -I([^ ]+)/mpfr" _ a b)
(string-append "gmpinc='-I" a "/mpfr/src "
"-I" b "/mpfr/src"))
(("gmplibs='-L([^ ]+)/mpfr" _ a)
(string-append "gmplibs='-L" a "/mpfr/src")))))
(alist-cons-after (alist-cons-after
'install 'symlink-libgcc_eh 'install 'symlink-libgcc_eh
(lambda* (#:key outputs #:allow-other-keys) (lambda* (#:key outputs #:allow-other-keys)
@ -719,7 +714,7 @@ identifier SYSTEM."
(with-directory-excursion (with-directory-excursion
(string-append out "/lib/gcc/" (string-append out "/lib/gcc/"
,(boot-triplet) ,(boot-triplet)
"/" ,(package-version gcc-4.7)) "/" ,(package-version gcc-4.8))
(symlink "libgcc.a" "libgcc_eh.a")))) (symlink "libgcc.a" "libgcc_eh.a"))))
,phases)))))) ,phases))))))
@ -735,7 +730,7 @@ identifier SYSTEM."
;; No need for Texinfo at this stage. ;; No need for Texinfo at this stage.
(native-inputs (alist-delete "texinfo" (native-inputs (alist-delete "texinfo"
(package-native-inputs gcc-4.7)))))) (package-native-inputs gcc-4.8))))))
(define (linux-libre-headers-boot0) (define (linux-libre-headers-boot0)
"Return Linux-Libre header files for the bootstrap environment." "Return Linux-Libre header files for the bootstrap environment."
@ -801,7 +796,7 @@ identifier SYSTEM."
(define (cross-gcc-wrapper gcc binutils glibc bash) (define (cross-gcc-wrapper gcc binutils glibc bash)
"Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC "Return a wrapper for the pseudo-cross toolchain GCC/BINUTILS/GLIBC
that makes it available under the native tool names." that makes it available under the native tool names."
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(name (string-append (package-name gcc) "-wrapped")) (name (string-append (package-name gcc) "-wrapped"))
(source #f) (source #f)
(build-system trivial-build-system) (build-system trivial-build-system)
@ -818,6 +813,21 @@ that makes it available under the native tool names."
(out (assoc-ref %outputs "out")) (out (assoc-ref %outputs "out"))
(bindir (string-append out "/bin")) (bindir (string-append out "/bin"))
(triplet ,(boot-triplet))) (triplet ,(boot-triplet)))
(define (wrap-program program)
;; GCC-BOOT0 is a libc-less cross-compiler, so it
;; needs to be told where to find the crt files and
;; the dynamic linker.
(call-with-output-file program
(lambda (p)
(format p "#!~a/bin/bash
exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
bash
gcc triplet program
libc libc
,(glibc-dynamic-linker))))
(chmod program #o555))
(mkdir-p bindir) (mkdir-p bindir)
(with-directory-excursion bindir (with-directory-excursion bindir
(for-each (lambda (tool) (for-each (lambda (tool)
@ -825,20 +835,7 @@ that makes it available under the native tool names."
triplet "-" tool) triplet "-" tool)
tool)) tool))
'("ar" "ranlib")) '("ar" "ranlib"))
(for-each wrap-program '("gcc" "g++")))))))
;; GCC-BOOT0 is a libc-less cross-compiler, so it
;; needs to be told where to find the crt files and
;; the dynamic linker.
(call-with-output-file "gcc"
(lambda (p)
(format p "#!~a/bin/bash
exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
bash
gcc triplet
libc libc
,(glibc-dynamic-linker))))
(chmod "gcc" #o555))))))
(native-inputs (native-inputs
`(("binutils" ,binutils) `(("binutils" ,binutils)
("gcc" ,gcc) ("gcc" ,gcc)
@ -894,6 +891,36 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
,@(package-arguments binutils))) ,@(package-arguments binutils)))
(inputs %boot2-inputs)))) (inputs %boot2-inputs))))
(define libstdc++
;; Intermediate libstdc++ that will allow us to build the final GCC
;; (remember that GCC-BOOT0 cannot build libstdc++.)
(package-with-bootstrap-guile
(package (inherit gcc-4.8)
(name "libstdc++")
(arguments
`(#:guile ,%bootstrap-guile
#:implicit-inputs? #f
#:out-of-source? #t
#:phases (alist-cons-before
'configure 'chdir
(lambda _
(chdir "libstdc++-v3"))
%standard-phases)
#:configure-flags `("--disable-shared"
"--disable-libstdcxx-threads"
"--disable-libstdcxx-pch"
,(string-append "--with-gxx-include-dir="
(assoc-ref %outputs "out")
"/include"
;; "/include/c++/"
;; ,(package-version gcc-4.8)
))))
(inputs %boot2-inputs)
(native-inputs '())
(propagated-inputs '())
(synopsis "GNU C++ standard library (intermediate)"))))
(define-public gcc-final (define-public gcc-final
;; The final GCC. ;; The final GCC.
(package (inherit gcc-boot0) (package (inherit gcc-boot0)
@ -907,12 +934,25 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.) ;; doesn't honor $LIBRARY_PATH, which breaks `gnu-build-system'.)
,@(substitute-keyword-arguments (package-arguments gcc-boot0) ,@(substitute-keyword-arguments (package-arguments gcc-boot0)
((#:configure-flags boot-flags) ((#:configure-flags boot-flags)
(let loop ((args (package-arguments gcc-4.7))) (let loop ((args (package-arguments gcc-4.8)))
(match args (match args
((#:configure-flags normal-flags _ ...) ((#:configure-flags normal-flags _ ...)
normal-flags) normal-flags)
((_ rest ...) ((_ rest ...)
(loop rest))))) (loop rest)))))
((#:make-flags flags)
;; Since $LIBRARY_PATH and $CPATH are not honored, add the
;; relevant flags.
`(cons (string-append "CPPFLAGS=-I"
(assoc-ref %build-inputs "libstdc++")
"/include")
(map (lambda (flag)
(if (string-prefix? "LDFLAGS=" flag)
(string-append flag " -L"
(assoc-ref %build-inputs "libstdc++")
"/lib")
flag))
,flags)))
((#:phases phases) ((#:phases phases)
`(alist-delete 'symlink-libgcc_eh ,phases))))) `(alist-delete 'symlink-libgcc_eh ,phases)))))
@ -920,6 +960,7 @@ exec ~a/bin/~a-gcc -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
("mpfr-source" ,(package-source mpfr)) ("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc)) ("mpc-source" ,(package-source mpc))
("binutils" ,binutils-final) ("binutils" ,binutils-final)
("libstdc++" ,libstdc++)
,@%boot2-inputs)))) ,@%boot2-inputs))))
(define ld-wrapper-boot3 (define ld-wrapper-boot3
@ -1000,6 +1041,14 @@ store.")
(current-source-location) (current-source-location)
#:guile %bootstrap-guile))) #:guile %bootstrap-guile)))
(define-public gnu-make-final
;; The final GNU Make, which uses the final Guile.
(package-with-bootstrap-guile
(package-with-explicit-inputs gnu-make
`(("guile" ,guile-final)
,@%boot4-inputs)
(current-source-location))))
(define-public ld-wrapper (define-public ld-wrapper
;; The final `ld' wrapper, which uses the final Guile. ;; The final `ld' wrapper, which uses the final Guile.
(package (inherit ld-wrapper-boot3) (package (inherit ld-wrapper-boot3)
@ -1010,9 +1059,13 @@ store.")
'("guile" "bash")))))) '("guile" "bash"))))))
(define-public %final-inputs (define-public %final-inputs
;; Final derivations used as implicit inputs by `gnu-build-system'. ;; Final derivations used as implicit inputs by 'gnu-build-system'. We
(let ((finalize (cut package-with-explicit-inputs <> %boot4-inputs ;; still use 'package-with-bootstrap-guile' so that the bootstrap tools are
(current-source-location)))) ;; used for origins that have patches, thereby avoiding circular
;; dependencies.
(let ((finalize (compose package-with-bootstrap-guile
(cut package-with-explicit-inputs <> %boot4-inputs
(current-source-location)))))
`(,@(map (match-lambda `(,@(map (match-lambda
((name package) ((name package)
(list name (finalize package)))) (list name (finalize package))))
@ -1026,8 +1079,8 @@ store.")
("sed" ,sed) ("sed" ,sed)
("grep" ,grep) ("grep" ,grep)
("findutils" ,findutils) ("findutils" ,findutils)
("gawk" ,gawk) ("gawk" ,gawk)))
("make" ,gnu-make))) ("make" ,gnu-make-final)
("bash" ,bash-final) ("bash" ,bash-final)
("ld-wrapper" ,ld-wrapper) ("ld-wrapper" ,ld-wrapper)
("binutils" ,binutils-final) ("binutils" ,binutils-final)

View File

@ -64,11 +64,21 @@
#:guile %bootstrap-guile #:guile %bootstrap-guile
#:system system))) #:system system)))
(define %bootstrap-patch-inputs
;; Packages used when an <origin> has a non-empty 'patches' field.
`(("tar" ,%bootstrap-coreutils&co)
("xz" ,%bootstrap-coreutils&co)
("bzip2" ,%bootstrap-coreutils&co)
("gzip" ,%bootstrap-coreutils&co)
("patch" ,%bootstrap-coreutils&co)))
(let ((orig-method (origin-method source))) (let ((orig-method (origin-method source)))
(origin (inherit source) (origin (inherit source)
(method (cond ((eq? orig-method url-fetch) (method (cond ((eq? orig-method url-fetch)
(boot url-fetch)) (boot url-fetch))
(else orig-method)))))) (else orig-method)))
(patch-guile %bootstrap-guile)
(patch-inputs %bootstrap-patch-inputs))))
(define (package-from-tarball name source program-to-test description) (define (package-from-tarball name source program-to-test description)
"Return a package that correspond to the extraction of SOURCE. "Return a package that correspond to the extraction of SOURCE.
@ -170,7 +180,7 @@ check whether everything is alright."
(xz (->store "xz")) (xz (->store "xz"))
(mkdir (->store "mkdir")) (mkdir (->store "mkdir"))
(bash (->store "bash")) (bash (->store "bash"))
(guile (->store "guile-2.0.7.tar.xz")) (guile (->store "guile-2.0.9.tar.xz"))
(builder (builder
(add-text-to-store store (add-text-to-store store
"build-bootstrap-guile.sh" "build-bootstrap-guile.sh"
@ -209,16 +219,19 @@ $out/bin/guile --version~%"
(origin (origin
(method url-fetch) (method url-fetch)
(uri (map (cut string-append <> "/" system (uri (map (cut string-append <> "/" system
"/20130105/static-binaries.tar.xz") "/20131110/static-binaries.tar.xz")
%bootstrap-base-urls)) %bootstrap-base-urls))
(sha256 (sha256
(match system (match system
("x86_64-linux" ("x86_64-linux"
(base32 (base32
"0md23alzy6nc5f16pric7mkagczdzr8xbh074sb3rjzrls06j1ls")) "0c533p9dhczzcsa1117gmfq3pc8w362g4mx84ik36srpr7cx2bg4"))
("i686-linux" ("i686-linux"
(base32 (base32
"0nzj1lmm9b94g7k737cr4w1dv282w5nmhb53238ikax9r6pkc0yb")))))) "0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
"true" ; the program to test "true" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc.")) "Bootstrap binaries of Coreutils, Awk, etc."))
@ -228,16 +241,19 @@ $out/bin/guile --version~%"
(origin (origin
(method url-fetch) (method url-fetch)
(uri (map (cut string-append <> "/" system (uri (map (cut string-append <> "/" system
"/20130105/binutils-2.22.tar.xz") "/20131110/binutils-2.23.2.tar.xz")
%bootstrap-base-urls)) %bootstrap-base-urls))
(sha256 (sha256
(match system (match system
("x86_64-linux" ("x86_64-linux"
(base32 (base32
"1ffmk2yy2pxvkqgzrkzp3s4jpn4qaaksyk3b5nsc5cjwfm7qkgzh")) "1j5yivz7zkjqfsfmxzrrrffwyayjqyfxgpi89df0w4qziqs2dg20"))
("i686-linux" ("i686-linux"
(base32 (base32
"1rafk6aq4sayvv3r3d2khn93nkyzf002xzh0xadlyci4mznr6b0a")))))) "14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
("mips64el-linux"
(base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
"ld" ; the program to test "ld" ; the program to test
"Bootstrap binaries of the GNU Binutils")) "Bootstrap binaries of the GNU Binutils"))
@ -279,16 +295,19 @@ $out/bin/guile --version~%"
(origin (origin
(method url-fetch) (method url-fetch)
(uri (map (cut string-append <> "/" (%current-system) (uri (map (cut string-append <> "/" (%current-system)
"/20130105/glibc-2.17.tar.xz") "/20131110/glibc-2.18.tar.xz")
%bootstrap-base-urls)) %bootstrap-base-urls))
(sha256 (sha256
(match (%current-system) (match (%current-system)
("x86_64-linux" ("x86_64-linux"
(base32 (base32
"18kv1z9d8dr1j3hm9w7663kchqw9p6rsx11n1m143jgba2jz6jy3")) "0jlqrgavvnplj1b083s20jj9iddr4lzfvwybw5xrcis9spbfzk7v"))
("i686-linux" ("i686-linux"
(base32 (base32
"08hv8i0axwnihrcgbz19x0a7s6zyv3yx38x8r29liwl8h82x9g88"))))))))) "1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
(synopsis "Bootstrap binaries and headers of the GNU C Library") (synopsis "Bootstrap binaries and headers of the GNU C Library")
(description #f) (description #f)
(home-page #f) (home-page #f)
@ -347,16 +366,19 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(origin (origin
(method url-fetch) (method url-fetch)
(uri (map (cut string-append <> "/" (%current-system) (uri (map (cut string-append <> "/" (%current-system)
"/20130105/gcc-4.7.2.tar.xz") "/20131110/gcc-4.8.2.tar.xz")
%bootstrap-base-urls)) %bootstrap-base-urls))
(sha256 (sha256
(match (%current-system) (match (%current-system)
("x86_64-linux" ("x86_64-linux"
(base32 (base32
"1x1p7han5crnbw906iwdifykr6grzm0w27dy9gz75j0q1b32i4px")) "17ga4m6195n4fnbzdkmik834znkhs53nkypp6557pl1ps7dgqbls"))
("i686-linux" ("i686-linux"
(base32 (base32
"06wqs0xxnpw3hn0xjb4c9cs0899p1xwkcysa2rvzhvpra0c5vsg2"))))))))) "150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths (native-search-paths
(list (search-path-specification (list (search-path-specification
(variable "CPATH") (variable "CPATH")

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -25,7 +25,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages acl) #:use-module (gnu packages acl)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages gettext)
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages help2man) #:use-module (gnu packages help2man)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -179,7 +179,7 @@ reconstruction capability.")
"0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4")))) "0pm039a78h7m9vvjmmjfkl05ii6qdmfhvbypxjbc7j5w82y66is4"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2) ("gtk+" ,gtk+-2)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("which" ,which))) ("which" ,which)))

View File

@ -70,11 +70,11 @@
"Return a cross-compiler for TARGET, where TARGET is a GNU triplet. Use "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 XBINUTILS as the associated cross-Binutils. If LIBC is false, then build a
GCC that does not target a libc; otherwise, target that libc." GCC that does not target a libc; otherwise, target that libc."
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(name (string-append "gcc-cross-" (name (string-append "gcc-cross-"
(if libc "" "sans-libc-") (if libc "" "sans-libc-")
target)) target))
(source (origin (inherit (package-source gcc-4.7)) (source (origin (inherit (package-source gcc-4.8))
(patches (patches
(list (search-patch "gcc-cross-environment-variables.patch"))))) (list (search-patch "gcc-cross-environment-variables.patch")))))
(arguments (arguments
@ -85,7 +85,7 @@ GCC that does not target a libc; otherwise, target that libc."
(srfi srfi-1) (srfi srfi-1)
(srfi srfi-26)) (srfi srfi-26))
,@(substitute-keyword-arguments (package-arguments gcc-4.7) ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
((#:configure-flags flags) ((#:configure-flags flags)
`(append (list ,(string-append "--target=" target) `(append (list ,(string-append "--target=" target)
,@(gcc-configure-flags-for-triplet target) ,@(gcc-configure-flags-for-triplet target)
@ -101,6 +101,7 @@ GCC that does not target a libc; otherwise, target that libc."
"--enable-languages=c" "--enable-languages=c"
"--disable-threads" ; libgcc, would need libc "--disable-threads" ; libgcc, would need libc
"--disable-libatomic"
"--disable-libmudflap" "--disable-libmudflap"
"--disable-libgomp" "--disable-libgomp"
"--disable-libssp" "--disable-libssp"
@ -186,7 +187,7 @@ GCC that does not target a libc; otherwise, target that libc."
("libc-native" ,@(assoc-ref %final-inputs "libc")) ("libc-native" ,@(assoc-ref %final-inputs "libc"))
;; Remaining inputs. ;; Remaining inputs.
,@(let ((inputs (append (package-inputs gcc-4.7) ,@(let ((inputs (append (package-inputs gcc-4.8)
(alist-delete "libc" %final-inputs)))) (alist-delete "libc" %final-inputs))))
(if libc (if libc
`(("libc" ,libc) `(("libc" ,libc)

View File

@ -18,8 +18,7 @@
(define-module (gnu packages fdisk) (define-module (gnu packages fdisk)
#:use-module ((guix licenses) #:select (gpl3+)) #:use-module ((guix licenses) #:select (gpl3+))
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages parted) #:use-module (gnu packages parted)
@ -41,7 +40,7 @@
"04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3")))) "04nd7civ561x2lwcmxhsqbprml3178jfc58fy1v7hzqg5k4nbhy3"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,guix:gettext) `(("gettext" ,gnu-gettext)
("guile" ,guile-1.8) ("guile" ,guile-1.8)
("util-linux" ,util-linux) ("util-linux" ,util-linux)
("parted" ,parted))) ("parted" ,parted)))

View File

@ -73,6 +73,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
"--enable-languages=c,c++" "--enable-languages=c,c++"
"--disable-multilib" "--disable-multilib"
;; No pre-compiled libstdc++ headers, to save space.
"--disable-libstdcxx-pch"
"--with-local-prefix=/no-gcc-local-prefix" "--with-local-prefix=/no-gcc-local-prefix"
,(let ((libc (assoc-ref %build-inputs "libc"))) ,(let ((libc (assoc-ref %build-inputs "libc")))
@ -115,7 +118,9 @@ where the OS part is overloaded to denote a specific ABI---into GCC
#:strip-binaries? ,stripped? #:strip-binaries? ,stripped?
#:configure-flags ,(configure-flags) #:configure-flags ,(configure-flags)
#:make-flags #:make-flags
(let ((libc (assoc-ref %build-inputs "libc"))) (let* ((libc (assoc-ref %build-inputs "libc"))
(libc-native (or (assoc-ref %build-inputs "libc-native")
libc)))
`(,@(if libc `(,@(if libc
(list (string-append "LDFLAGS_FOR_TARGET=" (list (string-append "LDFLAGS_FOR_TARGET="
"-B" libc "/lib " "-B" libc "/lib "
@ -123,6 +128,12 @@ where the OS part is overloaded to denote a specific ABI---into GCC
"-Wl," libc "-Wl," libc
,(glibc-dynamic-linker))) ,(glibc-dynamic-linker)))
'()) '())
;; Native programs like 'genhooks' also need that right.
,(string-append "LDFLAGS="
"-Wl,-rpath=" libc-native "/lib "
"-Wl,-dynamic-linker "
"-Wl," libc-native ,(glibc-dynamic-linker))
,(string-append "BOOT_CFLAGS=-O2 " ,(string-append "BOOT_CFLAGS=-O2 "
,(if stripped? "-g0" "-g")))) ,(if stripped? "-g0" "-g"))))
@ -148,18 +159,21 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; Tell where to find libstdc++, libc, and `?crt*.o', except ;; Tell where to find libstdc++, libc, and `?crt*.o', except
;; `crt{begin,end}.o', which come with GCC. ;; `crt{begin,end}.o', which come with GCC.
(substitute* (find-files "gcc/config" (substitute* (find-files "gcc/config"
"^(gnu-user(64)?|linux-elf)\\.h$") "^gnu-user.*\\.h$")
(("#define LIB_SPEC (.*)$" _ suffix) (("#define GNU_USER_TARGET_LIB_SPEC (.*)$" _ suffix)
;; Note that with this "lib" spec, we may still add a ;; Help libgcc_s.so be found (see also below.) Always use
;; RUNPATH to GCC even when `libgcc_s' is not NEEDED. ;; '-lgcc_s' so that libgcc_s.so is always found by those
;; There's not much that can be done to avoid it, though. ;; programs that use 'pthread_cancel' (glibc dlopens
(format #f "#define LIB_SPEC \"-L~a/lib %{!static:-rpath=~a/lib \ ;; libgcc_s.so when pthread_cancel support is needed, but
%{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib}} \" ~a" ;; having it in the application's RUNPATH isn't enough; see
;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
(format #f "#define GNU_USER_TARGET_LIB_SPEC \
\"-L~a/lib %{!static:-rpath=~a/lib %{!static-libgcc:-rpath=~a/lib64 -rpath=~a/lib -lgcc_s}} \" ~a"
libc libc out out suffix)) libc libc out out suffix))
(("#define STARTFILE_SPEC.*$" line) (("#define GNU_USER_TARGET_STARTFILE_SPEC.*$" line)
(format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\" (format #f "#define STANDARD_STARTFILE_PREFIX_1 \"~a/lib\"
#define STANDARD_STARTFILE_PREFIX_2 \"\" #define STANDARD_STARTFILE_PREFIX_2 \"\"
~a~%" ~a"
libc line)))) libc line))))
;; Don't retain a dependency on the build-time sed. ;; Don't retain a dependency on the build-time sed.

View File

@ -20,6 +20,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix download) #:use-module (guix download)
#:use-module (gnu packages)
#:use-module (gnu packages libpng) #:use-module (gnu packages libpng)
#:use-module (gnu packages libjpeg) #:use-module (gnu packages libjpeg)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
@ -40,7 +41,9 @@
(uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz") (uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz")
(sha256 (sha256
(base32 (base32
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw")))) "0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))
(patches
(list (search-patch "gd-mips64-deplibs-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-cons-after '(#:phases (alist-cons-after

View File

@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gdb) (define-module (gnu packages gdb)
#:use-module (gnu packages)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages readline) #:use-module (gnu packages readline)
#:use-module (gnu packages dejagnu) #:use-module (gnu packages dejagnu)
@ -39,13 +40,15 @@
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"1r32s6vqgskw6pz9pmp41b8injd51c4bbxr6ifdpyid52j5a7pz3")))) "1r32s6vqgskw6pz9pmp41b8injd51c4bbxr6ifdpyid52j5a7pz3"))
(patches (list (search-patch "gdb-loongson-madd-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-cons-after '(#:phases (alist-cons-after
'configure 'post-configure 'configure 'post-configure
(lambda _ (lambda _
(patch-makefile-SHELL "gdb/gdbserver/Makefile.in")) (for-each patch-makefile-SHELL
(find-files "." "Makefile\\.in")))
%standard-phases))) %standard-phases)))
(inputs (inputs
`(("expat" ,expat) `(("expat" ,expat)

View File

@ -17,26 +17,42 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages gettext) (define-module (gnu packages gettext)
#:use-module (guix licenses) #:use-module ((guix licenses) #:select (gpl3))
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu)) #:use-module (guix build-system gnu)
#:use-module (gnu packages xml))
(define-public gettext ;; Use that name to avoid clashes with Guile's 'gettext' procedure.
;;
;; We used to resort to #:renamer on the user side, but that prevented
;; circular dependencies involving (gnu packages gettext). This is because
;; 'resolve-interface' (as of Guile 2.0.9) iterates eagerly over the used
;; module when there's a #:renamer, and that module may be empty at that point
;; in case or circular dependencies.
(define-public gnu-gettext
(package (package
(name "gettext") (name "gettext")
(version "0.18.3") (version "0.18.3.1")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-" (uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0j7rp56c61j4k1bz1xdc041hzv7186yyzhbp95fmc0zq7l2c3wrn")))) "0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs
`(("expat" ,expat)))
(arguments (arguments
`(#:phases (alist-cons-before `(#:phases (alist-cons-before
'configure 'link-expat
(lambda _
(substitute* "gettext-tools/configure"
(("LIBEXPAT=\"-ldl\"") "LIBEXPAT=\"-ldl -lexpat\"")
(("LTLIBEXPAT=\"-ldl\"") "LTLIBEXPAT=\"-ldl -lexpat\"")))
(alist-cons-before
'check 'patch-tests 'check 'patch-tests
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(let ((bash (which "sh"))) (let ((bash (which "sh")))
@ -48,7 +64,7 @@
"posix_spawn") "posix_spawn")
(("/bin/sh") (("/bin/sh")
bash)))) bash))))
%standard-phases))) %standard-phases))))
(home-page "http://www.gnu.org/software/gettext/") (home-page "http://www.gnu.org/software/gettext/")
(synopsis "Tools and documentation for translation") (synopsis "Tools and documentation for translation")
(description (description

View File

@ -22,8 +22,7 @@
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'gnu:))
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages xorg)) #:use-module (gnu packages xorg))
@ -42,7 +41,7 @@
"12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh")))) "12rc6zaa7kb60b9744lbrlfkxxfniprm6x0mispv63h4kh75navh"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("gettext" ,gnu-gettext)
("gtk+" ,gtk+-2) ("gtk+" ,gtk+-2)
("libice" ,libice) ("libice" ,libice)
("libsm" ,libsm))) ("libsm" ,libsm)))

View File

@ -29,8 +29,7 @@
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages gtk) #:use-module (gnu packages gtk)
#:use-module (gnu packages libffi) #:use-module (gnu packages libffi)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -124,7 +123,7 @@ shared NFS home directories.")
"doc")) ; 20 MiB of GTK-Doc reference "doc")) ; 20 MiB of GTK-Doc reference
(inputs (inputs
`(("coreutils" ,coreutils) `(("coreutils" ,coreutils)
("gettext" ,guix:gettext) ("gettext" ,gnu-gettext)
("libffi" ,libffi) ("libffi" ,libffi)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)
("python" ,python-wrapper) ("python" ,python-wrapper)
@ -224,7 +223,7 @@ bindings to call into the C library.")
(propagated-inputs (propagated-inputs
`(;; Propagate gettext because users expect it to be there, and so does `(;; Propagate gettext because users expect it to be there, and so does
;; the `intltool-update' script. ;; the `intltool-update' script.
("gettext" ,guix:gettext) ("gettext" ,gnu-gettext)
;; `file' is used by `intltool-update' too. ;; `file' is used by `intltool-update' too.
("file" ,file) ("file" ,file)

View File

@ -21,8 +21,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages geeqie) #:use-module (gnu packages geeqie)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'gnu:))
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gnutls) #:use-module (gnu packages gnutls)
@ -71,7 +70,7 @@
`(("exiv2" ,exiv2) `(("exiv2" ,exiv2)
("flac" ,flac) ("flac" ,flac)
("ffmpeg" ,ffmpeg) ("ffmpeg" ,ffmpeg)
("gettext" ,gnu:gettext) ("gettext" ,gnu-gettext)
("glib" ,glib) ("glib" ,glib)
("gstreamer" ,gstreamer) ("gstreamer" ,gstreamer)
("gst-plugins-base" ,gst-plugins-base) ("gst-plugins-base" ,gst-plugins-base)

View File

@ -24,7 +24,7 @@
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages bison) #:use-module (gnu packages bison)
#:use-module ((gnu packages gettext) #:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages gettext)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages qemu) #:use-module (gnu packages qemu)
@ -84,7 +84,7 @@
%standard-phases))) %standard-phases)))
(inputs (inputs
`(;; ("lvm2" ,lvm2) `(;; ("lvm2" ,lvm2)
("gettext" ,gnu:gettext) ("gettext" ,gnu-gettext)
("freetype" ,freetype) ("freetype" ,freetype)
;; ("libusb" ,libusb) ;; ("libusb" ,libusb)
("ncurses" ,ncurses))) ("ncurses" ,ncurses)))

View File

@ -17,6 +17,7 @@
;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>. ;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
(define-module (gnu packages libffi) (define-module (gnu packages libffi)
#:use-module (gnu packages)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -46,7 +47,8 @@
name "-" version ".tar.gz")) name "-" version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x")))) "077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))
(patches (list (search-patch "libffi-mips-n32-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments `(#:modules ((guix build utils) (guix build gnu-build-system) (arguments `(#:modules ((guix build utils) (guix build gnu-build-system)
(ice-9 ftw) (srfi srfi-26)) (ice-9 ftw) (srfi srfi-26))

View File

@ -31,8 +31,7 @@
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
#:use-module (gnu packages algebra) #:use-module (gnu packages algebra)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'g:))
#:use-module (gnu packages pulseaudio) #:use-module (gnu packages pulseaudio)
#:use-module (gnu packages attr) #:use-module (gnu packages attr)
#:use-module (gnu packages xml) #:use-module (gnu packages xml)
@ -474,7 +473,8 @@ trace of all the system calls made by a another process/program.")
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9")))) "0fx057746dj7rjdi0jnvx2m9b0y1lgdkh1hks87d8w32xyihf3k9"))
(patches (list (search-patch "alsa-lib-mips-atomic-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.alsa-project.org/") (home-page "http://www.alsa-project.org/")
(synopsis "The Advanced Linux Sound Architecture libraries") (synopsis "The Advanced Linux Sound Architecture libraries")
@ -514,7 +514,7 @@ MIDI functionality to the Linux-based operating system.")
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("alsa-lib" ,alsa-lib) ("alsa-lib" ,alsa-lib)
("xmlto" ,xmlto) ("xmlto" ,xmlto)
("gettext" ,g:gettext))) ("gettext" ,gnu-gettext)))
(home-page "http://www.alsa-project.org/") (home-page "http://www.alsa-project.org/")
(synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)") (synopsis "Utilities for the Advanced Linux Sound Architecture (ALSA)")
(description (description
@ -627,8 +627,8 @@ manpages.")
"0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s")))) "0yvxrzk0mzmspr7sa34hm1anw6sif39gyn85w4c5ywfn8inxvr3s"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:phases (alist-replace '(#:phases (alist-cons-after
'patch 'unpack 'patch
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
(define (apply-patch file) (define (apply-patch file)
(zero? (system* "patch" "-p1" "--batch" (zero? (system* "patch" "-p1" "--batch"
@ -677,7 +677,7 @@ manpages.")
(sha256 (sha256
(base32 (base32
"0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p")))))) "0p93lsqx23v5fv4hpbrydmfvw1ha2rgqpn2zqbs2jhxkzhjc030p"))))))
(native-inputs `(("gettext" ,g:gettext))) (native-inputs `(("gettext" ,gnu-gettext)))
(synopsis "Tools for controlling the network subsystem in Linux") (synopsis "Tools for controlling the network subsystem in Linux")
(description (description

View File

@ -43,7 +43,8 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l")))) "0z6rlalhvfca64jpvksppc9bdhs7jwhiw4y35g5ibvh91xp3rn1l"))
(patches (list (search-patch "liboop-mips64-deplibs-fix.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(home-page "http://www.lysator.liu.se/liboop/") (home-page "http://www.lysator.liu.se/liboop/")
(synopsis "Event loop library") (synopsis "Event loop library")

View File

@ -33,7 +33,8 @@
version ".tar.bz2")) version ".tar.bz2"))
(sha256 (sha256
(base32 (base32
"0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf")))) "0w0da1chh12mczxa5lnwzjk9czi3dq6gnnndbpa6w4rj76b1yklf"))
(patches (list (search-patch "m4-readlink-EINVAL.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
;; XXX: Disable tests on those platforms with know issues. ;; XXX: Disable tests on those platforms with know issues.
@ -41,8 +42,6 @@
'("x86_64-darwin" '("x86_64-darwin"
"i686-cygwin" "i686-cygwin"
"i686-sunos"))) "i686-sunos")))
#:patches (list (assoc-ref %build-inputs
"patch/readlink-EINVAL"))
#:phases (alist-cons-before #:phases (alist-cons-before
'check 'pre-check 'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys) (lambda* (#:key inputs #:allow-other-keys)
@ -55,8 +54,6 @@
(("/bin/sh") (("/bin/sh")
(format #f "~a/bin/bash" bash))))) (format #f "~a/bin/bash" bash)))))
%standard-phases))) %standard-phases)))
(inputs `(("patch/readlink-EINVAL"
,(search-patch "m4-readlink-EINVAL.patch"))))
(synopsis "Macro processor") (synopsis "Macro processor")
(description (description
"GNU M4 is an implementation of the M4 macro language, which features "GNU M4 is an implementation of the M4 macro language, which features

View File

@ -64,7 +64,13 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
;; and can use statically-linked NSS modules. ;; and can use statically-linked NSS modules.
`(cons* "--disable-nscd" "--disable-build-nscd" `(cons* "--disable-nscd" "--disable-build-nscd"
"--enable-static-nss" "--enable-static-nss"
,flags)))))) ,flags))))
;; Remove the 'debug' output to allow bit-reproducible builds (when the
;; 'debug' output is used, ELF files end up with a .gnu_debuglink, which
;; includes a CRC of the corresponding debugging symbols; those symbols
;; contain store file names, so the CRC changes at every rebuild.)
(outputs (delete "debug" (package-outputs base)))))
(define (package-with-relocatable-glibc p) (define (package-with-relocatable-glibc p)
"Return a variant of P that uses the libc as defined by "Return a variant of P that uses the libc as defined by
@ -94,10 +100,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
("cross-binutils" ,(cross-binutils target)) ("cross-binutils" ,(cross-binutils target))
,@%final-inputs)) ,@%final-inputs))
`(("libc" ,(glibc-for-bootstrap)) `(("libc" ,(glibc-for-bootstrap))
("gcc" ,(package (inherit gcc-4.7) ("gcc" ,(package (inherit gcc-4.8)
(inputs (inputs
`(("libc",(glibc-for-bootstrap)) `(("libc",(glibc-for-bootstrap))
,@(package-inputs gcc-4.7))))) ,@(package-inputs gcc-4.8)))))
,@(fold alist-delete %final-inputs '("libc" "gcc"))))) ,@(fold alist-delete %final-inputs '("libc" "gcc")))))
(package-with-explicit-inputs p inputs (package-with-explicit-inputs p inputs
@ -127,7 +133,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(#f '()) (#f '())
(x (list x)))) (x (list x))))
;; Remove the `debug' output. ;; Remove the 'debug' output (see above for the reason.)
(outputs '("out")))) (outputs '("out"))))
(bzip2 (package (inherit bzip2) (bzip2 (package (inherit bzip2)
(arguments (arguments
@ -363,6 +369,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(string-append incdir "/asm")) (string-append incdir "/asm"))
(copy-recursively (string-append linux "/include/asm-generic") (copy-recursively (string-append linux "/include/asm-generic")
(string-append incdir "/asm-generic")) (string-append incdir "/asm-generic"))
;; Remove the '.install' and '..install.cmd' files; the latter
;; contains store paths, which prevents bit reproducibility.
(for-each delete-file (find-files incdir "\\.install"))
#t)))) #t))))
(inputs `(("libc" ,(let ((target (%current-target-system))) (inputs `(("libc" ,(let ((target (%current-target-system)))
(if target (if target
@ -378,7 +389,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(define %gcc-static (define %gcc-static
;; A statically-linked GCC, with stripped-down functionality. ;; A statically-linked GCC, with stripped-down functionality.
(package-with-relocatable-glibc (package-with-relocatable-glibc
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(name "gcc-static") (name "gcc-static")
(arguments (arguments
`(#:modules ((guix build utils) `(#:modules ((guix build utils)
@ -386,7 +397,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(srfi srfi-1) (srfi srfi-1)
(srfi srfi-26) (srfi srfi-26)
(ice-9 regex)) (ice-9 regex))
,@(substitute-keyword-arguments (package-arguments gcc-4.7) ,@(substitute-keyword-arguments (package-arguments gcc-4.8)
((#:guile _) #f) ((#:guile _) #f)
((#:implicit-inputs? _) #t) ((#:implicit-inputs? _) #t)
((#:configure-flags flags) ((#:configure-flags flags)
@ -395,6 +406,9 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
"--disable-plugin" "--disable-plugin"
"--enable-languages=c" "--enable-languages=c"
"--disable-libmudflap" "--disable-libmudflap"
"--disable-libatomic"
"--disable-libsanitizer"
"--disable-libitm"
"--disable-libgomp" "--disable-libgomp"
"--disable-libssp" "--disable-libssp"
"--disable-libquadmath" "--disable-libquadmath"
@ -405,15 +419,24 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(if (%current-target-system) (if (%current-target-system)
`(cons "LDFLAGS=-static" ,flags) `(cons "LDFLAGS=-static" ,flags)
`(cons "BOOT_LDFLAGS=-static" ,flags)))))) `(cons "BOOT_LDFLAGS=-static" ,flags))))))
(inputs `(("gmp-source" ,(package-source gmp)) (native-inputs
("mpfr-source" ,(package-source mpfr)) (if (%current-target-system)
("mpc-source" ,(package-source mpc)) `(;; When doing a Canadian cross, we need GMP/MPFR/MPC both
("binutils" ,binutils) ;; as target inputs and as native inputs; the latter is
,@(package-inputs gcc-4.7)))))) ;; needed when building build-time tools ('genconstants',
;; etc.) Failing to do that leads to misdetections of
;; declarations by 'gcc/configure', and eventually to
;; duplicate declarations as reported in
;; <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=59217>.
("gmp-native" ,gmp)
("mpfr-native" ,mpfr)
("mpc-native" ,mpc)
,@(package-native-inputs gcc-4.8))
(package-native-inputs gcc-4.8))))))
(define %gcc-stripped (define %gcc-stripped
;; The subset of GCC files needed for bootstrap. ;; The subset of GCC files needed for bootstrap.
(package (inherit gcc-4.7) (package (inherit gcc-4.8)
(name "gcc-stripped") (name "gcc-stripped")
(build-system trivial-build-system) (build-system trivial-build-system)
(source #f) (source #f)
@ -429,6 +452,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(let* ((out (assoc-ref %outputs "out")) (let* ((out (assoc-ref %outputs "out"))
(bindir (string-append out "/bin")) (bindir (string-append out "/bin"))
(libdir (string-append out "/lib")) (libdir (string-append out "/lib"))
(includedir (string-append out "/include"))
(libexecdir (string-append out "/libexec")) (libexecdir (string-append out "/libexec"))
(gcc (assoc-ref %build-inputs "gcc"))) (gcc (assoc-ref %build-inputs "gcc")))
(copy-recursively (string-append gcc "/bin") bindir) (copy-recursively (string-append gcc "/bin") bindir)
@ -444,6 +468,11 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
libexecdir) libexecdir)
(for-each remove-store-references (for-each remove-store-references
(find-files libexecdir ".*")) (find-files libexecdir ".*"))
;; Starting from GCC 4.8, helper programs built natively
;; (genchecksum, gcc-nm, etc.) rely on C++ headers.
(copy-recursively (string-append gcc "/include/c++")
(string-append includedir "/c++"))
#t)))) #t))))
(inputs `(("gcc" ,%gcc-static))))) (inputs `(("gcc" ,%gcc-static)))))
@ -461,6 +490,10 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
(name (string-append (package-name guile-2.0) "-static")) (name (string-append (package-name guile-2.0) "-static"))
(source source) (source source)
(synopsis "Statically-linked and relocatable Guile") (synopsis "Statically-linked and relocatable Guile")
;; Remove the 'debug' output (see above for the reason.)
(outputs (delete "debug" (package-outputs guile-2.0)))
(propagated-inputs (propagated-inputs
`(("bdw-gc" ,libgc) `(("bdw-gc" ,libgc)
,@(alist-delete "bdw-gc" ,@(alist-delete "bdw-gc"

View File

@ -26,9 +26,10 @@
#:use-module (guix build-system cmake) #:use-module (guix build-system cmake)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module ((gnu packages gettext) #:use-module (gnu packages fontutils)
#:renamer (symbol-prefix-proc 'gnu:)) #:use-module (gnu packages gettext)
#:use-module (gnu packages gcc) #:use-module (gnu packages gcc)
#:use-module (gnu packages gtk)
#:use-module (gnu packages multiprecision) #:use-module (gnu packages multiprecision)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (gnu packages pkg-config) #:use-module (gnu packages pkg-config)
@ -132,12 +133,16 @@ LP/MIP solver is included in the package.")
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x")))) "0qhxsdbwxd3cn1shc13wxvx2lg32lp4z6sz24kv3jz7p5xfi8j7x"))
(patches (list (search-patch "pspp-tests.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("cairo" ,cairo)
("fontconfig" ,fontconfig)
("gettext" ,gnu-gettext)
("gsl" ,gsl) ("gsl" ,gsl)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("pango" ,pango)
("readline" ,readline) ("readline" ,readline)
("zlib" ,zlib))) ("zlib" ,zlib)))
(native-inputs (native-inputs
@ -145,8 +150,7 @@ LP/MIP solver is included in the package.")
("pkg-config" ,pkg-config))) ("pkg-config" ,pkg-config)))
(arguments (arguments
`(#:configure-flags `(#:configure-flags
`("--without-cairo" ; FIXME: tests currently fail for lack of font `("--without-gui"))) ; FIXME: package missing dependencies
"--without-gui"))) ; FIXME: package missing dependencies
(home-page "http://www.gnu.org/software/pspp/") (home-page "http://www.gnu.org/software/pspp/")
(synopsis "Statistical analysis") (synopsis "Statistical analysis")
(description (description

View File

@ -37,6 +37,8 @@
(sha256 (base32 (sha256 (base32
"1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs")))) "1daiaxgkxcryqs37w28v4x1vajqmay4l144d1zd9c2d7jjxr9gcs"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs
`(("patch/init-fix" ,(search-patch "mit-krb5-init-fix.patch"))))
(inputs `(("bison" ,bison) (inputs `(("bison" ,bison)
("perl" ,perl))) ("perl" ,perl)))
(arguments (arguments
@ -51,7 +53,12 @@
(and (zero? (system* "tar" "xvf" source)) (and (zero? (system* "tar" "xvf" source))
(zero? (system* "tar" "xvf" (string-append inner ".tar.gz"))) (zero? (system* "tar" "xvf" (string-append inner ".tar.gz")))
(chdir inner) (chdir inner)
(chdir "src")))) (chdir "src")
;; XXX The current patch system does not support unusual
;; source unpack methods, so we have to apply this patch in a
;; non-standard way.
(zero? (system* "patch" "-p1" "--batch" "-i"
(assoc-ref %build-inputs "patch/init-fix"))))))
(alist-replace (alist-replace
'check 'check
(lambda* (#:key inputs #:allow-other-keys #:rest args) (lambda* (#:key inputs #:allow-other-keys #:rest args)

View File

@ -44,7 +44,8 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv")))) "14460zhacxhswnzb36qfpd1f2wbk10qvksvm6wyq5hpvdgnw7ymv"))
(patches (list (search-patch "libmad-mips-newgcc.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
`(#:phases `(#:phases

View File

@ -27,7 +27,7 @@
(define-public gmp (define-public gmp
(package (package
(name "gmp") (name "gmp")
(version "5.1.2") (version "5.1.3")
(source (origin (source (origin
(method url-fetch) (method url-fetch)
(uri (uri
@ -35,7 +35,7 @@
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"1hnbxz7a6jrli8ph27i8zb6k2f456zn6l5xi78yhskzbxjk47nf7")))) "0wbhn3wih61vjcs94q531fipfvvzqfq2v4qr03rl3xaggyiyvqny"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(native-inputs `(("m4" ,m4))) (native-inputs `(("m4" ,m4)))
(outputs '("out" "debug")) (outputs '("out" "debug"))

View File

@ -18,8 +18,7 @@
(define-module (gnu packages nano) (define-module (gnu packages nano)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (guix packages) #:use-module (guix packages)
#:use-module (guix download) #:use-module (guix download)
@ -39,7 +38,7 @@
"1s3b21h5p7r8xafw0gahswj16ai6k2vnjhmd15b491hl0x494c7z")))) "1s3b21h5p7r8xafw0gahswj16ai6k2vnjhmd15b491hl0x494c7z"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,guix:gettext) `(("gettext" ,gnu-gettext)
("ncurses" ,ncurses))) ("ncurses" ,ncurses)))
(home-page "http://www.nano-editor.org/") (home-page "http://www.nano-editor.org/")
(synopsis "Small, user-friendly console text editor") (synopsis "Small, user-friendly console text editor")

View File

@ -100,7 +100,8 @@ polyphonic) audio and music at fixed and variable bitrates from 16 to
version ".tar.xz")) version ".tar.xz"))
(sha256 (sha256
(base32 (base32
"0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk")))) "0q8wark9ribij57dciym5vdikg2464p8q2mgqvfb78ksjh4s8vgk"))
(patches (list (search-patch "libtheora-config-guess.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs `(("libvorbis" ,libvorbis))) (inputs `(("libvorbis" ,libvorbis)))
;; The .pc files refer to libogg. ;; The .pc files refer to libogg.

View File

@ -22,8 +22,7 @@
#:use-module (guix download) #:use-module (guix download)
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages check) #:use-module (gnu packages check)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages readline)) #:use-module (gnu packages readline))
@ -54,7 +53,7 @@
(inputs (inputs
;; XXX: add 'lvm2'. ;; XXX: add 'lvm2'.
`(("check" ,check) `(("check" ,check)
("gettext" ,guix:gettext) ("gettext" ,gnu-gettext)
("readline" ,readline) ("readline" ,readline)
("util-linux" ,util-linux))) ("util-linux" ,util-linux)))
(home-page "http://www.gnu.org/software/parted/") (home-page "http://www.gnu.org/software/parted/")

View File

@ -0,0 +1,42 @@
Fix the declarations of inlined atomic ops for mips.
This patch was copied from Debian.
--- alsa-lib/include/iatomic.h.orig 2013-05-21 04:48:28.000000000 -0400
+++ alsa-lib/include/iatomic.h 2013-10-29 13:01:37.055995968 -0400
@@ -720,7 +720,7 @@
* Atomically adds @i to @v. Note that the guaranteed useful range
* of an atomic_t is only 24 bits.
*/
-extern __inline__ void atomic_add(int i, atomic_t * v)
+static __inline__ void atomic_add(int i, atomic_t * v)
{
unsigned long temp;
@@ -744,7 +744,7 @@
* Atomically subtracts @i from @v. Note that the guaranteed
* useful range of an atomic_t is only 24 bits.
*/
-extern __inline__ void atomic_sub(int i, atomic_t * v)
+static __inline__ void atomic_sub(int i, atomic_t * v)
{
unsigned long temp;
@@ -763,7 +763,7 @@
/*
* Same as above, but return the result value
*/
-extern __inline__ int atomic_add_return(int i, atomic_t * v)
+static __inline__ int atomic_add_return(int i, atomic_t * v)
{
unsigned long temp, result;
@@ -784,7 +784,7 @@
return result;
}
-extern __inline__ int atomic_sub_return(int i, atomic_t * v)
+static __inline__ int atomic_sub_return(int i, atomic_t * v)
{
unsigned long temp, result;

View File

@ -0,0 +1,44 @@
Fix the Loongson 2F specific fused multiply-add instructions on paired singles to
use the encoding recognized by the processor, as opposed to the mistaken english
Loongson 2F documentation.
Patch by Mark H Weaver <mhw@netris.org>.
--- binutils/opcodes/mips-opc.c.orig 2012-09-04 10:21:10.000000000 -0400
+++ binutils/opcodes/mips-opc.c 2013-10-06 02:23:33.679983766 -0400
@@ -931,7 +931,7 @@
{"madd.s", "D,S,T", 0x72000018, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"madd.ps", "D,R,S,T", 0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"madd.ps", "D,S,T", 0x72c00018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 },
{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 },
{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 },
@@ -1041,7 +1041,7 @@
{"msub.s", "D,S,T", 0x72000019, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"msub.ps", "D,R,S,T", 0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"msub.ps", "D,S,T", 0x72c00019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 },
{"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 },
{"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 },
@@ -1157,7 +1157,7 @@
{"nmadd.s", "D,S,T", 0x7200001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"nmadd.ps","D,R,S,T", 0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"nmadd.ps", "D,S,T", 0x4560001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"nmadd.ps", "D,S,T", 0x7160001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"nmadd.ps", "D,S,T", 0x72c0001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"nmsub.d", "D,R,S,T", 0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I4_33 },
{"nmsub.d", "D,S,T", 0x4620001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
{"nmsub.d", "D,S,T", 0x7220001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
@@ -1166,7 +1166,7 @@
{"nmsub.s", "D,S,T", 0x7200001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"nmsub.ps","D,R,S,T", 0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"nmsub.ps", "D,S,T", 0x4560001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"nmsub.ps", "D,S,T", 0x7160001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"nmsub.ps", "D,S,T", 0x72c0001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
/* nop is at the start of the table. */
{"nor", "d,v,t", 0x00000027, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 },
{"nor", "t,r,I", 0, (int) M_NOR_I, INSN_MACRO, 0, I1 },

View File

@ -0,0 +1,34 @@
Enable the workaround for the Loongson 2F bug by default.
Patch by Mark H Weaver <mhw@netris.org>.
--- binutils/gas/config/tc-mips.c.orig 2012-09-04 10:21:03.000000000 -0400
+++ binutils/gas/config/tc-mips.c 2013-10-06 02:23:21.651983768 -0400
@@ -910,10 +910,10 @@
};
/* ...likewise -mfix-loongson2f-jump. */
-static bfd_boolean mips_fix_loongson2f_jump;
+static bfd_boolean mips_fix_loongson2f_jump = FALSE;
/* ...likewise -mfix-loongson2f-nop. */
-static bfd_boolean mips_fix_loongson2f_nop;
+static bfd_boolean mips_fix_loongson2f_nop = TRUE;
/* True if -mfix-loongson2f-nop or -mfix-loongson2f-jump passed. */
static bfd_boolean mips_fix_loongson2f;
--- binutils/gas/testsuite/gas/mips/mips.exp.orig 2012-09-04 10:17:13.000000000 -0400
+++ binutils/gas/testsuite/gas/mips/mips.exp 2013-10-06 02:23:21.663983768 -0400
@@ -91,6 +91,12 @@
# Catch because the variable won't be set the first time through.
catch {unset mips_arches}
+
+ # Disable the loongson2f nop fix by default, because most of the
+ # existing test cases for mips will fail otherwise.
+ global ASFLAGS
+ set old_ASFLAGS "$ASFLAGS"
+ set ASFLAGS "$ASFLAGS -mno-fix-loongson2f-nop"
}
# mips_arch_create ARCH GPRSIZE EXTENDS PROPS AS_FLAGS OBJDUMP_FLAGS \

View File

@ -0,0 +1,17 @@
Patch configure script to choose pass_all deplibs check method for
linux-gnu* systems on mips64. This is a temporary hack until libgd
bootstraps their build system with a newer libtool.
Patch by Mark H Weaver <mhw@netris.org>.
--- libgd-gd/src/configure.orig 2006-04-05 11:56:57.000000000 -0400
+++ libgd-gd/src/configure 2013-11-02 17:56:19.123995838 -0400
@@ -4457,7 +4457,7 @@
# This must be Linux ELF.
linux-gnu*)
case $host_cpu in
- alpha* | hppa* | i*86 | mips | mipsel | powerpc* | sparc* | ia64* | s390* | x86_64*)
+ alpha* | hppa* | i*86 | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | ia64* | s390* | x86_64*)
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM

View File

@ -0,0 +1,44 @@
Fix the Loongson 2F specific fused multiply-add instructions on paired singles to
use the encoding recognized by the processor, as opposed to the mistaken english
Loongson 2F documentation.
Patch by Mark H Weaver <mhw@netris.org>.
--- gdb/opcodes/mips-opc.c.orig 2013-02-09 05:24:18.000000000 -0500
+++ gdb/opcodes/mips-opc.c 2013-10-27 23:35:20.191997541 -0400
@@ -956,7 +956,7 @@
{"madd.s", "D,S,T", 0x4600001c, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, EE },
{"madd.ps", "D,R,S,T", 0x4c000026, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"madd.ps", "D,S,T", 0x45600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"madd.ps", "D,S,T", 0x71600018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"madd.ps", "D,S,T", 0x72c00018, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"madd", "s,t", 0x0000001c, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 },
{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 },
{"madd", "s,t", 0x70000000, 0xfc00ffff, RD_s|RD_t|WR_HILO|IS_M, 0, G1 },
@@ -1084,7 +1084,7 @@
{"msub.s", "D,S,T", 0x4600001d, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, EE },
{"msub.ps", "D,R,S,T", 0x4c00002e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"msub.ps", "D,S,T", 0x45600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"msub.ps", "D,S,T", 0x71600019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"msub.ps", "D,S,T", 0x72c00019, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"msub", "s,t", 0x0000001e, 0xfc00ffff, RD_s|RD_t|WR_HILO, 0, L1 },
{"msub", "s,t", 0x70000004, 0xfc00ffff, RD_s|RD_t|MOD_HILO, 0, I32|N55 },
{"msub", "7,s,t", 0x70000004, 0xfc00e7ff, MOD_a|RD_s|RD_t, 0, D32 },
@@ -1218,7 +1218,7 @@
{"nmadd.s", "D,S,T", 0x7200001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"nmadd.ps","D,R,S,T", 0x4c000036, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"nmadd.ps", "D,S,T", 0x4560001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"nmadd.ps", "D,S,T", 0x7160001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"nmadd.ps", "D,S,T", 0x72c0001a, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
{"nmsub.d", "D,R,S,T", 0x4c000039, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I4_33 },
{"nmsub.d", "D,S,T", 0x4620001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
{"nmsub.d", "D,S,T", 0x7220001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
@@ -1227,7 +1227,7 @@
{"nmsub.s", "D,S,T", 0x7200001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_S, 0, IL2F },
{"nmsub.ps","D,R,S,T", 0x4c00003e, 0xfc00003f, RD_R|RD_S|RD_T|WR_D|FP_D, 0, I5_33 },
{"nmsub.ps", "D,S,T", 0x4560001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2E },
-{"nmsub.ps", "D,S,T", 0x7160001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
+{"nmsub.ps", "D,S,T", 0x72c0001b, 0xffe0003f, RD_S|RD_T|WR_D|FP_D, 0, IL2F },
/* nop is at the start of the table. */
{"nor", "d,v,t", 0x00000027, 0xfc0007ff, WR_d|RD_s|RD_t, 0, I1 },
{"nor", "t,r,I", 0, (int) M_NOR_I, INSN_MACRO, 0, I1 },

View File

@ -0,0 +1,12 @@
Allow libc to be compiled with GNU Make 4.0.
--- glibc-2.18/configure 2013-08-11 00:52:55.000000000 +0200
+++ glibc-2.18/configure 2013-10-16 16:53:09.000000000 +0200
@@ -4772,7 +4772,7 @@ $as_echo_n "checking version of $MAKE...
ac_prog_version=`$MAKE --version 2>&1 | sed -n 's/^.*GNU Make[^0-9]*\([0-9][0-9.]*\).*$/\1/p'`
case $ac_prog_version in
'') ac_prog_version="v. ?.??, bad"; ac_verc_fail=yes;;
- 3.79* | 3.[89]*)
+ 3.79* | 3.[89]* | 4.*)
ac_prog_version="$ac_prog_version, ok"; ac_verc_fail=no;;
*) ac_prog_version="$ac_prog_version, bad"; ac_verc_fail=yes;;

View File

@ -1,53 +0,0 @@
Disable attempts to use the system-wide /etc/ld.so.cache. This is
required on LFS distros to avoid loading the distro's libc.so instead
of ours.
Patch from Nixpkgs. Idea by Eelco Dolstra, initial patch by Jack
Cummings, minor fixups by Shea Levy.
diff -Naur glibc-2.13-orig/elf/ldconfig.c glibc-2.13/elf/ldconfig.c
--- glibc-2.13-orig/elf/ldconfig.c 2011-01-17 23:34:07.000000000 -0500
+++ glibc-2.13/elf/ldconfig.c 2012-04-10 23:28:45.957492340 -0400
@@ -51,7 +51,7 @@
#endif
#ifndef LD_SO_CONF
-# define LD_SO_CONF SYSCONFDIR "/ld.so.conf"
+# define LD_SO_CONF PREFIX "/etc/ld.so.conf"
#endif
/* Get libc version number. */
--- glibc-2.16.0/elf/Makefile 2012-06-30 21:12:34.000000000 +0200
+++ glibc-2.16.0/elf/Makefile 2012-11-12 23:52:21.000000000 +0100
@@ -415,12 +415,12 @@ $(objpfx)ldconfig: $(ldconfig-modules:%=
$(objpfx)pldd: $(pldd-modules:%=$(objpfx)%.o)
-SYSCONF-FLAGS := -D'SYSCONFDIR="$(sysconfdir)"'
-CFLAGS-ldconfig.c = $(SYSCONF-FLAGS) -D'LIBDIR="$(libdir)"' \
+PREFIX-FLAGS := -D'PREFIX="$(sysconfdir)"'
+CFLAGS-ldconfig.c = $(PREFIX-FLAGS) -D'LIBDIR="$(libdir)"' \
-D'SLIBDIR="$(slibdir)"' -DIS_IN_ldconfig=1
-CFLAGS-dl-cache.c = $(SYSCONF-FLAGS)
-CFLAGS-cache.c = $(SYSCONF-FLAGS)
-CFLAGS-rtld.c = $(SYSCONF-FLAGS)
+CFLAGS-dl-cache.c = $(PREFIX-FLAGS)
+CFLAGS-cache.c = $(PREFIX-FLAGS)
+CFLAGS-rtld.c = $(PREFIX-FLAGS)
CPPFLAGS-.os += $(if $(filter $(@F),$(patsubst %,%.os,$(all-rtld-routines))),\
-DNOT_IN_libc=1 -DIS_IN_rtld=1 -DIN_LIB=rtld)
diff -Naur glibc-2.13-orig/sysdeps/generic/dl-cache.h glibc-2.13/sysdeps/generic/dl-cache.h
--- glibc-2.13-orig/sysdeps/generic/dl-cache.h 2011-01-17 23:34:07.000000000 -0500
+++ glibc-2.13/sysdeps/generic/dl-cache.h 2012-04-10 23:28:20.077488815 -0400
@@ -29,7 +29,7 @@
#endif
#ifndef LD_SO_CACHE
-# define LD_SO_CACHE SYSCONFDIR "/ld.so.cache"
+# define LD_SO_CACHE PREFIX "/etc/ld.so.cache"
#endif
#ifndef add_system_dir

View File

@ -0,0 +1,21 @@
Fix handling of uint32_t arguments on the MIPS N32 ABI.
Patch by Mark H Weaver <mhw@netris.org>.
--- libffi/src/mips/ffi.c.orig 2013-03-16 07:19:39.000000000 -0400
+++ libffi/src/mips/ffi.c 2013-10-22 01:11:03.111985247 -0400
@@ -170,7 +170,14 @@
break;
case FFI_TYPE_UINT32:
+#ifdef FFI_MIPS_N32
+ /* The N32 ABI requires that 32-bit integers
+ be sign-extended to 64-bits, regardless of
+ whether they are signed or unsigned. */
+ *(ffi_arg *)argp = *(SINT32 *)(* p_argv);
+#else
*(ffi_arg *)argp = *(UINT32 *)(* p_argv);
+#endif
break;
/* This can only happen with 64bit slots. */

View File

@ -0,0 +1,16 @@
Fix MIPS assembly code to work with newer GCC, where the "=h"
constraint is no longer supported.
--- libmad/fixed.h.orig 2004-02-16 21:02:03.000000000 -0500
+++ libmad/fixed.h 2011-10-29 18:47:21.000000000 -0400
@@ -304,8 +304,8 @@
* significant bit depends on OPT_ACCURACY via mad_f_scale64().
*/
# define MAD_F_MLX(hi, lo, x, y) \
- asm ("mult %2,%3" \
- : "=l" (lo), "=h" (hi) \
+ asm ("mult %2,%3\n\tmfhi %1" \
+ : "=l" (lo), "=r" (hi) \
: "%r" (x), "r" (y))
# if defined(HAVE_MADD_ASM)

View File

@ -0,0 +1,17 @@
Patch configure script to choose pass_all deplibs check method for
linux-gnu* systems on mips64. This is a temporary hack until liboop
bootstraps their build system with a newer libtool.
Patch by Mark H Weaver <mhw@netris.org>.
--- liboop/configure.orig 2003-10-26 11:41:19.000000000 -0500
+++ liboop/configure 2013-11-02 18:09:11.079995796 -0400
@@ -3395,7 +3395,7 @@
# This must be Linux ELF.
linux*)
case $host_cpu in
- alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | powerpc* | sparc* | s390* | sh*)
+ alpha* | hppa* | i*86 | ia64* | m68* | mips | mipsel | mips64 | mips64el | powerpc* | sparc* | s390* | sh*)
lt_cv_deplibs_check_method=pass_all ;;
*)
# glibc up to 2.1.1 does not perform some relocations on ARM

View File

@ -0,0 +1,37 @@
Minimally patch libtheora's ancient config.guess to support mips64.
--- libtheora/config.guess.orig 2009-02-23 22:50:50.000000000 -0500
+++ libtheora/config.guess 2013-10-31 23:49:48.155999944 -0400
@@ -798,25 +798,24 @@
m68*:Linux:*:*)
echo ${UNAME_MACHINE}-unknown-linux-gnu
exit 0 ;;
- mips:Linux:*:*)
+ mips:Linux:*:* | mips64:Linux:*:*)
eval $set_cc_for_build
sed 's/^ //' << EOF >$dummy.c
#undef CPU
- #undef mips
- #undef mipsel
+ #undef ${UNAME_MACHINE}
+ #undef ${UNAME_MACHINE}el
#if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
- CPU=mipsel
+ CPU=${UNAME_MACHINE}el
#else
#if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
- CPU=mips
+ CPU=${UNAME_MACHINE}
#else
CPU=
#endif
#endif
EOF
- eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep ^CPU=`
- rm -f $dummy.c && rmdir $tmpdir
- test x"${CPU}" != x && echo "${CPU}-pc-linux-gnu" && exit 0
+ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
+ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-gnu"; exit 0; }
;;
ppc:Linux:*:*)
echo powerpc-unknown-linux-gnu

View File

@ -0,0 +1,12 @@
TEMPORARY HACK: Disable a test that fails on MIPS.
--- libtool/Makefile.in.orig 2011-10-17 06:18:55.000000000 -0400
+++ libtool/Makefile.in 2013-10-12 20:41:50.669067382 -0400
@@ -890,7 +890,6 @@
tests/demo-pic-make.test \
tests/demo-pic-exec.test \
tests/demo-nopic.test \
- tests/demo-nopic-make.test \
tests/demo-nopic-exec.test \
tests/cdemo-shared.test \
tests/cdemo-shared-make.test \

View File

@ -0,0 +1,18 @@
Fix the early context initialization code to avoid assuming that
arguments will be evaluated from right to left.
Patch by Mark H Weaver <mhw@netris.org>.
--- src/lib/krb5/krb/t_cc_config.c.orig 2012-12-17 21:47:05.000000000 -0500
+++ src/lib/krb5/krb/t_cc_config.c 2013-10-29 18:19:16.547994590 -0400
@@ -117,8 +117,8 @@
int c;
unsigned int i;
- bail_on_err(context, "Error initializing Kerberos library",
- krb5_init_context(&context));
+ ret = krb5_init_context(&context);
+ bail_on_err(context, "Error initializing Kerberos library", ret);
bail_on_err(context, "Error getting location of default ccache",
krb5_cc_default(context, &ccache));
server = NULL;

View File

@ -0,0 +1,13 @@
diff --git a/tests/output/render-test.c b/tests/output/render-test.c
index 5f4c1da..e9df96c 100644
--- a/tests/output/render-test.c
+++ b/tests/output/render-test.c
@@ -142,7 +142,7 @@ configure_drivers (int width, int length)
string_map_insert (&options, "left-margin", "0");
string_map_insert (&options, "right-margin", "0");
string_map_insert_nocopy (&options, xstrdup ("paper-size"),
- xasprintf ("%dx%dpt", width * 5, length * 8));
+ xasprintf ("%dx%dpt", width * 5, length * 16));
driver = output_driver_create (&options);
if (driver == NULL)
exit (EXIT_FAILURE);

View File

@ -1,26 +0,0 @@
This patch is needed to allow builds with newer versions of
the GNU libc (2.16+).
This is a backport of this patch:
commit 66712c23388e93e5c518ebc8515140fa0c807348
Author: Eric Blake <eblake@redhat.com>
Date: Thu Mar 29 13:30:41 2012 -0600
stdio: don't assume gets any more
--- tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:45.000000000 +0200
+++ tar-1.26/gnu/stdio.in.h 2012-07-02 14:28:50.000000000 +0200
@@ -160,12 +160,6 @@ _GL_WARN_ON_USE (fflush, "fflush is not
"use gnulib module fflush for portable POSIX compliance");
#endif
-/* 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. */
-#undef gets
-_GL_WARN_ON_USE (gets, "gets is a security hole - use fgets instead");
-
#if @GNULIB_FOPEN@
# if @REPLACE_FOPEN@
# if !(defined __cplusplus && defined GNULIB_NAMESPACE)

View File

@ -34,11 +34,11 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km")))) "15qxzba3a50c9nik5ydgyfp62x7h9vxxn12yd1jgl93hb1wj96km"))
(patches (list (search-patch "perl-no-sys-dirs.patch")))))
(build-system gnu-build-system) (build-system gnu-build-system)
(arguments (arguments
'(#:tests? #f '(#:tests? #f
#:patches (list (assoc-ref %build-inputs "patch/no-sys-dirs"))
#:phases #:phases
(alist-replace (alist-replace
'configure 'configure
@ -62,7 +62,6 @@
(string-append "-Dlocincpth=" libc "/include") (string-append "-Dlocincpth=" libc "/include")
(string-append "-Dloclibpth=" libc "/lib"))))) (string-append "-Dloclibpth=" libc "/lib")))))
%standard-phases))) %standard-phases)))
(inputs `(("patch/no-sys-dirs" ,(search-patch "perl-no-sys-dirs.patch"))))
(native-search-paths (list (search-path-specification (native-search-paths (list (search-path-specification
(variable "PERL5LIB") (variable "PERL5LIB")
(directories '("lib/perl5/site_perl"))))) (directories '("lib/perl5/site_perl")))))

View File

@ -45,15 +45,12 @@
version ".tar.gz")) version ".tar.gz"))
(sha256 (sha256
(base32 (base32
"10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr")))) "10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))
(patches (list (search-patch "readline-link-ncurses.patch")))
(patch-flags '("-p0"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(propagated-inputs `(("ncurses" ,ncurses))) (propagated-inputs `(("ncurses" ,ncurses)))
(inputs `(("patch/link-ncurses" (arguments `(#:configure-flags
,(search-patch "readline-link-ncurses.patch"))))
(arguments `(#:patches (list (assoc-ref %build-inputs
"patch/link-ncurses"))
#:patch-flags '("-p0")
#:configure-flags
(list (string-append "LDFLAGS=-Wl,-rpath -Wl," (list (string-append "LDFLAGS=-Wl,-rpath -Wl,"
(assoc-ref %build-inputs "ncurses") (assoc-ref %build-inputs "ncurses")
"/lib")) "/lib"))

View File

@ -28,8 +28,7 @@
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
#:use-module (gnu packages linux) #:use-module (gnu packages linux)
#:use-module (gnu packages guile) #:use-module (gnu packages guile)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'g:))
#:use-module ((gnu packages base) #:use-module ((gnu packages base)
#:select (tar)) #:select (tar))
#:use-module ((gnu packages compression) #:use-module ((gnu packages compression)
@ -76,7 +75,7 @@ is based on GNU Guile.")
"1b4hfqv23l87cb37fxwzfk2sgspkyxpr3ig2hsd23hr6mm982j7z")))) "1b4hfqv23l87cb37fxwzfk2sgspkyxpr3ig2hsd23hr6mm982j7z"))))
(build-system cmake-build-system) (build-system cmake-build-system)
(arguments '(#:tests? #f)) ; There are no tests. (arguments '(#:tests? #f)) ; There are no tests.
(native-inputs `(("gettext" ,g:gettext))) (native-inputs `(("gettext" ,gnu-gettext)))
(home-page "http://projects.gw-computing.net/projects/dfc") (home-page "http://projects.gw-computing.net/projects/dfc")
(synopsis "Display file system space usage using graphs and colors") (synopsis "Display file system space usage using graphs and colors")
(description (description

View File

@ -26,8 +26,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (guix build-system python) #:use-module (guix build-system python)
#:use-module (guix build utils) #:use-module (guix build utils)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages apr) #:use-module (gnu packages apr)
#:use-module (gnu packages curl) #:use-module (gnu packages curl)
#:use-module (gnu packages ed) #:use-module (gnu packages ed)
@ -59,7 +58,7 @@
(inputs (inputs
;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh' ;; Note: 'tools/packaging/lp-upload-release' and 'tools/weavemerge.sh'
;; require Zsh. ;; require Zsh.
`(("gettext" ,guix:gettext))) `(("gettext" ,gnu-gettext)))
(arguments (arguments
`(#:tests? #f ; no test target `(#:tests? #f ; no test target
#:python ,python-2)) ; Python 3 apparently not yet supported, see #:python ,python-2)) ; Python 3 apparently not yet supported, see
@ -88,7 +87,7 @@ from a command line or use a GUI application.")
(inputs (inputs
`(("curl" ,curl) `(("curl" ,curl)
("expat" ,expat) ("expat" ,expat)
("gettext" ,guix:gettext) ("gettext" ,gnu-gettext)
("openssl" ,openssl) ("openssl" ,openssl)
("perl" ,perl) ("perl" ,perl)
("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL ("python" ,python-2) ; CAVEAT: incompatible with python-3 according to INSTALL

View File

@ -24,8 +24,7 @@
#:use-module (guix build-system gnu) #:use-module (guix build-system gnu)
#:use-module (gnu packages) #:use-module (gnu packages)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'gnu:))
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages openssl) #:use-module (gnu packages openssl)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
@ -81,7 +80,7 @@ Only \"Universal TUN/TAP device driver support\" is needed in the kernel.")
"1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6")))) "1rd8pap455wzkx19i0sy3cqap524b6fwcjvqynxp6lhm01di4bd6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("gettext" ,gnu-gettext)
("libxml2" ,libxml2) ("libxml2" ,libxml2)
("openssl" ,openssl) ("openssl" ,openssl)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)

View File

@ -18,8 +18,7 @@
(define-module (gnu packages w3m) (define-module (gnu packages w3m)
#:use-module ((guix licenses) #:select (x11-style)) #:use-module ((guix licenses) #:select (x11-style))
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages bdw-gc) #:use-module (gnu packages bdw-gc)
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages ncurses) #:use-module (gnu packages ncurses)
@ -61,7 +60,7 @@
(("@PERL@") (which "perl")))) (("@PERL@") (which "perl"))))
%standard-phases))) %standard-phases)))
(inputs (inputs
`(("gettext" ,guix:gettext) `(("gettext" ,gnu-gettext)
("libgc" ,libgc) ("libgc" ,libgc)
("ncurses" ,ncurses) ("ncurses" ,ncurses)
("openssl" ,openssl) ("openssl" ,openssl)

View File

@ -18,8 +18,7 @@
(define-module (gnu packages wget) (define-module (gnu packages wget)
#:use-module (guix licenses) #:use-module (guix licenses)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'guix:))
#:use-module (gnu packages gnutls) #:use-module (gnu packages gnutls)
#:use-module (gnu packages perl) #:use-module (gnu packages perl)
#:use-module (guix packages) #:use-module (guix packages)
@ -42,7 +41,7 @@
(inputs (inputs
`(("gnutls" ,gnutls) `(("gnutls" ,gnutls)
("perl" ,perl) ("perl" ,perl)
("gettext" ,guix:gettext))) ("gettext" ,gnu-gettext)))
(home-page "http://www.gnu.org/software/wget/") (home-page "http://www.gnu.org/software/wget/")
(synopsis "Non-interactive command-line utility for downloading files") (synopsis "Non-interactive command-line utility for downloading files")
(description (description

View File

@ -26,8 +26,7 @@
#:use-module (gnu packages compression) #:use-module (gnu packages compression)
#:use-module (gnu packages flex) #:use-module (gnu packages flex)
#:use-module (gnu packages fontutils) #:use-module (gnu packages fontutils)
#:use-module ((gnu packages gettext) #:use-module (gnu packages gettext)
#:renamer (symbol-prefix-proc 'gnu:))
#:use-module (gnu packages glib) #:use-module (gnu packages glib)
#:use-module (gnu packages gnupg) #:use-module (gnu packages gnupg)
#:use-module (gnu packages gperf) #:use-module (gnu packages gperf)
@ -1303,7 +1302,7 @@ tracking.")
"0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6")))) "0dd737ch4q9gr151wff1m3q2j7wf3pip4y81601xdrsh8wipxnx6"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("gettext" ,gnu-gettext)
("libxt" ,libxt) ("libxt" ,libxt)
("xproto" ,xproto) ("xproto" ,xproto)
("libxext" ,libxext) ("libxext" ,libxext)
@ -3236,7 +3235,7 @@ tracking.")
"1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892")))) "1nmb7ma8rqryicc5xqrn2hm5pwp5lkf7nj28bwbf63mz2r0mk892"))))
(build-system gnu-build-system) (build-system gnu-build-system)
(inputs (inputs
`(("gettext" ,gnu:gettext) `(("gettext" ,gnu-gettext)
("intltool" ,intltool) ("intltool" ,intltool)
("libx11" ,libx11) ("libx11" ,libx11)
("pkg-config" ,pkg-config) ("pkg-config" ,pkg-config)

View File

@ -47,7 +47,6 @@
(outputs '("out")) (configure-flags ''()) (outputs '("out")) (configure-flags ''())
(search-paths '()) (search-paths '())
(make-flags ''()) (make-flags ''())
(patches ''()) (patch-flags ''("--batch" "-p1"))
(cmake (default-cmake)) (cmake (default-cmake))
(out-of-source? #f) (out-of-source? #f)
(tests? #t) (tests? #t)
@ -80,8 +79,6 @@ provides a 'CMakeLists.txt' file as its build system."
#:search-paths ',(map search-path-specification->sexp #:search-paths ',(map search-path-specification->sexp
(append search-paths (append search-paths
(standard-search-paths))) (standard-search-paths)))
#:patches ,patches
#:patch-flags ,patch-flags
#:phases ,phases #:phases ,phases
#:configure-flags ,configure-flags #:configure-flags ,configure-flags
#:make-flags ,make-flags #:make-flags ,make-flags

View File

@ -252,7 +252,6 @@ System: GCC, GNU Make, Bash, Coreutils, etc."
(search-paths '()) (search-paths '())
(configure-flags ''()) (configure-flags ''())
(make-flags ''()) (make-flags ''())
(patches ''()) (patch-flags ''("--batch" "-p1"))
(out-of-source? #f) (out-of-source? #f)
(tests? #t) (tests? #t)
(test-target "check") (test-target "check")
@ -300,8 +299,6 @@ which could lead to gratuitous input divergence."
#:search-paths ',(map search-path-specification->sexp #:search-paths ',(map search-path-specification->sexp
(append implicit-search-paths (append implicit-search-paths
search-paths)) search-paths))
#:patches ,patches
#:patch-flags ,patch-flags
#:phases ,phases #:phases ,phases
#:configure-flags ,configure-flags #:configure-flags ,configure-flags
#:make-flags ,make-flags #:make-flags ,make-flags
@ -390,7 +387,6 @@ inputs."
(configure-flags ''()) (configure-flags ''())
(make-flags ''()) (make-flags ''())
(patches ''()) (patch-flags ''("--batch" "-p1"))
(out-of-source? #f) (out-of-source? #f)
(tests? #f) ; nothing can be done (tests? #f) ; nothing can be done
(test-target "check") (test-target "check")
@ -473,8 +469,6 @@ platform."
search-path-specification->sexp search-path-specification->sexp
(append implicit-host-search-paths (append implicit-host-search-paths
native-search-paths)) native-search-paths))
#:patches ,patches
#:patch-flags ,patch-flags
#:phases ,phases #:phases ,phases
#:configure-flags ,configure-flags #:configure-flags ,configure-flags
#:make-flags ,make-flags #:make-flags ,make-flags

View File

@ -58,9 +58,8 @@ prepended to the name."
(let* ((build-system (package-build-system p)) (let* ((build-system (package-build-system p))
(rewrite-if-package (rewrite-if-package
(lambda (content) (lambda (content)
;; CONTENT may be a string (e.g., for patches), in which case it ;; CONTENT may be a file name, in which case it is returned, or a
;; is returned, or a package, which is rewritten with the new ;; package, which is rewritten with the new PYTHON and NEW-PREFIX.
;; PYTHON and NEW-PREFIX.
(if (package? content) (if (package? content)
(package-with-explicit-python content python (package-with-explicit-python content python
old-prefix new-prefix) old-prefix new-prefix)

View File

@ -115,14 +115,6 @@ makefiles."
;; Patch `SHELL' in generated makefiles. ;; Patch `SHELL' in generated makefiles.
(for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$"))) (for-each patch-makefile-SHELL (find-files "." "^(GNU)?[mM]akefile$")))
(define* (patch #:key (patches '()) (patch-flags '("--batch" "-p1"))
#:allow-other-keys)
(every (lambda (p)
(format #t "applying patch `~a'~%" p)
(zero? (apply system* "patch"
(append patch-flags (list "--input" p)))))
patches))
(define* (configure #:key target native-inputs inputs outputs (define* (configure #:key target native-inputs inputs outputs
(configure-flags '()) out-of-source? (configure-flags '()) out-of-source?
#:allow-other-keys) #:allow-other-keys)
@ -344,7 +336,7 @@ makefiles."
;; Standard build phases, as a list of symbol/procedure pairs. ;; Standard build phases, as a list of symbol/procedure pairs.
(let-syntax ((phases (syntax-rules () (let-syntax ((phases (syntax-rules ()
((_ p ...) `((p . ,p) ...))))) ((_ p ...) `((p . ,p) ...)))))
(phases set-paths unpack patch (phases set-paths unpack
patch-source-shebangs configure patch-generated-file-shebangs patch-source-shebangs configure patch-generated-file-shebangs
build check install build check install
patch-shebangs strip))) patch-shebangs strip)))

View File

@ -207,7 +207,7 @@ matches REGEXP."
(lambda (file stat errno result) (lambda (file stat errno result)
(format (current-error-port) "find-files: ~a: ~a~%" (format (current-error-port) "find-files: ~a: ~a~%"
file (strerror errno)) file (strerror errno))
#f) result)
'() '()
dir) dir)
string<?)) string<?))

View File

@ -113,13 +113,16 @@
(snippet origin-snippet (default #f)) ; sexp or #f (snippet origin-snippet (default #f)) ; sexp or #f
(patch-flags origin-patch-flags ; list of strings (patch-flags origin-patch-flags ; list of strings
(default '("-p1"))) (default '("-p1")))
;; Patching requires Guile, GNU Patch, and a few more. These two fields are
;; used to specify these dependencies when needed.
(patch-inputs origin-patch-inputs ; input list or #f (patch-inputs origin-patch-inputs ; input list or #f
(default #f)) (default #f))
(modules origin-modules ; list of module names (modules origin-modules ; list of module names
(default '())) (default '()))
(imported-modules origin-imported-modules ; list of module names (imported-modules origin-imported-modules ; list of module names
(default '())) (default '()))
(patch-guile origin-patch-guile ; derivation or #f (patch-guile origin-patch-guile ; package or #f
(default #f))) (default #f)))
(define-syntax base32 (define-syntax base32
@ -274,11 +277,10 @@ corresponds to the arguments expected by `set-path-environment-variable'."
("lzip" ,(ref '(gnu packages compression) 'lzip)) ("lzip" ,(ref '(gnu packages compression) 'lzip))
("patch" ,(ref '(gnu packages base) 'patch))))) ("patch" ,(ref '(gnu packages base) 'patch)))))
(define (default-guile store system) (define (default-guile)
"Return a derivation of d the default Guile package for SYSTEM." "Return the default Guile package for SYSTEM."
(let* ((distro (resolve-interface '(gnu packages base))) (let ((distro (resolve-interface '(gnu packages base))))
(guile (module-ref distro 'guile-final))) (module-ref distro 'guile-final)))
(package-derivation store guile system)))
(define* (patch-and-repack store source patches (define* (patch-and-repack store source patches
#:key #:key
@ -404,7 +406,13 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
guile-for-build) guile-for-build)
;; Patches and/or a snippet. ;; Patches and/or a snippet.
(let ((source (method store uri 'sha256 sha256 name (let ((source (method store uri 'sha256 sha256 name
#:system system))) #:system system))
(guile (match (or guile-for-build (%guile-for-build)
(default-guile))
((? package? p)
(package-derivation store p system))
((? derivation? drv)
drv))))
(patch-and-repack store source patches (patch-and-repack store source patches
#:inputs inputs #:inputs inputs
#:snippet snippet #:snippet snippet
@ -412,9 +420,7 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
#:system system #:system system
#:modules modules #:modules modules
#:imported-modules modules #:imported-modules modules
#:guile-for-build (or guile-for-build #:guile-for-build guile)))
(%guile-for-build)
(default-guile store system)))))
((and (? string?) (? direct-store-path?) file) ((and (? string?) (? direct-store-path?) file)
file) file)
((? string? file) ((? string? file)

View File

@ -86,7 +86,7 @@ courageous and port the GNU System distribution to it (see
# Currently only Linux-based systems are supported, and only on some # Currently only Linux-based systems are supported, and only on some
# platforms. # platforms.
case "$guix_system" in case "$guix_system" in
x86_64-linux|i686-linux) x86_64-linux|i686-linux|mips64el-linux)
;; ;;
*) *)
if test "x$guix_courageous" = "xyes"; then if test "x$guix_courageous" = "xyes"; then

View File

@ -141,7 +141,7 @@
(test-equal "package-source-derivation, snippet" (test-equal "package-source-derivation, snippet"
"OK" "OK"
(let* ((file (search-bootstrap-binary "guile-2.0.7.tar.xz" (let* ((file (search-bootstrap-binary "guile-2.0.9.tar.xz"
(%current-system))) (%current-system)))
(sha256 (call-with-input-file file port-sha256)) (sha256 (call-with-input-file file port-sha256))
(fetch (lambda* (store url hash-algo hash (fetch (lambda* (store url hash-algo hash
@ -157,8 +157,7 @@
`(("tar" ,%bootstrap-coreutils&co) `(("tar" ,%bootstrap-coreutils&co)
("xz" ,%bootstrap-coreutils&co) ("xz" ,%bootstrap-coreutils&co)
("patch" ,%bootstrap-coreutils&co))) ("patch" ,%bootstrap-coreutils&co)))
(patch-guile (package-derivation %store (patch-guile %bootstrap-guile)
%bootstrap-guile))
(modules '((guix build utils))) (modules '((guix build utils)))
(imported-modules modules) (imported-modules modules)
(snippet '(begin (snippet '(begin

View File

@ -116,10 +116,10 @@
(directory-exists? "lib/gcc") (directory-exists? "lib/gcc")
(file-exists? "include/unistd.h") (file-exists? "include/unistd.h")
;; The 'include' sub-directory is only found in ;; The 'include/c++' sub-directory is only found in
;; glibc-bootstrap, so it should be unified in a ;; gcc-bootstrap, so it should be unified in a
;; straightforward way, without traversing it. ;; straightforward way, without traversing it.
(eq? 'symlink (stat:type (lstat "include"))) (eq? 'symlink (stat:type (lstat "include/c++")))
;; Conversely, several inputs have a 'bin' sub-directory, so ;; Conversely, several inputs have a 'bin' sub-directory, so
;; unifying it requires traversing them all, and creating a ;; unifying it requires traversing them all, and creating a