Merge branch 'core-updates'
This commit is contained in:
commit
4979ee04f0
|
@ -1,5 +1,5 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -48,6 +48,7 @@
|
||||||
drv)
|
drv)
|
||||||
#f))))
|
#f))))
|
||||||
|
|
||||||
|
(set-build-options store #:use-substitutes? #t)
|
||||||
(let ((result (every (compose (warn (cut has-substitutes? store <>))
|
(let ((result (every (compose (warn (cut has-substitutes? store <>))
|
||||||
derivation->output-path)
|
derivation->output-path)
|
||||||
total)))
|
total)))
|
||||||
|
|
|
@ -41,6 +41,7 @@
|
||||||
(guix derivations)
|
(guix derivations)
|
||||||
((guix utils) #:select (%current-system))
|
((guix utils) #:select (%current-system))
|
||||||
(gnu packages)
|
(gnu packages)
|
||||||
|
(gnu packages gcc)
|
||||||
(gnu packages base)
|
(gnu packages base)
|
||||||
(gnu packages gawk)
|
(gnu packages gawk)
|
||||||
(gnu packages guile)
|
(gnu packages guile)
|
||||||
|
@ -87,7 +88,11 @@ SYSTEM."
|
||||||
(cut package-cross-derivation <> <> target <>))))
|
(cut package-cross-derivation <> <> target <>))))
|
||||||
|
|
||||||
(define %core-packages
|
(define %core-packages
|
||||||
(list gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
;; Note: Don't put the '-final' package variants because (1) that's
|
||||||
|
;; implicit, and (2) they cannot be cross-built (due to the explicit input
|
||||||
|
;; chain.)
|
||||||
|
(list gcc-4.8 gcc-4.7 glibc binutils
|
||||||
|
gmp mpfr mpc coreutils findutils diffutils patch sed grep
|
||||||
gawk gnu-gettext hello guile-2.0 zlib gzip xz
|
gawk gnu-gettext hello guile-2.0 zlib gzip xz
|
||||||
%bootstrap-binaries-tarball
|
%bootstrap-binaries-tarball
|
||||||
%binutils-bootstrap-tarball
|
%binutils-bootstrap-tarball
|
||||||
|
@ -106,15 +111,8 @@ SYSTEM."
|
||||||
(define (hydra-jobs store arguments)
|
(define (hydra-jobs store arguments)
|
||||||
"Return Hydra jobs."
|
"Return Hydra jobs."
|
||||||
(define systems
|
(define systems
|
||||||
(match (filter-map (match-lambda
|
;; Systems we want to build for.
|
||||||
(('system . value)
|
'("x86_64-linux" "i686-linux"))
|
||||||
value)
|
|
||||||
(_ #f))
|
|
||||||
arguments)
|
|
||||||
((lst ..1)
|
|
||||||
lst)
|
|
||||||
(_
|
|
||||||
(list (%current-system)))))
|
|
||||||
|
|
||||||
(define subset
|
(define subset
|
||||||
(match (assoc-ref arguments 'subset)
|
(match (assoc-ref arguments 'subset)
|
||||||
|
@ -125,12 +123,19 @@ SYSTEM."
|
||||||
(compose string->symbol package-full-name))
|
(compose string->symbol package-full-name))
|
||||||
|
|
||||||
(define (cross-jobs system)
|
(define (cross-jobs system)
|
||||||
|
(define (from-32-to-64? target)
|
||||||
|
;; Return true if SYSTEM is 32-bit and TARGET is 64-bit.
|
||||||
|
;; This hacks prevents known-to-fail cross-builds from i686-linux to
|
||||||
|
;; mips64el-linux-gnuabi64.
|
||||||
|
(and (string-prefix? "i686-" system)
|
||||||
|
(string-suffix? "64" target)))
|
||||||
|
|
||||||
(append-map (lambda (target)
|
(append-map (lambda (target)
|
||||||
(map (lambda (package)
|
(map (lambda (package)
|
||||||
(package-cross-job store (job-name package)
|
(package-cross-job store (job-name package)
|
||||||
package target system))
|
package target system))
|
||||||
%packages-to-cross-build))
|
%packages-to-cross-build))
|
||||||
%cross-targets))
|
(remove from-32-to-64? %cross-targets)))
|
||||||
|
|
||||||
;; Return one job for each package, except bootstrap packages.
|
;; Return one job for each package, except bootstrap packages.
|
||||||
(let ((base-packages (delete-duplicates
|
(let ((base-packages (delete-duplicates
|
||||||
|
|
|
@ -253,12 +253,13 @@ dist_patch_DATA = \
|
||||||
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/binutils-loongson-workaround.patch \
|
||||||
gnu/packages/patches/bitlbee-fix-tests.patch \
|
gnu/packages/patches/bitlbee-fix-tests.patch \
|
||||||
gnu/packages/patches/bitlbee-memset-fix.patch \
|
gnu/packages/patches/bitlbee-memset-fix.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/coreutils-dummy-man.patch \
|
||||||
|
gnu/packages/patches/coreutils-skip-nohup.patch \
|
||||||
gnu/packages/patches/cpio-gets-undeclared.patch \
|
gnu/packages/patches/cpio-gets-undeclared.patch \
|
||||||
gnu/packages/patches/curl-fix-test172.patch \
|
gnu/packages/patches/curl-fix-test172.patch \
|
||||||
gnu/packages/patches/dbus-localstatedir.patch \
|
gnu/packages/patches/dbus-localstatedir.patch \
|
||||||
|
@ -278,7 +279,6 @@ dist_patch_DATA = \
|
||||||
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-make-4.0.patch \
|
|
||||||
gnu/packages/patches/gnunet-fix-scheduler.patch \
|
gnu/packages/patches/gnunet-fix-scheduler.patch \
|
||||||
gnu/packages/patches/gnunet-fix-tests.patch \
|
gnu/packages/patches/gnunet-fix-tests.patch \
|
||||||
gnu/packages/patches/gobject-introspection-cc.patch \
|
gnu/packages/patches/gobject-introspection-cc.patch \
|
||||||
|
@ -312,7 +312,7 @@ dist_patch_DATA = \
|
||||||
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/python-fix-dbm.patch \
|
gnu/packages/patches/python-fix-tests.patch \
|
||||||
gnu/packages/patches/qemu-make-4.0.patch \
|
gnu/packages/patches/qemu-make-4.0.patch \
|
||||||
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
gnu/packages/patches/qemu-multiple-smb-shares.patch \
|
||||||
gnu/packages/patches/qt4-tests.patch \
|
gnu/packages/patches/qt4-tests.patch \
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
|
@ -32,6 +32,8 @@
|
||||||
#:use-module (gnu packages multiprecision)
|
#:use-module (gnu packages multiprecision)
|
||||||
#:use-module (gnu packages perl)
|
#:use-module (gnu packages perl)
|
||||||
#:use-module (gnu packages linux)
|
#:use-module (gnu packages linux)
|
||||||
|
#:use-module (gnu packages texinfo)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
#: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)
|
||||||
|
@ -69,14 +71,14 @@ command-line arguments, multiple languages, and so on.")
|
||||||
(define-public grep
|
(define-public grep
|
||||||
(package
|
(package
|
||||||
(name "grep")
|
(name "grep")
|
||||||
(version "2.15")
|
(version "2.18")
|
||||||
(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
|
||||||
"052kjsafg2x7n2zpy3iw4pzwf8fdfng5pcvi9v3chx3rb1786nmz"))))
|
"08773flbnx28ksy0y4mzd4iifysh7yysmzn8rkz9f57sfx86whz6"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(synopsis "Print lines matching a pattern")
|
(synopsis "Print lines matching a pattern")
|
||||||
(description
|
(description
|
||||||
|
@ -231,22 +233,28 @@ used to apply commands with arbitrarily long arguments.")
|
||||||
(define-public coreutils
|
(define-public coreutils
|
||||||
(package
|
(package
|
||||||
(name "coreutils")
|
(name "coreutils")
|
||||||
(version "8.21")
|
(version "8.22")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
(uri (string-append "mirror://gnu/coreutils/coreutils-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"064f512185iysqqcvhnhaf3bfmzrvcgs7n405qsyp99zmfyl9amd"))))
|
"04hjzzv434fb8ak3hh3dyhdvg3hqjjwvjmjxqzk1gh2jh6cr8gjv"))
|
||||||
|
(patches (list (search-patch "coreutils-dummy-man.patch")
|
||||||
|
;; TODO: remove this patch for >= 8.23
|
||||||
|
(search-patch "coreutils-skip-nohup.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
(inputs `(("acl" ,acl) ; TODO: add SELinux
|
||||||
("gmp" ,gmp)
|
("gmp" ,gmp)))
|
||||||
|
(native-inputs
|
||||||
;; Perl is needed to run tests; remove it from cross builds.
|
;; Perl is needed to run tests in native builds, and to run the bundled
|
||||||
,@(if (%current-target-system)
|
;; copy of help2man. However, don't pass it when cross-compiling since
|
||||||
'()
|
;; that would lead it to try to run programs to get their '--help' output
|
||||||
`(("perl" ,perl)))))
|
;; for help2man.
|
||||||
|
(if (%current-target-system)
|
||||||
|
'()
|
||||||
|
`(("perl" ,perl))))
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(arguments
|
(arguments
|
||||||
`(#:parallel-build? #f ; help2man may be called too early
|
`(#:parallel-build? #f ; help2man may be called too early
|
||||||
|
@ -285,6 +293,7 @@ functionality beyond that which is outlined in the POSIX standard.")
|
||||||
"1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
|
"1nyvn8mknw0mf7727lprva3lisl1y0n03lvar342rrpdmz3qc1p6"))
|
||||||
(patches (list (search-patch "make-impure-dirs.patch")))))
|
(patches (list (search-patch "make-impure-dirs.patch")))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
(native-inputs `(("pkg-config", pkg-config))) ; to detect Guile
|
||||||
(inputs `(("guile" ,guile-2.0)))
|
(inputs `(("guile" ,guile-2.0)))
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(arguments
|
(arguments
|
||||||
|
@ -312,24 +321,18 @@ change. GNU make offers many powerful extensions over the standard utility.")
|
||||||
(define-public binutils
|
(define-public binutils
|
||||||
(package
|
(package
|
||||||
(name "binutils")
|
(name "binutils")
|
||||||
(version "2.23.2")
|
(version "2.24")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/binutils/binutils-"
|
(uri (string-append "mirror://gnu/binutils/binutils-"
|
||||||
version ".tar.bz2"))
|
version ".tar.bz2"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"15qhbkz3r266xaa52slh857qn3abw7rb2x2jnhpfrafpzrb4x4gy"))
|
"0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
|
||||||
(patches (list (search-patch "binutils-ld-new-dtags.patch")
|
(patches (list (search-patch "binutils-ld-new-dtags.patch")
|
||||||
(search-patch "binutils-loongson-workaround.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
|
|
||||||
;; user profiles with GCC---e.g., libiberty.a.
|
|
||||||
(outputs '("out" ; ar, ld, binutils.info, etc.
|
|
||||||
"lib")) ; libbfd.a, bfd.h, etc.
|
|
||||||
|
|
||||||
;; TODO: Add dependency on zlib + those for Gold.
|
;; TODO: Add dependency on zlib + those for Gold.
|
||||||
(arguments
|
(arguments
|
||||||
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
`(#:configure-flags '(;; Add `-static-libgcc' to not retain a dependency
|
||||||
|
@ -341,7 +344,15 @@ change. GNU make offers many powerful extensions over the standard utility.")
|
||||||
|
|
||||||
;; Glibc 2.17 has a "comparison of unsigned
|
;; Glibc 2.17 has a "comparison of unsigned
|
||||||
;; expression >= 0 is always true" in wchar.h.
|
;; expression >= 0 is always true" in wchar.h.
|
||||||
"--disable-werror")))
|
"--disable-werror"
|
||||||
|
|
||||||
|
;; Install BFD. It ends up in a hidden directory,
|
||||||
|
;; but it's here.
|
||||||
|
"--enable-install-libbfd"
|
||||||
|
|
||||||
|
;; Make sure 'ar' and 'ranlib' produce archives in a
|
||||||
|
;; deterministic fashion.
|
||||||
|
"--enable-deterministic-archives")))
|
||||||
|
|
||||||
(synopsis "Binary utilities: bfd gas gprof ld")
|
(synopsis "Binary utilities: bfd gas gprof ld")
|
||||||
(description
|
(description
|
||||||
|
@ -356,14 +367,14 @@ library for working with executable and object formats is also included.")
|
||||||
(define-public glibc
|
(define-public glibc
|
||||||
(package
|
(package
|
||||||
(name "glibc")
|
(name "glibc")
|
||||||
(version "2.18")
|
(version "2.19")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/glibc/glibc-"
|
(uri (string-append "mirror://gnu/glibc/glibc-"
|
||||||
version ".tar.xz"))
|
version ".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"18spla703zav8dq9fw7rbzkyv9qfisxb26p7amg1x3wjh7iy3d1c"))
|
"18m2dssd6ja5arxmdxinc90xvpqcsnqjfwmjl2as07j0i3srff9d"))
|
||||||
(snippet
|
(snippet
|
||||||
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
|
;; Disable 'ldconfig' and /etc/ld.so.cache. The latter is
|
||||||
;; required on LFS distros to avoid loading the distro's libc.so
|
;; required on LFS distros to avoid loading the distro's libc.so
|
||||||
|
@ -372,10 +383,7 @@ library for working with executable and object formats is also included.")
|
||||||
(("use_ldconfig=yes")
|
(("use_ldconfig=yes")
|
||||||
"use_ldconfig=no")))
|
"use_ldconfig=no")))
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(imported-modules modules)
|
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))
|
||||||
(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
|
||||||
|
@ -466,7 +474,17 @@ library for working with executable and object formats is also included.")
|
||||||
;; Same for `popen'.
|
;; Same for `popen'.
|
||||||
(substitute* "libio/iopopen.c"
|
(substitute* "libio/iopopen.c"
|
||||||
(("/bin/sh")
|
(("/bin/sh")
|
||||||
(string-append out "/bin/bash")))))
|
(string-append out "/bin/bash")))
|
||||||
|
|
||||||
|
;; Make sure we don't retain a reference to the
|
||||||
|
;; bootstrap Perl.
|
||||||
|
(substitute* "malloc/mtrace.pl"
|
||||||
|
(("^#!.*")
|
||||||
|
;; The shebang can be omitted, because there's the
|
||||||
|
;; "bilingual" eval/exec magic at the top of the file.
|
||||||
|
"")
|
||||||
|
(("exec @PERL@")
|
||||||
|
"exec perl"))))
|
||||||
(alist-cons-after
|
(alist-cons-after
|
||||||
'install 'install-locales
|
'install 'install-locales
|
||||||
(lambda _
|
(lambda _
|
||||||
|
@ -474,6 +492,11 @@ library for working with executable and object formats is also included.")
|
||||||
%standard-phases))))
|
%standard-phases))))
|
||||||
|
|
||||||
(inputs `(("static-bash" ,(static-package bash-light))))
|
(inputs `(("static-bash" ,(static-package bash-light))))
|
||||||
|
|
||||||
|
;; To build the manual, we need Texinfo and Perl.
|
||||||
|
(native-inputs `(("texinfo" ,texinfo)
|
||||||
|
("perl" ,perl)))
|
||||||
|
|
||||||
(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
|
||||||
|
@ -584,6 +607,7 @@ and daylight-saving rules.")
|
||||||
(copy-file "make"
|
(copy-file "make"
|
||||||
(string-append bin "/make"))))
|
(string-append bin "/make"))))
|
||||||
,phases))))))
|
,phases))))))
|
||||||
|
(native-inputs '()) ; no need for 'pkg-config'
|
||||||
(inputs %bootstrap-inputs))))
|
(inputs %bootstrap-inputs))))
|
||||||
|
|
||||||
(define diffutils-boot0
|
(define diffutils-boot0
|
||||||
|
@ -736,6 +760,13 @@ identifier SYSTEM."
|
||||||
(native-inputs (alist-delete "texinfo"
|
(native-inputs (alist-delete "texinfo"
|
||||||
(package-native-inputs gcc-4.8))))))
|
(package-native-inputs gcc-4.8))))))
|
||||||
|
|
||||||
|
(define perl-boot0
|
||||||
|
(package-with-bootstrap-guile
|
||||||
|
(package-with-explicit-inputs perl
|
||||||
|
%boot0-inputs
|
||||||
|
(current-source-location)
|
||||||
|
#:guile %bootstrap-guile)))
|
||||||
|
|
||||||
(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."
|
||||||
;; Note: this is wrapped in a thunk to nicely handle circular dependencies
|
;; Note: this is wrapped in a thunk to nicely handle circular dependencies
|
||||||
|
@ -746,12 +777,20 @@ identifier SYSTEM."
|
||||||
#:implicit-inputs? #f
|
#:implicit-inputs? #f
|
||||||
,@(package-arguments linux-libre-headers)))
|
,@(package-arguments linux-libre-headers)))
|
||||||
(native-inputs
|
(native-inputs
|
||||||
(let ((perl (package-with-explicit-inputs perl
|
`(("perl" ,perl-boot0)
|
||||||
%boot0-inputs
|
,@%boot0-inputs)))))
|
||||||
(current-source-location)
|
|
||||||
#:guile %bootstrap-guile)))
|
(define texinfo-boot0
|
||||||
`(("perl" ,perl)
|
;; Texinfo used to build libc's manual.
|
||||||
,@%boot0-inputs))))))
|
;; We build without ncurses because it fails to build at this stage, and
|
||||||
|
;; because we don't need the stand-alone Info reader.
|
||||||
|
;; Also, use %BOOT0-INPUTS to avoid building Perl once more.
|
||||||
|
(let ((texinfo (package (inherit texinfo)
|
||||||
|
(inputs (alist-delete "ncurses" (package-inputs texinfo))))))
|
||||||
|
(package-with-bootstrap-guile
|
||||||
|
(package-with-explicit-inputs texinfo %boot0-inputs
|
||||||
|
(current-source-location)
|
||||||
|
#:guile %bootstrap-guile))))
|
||||||
|
|
||||||
(define %boot1-inputs
|
(define %boot1-inputs
|
||||||
;; 2nd stage inputs.
|
;; 2nd stage inputs.
|
||||||
|
@ -785,6 +824,9 @@ identifier SYSTEM."
|
||||||
"--enable-obsolete-rpc")
|
"--enable-obsolete-rpc")
|
||||||
,flags)))))
|
,flags)))))
|
||||||
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
|
(propagated-inputs `(("linux-headers" ,(linux-libre-headers-boot0))))
|
||||||
|
(native-inputs
|
||||||
|
`(("texinfo" ,texinfo-boot0)
|
||||||
|
("perl" ,perl-boot0)))
|
||||||
(inputs
|
(inputs
|
||||||
`( ;; A native GCC is needed to build `cross-rpcgen'.
|
`( ;; A native GCC is needed to build `cross-rpcgen'.
|
||||||
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
|
("native-gcc" ,@(assoc-ref %boot0-inputs "gcc"))
|
||||||
|
|
|
@ -51,14 +51,14 @@
|
||||||
(symlink "bash" "sh"))))))
|
(symlink "bash" "sh"))))))
|
||||||
(package
|
(package
|
||||||
(name "bash")
|
(name "bash")
|
||||||
(version "4.2")
|
(version "4.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"mirror://gnu/bash/bash-" version ".tar.gz"))
|
"mirror://gnu/bash/bash-" version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1n5kbblp5ykbz5q8aq88lsif2z0gnvddg9babk33024wxiwi2ym2"))))
|
"1m14s1f61mf6bijfibcjm9y6pkyvz6gibyl8p4hxq90fisi8gimg"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs `(("readline" ,readline)
|
(inputs `(("readline" ,readline)
|
||||||
("ncurses" ,ncurses))) ; TODO: add texinfo
|
("ncurses" ,ncurses))) ; TODO: add texinfo
|
||||||
|
|
|
@ -23,17 +23,17 @@
|
||||||
#:use-module (guix build-system gnu)
|
#:use-module (guix build-system gnu)
|
||||||
#:use-module (gnu packages pkg-config))
|
#:use-module (gnu packages pkg-config))
|
||||||
|
|
||||||
(define-public libgc
|
(define-public libgc-7.2
|
||||||
(package
|
(package
|
||||||
(name "libgc")
|
(name "libgc")
|
||||||
(version "7.2d")
|
(version "7.2e")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
|
(uri (string-append "http://www.hboehm.info/gc/gc_source/gc-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0phwa5driahnpn79zqff14w9yc8sn3599cxz91m78hqdcpl0mznr"))))
|
"0jxgr71rhk58dzc1ihqs51vldh2qs1m154bn41qh6q1dm145nc89"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
;; Make it so that we don't rely on /proc. This is especially useful in
|
;; Make it so that we don't rely on /proc. This is especially useful in
|
||||||
|
@ -86,8 +86,8 @@ lock-free code, experiment with thread programming paradigms, etc.")
|
||||||
;; Some source files are X11-style, others are GPLv2+.
|
;; Some source files are X11-style, others are GPLv2+.
|
||||||
(license gpl2+)))
|
(license gpl2+)))
|
||||||
|
|
||||||
(define-public libgc-7.4
|
(define-public libgc
|
||||||
(package (inherit libgc)
|
(package (inherit libgc-7.2)
|
||||||
(version "7.4.0")
|
(version "7.4.0")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
|
|
|
@ -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 © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -100,7 +101,7 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
|
||||||
'(lambda* (#:key outputs #:allow-other-keys)
|
'(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(with-directory-excursion (assoc-ref outputs "out")
|
(with-directory-excursion (assoc-ref outputs "out")
|
||||||
(mkdir "share")
|
(mkdir "share")
|
||||||
(rename-file "man" "share"))))
|
(rename-file "man" "share/man"))))
|
||||||
(build-shared-lib
|
(build-shared-lib
|
||||||
;; Build a shared library.
|
;; Build a shared library.
|
||||||
'(lambda* (#:key inputs #:allow-other-keys)
|
'(lambda* (#:key inputs #:allow-other-keys)
|
||||||
|
|
|
@ -34,14 +34,14 @@
|
||||||
(define-public gnu-gettext
|
(define-public gnu-gettext
|
||||||
(package
|
(package
|
||||||
(name "gettext")
|
(name "gettext")
|
||||||
(version "0.18.3.1")
|
(version "0.18.3.2")
|
||||||
(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
|
||||||
"0p940zmmw1lndvdhck2vrazikjhr02affwy47mmpfxqvacrrm3qd"))))
|
"1my5njl7mp663abpdn8qsm5i462wlhlnb5q50fmhgd0fsr9f996i"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(inputs
|
(inputs
|
||||||
`(("expat" ,expat)))
|
`(("expat" ,expat)))
|
||||||
|
|
|
@ -50,10 +50,6 @@
|
||||||
(base32
|
(base32
|
||||||
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
|
"0pz58vr12qihq2f0bypjxsb6cf6ajq5258fmfm8s6lvwm3b9xz6a"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
|
||||||
(if (%current-target-system)
|
|
||||||
'(#:configure-flags '("CC_FOR_BUILD=gcc"))
|
|
||||||
'()))
|
|
||||||
(home-page "http://gnupg.org")
|
(home-page "http://gnupg.org")
|
||||||
(synopsis
|
(synopsis
|
||||||
"Libgpg-error, a small library that defines common error values for all GnuPG components")
|
"Libgpg-error, a small library that defines common error values for all GnuPG components")
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -108,14 +109,14 @@ without requiring the source code to be rewritten.")
|
||||||
(define-public guile-2.0
|
(define-public guile-2.0
|
||||||
(package
|
(package
|
||||||
(name "guile")
|
(name "guile")
|
||||||
(version "2.0.9")
|
(version "2.0.11")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/guile/guile-" version
|
(uri (string-append "mirror://gnu/guile/guile-" version
|
||||||
".tar.xz"))
|
".tar.xz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"0nw9y8vjyz4r61v06p9msks5lm58pd91irmzg4k487vmv743h2pp"))))
|
"1qh3j7308qvsjgwf7h94yqgckpbgz2k3yqdkzsyhqcafvfka9l5f"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs `(("pkgconfig" ,pkg-config)))
|
(native-inputs `(("pkgconfig" ,pkg-config)))
|
||||||
(inputs `(("libffi" ,libffi)
|
(inputs `(("libffi" ,libffi)
|
||||||
|
@ -136,7 +137,7 @@ without requiring the source code to be rewritten.")
|
||||||
|
|
||||||
;; The headers and/or `guile-2.0.pc' refer to these packages, so they
|
;; The headers and/or `guile-2.0.pc' refer to these packages, so they
|
||||||
;; must be propagated.
|
;; must be propagated.
|
||||||
("bdw-gc" ,libgc-7.4)
|
("bdw-gc" ,libgc)
|
||||||
("gmp" ,gmp)))
|
("gmp" ,gmp)))
|
||||||
|
|
||||||
(self-native-input? #t)
|
(self-native-input? #t)
|
||||||
|
@ -152,11 +153,7 @@ without requiring the source code to be rewritten.")
|
||||||
(substitute* "module/ice-9/popen.scm"
|
(substitute* "module/ice-9/popen.scm"
|
||||||
(("/bin/sh")
|
(("/bin/sh")
|
||||||
(string-append bash "/bin/bash")))))
|
(string-append bash "/bin/bash")))))
|
||||||
%standard-phases)
|
%standard-phases)))
|
||||||
|
|
||||||
,@(if (%current-target-system)
|
|
||||||
'(#:configure-flags '("CC_FOR_BUILD=gcc"))
|
|
||||||
'())))
|
|
||||||
|
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
|
@ -179,15 +176,7 @@ without requiring the source code to be rewritten.")
|
||||||
(define-public guile-2.0/fixed
|
(define-public guile-2.0/fixed
|
||||||
;; A package of Guile 2.0 that's rarely changed. It is the one used
|
;; A package of Guile 2.0 that's rarely changed. It is the one used
|
||||||
;; in the `base' module, and thus changing it entails a full rebuild.
|
;; in the `base' module, and thus changing it entails a full rebuild.
|
||||||
(package (inherit guile-2.0)
|
guile-2.0)
|
||||||
(location (source-properties->location (current-source-location)))
|
|
||||||
|
|
||||||
;; Keep using the stable libgc.
|
|
||||||
(propagated-inputs (map (match-lambda
|
|
||||||
(("bdw-gc" _)
|
|
||||||
`("bdw-gc" ,libgc))
|
|
||||||
(x x))
|
|
||||||
(package-propagated-inputs guile-2.0)))))
|
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
|
|
|
@ -11,7 +11,7 @@ main="(@ (gnu build-support ld-wrapper) ld-wrapper)"
|
||||||
exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
|
exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "$@"
|
||||||
!#
|
!#
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -63,7 +63,7 @@ exec @GUILE@ -c "(load-compiled \"$0.go\") (apply $main (cdr (command-line)))" "
|
||||||
|
|
||||||
(define %store-directory
|
(define %store-directory
|
||||||
;; File name of the store.
|
;; File name of the store.
|
||||||
(or (getenv "NIX_STORE") "/nix/store"))
|
(or (getenv "NIX_STORE") "/gnu/store"))
|
||||||
|
|
||||||
(define %temporary-directory
|
(define %temporary-directory
|
||||||
;; Temporary directory.
|
;; Temporary directory.
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -25,18 +25,12 @@
|
||||||
|
|
||||||
(define-public libffi
|
(define-public libffi
|
||||||
(let ((post-install-phase
|
(let ((post-install-phase
|
||||||
;; Install headers in the right place.
|
;; Keep headers where libffi.pc expects them, but also make them
|
||||||
|
;; available in $includedir where some users expect them.
|
||||||
'(lambda* (#:key outputs #:allow-other-keys)
|
'(lambda* (#:key outputs #:allow-other-keys)
|
||||||
(define out (assoc-ref outputs "out"))
|
(define out (assoc-ref outputs "out"))
|
||||||
(mkdir (string-append out "/include"))
|
(symlink (string-append out "/lib/libffi-3.0.13/include")
|
||||||
(with-directory-excursion
|
(string-append out "/include")))))
|
||||||
(string-append out "/lib/libffi-3.0.13/include")
|
|
||||||
(for-each (lambda (h)
|
|
||||||
(format #t "moving `~a' to includedir~%" h)
|
|
||||||
(rename-file h (string-append out "/include/" h)))
|
|
||||||
(scandir "."
|
|
||||||
(lambda (x)
|
|
||||||
(not (member x '("." ".."))))))))))
|
|
||||||
(package
|
(package
|
||||||
(name "libffi")
|
(name "libffi")
|
||||||
(version "3.0.13")
|
(version "3.0.13")
|
||||||
|
@ -50,9 +44,7 @@
|
||||||
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))
|
"077ibkf84bvcd6rw1m6jb107br63i2pp301rkmsbgg6300adxp8x"))
|
||||||
(patches (list (search-patch "libffi-mips-n32-fix.patch")))))
|
(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 `(#:phases (alist-cons-after 'install 'post-install
|
||||||
(ice-9 ftw) (srfi srfi-26))
|
|
||||||
#:phases (alist-cons-after 'install 'post-install
|
|
||||||
,post-install-phase
|
,post-install-phase
|
||||||
%standard-phases)))
|
%standard-phases)))
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
|
|
|
@ -71,8 +71,6 @@ basis for almost any application.")
|
||||||
(modules '((guix build utils)))
|
(modules '((guix build utils)))
|
||||||
(snippet
|
(snippet
|
||||||
'(begin
|
'(begin
|
||||||
(use-modules (guix build utils))
|
|
||||||
|
|
||||||
(substitute* "src/testsuite/functions.sh"
|
(substitute* "src/testsuite/functions.sh"
|
||||||
(("localhost")
|
(("localhost")
|
||||||
;; Avoid host name lookups since they don't work in
|
;; Avoid host name lookups since they don't work in
|
||||||
|
|
|
@ -502,10 +502,7 @@ for `sh' in $PATH, and without nscd, and with static NSS modules."
|
||||||
`(;; When `configure' checks for ltdl availability, it
|
`(;; When `configure' checks for ltdl availability, it
|
||||||
;; doesn't try to link using libtool, and thus fails
|
;; doesn't try to link using libtool, and thus fails
|
||||||
;; because of a missing -ldl. Work around that.
|
;; because of a missing -ldl. Work around that.
|
||||||
#:configure-flags '("LDFLAGS=-ldl"
|
#:configure-flags '("LDFLAGS=-ldl")
|
||||||
,@(if (%current-target-system)
|
|
||||||
'("CC_FOR_BUILD=gcc")
|
|
||||||
'()))
|
|
||||||
|
|
||||||
#:phases (alist-cons-before
|
#:phases (alist-cons-before
|
||||||
'configure 'static-guile
|
'configure 'static-guile
|
||||||
|
|
|
@ -77,13 +77,13 @@ floating-point computations with correct rounding.")
|
||||||
(define-public mpc
|
(define-public mpc
|
||||||
(package
|
(package
|
||||||
(name "mpc")
|
(name "mpc")
|
||||||
(version "1.0.1")
|
(version "1.0.2")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append
|
(uri (string-append
|
||||||
"mirror://gnu/mpc/mpc-" version ".tar.gz"))
|
"mirror://gnu/mpc/mpc-" version ".tar.gz"))
|
||||||
(sha256 (base32
|
(sha256 (base32
|
||||||
"1zq0fidp1jii2j5k5n9hmx55a6wwid33gjzhimvxq9d5zrf82npd"))))
|
"1264h3ivldw5idph63x35dqqdzqqbxrm5vlir0xyx727i96zaqdm"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(outputs '("out" "debug"))
|
(outputs '("out" "debug"))
|
||||||
(propagated-inputs `(("gmp" ,gmp) ; <mpc.h> refers to both
|
(propagated-inputs `(("gmp" ,gmp) ; <mpc.h> refers to both
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; 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 © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -99,6 +100,11 @@
|
||||||
,(string-append "--includedir=" (assoc-ref %outputs "out")
|
,(string-append "--includedir=" (assoc-ref %outputs "out")
|
||||||
"/include")
|
"/include")
|
||||||
|
|
||||||
|
;; By default man pages land in PREFIX/man, but we want them
|
||||||
|
;; in PREFIX/share/man.
|
||||||
|
,(string-append "--mandir=" (assoc-ref %outputs "out")
|
||||||
|
"/share/man")
|
||||||
|
|
||||||
;; C++ bindings fail to build on
|
;; C++ bindings fail to build on
|
||||||
;; `i386-pc-solaris2.11' with GCC 3.4.3:
|
;; `i386-pc-solaris2.11' with GCC 3.4.3:
|
||||||
;; <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>.
|
;; <http://bugs.opensolaris.org/bugdatabase/view_bug.do?bug_id=6395191>.
|
||||||
|
|
|
@ -1,44 +0,0 @@
|
||||||
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 },
|
|
|
@ -0,0 +1,21 @@
|
||||||
|
Patch adapted from <http://git.yoctoproject.org/cgit.cgi/poky/plain/meta/recipes-core/coreutils/coreutils-8.22/fix-for-dummy-man-usage.patch>.
|
||||||
|
|
||||||
|
Fix for 'dummy-man' usage, when cross-compiling.
|
||||||
|
|
||||||
|
The options should be before the final argument, otherwise, the following error
|
||||||
|
would appear when compiling:
|
||||||
|
|
||||||
|
dummy-man: too many non-option arguments
|
||||||
|
|
||||||
|
--- coreutils-8.22/Makefile.in 2013-12-13 16:20:00.000000000 +0100
|
||||||
|
+++ coreutils-8.22/Makefile.in 2014-02-28 10:53:27.000000000 +0100
|
||||||
|
@@ -9977,8 +9977,8 @@ man/yes.1: src/yes
|
||||||
|
&& $(run_help2man) \
|
||||||
|
--source='$(PACKAGE_STRING)' \
|
||||||
|
--include=$(srcdir)/man/$$name.x \
|
||||||
|
- --output=$$t/$$name.1 $$t/$$name \
|
||||||
|
--info-page='coreutils \(aq'$$name' invocation\(aq' \
|
||||||
|
+ --output=$$t/$$name.1 $$t/$$name \
|
||||||
|
&& sed \
|
||||||
|
-e 's|$*\.td/||g' \
|
||||||
|
-e '/For complete documentation/d' \
|
|
@ -0,0 +1,28 @@
|
||||||
|
commit 5dce6bdfafc930dfd17d5d16aea7d1add3472066
|
||||||
|
Author: Pádraig Brady <P@draigBrady.com>
|
||||||
|
Date: Wed Mar 5 15:14:07 2014 +0000
|
||||||
|
|
||||||
|
tests: fix false failure in nohup.sh in non tty builds
|
||||||
|
|
||||||
|
* tests/misc/nohup.sh: When running tests without a controlling tty,
|
||||||
|
an exec failure is triggered in a subshell, which causes POSIX
|
||||||
|
shells to immediately exit the subshell. This was brought
|
||||||
|
to notice by the newly conforming bash 4.3.
|
||||||
|
Fixes http:/bugs.gnu.org/16940
|
||||||
|
|
||||||
|
diff --git a/tests/misc/nohup.sh b/tests/misc/nohup.sh
|
||||||
|
index 6d2b515..2328b43 100755
|
||||||
|
--- a/tests/misc/nohup.sh
|
||||||
|
+++ b/tests/misc/nohup.sh
|
||||||
|
@@ -63,6 +63,11 @@ rm -f nohup.out err
|
||||||
|
# to stderr must be fatal. Requires stdout to be terminal.
|
||||||
|
if test -w /dev/full && test -c /dev/full; then
|
||||||
|
(
|
||||||
|
+ # POSIX shells immediately exit the subshell on exec error.
|
||||||
|
+ # So check we can write to /dev/tty before the exec, which
|
||||||
|
+ # isn't possible if we've no controlling tty for example.
|
||||||
|
+ test -c /dev/tty && >/dev/tty || exit 0
|
||||||
|
+
|
||||||
|
exec >/dev/tty
|
||||||
|
test -t 1 || exit 0
|
||||||
|
nohup echo hi 2> /dev/full
|
|
@ -1,12 +0,0 @@
|
||||||
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;;
|
|
|
@ -1,20 +0,0 @@
|
||||||
This patch allows the dbm module to be built using the compatibility mode of
|
|
||||||
gdbm. It will not be needed any more with Python 2.7.4.
|
|
||||||
--- setup.py 2013-04-06 00:53:37.000000000 +0200
|
|
||||||
+++ setup.py.new 2013-04-06 19:55:05.000000000 +0200
|
|
||||||
@@ -1158,10 +1158,14 @@
|
|
||||||
for cand in dbm_order:
|
|
||||||
if cand == "ndbm":
|
|
||||||
if find_file("ndbm.h", inc_dirs, []) is not None:
|
|
||||||
- # Some systems have -lndbm, others don't
|
|
||||||
+ # Some systems have -lndbm, some have -lgdbm_compat,
|
|
||||||
+ # others have no particular linker flags.
|
|
||||||
if self.compiler.find_library_file(lib_dirs,
|
|
||||||
'ndbm'):
|
|
||||||
ndbm_libs = ['ndbm']
|
|
||||||
+ elif self.compiler.find_library_file(lib_dirs,
|
|
||||||
+ 'gdbm_compat'):
|
|
||||||
+ ndbm_libs = ['gdbm_compat']
|
|
||||||
else:
|
|
||||||
ndbm_libs = []
|
|
||||||
print "building dbm using ndbm"
|
|
|
@ -0,0 +1,66 @@
|
||||||
|
See the discussion about the issues fixed here at:
|
||||||
|
http://bugs.python.org/issue20868 .
|
||||||
|
|
||||||
|
--- Lib/test/test_shutil.py 2014-03-01 03:02:36.088311000 +0100
|
||||||
|
+++ Lib/test/test_shutil.py 2014-03-01 04:56:37.768311000 +0100
|
||||||
|
@@ -1053,6 +1053,7 @@
|
||||||
|
self.assertRaises(ValueError, make_archive, base_name, 'xxx')
|
||||||
|
|
||||||
|
@requires_zlib
|
||||||
|
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
|
||||||
|
def test_make_archive_owner_group(self):
|
||||||
|
# testing make_archive with owner and group, with various combinations
|
||||||
|
# this works even if there's not gid/uid support
|
||||||
|
@@ -1081,6 +1082,7 @@
|
||||||
|
|
||||||
|
|
||||||
|
@requires_zlib
|
||||||
|
+ @unittest.skipIf(True, "getgrgid(0)[0] raises a KeyError on Guix")
|
||||||
|
@unittest.skipUnless(UID_GID_SUPPORT, "Requires grp and pwd support")
|
||||||
|
def test_tarfile_root_owner(self):
|
||||||
|
tmpdir, tmpdir2, base_name = self._create_files()
|
||||||
|
|
||||||
|
--- Lib/test/test_posixpath.py 2014-03-01 05:46:56.984311000 +0100
|
||||||
|
+++ Lib/test/test_posixpath.py 2014-03-07 00:59:20.888311000 +0100
|
||||||
|
@@ -319,7 +319,11 @@
|
||||||
|
del env['HOME']
|
||||||
|
home = pwd.getpwuid(os.getuid()).pw_dir
|
||||||
|
# $HOME can end with a trailing /, so strip it (see #17809)
|
||||||
|
- self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
|
||||||
|
+ # The Guix builders have '/' as a home directory, so
|
||||||
|
+ # home.rstrip("/") will be an empty string and the test will
|
||||||
|
+ # fail. Let's just disable it since it does not really make
|
||||||
|
+ # sense with such a bizarre setup.
|
||||||
|
+ # self.assertEqual(posixpath.expanduser("~"), home.rstrip("/"))
|
||||||
|
|
||||||
|
def test_normpath(self):
|
||||||
|
self.assertEqual(posixpath.normpath(""), ".")
|
||||||
|
--- Lib/test/test_socket.py.orig 2014-03-02 22:14:12.264311000 +0100
|
||||||
|
+++ Lib/test/test_socket.py 2014-03-21 03:50:45.660311000 +0100
|
||||||
|
@@ -819,6 +819,8 @@
|
||||||
|
self.assertRaises(OverflowError, socket.htonl, k)
|
||||||
|
self.assertRaises(OverflowError, socket.htons, k)
|
||||||
|
|
||||||
|
+ @unittest.skipUnless(os.path.exists("/etc/services"),
|
||||||
|
+ "getservbyname uses /etc/services, which is not in the chroot")
|
||||||
|
def testGetServBy(self):
|
||||||
|
eq = self.assertEqual
|
||||||
|
# Find one service that exists, then check all the related interfaces.
|
||||||
|
@@ -1104,6 +1106,8 @@
|
||||||
|
self.assertRaises(ValueError, s.ioctl, -1, None)
|
||||||
|
s.ioctl(socket.SIO_KEEPALIVE_VALS, (1, 100, 100))
|
||||||
|
|
||||||
|
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||||
|
+ "getaddrinfo() will fail")
|
||||||
|
def testGetaddrinfo(self):
|
||||||
|
try:
|
||||||
|
socket.getaddrinfo('localhost', 80)
|
||||||
|
@@ -1174,6 +1178,8 @@
|
||||||
|
# only IP addresses are allowed
|
||||||
|
self.assertRaises(socket.error, socket.getnameinfo, ('mail.python.org',0), 0)
|
||||||
|
|
||||||
|
+ @unittest.skipUnless(os.path.exists("/etc/gai.conf"),
|
||||||
|
+ "getaddrinfo() will fail")
|
||||||
|
@unittest.skipUnless(support.is_resource_enabled('network'),
|
||||||
|
'network is not enabled')
|
||||||
|
def test_idna(self):
|
|
@ -28,9 +28,11 @@
|
||||||
#:use-module (gnu packages compression)
|
#:use-module (gnu packages compression)
|
||||||
#:use-module (gnu packages gdbm)
|
#:use-module (gnu packages gdbm)
|
||||||
#:use-module (gnu packages icu4c)
|
#:use-module (gnu packages icu4c)
|
||||||
|
#:use-module (gnu packages libffi)
|
||||||
#:use-module (gnu packages readline)
|
#:use-module (gnu packages readline)
|
||||||
#:use-module (gnu packages openssl)
|
#:use-module (gnu packages openssl)
|
||||||
#:use-module (gnu packages elf)
|
#:use-module (gnu packages elf)
|
||||||
|
#:use-module (gnu packages pkg-config)
|
||||||
#:use-module (gnu packages sqlite)
|
#:use-module (gnu packages sqlite)
|
||||||
#:use-module (guix packages)
|
#:use-module (guix packages)
|
||||||
#:use-module (guix download)
|
#:use-module (guix download)
|
||||||
|
@ -99,10 +101,12 @@
|
||||||
#:configure-flags
|
#:configure-flags
|
||||||
(let ((bz2 (assoc-ref %build-inputs "bzip2"))
|
(let ((bz2 (assoc-ref %build-inputs "bzip2"))
|
||||||
(gdbm (assoc-ref %build-inputs "gdbm"))
|
(gdbm (assoc-ref %build-inputs "gdbm"))
|
||||||
|
(libffi (assoc-ref %build-inputs "libffi"))
|
||||||
(openssl (assoc-ref %build-inputs "openssl"))
|
(openssl (assoc-ref %build-inputs "openssl"))
|
||||||
(readline (assoc-ref %build-inputs "readline"))
|
(readline (assoc-ref %build-inputs "readline"))
|
||||||
(zlib (assoc-ref %build-inputs "zlib")))
|
(zlib (assoc-ref %build-inputs "zlib")))
|
||||||
(list "--enable-shared" ; allow embedding
|
(list "--enable-shared" ; allow embedding
|
||||||
|
"--with-system-ffi" ; build ctypes
|
||||||
(string-append "CPPFLAGS="
|
(string-append "CPPFLAGS="
|
||||||
"-I" bz2 "/include "
|
"-I" bz2 "/include "
|
||||||
"-I" gdbm "/include "
|
"-I" gdbm "/include "
|
||||||
|
@ -112,6 +116,7 @@
|
||||||
(string-append "LDFLAGS="
|
(string-append "LDFLAGS="
|
||||||
"-L" bz2 "/lib "
|
"-L" bz2 "/lib "
|
||||||
"-L" gdbm "/lib "
|
"-L" gdbm "/lib "
|
||||||
|
"-L" libffi "/lib "
|
||||||
"-L" openssl "/lib "
|
"-L" openssl "/lib "
|
||||||
"-L" readline "/lib "
|
"-L" readline "/lib "
|
||||||
"-L" zlib "/lib")))
|
"-L" zlib "/lib")))
|
||||||
|
@ -134,14 +139,34 @@
|
||||||
(with-directory-excursion out
|
(with-directory-excursion out
|
||||||
(for-each (cut augment-rpath <> lib)
|
(for-each (cut augment-rpath <> lib)
|
||||||
(find-files "bin" ".*")))))
|
(find-files "bin" ".*")))))
|
||||||
%standard-phases)))
|
(alist-replace
|
||||||
|
'configure
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys #:rest args)
|
||||||
|
(let ((configure (assoc-ref %standard-phases 'configure)))
|
||||||
|
(substitute* "Lib/subprocess.py"
|
||||||
|
(("args = \\[\"/bin/sh")
|
||||||
|
(string-append "args = [\"" (which "sh"))))
|
||||||
|
(substitute*
|
||||||
|
'("Lib/distutils/tests/test_spawn.py"
|
||||||
|
"Lib/test/test_subprocess.py")
|
||||||
|
(("/bin/sh") (which "sh")))
|
||||||
|
(apply configure args)))
|
||||||
|
(alist-cons-before
|
||||||
|
'check 'pre-check
|
||||||
|
(lambda _
|
||||||
|
;; 'Lib/test/test_site.py' needs a valid $HOME
|
||||||
|
(setenv "HOME" (getcwd)))
|
||||||
|
%standard-phases)))))
|
||||||
(inputs
|
(inputs
|
||||||
`(("bzip2" ,bzip2)
|
`(("bzip2" ,bzip2)
|
||||||
("gdbm" ,gdbm)
|
("gdbm" ,gdbm)
|
||||||
|
("libffi" ,libffi) ; for ctypes
|
||||||
("openssl" ,openssl)
|
("openssl" ,openssl)
|
||||||
("readline" ,readline)
|
("readline" ,readline)
|
||||||
("zlib" ,zlib)
|
("zlib" ,zlib)
|
||||||
("patchelf" ,patchelf))) ; for (guix build rpath)
|
("patchelf" ,patchelf))) ; for (guix build rpath)
|
||||||
|
(native-inputs
|
||||||
|
`(("pkg-config" ,pkg-config)))
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "PYTHONPATH")
|
(variable "PYTHONPATH")
|
||||||
|
@ -167,9 +192,19 @@ data types.")
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "https://www.python.org/ftp/python/"
|
(uri (string-append "https://www.python.org/ftp/python/"
|
||||||
version "/Python-" version ".tar.xz"))
|
version "/Python-" version ".tar.xz"))
|
||||||
|
(patches (list (search-patch "python-fix-tests.patch")))
|
||||||
|
(patch-flags '("-p0"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"11f6hg9wdhm6hyzj49gxlvvp1s0l5hqgcsq1i4ayygqs1arpb4ik"))))
|
"11f6hg9wdhm6hyzj49gxlvvp1s0l5hqgcsq1i4ayygqs1arpb4ik"))))
|
||||||
|
(arguments
|
||||||
|
(let ((args `(#:modules ((guix build gnu-build-system)
|
||||||
|
(guix build utils)
|
||||||
|
(srfi srfi-1)
|
||||||
|
(srfi srfi-26))
|
||||||
|
,@(package-arguments python-2))))
|
||||||
|
(substitute-keyword-arguments args
|
||||||
|
((#:tests? _) #t))))
|
||||||
(native-search-paths
|
(native-search-paths
|
||||||
(list (search-path-specification
|
(list (search-path-specification
|
||||||
(variable "PYTHONPATH")
|
(variable "PYTHONPATH")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -38,14 +38,14 @@
|
||||||
(find-files lib "\\.a"))))))
|
(find-files lib "\\.a"))))))
|
||||||
(package
|
(package
|
||||||
(name "readline")
|
(name "readline")
|
||||||
(version "6.2")
|
(version "6.3")
|
||||||
(source (origin
|
(source (origin
|
||||||
(method url-fetch)
|
(method url-fetch)
|
||||||
(uri (string-append "mirror://gnu/readline/readline-"
|
(uri (string-append "mirror://gnu/readline/readline-"
|
||||||
version ".tar.gz"))
|
version ".tar.gz"))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"10ckm2bd2rkxhvdmj7nmbsylmihw0abwcsnxf8y27305183rd9kr"))
|
"0hzxr9jxqqx5sxsv9vmlxdnvlr9vi4ih1avjb869hbs6p5qn1fjn"))
|
||||||
(patches (list (search-patch "readline-link-ncurses.patch")))
|
(patches (list (search-patch "readline-link-ncurses.patch")))
|
||||||
(patch-flags '("-p0"))))
|
(patch-flags '("-p0"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
@ -53,7 +53,13 @@
|
||||||
(arguments `(#:configure-flags
|
(arguments `(#: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")
|
||||||
|
|
||||||
|
;; This test does an 'AC_TRY_RUN', which aborts when
|
||||||
|
;; cross-compiling, so provide the correct answer.
|
||||||
|
,@(if (%current-target-system)
|
||||||
|
'("bash_cv_wcwidth_broken=no")
|
||||||
|
'()))
|
||||||
|
|
||||||
#:phases (alist-cons-after
|
#:phases (alist-cons-after
|
||||||
'install 'post-install
|
'install 'post-install
|
||||||
|
|
|
@ -93,22 +93,12 @@ related documentation.")
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
|
|
||||||
(arguments
|
(arguments
|
||||||
'(#:phases (alist-replace
|
'(#:phases (alist-cons-before
|
||||||
'unpack
|
'configure 'bootstrap
|
||||||
;; FIXME: Remove this when gnu-build-system handles that
|
(lambda _
|
||||||
;; case correctly.
|
(chmod "libwebsockets-api-doc.html" #o666)
|
||||||
(lambda* (#:key source #:allow-other-keys)
|
(zero? (system* "./autogen.sh")))
|
||||||
(mkdir "source")
|
%standard-phases)))
|
||||||
(chdir "source")
|
|
||||||
(copy-recursively source ".")
|
|
||||||
#t)
|
|
||||||
|
|
||||||
(alist-cons-before
|
|
||||||
'configure 'bootstrap
|
|
||||||
(lambda _
|
|
||||||
(chmod "libwebsockets-api-doc.html" #o666)
|
|
||||||
(zero? (system* "./autogen.sh")))
|
|
||||||
%standard-phases))))
|
|
||||||
|
|
||||||
(native-inputs `(("autoconf" ,autoconf)
|
(native-inputs `(("autoconf" ,autoconf)
|
||||||
("automake" ,automake)
|
("automake" ,automake)
|
||||||
|
|
|
@ -1,5 +1,6 @@
|
||||||
;;; GNU Guix --- Functional package management for GNU
|
;;; GNU Guix --- Functional package management for GNU
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
|
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -1742,6 +1743,22 @@ tracking.")
|
||||||
"1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"))))
|
"1vbmrcn5n3wp4pyw0n4c3pyvzlc4yf7jzgngavfdq5zwfbgfsybx"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(native-inputs `(("pkg-config" ,pkg-config)))
|
(native-inputs `(("pkg-config" ,pkg-config)))
|
||||||
|
(arguments
|
||||||
|
`(#:phases (alist-cons-after
|
||||||
|
'unpack 'fix-makefile-in
|
||||||
|
(lambda _
|
||||||
|
(substitute* "Makefile.in"
|
||||||
|
;; Install xorg-macros.pc in PREFIX/lib/pkgconfig,
|
||||||
|
;; not PREFIX/share/pkgconfig.
|
||||||
|
(("\\$\\(datadir\\)/pkgconfig") "$(libdir)/pkgconfig")))
|
||||||
|
(alist-cons-after
|
||||||
|
'install 'post-install-cleanup
|
||||||
|
(lambda* (#:key outputs #:allow-other-keys)
|
||||||
|
(let ((out (assoc-ref outputs "out")))
|
||||||
|
(with-directory-excursion out
|
||||||
|
(delete-file "share/util-macros/INSTALL")
|
||||||
|
(rmdir "share/util-macros"))))
|
||||||
|
%standard-phases))))
|
||||||
(home-page "http://www.x.org/wiki/")
|
(home-page "http://www.x.org/wiki/")
|
||||||
(synopsis "xorg implementation of the X Window System")
|
(synopsis "xorg implementation of the X Window System")
|
||||||
(description "X.org provides an implementation of the X Window System")
|
(description "X.org provides an implementation of the X Window System")
|
||||||
|
|
|
@ -149,7 +149,8 @@ input tuples."
|
||||||
#:system system
|
#:system system
|
||||||
#:inputs inputs
|
#:inputs inputs
|
||||||
#:modules '((guix build union))
|
#:modules '((guix build union))
|
||||||
#:guile-for-build guile)))
|
#:guile-for-build guile
|
||||||
|
#:local-build? #t)))
|
||||||
|
|
||||||
(define* (file-union files
|
(define* (file-union files
|
||||||
#:key (inputs '()) (name "file-union"))
|
#:key (inputs '()) (name "file-union"))
|
||||||
|
@ -187,7 +188,8 @@ as an inputs; additional inputs, such as derivations, are taken from INPUTS."
|
||||||
`(symlink ,target ,name)))
|
`(symlink ,target ,name)))
|
||||||
files))
|
files))
|
||||||
|
|
||||||
#:inputs inputs))))
|
#:inputs inputs
|
||||||
|
#:local-build? #t))))
|
||||||
|
|
||||||
(define (links inputs)
|
(define (links inputs)
|
||||||
"Return a directory with symbolic links to all of INPUTS. This is
|
"Return a directory with symbolic links to all of INPUTS. This is
|
||||||
|
@ -209,7 +211,8 @@ directories or regular files."
|
||||||
|
|
||||||
(mlet %store-monad ((inputs (lower-inputs inputs)))
|
(mlet %store-monad ((inputs (lower-inputs inputs)))
|
||||||
(derivation-expression "links" builder
|
(derivation-expression "links" builder
|
||||||
#:inputs inputs)))
|
#:inputs inputs
|
||||||
|
#:local-build? #t)))
|
||||||
|
|
||||||
(define* (etc-directory #:key
|
(define* (etc-directory #:key
|
||||||
(locale "C") (timezone "Europe/Paris")
|
(locale "C") (timezone "Europe/Paris")
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;;
|
;;;
|
||||||
;;; This file is part of GNU Guix.
|
;;; This file is part of GNU Guix.
|
||||||
;;;
|
;;;
|
||||||
|
@ -90,8 +90,17 @@
|
||||||
#t)
|
#t)
|
||||||
|
|
||||||
(define* (unpack #:key source #:allow-other-keys)
|
(define* (unpack #:key source #:allow-other-keys)
|
||||||
(and (zero? (system* "tar" "xvf" source))
|
"Unpack SOURCE in the working directory, and change directory within the
|
||||||
(chdir (first-subdirectory "."))))
|
source. When SOURCE is a directory, copy it in a sub-directory of the current
|
||||||
|
working directory."
|
||||||
|
(if (file-is-directory? source)
|
||||||
|
(begin
|
||||||
|
(mkdir "source")
|
||||||
|
(chdir "source")
|
||||||
|
(copy-recursively source ".")
|
||||||
|
#t)
|
||||||
|
(and (zero? (system* "tar" "xvf" source))
|
||||||
|
(chdir (first-subdirectory ".")))))
|
||||||
|
|
||||||
(define* (patch-source-shebangs #:key source #:allow-other-keys)
|
(define* (patch-source-shebangs #:key source #:allow-other-keys)
|
||||||
"Patch shebangs in all source files; this includes non-executable
|
"Patch shebangs in all source files; this includes non-executable
|
||||||
|
@ -136,7 +145,10 @@ makefiles."
|
||||||
(bash (or (and=> (assoc-ref (or native-inputs inputs) "bash")
|
(bash (or (and=> (assoc-ref (or native-inputs inputs) "bash")
|
||||||
(cut string-append <> "/bin/bash"))
|
(cut string-append <> "/bin/bash"))
|
||||||
"/bin/sh"))
|
"/bin/sh"))
|
||||||
(flags `(,(string-append "CONFIG_SHELL=" bash)
|
(flags `(,@(if target ; cross building
|
||||||
|
'("CC_FOR_BUILD=gcc")
|
||||||
|
'())
|
||||||
|
,(string-append "CONFIG_SHELL=" bash)
|
||||||
,(string-append "SHELL=" bash)
|
,(string-append "SHELL=" bash)
|
||||||
,(string-append "--prefix=" prefix)
|
,(string-append "--prefix=" prefix)
|
||||||
"--enable-fast-install" ; when using Libtool
|
"--enable-fast-install" ; when using Libtool
|
||||||
|
@ -160,7 +172,7 @@ makefiles."
|
||||||
'())
|
'())
|
||||||
,@(if docdir
|
,@(if docdir
|
||||||
(list (string-append "--docdir=" docdir
|
(list (string-append "--docdir=" docdir
|
||||||
"/doc/" (package-name)))
|
"/share/doc/" (package-name)))
|
||||||
'())
|
'())
|
||||||
,@(if target ; cross building
|
,@(if target ; cross building
|
||||||
(list (string-append "--host=" target))
|
(list (string-append "--host=" target))
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
;;; 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, 2014 Ludovic Courtès <ludo@gnu.org>
|
||||||
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
|
||||||
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
;;; Copyright © 2013 Nikita Karetnikov <nikita@karetnikov.org>
|
||||||
;;;
|
;;;
|
||||||
|
@ -29,7 +29,8 @@
|
||||||
#:use-module (rnrs io ports)
|
#:use-module (rnrs io ports)
|
||||||
#:re-export (alist-cons
|
#:re-export (alist-cons
|
||||||
alist-delete)
|
alist-delete)
|
||||||
#:export (directory-exists?
|
#:export (%store-directory
|
||||||
|
directory-exists?
|
||||||
executable-file?
|
executable-file?
|
||||||
call-with-ascii-input-file
|
call-with-ascii-input-file
|
||||||
with-directory-excursion
|
with-directory-excursion
|
||||||
|
@ -62,6 +63,11 @@
|
||||||
;;; Directories.
|
;;; Directories.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
|
(define (%store-directory)
|
||||||
|
"Return the directory name of the store."
|
||||||
|
(or (getenv "NIX_STORE")
|
||||||
|
"/gnu/store"))
|
||||||
|
|
||||||
(define (directory-exists? dir)
|
(define (directory-exists? dir)
|
||||||
"Return #t if DIR exists and is a directory."
|
"Return #t if DIR exists and is a directory."
|
||||||
(let ((s (stat dir #f)))
|
(let ((s (stat dir #f)))
|
||||||
|
@ -443,7 +449,7 @@ all subject to the substitutions."
|
||||||
|
|
||||||
|
|
||||||
;;;
|
;;;
|
||||||
;;; Patching shebangs---e.g., /bin/sh -> /nix/store/xyz...-bash/bin/sh.
|
;;; Patching shebangs---e.g., /bin/sh -> /gnu/store/xyz...-bash/bin/sh.
|
||||||
;;;
|
;;;
|
||||||
|
|
||||||
(define* (dump-port in out
|
(define* (dump-port in out
|
||||||
|
@ -630,8 +636,7 @@ for each unmatched character."
|
||||||
(unmatched (car matched) result)))))))
|
(unmatched (car matched) result)))))))
|
||||||
|
|
||||||
(define* (remove-store-references file
|
(define* (remove-store-references file
|
||||||
#:optional (store (or (getenv "NIX_STORE")
|
#:optional (store (%store-directory)))
|
||||||
"/nix/store")))
|
|
||||||
"Remove from FILE occurrences of file names in STORE; return #t when
|
"Remove from FILE occurrences of file names in STORE; return #t when
|
||||||
store paths were encountered in FILE, #f otherwise. This procedure is
|
store paths were encountered in FILE, #f otherwise. This procedure is
|
||||||
known as `nuke-refs' in Nixpkgs."
|
known as `nuke-refs' in Nixpkgs."
|
||||||
|
|
|
@ -870,7 +870,8 @@ system, imported, and appears under FINAL-PATH in the resulting store path."
|
||||||
(build-expression->derivation store name builder
|
(build-expression->derivation store name builder
|
||||||
#:system system
|
#:system system
|
||||||
#:inputs files
|
#:inputs files
|
||||||
#:guile-for-build guile)))
|
#:guile-for-build guile
|
||||||
|
#:local-build? #t)))
|
||||||
|
|
||||||
(define* (imported-modules store modules
|
(define* (imported-modules store modules
|
||||||
#:key (name "module-import")
|
#:key (name "module-import")
|
||||||
|
@ -936,7 +937,8 @@ they can refer to each other."
|
||||||
(build-expression->derivation store name builder
|
(build-expression->derivation store name builder
|
||||||
#:inputs `(("modules" ,module-drv))
|
#:inputs `(("modules" ,module-drv))
|
||||||
#:system system
|
#:system system
|
||||||
#:guile-for-build guile)))
|
#:guile-for-build guile
|
||||||
|
#:local-build? #t)))
|
||||||
|
|
||||||
(define* (build-expression->derivation store name exp
|
(define* (build-expression->derivation store name exp
|
||||||
#:key
|
#:key
|
||||||
|
|
|
@ -315,6 +315,20 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
(dash (string-index sans #\-)))
|
(dash (string-index sans #\-)))
|
||||||
(string-drop sans (+ 1 dash))))
|
(string-drop sans (+ 1 dash))))
|
||||||
|
|
||||||
|
(define (numeric-extension? file-name)
|
||||||
|
;; Return true if FILE-NAME ends with digits.
|
||||||
|
(string-every char-set:hex-digit (file-extension file-name)))
|
||||||
|
|
||||||
|
(define (tarxz-name file-name)
|
||||||
|
;; Return a '.tar.xz' file name based on FILE-NAME.
|
||||||
|
(let ((base (if (numeric-extension? file-name)
|
||||||
|
original-file-name
|
||||||
|
(file-sans-extension file-name))))
|
||||||
|
(string-append base
|
||||||
|
(if (equal? (file-extension base) "tar")
|
||||||
|
".xz"
|
||||||
|
".tar.xz"))))
|
||||||
|
|
||||||
(define patch-inputs
|
(define patch-inputs
|
||||||
(map (lambda (number patch)
|
(map (lambda (number patch)
|
||||||
(list (string-append "patch" (number->string number))
|
(list (string-append "patch" (number->string number))
|
||||||
|
@ -327,7 +341,8 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
(define builder
|
(define builder
|
||||||
`(begin
|
`(begin
|
||||||
(use-modules (ice-9 ftw)
|
(use-modules (ice-9 ftw)
|
||||||
(srfi srfi-1))
|
(srfi srfi-1)
|
||||||
|
(guix build utils))
|
||||||
|
|
||||||
(let ((out (assoc-ref %outputs "out"))
|
(let ((out (assoc-ref %outputs "out"))
|
||||||
(xz (assoc-ref %build-inputs "xz"))
|
(xz (assoc-ref %build-inputs "xz"))
|
||||||
|
@ -342,14 +357,27 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
(format (current-error-port) "applying '~a'...~%" patch*)
|
(format (current-error-port) "applying '~a'...~%" patch*)
|
||||||
(zero? (system* patch "--batch" ,@flags "--input" patch*))))
|
(zero? (system* patch "--batch" ,@flags "--input" patch*))))
|
||||||
|
|
||||||
|
(define (first-file directory)
|
||||||
|
;; Return the name of the first file in DIRECTORY.
|
||||||
|
(car (scandir directory
|
||||||
|
(lambda (name)
|
||||||
|
(not (member name '("." "..")))))))
|
||||||
|
|
||||||
(setenv "PATH" (string-append xz "/bin" ":"
|
(setenv "PATH" (string-append xz "/bin" ":"
|
||||||
decomp "/bin"))
|
decomp "/bin"))
|
||||||
(and (zero? (system* tar "xvf" source))
|
|
||||||
(let ((directory (car (scandir "."
|
;; SOURCE may be either a directory or a tarball.
|
||||||
(lambda (name)
|
(and (if (file-is-directory? source)
|
||||||
(not
|
(let* ((store (or (getenv "NIX_STORE") "/gnu/store"))
|
||||||
(member name
|
(len (+ 1 (string-length store)))
|
||||||
'("." ".."))))))))
|
(base (string-drop source len))
|
||||||
|
(dash (string-index base #\-))
|
||||||
|
(directory (string-drop base (+ 1 dash))))
|
||||||
|
(mkdir directory)
|
||||||
|
(copy-recursively source directory)
|
||||||
|
#t)
|
||||||
|
(zero? (system* tar "xvf" source)))
|
||||||
|
(let ((directory (first-file ".")))
|
||||||
(format (current-error-port)
|
(format (current-error-port)
|
||||||
"source is under '~a'~%" directory)
|
"source is under '~a'~%" directory)
|
||||||
(chdir directory)
|
(chdir directory)
|
||||||
|
@ -375,23 +403,23 @@ IMPORTED-MODULES specify modules to use/import for use by SNIPPET."
|
||||||
(zero? (system* tar "cvfa" out directory))))))))
|
(zero? (system* tar "cvfa" out directory))))))))
|
||||||
|
|
||||||
|
|
||||||
(let ((name (string-append (file-sans-extension original-file-name)
|
(let ((name (tarxz-name original-file-name))
|
||||||
".xz"))
|
(inputs (filter-map (match-lambda
|
||||||
(inputs (filter-map (match-lambda
|
((name (? package? p))
|
||||||
((name (? package? p))
|
(and (member name (cons decompression-type
|
||||||
(and (member name (cons decompression-type
|
'("tar" "xz" "patch")))
|
||||||
'("tar" "xz" "patch")))
|
(list name
|
||||||
(list name
|
(package-derivation store p
|
||||||
(package-derivation store p
|
system)))))
|
||||||
system)))))
|
(or inputs (%standard-patch-inputs))))
|
||||||
(or inputs (%standard-patch-inputs)))))
|
(modules (delete-duplicates (cons '(guix build utils) modules))))
|
||||||
|
|
||||||
(build-expression->derivation store name builder
|
(build-expression->derivation store name builder
|
||||||
#:inputs `(("source" ,source)
|
#:inputs `(("source" ,source)
|
||||||
,@inputs
|
,@inputs
|
||||||
,@patch-inputs)
|
,@patch-inputs)
|
||||||
#:system system
|
#:system system
|
||||||
#:modules imported-modules
|
#:modules modules
|
||||||
#:guile-for-build guile-for-build)))
|
#:guile-for-build guile-for-build)))
|
||||||
|
|
||||||
(define* (package-source-derivation store source
|
(define* (package-source-derivation store source
|
||||||
|
|
|
@ -257,7 +257,8 @@ the given MANIFEST."
|
||||||
;; already valid.
|
;; already valid.
|
||||||
`((,name ,path) ,@deps)))
|
`((,name ,path) ,@deps)))
|
||||||
(manifest-entries manifest))
|
(manifest-entries manifest))
|
||||||
#:modules '((guix build union))))
|
#:modules '((guix build union))
|
||||||
|
#:local-build? #t))
|
||||||
|
|
||||||
(define (profile-regexp profile)
|
(define (profile-regexp profile)
|
||||||
"Return a regular expression that matches PROFILE's name and number."
|
"Return a regular expression that matches PROFILE's name and number."
|
||||||
|
|
|
@ -159,7 +159,7 @@ fi
|
||||||
guix package --bootstrap -i guile gcc -p "$profile" -n
|
guix package --bootstrap -i guile gcc -p "$profile" -n
|
||||||
|
|
||||||
# Make sure the `:' syntax works.
|
# Make sure the `:' syntax works.
|
||||||
guix package --bootstrap -i "binutils:lib" -p "$profile" -n
|
guix package --bootstrap -i "glibc:debug" -p "$profile" -n
|
||||||
|
|
||||||
# Make sure nonexistent outputs are reported.
|
# Make sure nonexistent outputs are reported.
|
||||||
guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n
|
guix package --bootstrap -i "guile-bootstrap:out" -p "$profile" -n
|
||||||
|
|
Loading…
Reference in New Issue