guix/gnu/packages
Ludovic Courtès 05962f2958 packages: Implement grafts.
Thanks to Mark H. Weaver <mhw@netris.org> for insightful discussions
and suggestions.

* guix/packages.scm (<package>)[graft]: New field.
  (patch-and-repack): Invoke 'package-derivation' with #:graft? #f.
  (package-source-derivation): Likewise.  Do not use (%guile-for-build)
  in call to 'patch-and-repack', and we could end up using a grafted
  Guile.
  (expand-input): Likewise, also for 'package-cross-derivation' call.
  (package->bag): Add #:graft? parameter.  Honor it.  Use 'strip-append'
  instead of 'package-full-name'.
  (input-graft, input-cross-graft, bag-grafts, package-grafts): New
  procedures.
  (package-derivation, package-cross-derivation): Add #:graft? parameter
  and honor it.
* gnu/packages/bootstrap.scm (package-with-bootstrap-guile): Add
  recursive call on 'graft'.
* guix/build-system/gnu.scm (package-with-explicit-inputs,
  package-with-extra-configure-variable, static-package): Likewise.
  (gnu-build): Use the ungrafted Guile to avoid full rebuilds.
  (gnu-cross-build): Likewise.
* guix/build-system/cmake.scm (cmake-build): Likewise.
* guix/build-system/glib-or-gtk.scm (glib-or-gtk-build): Likewise.
* guix/build-system/perl.scm (perl-build): Likewise.
* guix/build-system/python.scm (python-build): Likewise.
* guix/build-system/ruby.scm (ruby-build): Likewise.
* guix/build-system/trivial.scm (guile-for-build): Likewise.
* tests/packages.scm ("package-derivation, direct graft",
  "package-cross-derivation, direct graft", "package-grafts,
  indirect grafts", "package-grafts, indirect grafts, cross",
  "package-grafts, indirect grafts, propagated inputs",
  "package-derivation, indirect grafts"): New tests.
  ("bag->derivation", "bag->derivation, cross-compilation"): Wrap in
  'parameterize'.
* doc/guix.texi (Security Updates): New node.
  (Invoking guix build): Document --no-graft.
