* gnu/packages/gettext.scm (gnu-gettext): Re-enable patch from
0e4e4b1329 to explictly link to
libexpat. Otherwise libexpat was searched at runtime via dlopen,
which obviously doesn't work in a Guix context.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* guix/build/gremlin.scm (validate-needed-in-runpath)[runpath]:
Add (filter absolute-file-name? ...).
Emit a warning when RUNPATH file names that do not match
'store-file-name?'. Change format of error message to begin with file
name.
* guix/build/utils.scm (store-file-name?): New procedure.
Fixes <http://bugs.gnu.org/20050>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).
* gnu/packages/patches/ghostscript-runpath.patch: New file.
* gnu/packages/ghostscript.scm (ghostscript)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
Fixes <http://bugs.gnu.org/20041>.
Reported by taylanbayirli@gmail.com (Taylan Ulrich Bayırlı/Kammer).
* gnu/packages/patches/openssl-runpath.patch: New file.
* gnu/packages/openssl.scm (openssl)[source]: Use it.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/ld-wrapper.scm: Use @SELF@ instead of $0. This is so
that the .go file is found even when the wrapper is invoked via a
symlink to it.
* gnu/packages/base.scm (make-ld-wrapper): Substitute @SELF@.
* gnu/packages/ncurses.scm (ncurses): Remove 'cross-pre-install-phase'.
When cross-compiling, it was leading to an empty $out/share/terminfo
directory.
* 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.
* 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.
* 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.
Fixes <http://bugs.gnu.org/19780>.
Reported by Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>.
* gnu/packages/bootstrap/i686-linux/bash,
gnu/packages/bootstrap/i686-linux/mkdir,
gnu/packages/bootstrap/i686-linux/tar,
gnu/packages/bootstrap/i686-linux/xz,
gnu/packages/bootstrap/x86_64-linux/bash,
gnu/packages/bootstrap/x86_64-linux/mkdir,
gnu/packages/bootstrap/x86_64-linux/tar,
gnu/packages/bootstrap/x86_64-linux/xz: Update from
<ftp://alpha.gnu.org:/gnu/guix/bootstrap/i686-linux/20131110/static-binaries.tar.xz>
and
<ftp://alpha.gnu.org:/gnu/guix/bootstrap/x86_64-linux/20131110/static-binaries.tar.xz>,
respectively. The libc in those binaries has no dynamic NSS support,
which could otherwise lead to crashes when they tried to load NSS
modules of the host system.
* 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.
* gnu/packages/audacity.scm: New file.
* gnu-system.am (GNU_SYSTEM_MODULES): Add it.
* gnu/packages/patches/audacity-fix-ffmpeg-binding.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* gnu/packages/audio.scm (portaudio): Add a patch for Audacity compatibility.
* gnu/packages/patches/portaudio-audacity-compat.patch: New file.
* gnu-system.am (dist_patch_DATA): Add it.
* guix/gexp.scm (<local-file>): New record type.
(local-file): New procedure.
(local-file-compiler): New compiler.
(gexp->sexp) <struct? thing>: Handle the case where 'lower' returns a
file name.
(text-file*): Update docstring.local-file doc
* tests/gexp.scm ("one local file", "gexp->derivation, local-file"): New
tests.
* doc/guix.texi (G-Expressions): Mention local files early. Document
'local-file'. Update 'text-file*' documentation.