Browse Source

Merge branch 'core-updates'

Conflicts:
	gnu/packages/bootstrap.scm
gn-latest-20200428
Ludovic Courtès 7 years ago
parent
commit
57b7e1a62d
  1. 1
      .gitignore
  2. 53
      build-aux/check-available-binaries.scm
  3. 5
      build-aux/check-final-inputs-self-contained.scm
  4. 8
      build-aux/download.scm
  5. 4
      doc/guix.texi
  6. 29
      gnu-system.am
  7. 2
      gnu/packages/apr.scm
  8. 123
      gnu/packages/autotools.scm
  9. 41
      gnu/packages/base.scm
  10. 8
      gnu/packages/bash.scm
  11. 4
      gnu/packages/boost.scm
  12. 67
      gnu/packages/bootstrap.scm
  13. BIN
      gnu/packages/bootstrap/armhf-linux/bash
  14. BIN
      gnu/packages/bootstrap/armhf-linux/mkdir
  15. BIN
      gnu/packages/bootstrap/armhf-linux/tar
  16. BIN
      gnu/packages/bootstrap/armhf-linux/xz
  17. 15
      gnu/packages/commencement.scm
  18. 24
      gnu/packages/compression.scm
  19. 30
      gnu/packages/cross-base.scm
  20. 6
      gnu/packages/curl.scm
  21. 8
      gnu/packages/databases.scm
  22. 26
      gnu/packages/elf.scm
  23. 28
      gnu/packages/file.scm
  24. 3
      gnu/packages/fontutils.scm
  25. 2
      gnu/packages/games.scm
  26. 24
      gnu/packages/gawk.scm
  27. 74
      gnu/packages/gcc.scm
  28. 22
      gnu/packages/gd.scm
  29. 4
      gnu/packages/gettext.scm
  30. 4
      gnu/packages/glib.scm
  31. 4
      gnu/packages/global.scm
  32. 11
      gnu/packages/gnome.scm
  33. 4
      gnu/packages/gnunet.scm
  34. 6
      gnu/packages/gnutls.scm
  35. 12
      gnu/packages/gps.scm
  36. 4
      gnu/packages/graphviz.scm
  37. 15
      gnu/packages/gtk.scm
  38. 29
      gnu/packages/guile.scm
  39. 31
      gnu/packages/icu4c.scm
  40. 6
      gnu/packages/image.scm
  41. 95
      gnu/packages/ld-wrapper.scm
  42. 4
      gnu/packages/libcanberra.scm
  43. 4
      gnu/packages/libevent.scm
  44. 90
      gnu/packages/linux.scm
  45. 3
      gnu/packages/m4.scm
  46. 6
      gnu/packages/mail.scm
  47. 14
      gnu/packages/make-bootstrap.scm
  48. 2
      gnu/packages/man.scm
  49. 8
      gnu/packages/mit-krb5.scm
  50. 4
      gnu/packages/mp3.scm
  51. 15
      gnu/packages/multiprecision.scm
  52. 7
      gnu/packages/ncurses.scm
  53. 4
      gnu/packages/openldap.scm
  54. 6
      gnu/packages/openssl.scm
  55. 38
      gnu/packages/patches/curl-gss-api-fix.patch
  56. 16
      gnu/packages/patches/file-CVE-2014-3587.patch
  57. 25
      gnu/packages/patches/gcc-fix-pr61801.patch
  58. 17
      gnu/packages/patches/gd-mips64-deplibs-fix.patch
  59. 282
      gnu/packages/patches/glibc-CVE-2012-3406.patch
  60. 171
      gnu/packages/patches/glibc-CVE-2014-7817.patch
  61. 45
      gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch
  62. 21
      gnu/packages/patches/gmp-arm-asm-nothumb.patch
  63. 203
      gnu/packages/patches/guile-arm-fixes.patch
  64. 24
      gnu/packages/patches/libtool-2.4-skip-tests.patch
  65. 12
      gnu/packages/patches/libtool-skip-tests-for-mips.patch
  66. 82
      gnu/packages/patches/libtool-skip-tests.patch
  67. 18
      gnu/packages/patches/m4-readlink-EINVAL.patch
  68. 33
      gnu/packages/patches/patchelf-page-size.patch
  69. 473
      gnu/packages/patches/patchelf-rework-for-arm.patch
  70. 180
      gnu/packages/patches/sqlite-large-page-size-fix.patch
  71. 2
      gnu/packages/patchutils.scm
  72. 2
      gnu/packages/perl.scm
  73. 4
      gnu/packages/photo.scm
  74. 7
      gnu/packages/pkg-config.scm
  75. 9
      gnu/packages/pth.scm
  76. 6
      gnu/packages/pulseaudio.scm
  77. 4
      gnu/packages/python.scm
  78. 7
      gnu/packages/ruby.scm
  79. 2
      gnu/packages/ssh.scm
  80. 13
      gnu/packages/swig.scm
  81. 10
      gnu/packages/tcl.scm
  82. 3
      gnu/packages/texlive.scm
  83. 14
      gnu/packages/tre.scm
  84. 2
      gnu/packages/version-control.scm
  85. 16
      gnu/packages/web.scm
  86. 6
      gnu/packages/weechat.scm
  87. 2
      gnu/packages/xfce.scm
  88. 7
      gnu/packages/xiph.scm
  89. 14
      gnu/packages/xml.scm
  90. 4
      gnu/packages/xorg.scm
  91. 173
      guix/build/gnu-build-system.scm
  92. 164
      guix/build/utils.scm
  93. 20
      guix/packages.scm
  94. 8
      guix/scripts/environment.scm
  95. 28
      guix/scripts/package.scm
  96. 24
      guix/utils.scm
  97. 13
      m4/guix.m4
  98. 55
      tests/packages.scm

1
.gitignore

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