2014-11-02 21:22:12 +01:00
..
bootstrap
patches gnu: Add ath9k-htc-firmware. 2014-10-29 00:31:23 +01:00
abiword.scm
acct.scm
acl.scm gnu: acl: Install library and disable failing test suite. 2014-10-26 02:55:38 -04:00
admin.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
aidc.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
algebra.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
apl.scm
apr.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
asciidoc.scm
aspell.scm
attr.scm
autogen.scm
autotools.scm
avahi.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
backup.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
base.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
bash.scm gnu: bash: Update to 4.3.30. 2014-10-26 02:55:37 -04:00
bdw-gc.scm
bison.scm
bittorrent.scm
boost.scm
bootstrap.scm packages: Implement grafts. 2014-11-02 21:22:12 +01:00
busybox.scm
calcurse.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
ccache.scm gnu: ccache: Upgrade to 3.1.10. 2014-10-20 16:49:32 -05:00
cdrom.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
cflow.scm
check.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
cmake.scm gnu: Add 'version-prefix' and 'version-major+minor'; use them. 2014-10-20 15:32:54 +02:00
commencement.scm gnu: make: Update to 4.1. 2014-10-26 02:55:37 -04:00
complexity.scm
compression.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
conkeror.scm
cook.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
cpio.scm
cppi.scm
cross-base.scm gnu: Add Xtensa bare-bones cross-compiler. 2014-10-29 00:31:23 +01:00
crypto.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
cryptsetup.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
curl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
cursynth.scm
cyrus-sasl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
databases.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
datamash.scm
dc.scm
dejagnu.scm
dictionaries.scm
disk.scm
docbook.scm
doxygen.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
dwm.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
ed.scm
elf.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
emacs.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
enchant.scm
feh.scm gnu: Add prefix to license imports in (gnu packages feh). 2014-10-27 03:35:02 -04:00
file.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
firmware.scm gnu: Add ath9k-htc-firmware. 2014-10-29 00:31:23 +01:00
fish.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
flashing-tools.scm
flex.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
fltk.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
fonts.scm Update name and email address for Joshua Grant. 2014-10-26 14:48:57 +01:00
fontutils.scm gnu: potrace: Install libraries and header files. 2014-10-29 21:21:49 +01:00
freeipmi.scm
fribidi.scm
ftp.scm
games.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gawk.scm
gcal.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gcc.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gd.scm
gdb.scm
gdbm.scm
geeqie.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gettext.scm gnu: gettext: Update to 0.19.3. 2014-10-26 02:55:37 -04:00
ghostscript.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gimp.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gkrellm.scm
gl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
glib.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
global.scm
gnome.scm gnu: libart-lgpl: Update to 2.3.21. 2014-11-02 13:15:39 +01:00
gnu-pw-mgr.scm
gnunet.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gnupg.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gnustep.scm
gnutls.scm gnu: gnutls: Fix path to a guile site directory. 2014-10-27 09:56:58 +03:00
gnuzilla.scm gnu: icecat: Update to 31.2.0. 2014-10-23 18:47:39 -04:00
gperf.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gprolog.scm gnu: Mark a few packages as unsupported on MIPS. 2014-10-28 01:18:50 +01:00
gps.scm gnu: gpsbabel: Correctly unquote the value for #:tests?. 2014-10-31 00:10:44 +01:00
graphviz.scm
groff.scm
grub.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
grue-hunter.scm
gsasl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
gstreamer.scm
gtk.scm gnu: harfbuzz: Add and enable input graphite2. 2014-10-29 21:21:48 +01:00
guile-wm.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
guile.scm gnu: guile-ncurses: Update to 1.6. 2014-10-29 00:31:23 +01:00
gv.scm
gxmessage.scm
hugs.scm
hurd.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
icu4c.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
idutils.scm
image.scm gnu: Add freeimage. 2014-11-02 12:33:25 -05:00
imagemagick.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
indent.scm
inkscape.scm
irssi.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
iso-codes.scm
jrnl.scm
kde.scm gnu: Add oxygen-icons. 2014-11-02 19:13:44 +01:00
ld-wrapper.scm
less.scm
lesstif.scm
libcanberra.scm
libdaemon.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
libevent.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
libffi.scm
libftdi.scm
libidn.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
libphidget.scm
libsigsegv.scm
libunistring.scm
libunwind.scm
libusb.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
lightning.scm
links.scm
linux-libre-i686.conf
linux-libre-x86_64.conf
linux.scm gnu: linux-libre: Update to 3.17.2. 2014-10-30 21:13:20 -07:00
lisp.scm
lout.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
lsh.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
lsof.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
lua.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
lynx.scm
m4.scm
mail.scm gnu: Add 'version-prefix' and 'version-major+minor'; use them. 2014-10-20 15:32:54 +02:00
make-bootstrap.scm
man.scm
maths.scm gnu: atlas: Make it non-substitutable. 2014-10-28 10:17:55 +01:00
mc.scm
mcrypt.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
messaging.scm
miscfiles.scm gnu: Add miscfiles 2014-10-27 11:17:21 +01:00
mit-krb5.scm
moe.scm
mp3.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
mpd.scm gnu: Add 'version-prefix' and 'version-major+minor'; use them. 2014-10-20 15:32:54 +02:00
mpi.scm gnu: Add 'version-prefix' and 'version-major+minor'; use them. 2014-10-20 15:32:54 +02:00
mtools.scm
multiprecision.scm
nano.scm
ncdu.scm
ncurses.scm
netpbm.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
nettle.scm
node.scm
noweb.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
ntp.scm gnu: Add ntp 2014-10-19 10:03:34 +02:00
nvi.scm
ocaml.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
ocrad.scm
onc-rpc.scm
openldap.scm
openssl.scm gnu: Add perl-net-ssleay. 2014-10-31 20:25:02 -05:00
orpheus.scm
ots.scm
package-management.scm
parallel.scm gnu: parallel: Update to 20141022. 2014-10-26 23:05:29 -04:00
patchutils.scm
pciutils.scm
pcre.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
pdf.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
pem.scm
perl.scm
photo.scm
pkg-config.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
plotutils.scm
popt.scm
pretty-print.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
protobuf.scm
pth.scm
pulseaudio.scm gnu: pulseaudio: Fix CVE-2014-3970 and intermittent test failures. 2014-10-26 02:55:38 -04:00
python.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
qemu.scm gnu: Mark a few packages as unsupported on MIPS. 2014-10-28 01:18:50 +01:00
qt.scm gnu: Mark a few packages as unsupported on MIPS. 2014-10-28 01:18:50 +01:00
ratpoison.scm
rdf.scm
readline.scm
rrdtool.scm
rsync.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
ruby.scm gnu: ruby: Update to 2.1.4. 2014-10-31 18:57:30 -04:00
rush.scm
samba.scm
scanner.scm gnu: Add sane-backends 2014-10-20 18:13:36 +02:00
scheme.scm gnu: mit-scheme: Fix typo in 'supported-systems'. 2014-10-28 10:29:36 +01:00
screen.scm
scrot.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
sdl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
search.scm
serveez.scm
shishi.scm
skribilo.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
slim.scm Update name and email address for Joshua Grant. 2014-10-26 14:48:57 +01:00
smalltalk.scm
ssh.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
stalonetray.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
swig.scm
synergy.scm
tcl.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
tcsh.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
telephony.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
texinfo.scm
texlive.scm gnu: texlive: Move script packages from native-inputs to inputs. 2014-10-30 00:01:02 +01:00
time.scm
tmux.scm
tor.scm gnu: tor: Update to 0.2.5.10. 2014-10-26 16:49:55 -04:00
unclutter.scm
unrtf.scm
upnp.scm
uucp.scm
valgrind.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
version-control.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
video.scm gnu: ffmpeg: Add version 2.2.9 and use it for vlc. 2014-10-25 20:06:43 -04:00
vim.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
vpn.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
vtk.scm
w3m.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
wdiff.scm
web.scm gnu: Add libpsl. 2014-10-31 20:25:02 -05:00
weechat.scm
wget.scm gnu: wget: Add input libpsl. 2014-10-31 20:25:02 -05:00
which.scm
wordnet.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
wv.scm
xfig.scm
xiph.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
xlockmore.scm
xml.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
xnee.scm
xorg.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
yasm.scm
zile.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
zip.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00
zsh.scm gnu: Some cleanup based on lint checkers. 2014-10-26 13:03:53 -05:00