gnu: gcc: Fix libgcc_s directory in RUNPATH for cross-compiled binaries.
* gnu/packages/gcc.scm (gcc-4.7): Add 'libdir' procedure. Use it to
determine the right libdir, including when cross-compiling. This
fixes a bug whereby the RUNPATH of cross-compiled binaries would be
set to $crossgcc/lib instead of $crossgcc/$triplet/lib.
See <http://hydra.gnu.org/build/354389/nixlog/1/raw> for an example.
gnu: commencement: Turn off RUNPATH checks for 'gcc-final'.
* gnu/packages/commencement.scm (gcc-final)[arguments]: Add
#:validate-runpath? #f.
build-system/gnu: Add 'validate-runpath' phase.
* guix/build/gnu-build-system.scm (every*, validate-runpath): New
procedures.
(%standard-phases): Add 'validate-runpath'.
* guix/build-system/gnu.scm (%gnu-build-system-modules): Add (guix build
gremlin) and (guix elf).
(gnu-build): Add #:validate-runpath?.
[builder]: Pass it.
(gnu-cross-build): Likewise.
* gnu/packages/base.scm (glibc)[arguments]: Add #:validate-runpath? #f.
utils: Make the second 'find-files' argument optional.
* guix/build/utils.scm (find-files): Make 'pred' optional.
gnu: Refer to %GNU-BUILD-SYSTEM-MODULES instead of listing modules.
* gnu/packages/cdrom.scm (cdparanoia)[arguments]: Refer to
%GNU-BUILD-SYSTEM-MODULES instead of providing the actual list.
* gnu/packages/emacs.scm (magit, emacs-w3m, emacs-wget, emms):
Likewise.
* gnu/packages/haskell.scm (ghc): Likewise.
* gnu/packages/samba.scm (samba): Likewise.
* gnu/packages/video.scm (ffmpeg): Likewise.
gnu: Remove unneeded uses of #:imported-modules.
* gnu/packages/certs.scm (nss-certs)[arguments]: Remove
#:imported-modules.
* gnu/packages/gnuzilla.scm (nss)[arguments]: Likewise.
* gnu/packages/texlive.scm (texlive-texmf)[arguments]: Likewise.
* gnu/packages/xfce.scm (xfce)[arguments]: Likewise.
build-system: Factorize the list of modules imported on the build side.
* guix/build-system/gnu.scm (%default-modules): Rename to...
(%gnu-build-system-modules): ... this.
(%default-modules): New variable.
(dist-package, gnu-build): Use %GNU-BUILD-SYSTEM-MODULES for
#:imported-modules.
(gnu-cross-build): Likewise, and use %DEFAULT-MODULES for #:modules.
* guix/build-system/cmake.scm (%cmake-build-system-modules): New
variable.
(cmake-build): Use it for #:imported-modules.
* guix/build-system/glib-or-gtk.scm (%default-imported-modules): Rename
to...
(%glib-or-gtk-build-system-modules): ... this. Refer to
%GNU-BUILD-SYSTEM-MODULES. Adjust uses.
* guix/build-system/perl.scm (%perl-build-system-modules): New
variable.
(perl-build): Use it for #:imported-modules.
* guix/build-system/python.scm (%python-build-system-modules): New
variable.
(python-build): Use it for #:imported-modules.
* guix/build-system/ruby.scm (%ruby-build-system-modules): New variable.
(ruby-build): Use it for #:imported-modules.
* guix/build-system/waf.scm (%waf-build-system-modules): New variable.
(waf-build): Use it for #:imported-modules.
gremlin: Guard against invalid ELF segments.
* guix/build/gremlin.scm (&elf-error, &invalid-segment-size): New error
condition types.
(dynamic-link-segment): Compare SEGMENT's offset + size to ELF's total
size.
(validate-needed-in-runpath): Wrap body in 'guard' form.
gremlin: Add libnsl to libc's library list.
* guix/build/gremlin.scm (%libc-libraries): Add "libnsl.so".
gnu: node: Remove unneeded import.
* gnu/packages/node.scm: Remove import of (guix build gnu-build-system).
utils: 'find-files' takes an arbitrary predicate as its second argument.
* guix/build/utils.scm (file-name-predicate): New procedure.
(find-files): Rename second parameter to 'pred'. When 'pred' is not a
procedure, call 'file-name-predicate'. Use PRED instead of
'regexp-exec' in the leaf procedure.
utils: 'modify-phases' no longer introduces quotes.
Suggested by Taylan Ulrich Bayırlı/Kammer <taylanbayirli@gmail.com>.
* guix/build/utils.scm (%modify-phases): Remove quotes.
* guix/build/cmake-build-system.scm (%standard-phases): Adjust
accordingly.
* guix/build/glib-or-gtk-build-system.scm (%standard-phases): Likewise.
* guix/build/gnu-dist.scm (%dist-phases): Likewise.
* guix/build/perl-build-system.scm (%standard-phases): Likewise.
* guix/build/python-build-system.scm (%standard-phases): Likewise.
* guix/build/ruby-build-system.scm (%standard-phases): Likewise.
* guix/build/waf-build-system.scm (%standard-phases): Likewise.
* gnu/packages/bash.scm, gnu/packages/code.scm, gnu/packages/gl.scm,
gnu/packages/gnome.scm, gnu/packages/graphics.scm,
gnu/packages/image.scm, gnu/packages/key-mon.scm,
gnu/packages/ocr.scm, gnu/packages/plotutils.scm,
gnu/packages/search.scm, gnu/packages/video.scm: Likewise.
Merge branch 'master' into core-updates
Add (guix build gremlin).
* guix/build/gremlin.scm, tests/gremlin.scm: New files.
* Makefile.am (MODULES): Add guix/build/gremlin.scm.
(SCM_TESTS): Add tests/gremlin.scm.
tests: Fix module name for 'lint'.
* tests/lint.scm: Change module name to 'test-lint'.
gnu: xterm: Update to 317.
* gnu/packages/xorg.scm (xterm): Update to 317.
gnu: pbtranscript-tofu: Add missing inputs.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[inputs]: Add missing
runtime inputs.
gnu: pbtranscript-tofu: Delete pre-built libraries.
* gnu/packages/bioinformatics.scm (pbtranscript-tofu)[arguments]: Delete
"build" directory and any shared objects after unpacking.
gnu: Add python-networkx.
* gnu/packages/python.scm (python-networkx, python2-networkx): New variables.