53
build-aux/check-available-binaries.scm

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -28,31 +28,28 @@
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(with-store store
(let* ((native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))
(total (append native cross)))
(define (warn item system)
(format (current-error-port) "~a (~a) is not substitutable~%"
item system)
#f)
(let* ((store (open-connection))
(native (append-map (lambda (system)
(map (cut package-derivation store <> system)
(list %bootstrap-tarballs emacs)))
%supported-systems))
(cross (map (cut package-cross-derivation store
%bootstrap-tarballs <>)
'("mips64el-linux-gnuabi64")))
(total (append native cross)))
(define (warn proc)
(lambda (drv)
(or (proc drv)
(begin
(format (current-error-port) "~a is not substitutable~%"
drv)
#f))))
(set-build-options store #:use-substitutes? #t)
(let ((result (every (compose (warn (cut has-substitutes? store <>))
derivation->output-path)
total)))
(when result
(format (current-error-port) "~a packages found substitutable~%"
(length total)))
(exit result)))
(set-build-options store #:use-substitutes? #t)
(let* ((substitutable? (substitution-oracle store total))
(result (every (lambda (drv)
(let ((out (derivation->output-path drv)))
(or (substitutable? out)
(warn out (derivation-system drv)))))
total)))
(when result
(format (current-error-port) "~a packages found substitutable~%"
(length total)))
(exit result))))

5
build-aux/check-final-inputs-self-contained.scm

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -29,9 +29,6 @@
(srfi srfi-1)
(srfi srfi-26))
(define %supported-systems
'("x86_64-linux" "i686-linux"))
(define (final-inputs store system)
"Return the list of outputs directories of the final inputs for SYSTEM."
(append-map (match-lambda

8
build-aux/download.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -45,7 +46,12 @@
(match (string-tokenize file (char-set-complement (char-set #\/)))
((_ ... system basename)
(string->uri (string-append %url-base "/" system
"/20131110/" basename)))))
(match system
("armhf-linux"
"/20150101/")
(_
"/20131110/"))
basename)))))
(match (command-line)
((_ file expected-hash)

4
doc/guix.texi

@ -3275,6 +3275,10 @@ Intel/AMD @code{x86_64} architecture, Linux-Libre kernel;
@item i686-linux
Intel 32-bit architecture (IA32), Linux-Libre kernel;
@item armhf-linux
ARMv7-A architecture with hard float, Thumb-2 and VFP3D16 coprocessor,
using the EABI hard-float ABI, and 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.

29
gnu-system.am

@ -1,7 +1,7 @@
# GNU Guix --- Functional package management for GNU
# Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
# Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
# Copyright © 2013, 2014 Mark H Weaver <mhw@netris.org>
# Copyright © 2013, 2014, 2015 Mark H Weaver <mhw@netris.org>
#
# This file is part of GNU Guix.
#
@ -347,6 +347,7 @@ dist_patch_DATA = \
gnu/packages/patches/cpio-gets-undeclared.patch \
gnu/packages/patches/cssc-gets-undeclared.patch \
gnu/packages/patches/cssc-missing-include.patch \
gnu/packages/patches/curl-gss-api-fix.patch \
gnu/packages/patches/cursynth-wave-rand.patch \
gnu/packages/patches/dbus-localstatedir.patch \
gnu/packages/patches/diffutils-gets-undeclared.patch \
@ -356,21 +357,22 @@ dist_patch_DATA = \
gnu/packages/patches/duplicity-piped-password.patch \
gnu/packages/patches/duplicity-test_selection-tmp.patch \
gnu/packages/patches/eudev-rules-directory.patch \
gnu/packages/patches/file-CVE-2014-3587.patch \
gnu/packages/patches/findutils-absolute-paths.patch \
gnu/packages/patches/flashrom-use-libftdi1.patch \
gnu/packages/patches/flex-bison-tests.patch \
gnu/packages/patches/gawk-shell.patch \
gnu/packages/patches/gcc-cross-environment-variables.patch \
gnu/packages/patches/gcc-fix-pr61801.patch \
gnu/packages/patches/gd-mips64-deplibs-fix.patch \
gnu/packages/patches/glib-tests-desktop.patch \
gnu/packages/patches/glib-tests-homedir.patch \
gnu/packages/patches/glib-tests-prlimit.patch \
gnu/packages/patches/glib-tests-timer.patch \
gnu/packages/patches/glib-tests-gapplication.patch \
gnu/packages/patches/glibc-CVE-2012-3406.patch \
gnu/packages/patches/glibc-CVE-2014-7817.patch \
gnu/packages/patches/glibc-bootstrap-system.patch \
gnu/packages/patches/glibc-ldd-x86_64.patch \
gnu/packages/patches/glibc-mips-dangling-vfork-ref.patch \
gnu/packages/patches/gmp-arm-asm-nothumb.patch \
gnu/packages/patches/gnunet-fix-scheduler.patch \
gnu/packages/patches/gnunet-fix-tests.patch \
gnu/packages/patches/gobject-introspection-cc.patch \
@ -378,6 +380,7 @@ dist_patch_DATA = \
gnu/packages/patches/gstreamer-0.10-bison3.patch \
gnu/packages/patches/gstreamer-0.10-silly-test.patch \
gnu/packages/patches/guile-1.8-cpp-4.5.patch \
gnu/packages/patches/guile-arm-fixes.patch \
gnu/packages/patches/guile-default-utf8.patch \
gnu/packages/patches/guile-linux-syscalls.patch \
gnu/packages/patches/guile-relocatable.patch \
@ -405,13 +408,10 @@ dist_patch_DATA = \
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-for-mips.patch \
gnu/packages/patches/libtool-2.4-skip-tests.patch \
gnu/packages/patches/libssh-CVE-2014-0017.patch \
gnu/packages/patches/lm-sensors-hwmon-attrs.patch \
gnu/packages/patches/luit-posix.patch \
gnu/packages/patches/m4-gets-undeclared.patch \
gnu/packages/patches/m4-readlink-EINVAL.patch \
gnu/packages/patches/make-impure-dirs.patch \
gnu/packages/patches/mc-fix-ncurses-build.patch \
gnu/packages/patches/mcron-install.patch \
@ -428,6 +428,7 @@ dist_patch_DATA = \
gnu/packages/patches/orpheus-cast-errors-and-includes.patch \
gnu/packages/patches/ots-no-include-missing-file.patch \
gnu/packages/patches/patchelf-page-size.patch \
gnu/packages/patches/patchelf-rework-for-arm.patch \
gnu/packages/patches/patchutils-xfail-gendiff-tests.patch \
gnu/packages/patches/perl-no-sys-dirs.patch \
gnu/packages/patches/perl-tk-x11-discover.patch \
@ -457,7 +458,6 @@ dist_patch_DATA = \
gnu/packages/patches/slim-sigusr1.patch \
gnu/packages/patches/soprano-find-clucene.patch \
gnu/packages/patches/source-highlight-regexrange-test.patch \
gnu/packages/patches/sqlite-large-page-size-fix.patch \
gnu/packages/patches/superlu-dist-scotchmetis.patch \
gnu/packages/patches/tcsh-fix-autotest.patch \
gnu/packages/patches/teckit-cstdio.patch \
@ -496,6 +496,7 @@ dist_patch_DATA = \
bootstrapdir = $(guilemoduledir)/gnu/packages/bootstrap
bootstrap_x86_64_linuxdir = $(bootstrapdir)/x86_64-linux
bootstrap_i686_linuxdir = $(bootstrapdir)/i686-linux
bootstrap_armhf_linuxdir = $(bootstrapdir)/armhf-linux
bootstrap_mips64el_linuxdir = $(bootstrapdir)/mips64el-linux
dist_bootstrap_x86_64_linux_DATA = \
@ -510,6 +511,12 @@ dist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/tar \
gnu/packages/bootstrap/i686-linux/xz
dist_bootstrap_armhf_linux_DATA = \
gnu/packages/bootstrap/armhf-linux/bash \
gnu/packages/bootstrap/armhf-linux/mkdir \
gnu/packages/bootstrap/armhf-linux/tar \
gnu/packages/bootstrap/armhf-linux/xz
dist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/bash \
gnu/packages/bootstrap/mips64el-linux/mkdir \
@ -522,6 +529,8 @@ nodist_bootstrap_x86_64_linux_DATA = \
gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz
nodist_bootstrap_i686_linux_DATA = \
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz
nodist_bootstrap_armhf_linux_DATA = \
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz
nodist_bootstrap_mips64el_linux_DATA = \
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz
@ -533,6 +542,7 @@ set-bootstrap-executable-permissions:
DISTCLEANFILES = \
$(nodist_bootstrap_x86_64_linux_DATA) \
$(nodist_bootstrap_i686_linux_DATA) \
$(nodist_bootstrap_armhf_linux_DATA) \
$(nodist_bootstrap_mips64el_linux_DATA)
# Method to download a file from an external source.
@ -547,6 +557,9 @@ gnu/packages/bootstrap/x86_64-linux/guile-2.0.9.tar.xz:
gnu/packages/bootstrap/i686-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "b757cd46bf13ecac83fb8e955fb50096ac2d17bb610ca8eb816f29302a00a846"
gnu/packages/bootstrap/armhf-linux/guile-2.0.11.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "e551d05d4d385d6706ab8d574856a087758294dc90ab4c06e70a157a685e23d6"
gnu/packages/bootstrap/mips64el-linux/guile-2.0.9.tar.xz:
$(MKDIR_P) `dirname "$@"`
$(DOWNLOAD_FILE) "$@" "994680f0001346864aa2c2cc5110f380ee7518dcd701c614291682b8e948f73b"

2
gnu/packages/apr.scm

@ -48,7 +48,7 @@
'(#:parallel-build? #f
#:parallel-tests? #f))
(inputs `(("perl" ,perl)
("libtool" ,libtool)))
("libltdl" ,libltdl)))
(home-page "http://apr.apache.org/")
(synopsis "The Apache Portable Runtime Library")
(description

123
gnu/packages/autotools.scm

@ -178,7 +178,7 @@ exec ~a --no-auto-compile \"$0\" \"$@\"
(native-search-paths
(list (search-path-specification
(variable "ACLOCAL_PATH")
(directories '("share/aclocal")))))
(files '("share/aclocal")))))
(arguments
'(#:modules ((guix build gnu-build-system)
(guix build utils)
@ -238,52 +238,48 @@ Makefile, simplifying the entire process for the developer.")
(define-public libtool
(package
(name "libtool")
(version "2.4.2")
(version "2.4.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.gz"))
(sha256
(base32
"0649qfpzkswgcj9vqkkr9rn4nlcx80faxpyqscy2k1x9c94f93dk"))
(patches
(list (search-patch "libtool-skip-tests.patch")
(search-patch "libtool-skip-tests-for-mips.patch")))))
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.xz"))
(sha256
(base32
"0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
(patches
(list (search-patch "libtool-skip-tests.patch")))))
(build-system gnu-build-system)
(propagated-inputs `(("m4" ,m4)))
(native-inputs `(("m4" ,m4)
("perl" ,perl)))
;; Separate binaries from the rest. During bootstrap, only ltdl is
;; used; not depending on the binaries allows us to avoid retaining
;; a reference to the bootstrap bash.
(outputs '("bin" ; libtoolize, libtool, etc.
"out")) ; libltdl.so, ltdl.h, etc.
("perl" ,perl)
("automake" ,automake) ;some tests rely on 'aclocal'
("autoconf" ,(autoconf-wrapper)))) ;others on 'autom4te'
(arguments
(if (%current-target-system)
'() ; no `check' phase when cross-building
'(#:phases (alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(let ((ncores
(cond
((getenv "NIX_BUILD_CORES")
=>
(lambda (n)
(if (zero? (string->number n))
(number->string (current-processor-count))
n)))
(else "1"))))
(setenv "TESTSUITEFLAGS"
(string-append "-j" ncores)))
`(;; Libltdl is provided as a separate package, so don't install it here.
#:configure-flags '("--disable-ltdl-install")
;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
;; <http://hydra.gnu.org/build/181662>.
#:tests? ,(not (string-prefix? "mips64"
(or (%current-target-system)
(%current-system))))
#:phases (alist-cons-before
'check 'pre-check
(lambda* (#:key inputs #:allow-other-keys)
;; Run the test suite in parallel, if possible.
(setenv "TESTSUITEFLAGS"
(string-append
"-j"
(number->string (parallel-job-count))))
;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases))))
;; Path references to /bin/sh.
(let ((bash (assoc-ref inputs "bash")))
(substitute* "tests/testsuite"
(("/bin/sh")
(string-append bash "/bin/bash")))))
%standard-phases)))
(synopsis "Generic shared library support tools")
(description
"GNU Libtool helps in the creation and use of shared libraries, by
@ -292,28 +288,25 @@ complexity of working with shared libraries across platforms.")
(license gpl3+)
(home-page "http://www.gnu.org/software/libtool/")))
(define-public libtool-2.4.4
(package (inherit libtool)
(version "2.4.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/libtool/libtool-"
version ".tar.xz"))
(sha256
(base32
"0v3zq08qxv7k5067mpqrkjkjl3wphhg06i696mka90mzadc5nad8"))
(patches
(list (search-patch "libtool-2.4-skip-tests.patch")))))
(native-inputs `(("automake" ,automake) ;some tests rely on 'aclocal'
("autoconf" ,(autoconf-wrapper)) ;others on 'autom4te'
,@(package-native-inputs libtool)))
(define-public libltdl
;; This is a libltdl package separate from the libtool package. This is
;; useful because, unlike libtool, it has zero extra dependencies (making it
;; readily usable during bootstrap), and it builds very quickly since
;; Libtool's extensive test suite isn't run.
(package
(name "libltdl")
(version (package-version libtool))
(source (package-source libtool))
(build-system gnu-build-system)
(arguments
;; XXX: There are test failures on mips64el-linux starting from 2.4.4:
;; <http://hydra.gnu.org/build/181662>.
(if (string-prefix? "mips64el"
(or (%current-target-system) (%current-system)))
`(#:tests? #f
,@(package-arguments libtool))
(package-arguments libtool)))))
'(#:configure-flags '("--enable-ltdl-install") ;really install it
#:phases (alist-cons-before
'configure 'change-directory
(lambda _
(chdir "libltdl"))
%standard-phases)))
(synopsis "System-independent dlopen wrapper of GNU libtool")
(description (package-description libtool))
(home-page (package-home-page libtool))
(license lgpl2.1+)))

41
gnu/packages/base.scm

@ -65,14 +65,14 @@ command-line arguments, multiple languages, and so on.")
(define-public grep
(package
(name "grep")
(version "2.20")
(version "2.21")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/grep/grep-"
version ".tar.xz"))
(sha256
(base32
"0rcs0spsxdmh6yz8y4frkqp6f5iw19mdbdl9s2v6956hq0mlbbzh"))))
"1pp5n15qwxrw1pibwjhhgsibyv5cafhamf8lwzjygs6y00fa2i2j"))))
(build-system gnu-build-system)
(synopsis "Print lines matching a pattern")
(description
@ -312,14 +312,14 @@ change. GNU make offers many powerful extensions over the standard utility.")
(define-public binutils
(package
(name "binutils")
(version "2.24")
(version "2.25")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/binutils/binutils-"
version ".tar.bz2"))
(sha256
(base32
"0ds1y7qa0xqihw4ihnsgg6bxanmb228r228ddvwzgrv4jszcbs75"))
"08r9i26b05zcwb9zxb6zllpfdiiicdfsgbpsjlrjmvx3rxjzrpi2"))
(patches (list (search-patch "binutils-ld-new-dtags.patch")
(search-patch "binutils-loongson-workaround.patch")))))
(build-system gnu-build-system)
@ -375,32 +375,37 @@ included.")
(("use_ldconfig=yes")
"use_ldconfig=no")))
(modules '((guix build utils)))
(patches (list (search-patch "glibc-ldd-x86_64.patch")))))
(patches (list (search-patch "glibc-CVE-2014-7817.patch")
(search-patch "glibc-CVE-2012-3406.patch")
(search-patch "glibc-mips-dangling-vfork-ref.patch")
(search-patch "glibc-ldd-x86_64.patch")))))
(build-system gnu-build-system)
;; Glibc's <limits.h> refers to <linux/limit.h>, for instance, so glibc
;; users should automatically pull Linux headers as well.
(propagated-inputs `(("linux-headers" ,linux-libre-headers)))
;; Store the locales separately (~100 MiB). Note that "out" retains a
;; reference to them anyway, so there's no space savings here.
;; TODO: Eventually we may want to add a $LOCALE_ARCHIVE search path like
;; Nixpkgs does.
(outputs '("out" "locales" "debug"))
(outputs '("out" "debug"))
(arguments
`(#:out-of-source? #t
#:configure-flags
(list "--enable-add-ons"
"--sysconfdir=/etc"
(string-append "--localedir=" (assoc-ref %outputs "locales")
"/share/locale")
;; Installing a locale archive with all the locales is to
;; expensive (~100 MiB), so we rely on users to install the
;; locales they really want.
;;
;; Set the default locale path. In practice, $LOCPATH may be
;; defined to point whatever locales users want. However, setuid
;; binaries don't honor $LOCPATH, so they'll instead look into
;; $libc_cv_localedir; we choose /run/current-system/locale, with
;; the idea that it is going to be populated by the sysadmin.
;;
;; `--localedir' is not honored, so work around it.
;; See <http://sourceware.org/ml/libc-alpha/2013-03/msg00093.html>.
(string-append "libc_cv_localedir="
(assoc-ref %outputs "locales")
"/share/locale")
(string-append "libc_cv_localedir=/run/current-system/locale")
(string-append "--with-headers="
(assoc-ref %build-inputs "linux-headers")
@ -477,11 +482,7 @@ included.")
"")
(("exec @PERL@")
"exec perl"))))
(alist-cons-after
'install 'install-locales
(lambda _
(zero? (system* "make" "localedata/install-locales")))
%standard-phases))))
%standard-phases)))
(inputs `(("static-bash" ,(static-package bash-light))))

8
gnu/packages/bash.scm

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -81,8 +81,10 @@
(27 "1gnsfvq6bhb3srlbh0cannj2hackdsipcg7z0ds7zlk1hp96mdqy")
(28 "17a65c4fn4c5rgsiw9gqqnzhznh3gwnd2xzzv2dppyi48znxpc78") ;CVE-2014-7186
(29 "14k27p28r5l2fz3r03kd0x72vvsq8bja8c6hjz5kxikbzsbs7i2c") ;CVE-2014-6277
(30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5"))) ;CVE-2014-6278
(30 "0nrqb0m7s89qsrbfaffpilc5gcf82bx9yvgzld4hr79p5y54yhw5") ;CVE-2014-6278
(31 "07d62bl3z7qa8v6kgk47vzzazw563mlk9zhrsr4xsbqgvmcrylnd")
(32 "0jjgapfq4qhmndfrw8c3q3lva8xjdhlbd9cc631v41b0kb95g4w8")
(33 "05ma5rlxiadnfh925p4y7s0vvk917kmsdb1mfdx05gizl63pfapv")))
(define (download-patches store count)
"Download COUNT Bash patches into store. Return a list of
number/base32-hash tuples, directly usable in the 'patch-series' form."

4
gnu/packages/boost.scm

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -53,7 +53,7 @@
;; Boost's 'context' library is not yet supported on mips64, so
;; we disable it. The 'coroutine' library depends on 'context',
;; so we disable that too.
,@(if (equal? "mips64el-linux" (or (%current-target-system)
,@(if (string-prefix? "mips64" (or (%current-target-system)
(%current-system)))
'("--without-context" "--without-coroutine")
'()))))

67
gnu/packages/bootstrap.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -87,10 +88,13 @@
(patch patch))
(origin-patches source))))))
(define (package-from-tarball name source program-to-test description)
(define* (package-from-tarball name source program-to-test description
#:key snippet)
"Return a package that correspond to the extraction of SOURCE.
PROGRAM-TO-TEST is a program to run after extraction of SOURCE, to
check whether everything is alright."
check whether everything is alright. If SNIPPET is provided, it is
evaluated after extracting SOURCE. SNIPPET should return true if
successful, or false to signal an error."
(package
(name name)
(version "0")
@ -112,6 +116,7 @@ check whether everything is alright."
(with-directory-excursion out
(and (zero? (system* tar "xvf"
(string-append builddir "/binaries.tar")))
,@(if snippet (list snippet) '())
(zero? (system* (string-append "bin/" ,program-to-test)
"--version"))))))))
(inputs
@ -157,6 +162,7 @@ check whether everything is alright."
"Return the name of Glibc's dynamic linker for SYSTEM."
(cond ((string=? system "x86_64-linux") "/lib/ld-linux-x86-64.so.2")
((string=? system "i686-linux") "/lib/ld-linux.so.2")
((string=? system "armhf-linux") "/lib/ld-linux-armhf.so.3")
((string=? system "mips64el-linux") "/lib/ld.so.1")
;; XXX: This one is used bare-bones, without a libc, so add a case
@ -186,7 +192,11 @@ check whether everything is alright."
(xz (->store "xz"))
(mkdir (->store "mkdir"))
(bash (->store "bash"))
(guile (->store "guile-2.0.9.tar.xz"))
(guile (->store (match system
("armhf-linux"
"guile-2.0.11.tar.xz")
(_
"guile-2.0.9.tar.xz"))))
(builder
(add-text-to-store store
"build-bootstrap-guile.sh"
@ -246,7 +256,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20131110/static-binaries.tar.xz")
(match system
("armhf-linux"
"/20150101/static-binaries.tar.xz")
(_
"/20131110/static-binaries.tar.xz")))
%bootstrap-base-urls))
(sha256
(match system
@ -256,11 +270,21 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"0s5b3jb315n13m1k8095l0a5hfrsz8g0fv1b6riyc5hnxqyphlak"))
("armhf-linux"
(base32
"0gf0fn2kbpxkjixkmx5f4z6hv6qpmgixl69zgg74dbsfdfj8jdv5"))
("mips64el-linux"
(base32
"072y4wyfsj1bs80r6vbybbafy8ya4vfy7qj25dklwk97m6g71753"))))))
"true" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc."))
"fgrep" ; the program to test
"Bootstrap binaries of Coreutils, Awk, etc."
#:snippet
'(let ((path (list (string-append (getcwd) "/bin"))))
(chmod "bin" #o755)
(patch-shebang "bin/egrep" path)
(patch-shebang "bin/fgrep" path)
(chmod "bin" #o555)
#t)))
(define %bootstrap-binutils
(package-from-tarball "binutils-bootstrap"
@ -268,7 +292,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" system
"/20131110/binutils-2.23.2.tar.xz")
(match system
("armhf-linux"
"/20150101/binutils-2.25.tar.xz")
(_
"/20131110/binutils-2.23.2.tar.xz")))
%bootstrap-base-urls))
(sha256
(match system
@ -278,6 +306,9 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"14jgwf9gscd7l2pnz610b1zia06dvcm2qyzvni31b8zpgmcai2v9"))
("armhf-linux"
(base32
"1v7dj6bzn6m36f20gw31l99xaabq4xrhrx3gwqkhhig0mdlmr69q"))
("mips64el-linux"
(base32
"1x8kkhcxmfyzg1ddpz2pxs6fbdl6412r7x0nzbmi5n7mj8zw2gy7"))))))
@ -322,7 +353,11 @@ $out/bin/guile --version~%"
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/glibc-2.18.tar.xz")
(match (%current-system)
("armhf-linux"
"/20150101/glibc-2.20.tar.xz")
(_
"/20131110/glibc-2.18.tar.xz")))
%bootstrap-base-urls))
(sha256
(match (%current-system)
@ -332,6 +367,9 @@ $out/bin/guile --version~%"
("i686-linux"
(base32
"1hgrccw1zqdc7lvgivwa54d9l3zsim5pqm0dykxg0z522h6gr05w"))
("armhf-linux"
(base32
"18cmgvpllqfpn6khsmivqib7ys8ymnq0hdzi3qp24prik0ykz8gn"))
("mips64el-linux"
(base32
"0k97a3whzx3apsi9n2cbsrr79ad6lh00klxph9hw4fqyp1abkdsg")))))))))
@ -393,7 +431,11 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
(origin
(method url-fetch)
(uri (map (cut string-append <> "/" (%current-system)
"/20131110/gcc-4.8.2.tar.xz")
(match (%current-system)
("armhf-linux"
"/20150101/gcc-4.8.4.tar.xz")
(_
"/20131110/gcc-4.8.2.tar.xz")))
%bootstrap-base-urls))
(sha256
(match (%current-system)
@ -403,16 +445,19 @@ exec ~a/bin/.gcc-wrapped -B~a/lib \
("i686-linux"
(base32
"150c1arrf2k8vfy6dpxh59vcgs4p1bgiz2av5m19dynpks7rjnyw"))
("armhf-linux"
(base32
"0ghz825yzp43fxw53kd6afm8nkz16f7dxi9xi40bfwc8x3nbbr8v"))
("mips64el-linux"
(base32
"1m5miqkyng45l745n0sfafdpjkqv9225xf44jqkygwsipj2cv9ks")))))))))
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(files '("lib" "lib64")))))
(synopsis "Bootstrap binaries of the GNU Compiler Collection")
(description #f)
(home-page #f)

BIN
gnu/packages/bootstrap/armhf-linux/bash

BIN
gnu/packages/bootstrap/armhf-linux/mkdir

BIN
gnu/packages/bootstrap/armhf-linux/tar

BIN
gnu/packages/bootstrap/armhf-linux/xz

15
gnu/packages/commencement.scm

@ -122,19 +122,6 @@
("file" ,file-boot0)
,@%bootstrap-inputs))
(define* (nix-system->gnu-triplet
#:optional (system (%current-system)) (vendor "unknown"))
"Return an a guess of the GNU triplet corresponding to Nix system
identifier SYSTEM."
(let* ((dash (string-index system #\-))
(arch (substring system 0 dash))
(os (substring system (+ 1 dash))))
(string-append arch
"-" vendor "-"
(if (string=? os "linux")
"linux-gnu"
os))))
(define* (boot-triplet #:optional (system (%current-system)))
;; Return the triplet used to create the cross toolchain needed in the
;; first bootstrapping stage.
@ -544,7 +531,7 @@ exec ~a/bin/~a-~a -B~a/lib -Wl,-dynamic-linker -Wl,~a/~a \"$@\"~%"
(native-inputs `(("texinfo" ,texinfo-boot0)
,@(package-native-inputs gcc-boot0)))
(inputs `(("gmp-source" ,(package-source gmp))
(inputs `(("gmp-source" ,(bootstrap-origin (package-source gmp)))
("mpfr-source" ,(package-source mpfr))
("mpc-source" ,(package-source mpc))
("binutils" ,binutils-final)

24
gnu/packages/compression.scm

@ -1,5 +1,5 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
@ -115,13 +115,7 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
(home-page "http://www.gnu.org/software/gzip/")))
(define-public bzip2
(let ((fix-man-dir
;; Move man pages to $out/share/.
'(lambda* (#:key outputs #:allow-other-keys)
(with-directory-excursion (assoc-ref outputs "out")
(mkdir "share")
(rename-file "man" "share/man"))))
(build-shared-lib
(let ((build-shared-lib
;; Build a shared library.
'(lambda* (#:key inputs #:allow-other-keys)
(patch-makefile-SHELL "Makefile-libbz2_so")
@ -171,20 +165,16 @@ file; as a result, it is often used in conjunction with \"tar\", resulting in
`(alist-cons-before
'build 'build-shared-lib ,build-shared-lib
(alist-cons-after
'install 'fix-man-dir ,fix-man-dir
(alist-cons-after
'install 'install-shared-lib ,install-shared-lib
(alist-replace 'configure ,set-cross-environment
%standard-phases))))
'install 'install-shared-lib ,install-shared-lib
(alist-replace 'configure ,set-cross-environment
%standard-phases)))
;; Native compilation: build the shared library.
`(alist-cons-before
'build 'build-shared-lib ,build-shared-lib
(alist-cons-after
'install 'fix-man-dir ,fix-man-dir
(alist-cons-after
'install 'install-shared-lib ,install-shared-lib
(alist-delete 'configure %standard-phases)))))
'install 'install-shared-lib ,install-shared-lib
(alist-delete 'configure %standard-phases))))
#:make-flags (list (string-append "PREFIX="
(assoc-ref %outputs "out")))

30
gnu/packages/cross-base.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -88,7 +89,6 @@ may be either a libc package or #f.)"
(substitute-keyword-arguments (package-arguments gcc-4.8)
((#:configure-flags flags)
`(append (list ,(string-append "--target=" target)
,@(gcc-configure-flags-for-triplet target)
,@(if libc
'()
`( ;; Disable features not needed at this stage.
@ -234,10 +234,10 @@ GCC that does not target a libc; otherwise, target that libc."
(search-paths
(list (search-path-specification
(variable "CROSS_CPATH")
(directories '("include")))
(files '("include")))
(search-path-specification
(variable "CROSS_LIBRARY_PATH")
(directories '("lib" "lib64")))))
(files '("lib" "lib64")))))
(native-search-paths '())))
(define* (cross-libc target
@ -308,10 +308,16 @@ XBINUTILS and the cross tool chain."
;;;
(define-public xgcc-mips64el
(let ((triplet "mips64el-linux-gnuabi64")) ; N64 ABI
(cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
(let* ((triplet "mips64el-linux-gnuabi64") ;N64 ABI
(xgcc (cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
;; Don't attempt to build this cross-compiler on i686;
;; see <http://bugs.gnu.org/19598>.
(package (inherit xgcc)
(supported-systems (fold delete
(package-supported-systems xgcc)
'("mips64el-linux" "i686-linux"))))))
(define-public xgcc-avr
;; AVR cross-compiler, used to build AVR-Libc.
@ -323,6 +329,14 @@ XBINUTILS and the cross tool chain."
;; Bare-bones Xtensa cross-compiler, used to build the Atheros firmware.
(cross-gcc "xtensa-elf"))
(define-public xgcc-armhf
(let* ((triplet "arm-linux-gnueabihf")
(xgcc (cross-gcc triplet
(cross-binutils triplet)
(cross-libc triplet))))
(package (inherit xgcc)
(supported-systems (delete "armhf-linux" %supported-systems)))))
;; (define-public xgcc-armel
;; (let ((triplet "armel-linux-gnueabi"))
;; (cross-gcc triplet

6
gnu/packages/curl.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -36,14 +37,15 @@
(define-public curl
(package
(name "curl")
(version "7.37.1")
(version "7.40.0")
(source (origin
(method url-fetch)
(uri (string-append "http://curl.haxx.se/download/curl-"
version ".tar.lzma"))
(sha256
(base32
"10yfh4hy8wbkj43la238hg6h8i9wyp1cvvk8kl0giac1020imn5d"))))
"1a15fdc26b3vwwmchzzpd3l1hfyhx06dn7b6lkikqd7kgwvg5ps7"))
(patches (list (search-patch "curl-gss-api-fix.patch")))))
(build-system gnu-build-system)
(inputs `(("gnutls" ,gnutls)
("gss" ,gss)

8
gnu/packages/databases.scm

@ -3,7 +3,7 @@
;;; Copyright © 2012, 2014 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2013 Cyril Roelandt <tipecaml@gmail.com>
;;; Copyright © 2014 David Thompson <davet@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -213,7 +213,7 @@ types are supported, as is encryption.")
(define-public sqlite
(package
(name "sqlite")
(version "3.8.4.3")
(version "3.8.7.4")
(source (origin
(method url-fetch)
;; TODO: Download from sqlite.org once this bug :
@ -233,9 +233,7 @@ types are supported, as is encryption.")
"/sqlite-autoconf-" numeric-version ".tar.gz")))
(sha256
(base32
"0rcdsk5sz34w8vy0g5yhfms4saiq81i872jxx5m5sjij7bi9bsg0"))
(patches
(list (search-patch "sqlite-large-page-size-fix.patch")))))
"1v2rhgsx27in6dcvxk0pkxc0zrbl38biimjg6c1zxz85jh9hydw6"))))
(build-system gnu-build-system)
(inputs
`(("readline" ,readline)))

26
gnu/packages/elf.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -87,7 +88,7 @@ addr2line, and more.")
(define-public patchelf
(package
(name "patchelf")
(version "0.6")
(version "0.8")
(source (origin
(method url-fetch)
(uri (string-append
@ -96,9 +97,30 @@ addr2line, and more.")
"/patchelf-" version ".tar.bz2"))
(sha256
(base32
"00bw29vdsscsili65wcb5ay0gvg1w0ljd00sb5xc6br8bylpyzpw"))
"1rqpg84wrd3fa16wa9vqdvasnc05yz49w207cz1l0wrl4k8q97y9"))
(patches (list (search-patch "patchelf-page-size.patch")))))
(build-system gnu-build-system)
;; XXX: The upstream 'patchelf' doesn't support ARM. The only available
;; patch makes significant changes to the algorithm, possibly
;; introducing bugs. So, we apply the patch only on ARM systems.
(inputs
(if (string-prefix? "arm" (or (%current-target-system) (%current-system)))
`(("patch/rework-for-arm" ,(search-patch
"patchelf-rework-for-arm.patch")))
'()))
(arguments
(if (string-prefix? "arm" (or (%current-target-system) (%current-system)))
`(#:phases (alist-cons-after
'unpack 'patch/rework-for-arm
(lambda* (#:key inputs #:allow-other-keys)
(let ((patch-file
(assoc-ref inputs "patch/rework-for-arm")))
(zero? (system* "patch" "--force" "-p1"
"--input" patch-file))))
%standard-phases))
'()))
(home-page "http://nixos.org/patchelf.html")
(synopsis "Modify the dynamic linker and RPATH of ELF executables")
(description

28
gnu/packages/file.scm

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -27,14 +27,14 @@
(define-public file
(package
(name "file")
(version "5.19")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256 (base32
"0z1sgrcfy6d285kj5izy1yypf371bjl3247plh9ppk0svaxv714l"))
(patches (list (search-patch "file-CVE-2014-3587.patch")))))
(version "5.22")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256
(base32
"02zw14hw3gqlw91w2f2snbirvyrp7r83irvnnkjcb25q9kjaiqy4"))))
(build-system gnu-build-system)
;; When cross-compiling, this package depends upon a native install of
@ -50,13 +50,3 @@ of the file.")
(license bsd-2)
(home-page "http://www.darwinsys.com/file/")))
(define-public file-5.20 ;fix for CVE-2014-3710
(package (inherit file)
(version "5.20")
(source (origin
(method url-fetch)
(uri (string-append "ftp://ftp.astron.com/pub/file/file-"
version ".tar.gz"))
(sha256
(base32
"0iyjs9z8kp43gz7gva4j67h4p0n53f7q8x3ibai9s01sp3xnphsv"))))))

3
gnu/packages/fontutils.scm

@ -281,8 +281,7 @@ smooth contours with constant curvature at the spline joins.")
(build-system gnu-build-system)
(native-inputs `(("autoconf" ,autoconf)
("automake" ,automake)
("libtool" ,libtool)
("libtool-bin" ,libtool "bin")))
("libtool" ,libtool)))
(arguments
`(#:phases (alist-cons-before
'configure 'bootstrap

2
gnu/packages/games.scm

@ -717,7 +717,7 @@ for common mesh file formats, and collision detection.")
(native-search-paths
(list (search-path-specification
(variable "MINETEST_SUBGAME_PATH")
(directories '("share/minetest/games")))))
(files '("share/minetest/games")))))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs

24
gnu/packages/gawk.scm

@ -1,6 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;; Copyright © 2012, 2013, 2014, 2015 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -55,16 +55,18 @@
'((substitute* "extension/Makefile.in"
(("^.*: check-for-shared-lib-support" match)
(string-append "### " match))))
'())
;; XXX FIXME prerelease libtool fails on MIPS in the
;; absence of /usr/bin/file.
,@(if (equal? "mips64el-linux" (or (%current-target-system)
(%current-system)))
'((substitute* "extension/configure"
(("/usr/bin/file") (which "file"))))
'())))
%standard-phases)))
(alist-cons-before
'check 'install-locales
(lambda _
;; A bunch of tests require the availability of a UTF-8
;; locale and otherwise fail. Give them what they want.
(setenv "LOCPATH" (getcwd))
(zero? (system* "localedef" "--no-archive"
"--prefix" (getcwd) "-i" "en_US"
"-f" "UTF-8" "./en_US.UTF-8")))
%standard-phases))))
(inputs `(("libsigsegv" ,libsigsegv)
,@(if (%current-target-system)

74
gnu/packages/gcc.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2014, 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -35,7 +36,7 @@
;; Base URL for GCC's infrastructure.
"ftp://gcc.gnu.org/pub/gcc/infrastructure/")
(define-public (gcc-configure-flags-for-triplet target)
(define (gcc-configure-flags-for-triplet target)
"Return a list of additional GCC `configure' flags for TARGET, a GNU triplet.
The purpose of this procedure is to translate extended GNU triplets---e.g.,
@ -45,8 +46,17 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; Triplets recognized by glibc as denoting the N64 ABI; see
;; ports/sysdeps/mips/preconfigure.
'("--with-abi=64"))
((string-match "^arm.*-gnueabihf$" target)
'("--with-arch=armv7-a"
"--with-float=hard"
"--with-mode=thumb"
;; See <https://wiki.debian.org/ArmHardFloatPort/VfpComparison#FPU>
"--with-fpu=vfpv3-d16"))
(else
;; TODO: Add `armel.*gnueabi', `hf', etc.
;; TODO: Add `arm.*-gnueabi', etc.
'())))
(define-public gcc-4.7
@ -101,11 +111,11 @@ where the OS part is overloaded to denote a specific ABI---into GCC
"/include")
"--without-headers")))
;; When cross-compiling GCC, pass the right options for the
;; target triplet.
(or (and=> (%current-target-system)
gcc-configure-flags-for-triplet)
'())
;; Pass the right options for the target triplet.
(let ((triplet
(or (%current-target-system)
(nix-system->gnu-triplet (%current-system)))))
(gcc-configure-flags-for-triplet triplet))
(maybe-target-tools))))))
(package
@ -178,9 +188,19 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; The following is not performed for `--without-headers'
;; cross-compiler builds.
;; Join multi-line definitions of GLIBC_DYNAMIC_LINKER* into a
;; single line, to allow the next step to work properly.
(for-each
(lambda (x)
(substitute* (find-files "gcc/config"
"^linux(64|-elf|-eabi)?\\.h$")
(("(#define GLIBC_DYNAMIC_LINKER.*)\\\\\n$" _ line)
line)))
'(1 2 3))
;; Fix the dynamic linker's file name.
(substitute* (find-files "gcc/config"
"^linux(64|-elf)?\\.h$")
"^linux(64|-elf|-eabi)?\\.h$")
(("#define GLIBC_DYNAMIC_LINKER([^ ]*).*$" _ suffix)
(format #f "#define GLIBC_DYNAMIC_LINKER~a \"~a\"~%"
suffix
@ -197,6 +217,11 @@ where the OS part is overloaded to denote a specific ABI---into GCC
;; libgcc_s.so when pthread_cancel support is needed, but
;; having it in the application's RUNPATH isn't enough; see
;; <http://sourceware.org/ml/libc-help/2013-11/msg00023.html>.)
;;
;; NOTE: The '-lgcc_s' added below needs to be removed in a
;; later phase of %gcc-static. If you change the string
;; below, make sure to update the relevant code in
;; %gcc-static package as needed.
(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 libdir libdir suffix))
@ -245,10 +270,10 @@ where the OS part is overloaded to denote a specific ABI---into GCC
(native-search-paths
(list (search-path-specification
(variable "CPATH")
(directories '("include")))
(files '("include")))
(search-path-specification
(variable "LIBRARY_PATH")
(directories '("lib" "lib64")))))
(files '("lib" "lib64")))))
(properties `((gcc-libc . ,(assoc-ref inputs "libc"))))
(synopsis "GNU Compiler Collection")
@ -261,15 +286,14 @@ Go. It also includes runtime support libraries for these languages.")
(define-public gcc-4.8
(package (inherit gcc-4.7)
(version "4.8.3")
(version "4.8.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gcc/gcc-"
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"07hg10zs7gnqz58my10ch0zygizqh0z0bz6pv4pgxx45n48lz3ka"))
(patches (list (search-patch "gcc-fix-pr61801.patch")))))))
"15c6gwm6dzsaagamxkak5smdkf1rdfbqqjs9jdbrp3lbg4ism02a"))))))
(define-public gcc-4.9
(package (inherit gcc-4.7)
@ -280,29 +304,7 @@ Go. It also includes runtime support libraries for these languages.")
version "/gcc-" version ".tar.bz2"))
(sha256
(base32
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))
;; TODO: In core-updates, improve the 'pre-configure phase of the main
;; 'gcc' package so that the 'join-two-line-dynamic-linker-defns phase is
;; no longer needed here. Then the entire 'arguments' override below can
;; be removed.
(arguments
(substitute-keyword-arguments (package-arguments gcc-4.7)
((#:phases phases)
`(alist-cons-before
'pre-configure 'join-two-line-dynamic-linker-defns
(lambda* (#:key inputs outputs #:allow-other-keys)
(let ((libc (assoc-ref inputs "libc")))
(when libc
;; Join two-line definitions of GLIBC_DYNAMIC_LINKER* into a
;; single line, to allow the 'pre-configure phase to work
;; properly.
(substitute* (find-files "gcc/config"
"^linux(64|-elf)?\\.h$")
(("(#define GLIBC_DYNAMIC_LINKER[^ ]*.*)\\\\\n$" _ line)
line)))
#t))
,phases))))))
"1pbjp4blk2ycaa6r3jmw4ky5f1s9ji3klbqgv8zs2sl5jn1cj810"))))))
(define* (custom-gcc gcc name languages #:key (separate-lib-output? #t))
"Return a custom version of GCC that supports LANGUAGES."

22
gnu/packages/gd.scm

@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2013 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@ -24,6 +25,7 @@
#:use-module (gnu packages image)
#:use-module (gnu packages fontutils)
#:use-module (gnu packages compression)
#:use-module (gnu packages pkg-config)
#:use-module ((guix licenses) #:select (bsd-style)))
(define-public gd
@ -31,25 +33,21 @@
(name "gd")
;; Note: With libgd.org now pointing to bitbucket.org, genuine old
;; tarballs are no longer available. Notably, versions 2.0.34 and .35 are
;; tarballs are no longer available. Notably, versions 2.0.x are
;; missing.
(version "2.0.33")
(version "2.1.1")
(source (origin
(method url-fetch)
(uri "https://bitbucket.org/libgd/gd-libgd/get/GD_2_0_33.tar.gz")
(uri (string-append
"https://bitbucket.org/libgd/gd-libgd/downloads/"
"libgd-" version ".tar.xz"))
(sha256
(base32
"0yrbx8mj9pykyzm0zl1q86xlkdvkajcsf5jmg688vhw9yc5wmbbw"))
(patches
(list (search-patch "gd-mips64-deplibs-fix.patch")))))
"11djy9flzxczphigqgp7fbbblbq35gqwwhn9xfcckawlapa1xnls"))))
(build-system gnu-build-system)
(arguments
'(#:phases (alist-cons-after
'unpack 'chdir
(lambda _
(chdir "src"))
%standard-phases)))
(native-inputs
`(("pkg-config" ,pkg-config)))
(inputs
`(("freetype" ,freetype)
("libpng" ,libpng)

4
gnu/packages/gettext.scm

@ -35,14 +35,14 @@
(define-public gnu-gettext
(package
(name "gettext")
(version "0.19.3")
(version "0.19.4")
(source (origin
(method url-fetch)
(uri (string-append "mirror://gnu/gettext/gettext-"
version ".tar.gz"))
(sha256
(base32
"1xmkxviqnq60h4wmh3bi6b1zkc9qsk3l1lv91k0iwfrxb982v5ck"))))
"0gvz86m4cs8bdf3mwmwsyx6lrq4ydfxgadrgd9jlx32z3bnz3jca"))))
(build-system gnu-build-system)
(inputs
`(("expat" ,expat)))

4
gnu/packages/glib.scm

@ -189,7 +189,7 @@ shared NFS home directories.")
;; by 'glib-compile-schemas'.
(list (search-path-specification
(variable "XDG_DATA_DIRS")
(directories '("share")))))
(files '("share")))))
(search-paths native-search-paths)
(synopsis "Thread-safe general utility library; basis of GTK+ and GNOME")
@ -231,7 +231,7 @@ dynamic loading, and an object system.")
(native-search-paths
(list (search-path-specification
(variable "GI_TYPELIB_PATH")
(directories '("lib/girepository-1.0")))))
(files '("lib/girepository-1.0")))))
(search-paths native-search-paths)
(arguments
`(#:phases