Subject: [PATCH 0/2] Factorize the 'bootstrap' phase

From: Ludovic Courtès <[email-masked]>
Date: Sun, 11 Mar 2018 22:12:53 +0100

Hello Guix!

I think time has come to factorize the 'bootstrap phase.  :-)

This patch adds an unconditional ‘bootstrap’ phase to the ‘gnu’ build
system.  The phase does nothing when there’s already a ‘configure’
script; otherwise it does the usual thing, and tries to adjust to the
most common conventions.  There are still some cases where we need to
keep a custom ‘bootstrap’ phase, but that’s fine.

I’ve tested by rebuilding a bunch of packages.  Unfortunately I couldn’t
go very far because Libtool fails to build (test failure) on
core-updates and I didn’t want to investigate right away.

This change is for ‘core-updates’.

Feedback welcome!

Ludo’.

Ludovic Courtès (2):
  utils: Add 'false-if-file-not-found'.
  build-system/gnu: Add 'bootstrap' phase.

 gnu/packages/audio.scm              | 22 ++------------------
 gnu/packages/backup.scm             |  3 ---
 gnu/packages/bioinformatics.scm     | 11 ++--------
 gnu/packages/ci.scm                 |  5 -----
 gnu/packages/crypto.scm             |  7 +------
 gnu/packages/databases.scm          |  9 ++-------
 gnu/packages/debug.scm              |  5 +----
 gnu/packages/documentation.scm      |  5 +----
 gnu/packages/fontutils.scm          |  5 -----
 gnu/packages/ftp.scm                |  7 +------
 gnu/packages/game-development.scm   |  7 +------
 gnu/packages/games.scm              |  4 +---
 gnu/packages/gnome.scm              | 21 +++----------------
 gnu/packages/gnunet.scm             |  7 +------
 gnu/packages/gtk.scm                |  7 +------
 gnu/packages/guile.scm              | 26 ++----------------------
 gnu/packages/java.scm               |  3 ---
 gnu/packages/kodi.scm               |  6 ------
 gnu/packages/libreoffice.scm        |  8 +-------
 gnu/packages/libusb.scm             |  6 ------
 gnu/packages/linux.scm              | 26 +++++++-----------------
 gnu/packages/messaging.scm          | 16 ++-------------
 gnu/packages/microcom.scm           |  6 ------
 gnu/packages/networking.scm         |  2 --
 gnu/packages/onc-rpc.scm            |  8 +-------
 gnu/packages/package-management.scm |  2 +-
 gnu/packages/sawfish.scm            |  7 -------
 gnu/packages/version-control.scm    |  7 +------
 gnu/packages/video.scm              |  7 +++----
 gnu/packages/web.scm                | 17 ++++------------
 gnu/packages/wget.scm               |  4 ++--
 gnu/packages/wm.scm                 |  9 ++-------
 gnu/packages/xdisorg.scm            |  9 ++-------
 gnu/packages/xml.scm                |  2 +-
 gnu/packages/xorg.scm               | 14 +++----------
 gnu/packages/zile.scm               |  4 ++--
 guix/build/ant-build-system.scm     |  1 +
 guix/build/asdf-build-system.scm    |  2 ++
 guix/build/cargo-build-system.scm   |  1 +
 guix/build/cmake-build-system.scm   |  3 ++-
 guix/build/dub-build-system.scm     |  1 +
 guix/build/emacs-build-system.scm   |  1 +
 guix/build/font-build-system.scm    |  1 +
 guix/build/gnu-build-system.scm     | 40 ++++++++++++++++++++++++++++++++++++-
 guix/build/go-build-system.scm      |  1 +
 guix/build/haskell-build-system.scm |  1 +
 guix/build/minify-build-system.scm  |  1 +
 guix/build/ocaml-build-system.scm   |  1 +
 guix/build/perl-build-system.scm    |  3 ++-
 guix/build/python-build-system.scm  |  3 ++-
 guix/build/r-build-system.scm       |  1 +
 guix/build/ruby-build-system.scm    |  1 +
 guix/build/scons-build-system.scm   |  1 +
 guix/build/texlive-build-system.scm |  1 +
 guix/build/utils.scm                | 12 ++++++++++-
 guix/build/waf-build-system.scm     |  1 +
 56 files changed, 123 insertions(+), 268 deletions(-)

-- 
2.16.2