From 189be331acfda1c242a9c85fca8d2a0356742f48 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ludovic=20Court=C3=A8s?= Date: Sun, 11 Mar 2018 21:46:30 +0100 Subject: [PATCH] build-system/gnu: Add 'bootstrap' phase. This factorizes what has become a widespread idiom. * guix/build/gnu-build-system.scm (%bootstrap-scripts): New variable. (bootstrap): New procedure. (%standard-phases): Add it after 'unpack'. * guix/build/ant-build-system.scm (%standard-phases): Delete 'bootstrap. * guix/build/asdf-build-system.scm (%standard-phases/source) (%standard-phases): Likewise. * guix/build/cargo-build-system.scm (%standard-phases): Likewise. * guix/build/cmake-build-system.scm (%standard-phases): Likewise. * guix/build/dub-build-system.scm (%standard-phases): Likewise. * guix/build/emacs-build-system.scm (%standard-phases): Likewise. * guix/build/font-build-system.scm (%standard-phases): Likewise. * guix/build/go-build-system.scm (%standard-phases): Likewise. * guix/build/haskell-build-system.scm (%standard-phases): Likewise. * guix/build/minify-build-system.scm (%standard-phases): Likewise. * guix/build/ocaml-build-system.scm (%standard-phases): Likewise. * guix/build/perl-build-system.scm (%standard-phases): Likewise. * guix/build/python-build-system.scm (%standard-phases): Likewise. * guix/build/r-build-system.scm (%standard-phases): Likewise. * guix/build/ruby-build-system.scm (%standard-phases): Likewise. * guix/build/scons-build-system.scm (%standard-phases): Likewise. * guix/build/texlive-build-system.scm (%standard-phases): Likewise. * guix/build/waf-build-system.scm (%standard-phases): Likewise. * gnu/packages/audio.scm (faad2)[arguments]: Replace 'bootstrap. (soundtouch, cuetools, bluez-alsa): Remove 'arguments'. (cava)[arguments]: Replace 'bootstrap. * gnu/packages/backup.scm (rdup): Remove 'bootstrap. * gnu/packages/bioinformatics.scm (seek)[arguments]: Replace 'bootstrap. * gnu/packages/bioinformatics.scm (htslib-for-sambamba): Remove 'arguments'. * gnu/packages/ci.scm (hydra, cuirass): Remove 'bootstrap'. * gnu/packages/crypto.scm (libb2): Remove #:phases. * gnu/packages/databases.scm (guile-wiredtiger): Likewise. * gnu/packages/debug.scm (stress-make): Remove 'bootstrap'. * gnu/packages/documentation.scm (asciidoc): Likewise. * gnu/packages/fontutils.scm (libuninameslist): Remove 'arguments'. * gnu/packages/ftp.scm (weex): Remove 'arguments'. * gnu/packages/game-development.scm (ois): Remove 'arguments'. * gnu/packages/games.scm (pioneer): Remove 'bootstrap. * gnu/packages/gnome.scm (vte-ng, byzanz): Replace 'bootstrap. (arc-theme): Remove 'arguments'. (faba-icon-theme): Remove 'bootstrap. (arc-icon-theme): Remove 'arguments'. * gnu/packages/gnunet.scm (guile-gnunet): Likewise. * gnu/packages/gtk.scm (guile-rsvg): Likewise. * gnu/packages/guile.scm (mcron2): Remove 'bootstrap. (guile-bash): Remove #:phases. (guile-git): Remove 'bootstrap. (guile-syntax-highlight): Remove 'arguments'. (guile-sjson): Likewise. * gnu/packages/java.scm (classpath-devel): Remove 'bootstrap. * gnu/packages/kodi.scm (libdvdnav/kodi) (libdvdread/kodi, libdvdcss/kodi): Likewise. * gnu/packages/libreoffice.scm (hunspell): Remove 'arguments'. * gnu/packages/libusb.scm (hidapi): Likewise. * gnu/packages/linux.scm (bridge-utils): Rename 'bootstrap' to 'patch-stuff'; move it before 'bootstrap', without autoreconf invocation. (eudev): Rename 'bootstrap' to 'patch-file-names', without 'autogen.sh' invocation; move it before 'bootstrap. (gpm): Replace 'bootstrap'. (f2fs-tools): Remove 'arguments'. (rng-tools): Remove #:phases. * gnu/packages/messaging.scm (hexchat): Rename 'bootstrap' to 'copy-intltool-makefile'; remove "autoreconf" invocation and move before 'bootstrap'. (libmesode): Remove 'arguments'. (libstrophe): Likewise. * gnu/packages/microcom.scm (microcom): Likewise. * gnu/packages/networking.scm (libnet): Remove 'bootstrap. * gnu/packages/onc-rpc.scm (libnsl): Remove 'arguments'. * gnu/packages/package-management.scm (guix): Replace 'bootstrap. * gnu/packages/sawfish.scm (librep): Remove 'arguments'. * gnu/packages/version-control.scm (findnewest): Likewise. * gnu/packages/video.scm (liba52, handbrake, motion): Replace 'bootstrap. * gnu/packages/web.scm (fcgiwrap): Remove #:phases. (tidy): Replace 'bootstrap. (gumbo-parser): Remove #:phases. * gnu/packages/wget.scm (wget2): Replace 'bootstrap. * gnu/packages/wm.scm (i3lock-color): Remove #:phases. * gnu/packages/xdisorg.scm (xclip): Likewise. * gnu/packages/xml.scm (libxls): Replace 'bootstrap'. * gnu/packages/xorg.scm (xf86-video-freedreno) (xf86-video-intel): Remove #:phases. * gnu/packages/zile.scm (zile-on-guile): Replace 'bootstrap. --- 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/waf-build-system.scm | 1 + 55 files changed, 112 insertions(+), 267 deletions(-) diff --git a/gnu/packages/audio.scm b/gnu/packages/audio.scm index b1a15ed34d..d5c45e9479 100644 --- a/gnu/packages/audio.scm +++ b/gnu/packages/audio.scm @@ -1090,7 +1090,7 @@ (define-public faad2 (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (substitute* "bootstrap" (("\r\n") "\n")) (zero? (system* "sh" "bootstrap"))))))) @@ -2476,12 +2476,6 @@ (define-public soundtouch ("automake" ,automake) ("libtool" ,libtool) ("file" ,file))) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap"))))))) (home-page "http://www.surina.net/soundtouch/") (synopsis "Audio processing library for changing tempo, pitch and playback rate") @@ -2884,12 +2878,6 @@ (define-public cuetools "01xi3rvdmil9nawsha04iagjylqr1l9v9vlzk99scs8c207l58i4")))) (build-system gnu-build-system) ;; The source tarball is not bootstrapped. - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) - ;; Bootstrapping tools (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -3102,12 +3090,6 @@ (define-public bluez-alsa (base32 "1qinf41wl2ihx54zmmhanycihwjkn7dn1cicq6pp4rqbiv79b95x")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -3327,7 +3309,7 @@ (define-public cava (list (string-append "cava_LDFLAGS = -L" lib " -Wl,-rpath " lib))) #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda* (#:key outputs #:allow-other-keys) (setenv "HOME" (getcwd)) (invoke "sh" "autogen.sh"))) diff --git a/gnu/packages/backup.scm b/gnu/packages/backup.scm index 48d4b08af6..6e7bcc1479 100644 --- a/gnu/packages/backup.scm +++ b/gnu/packages/backup.scm @@ -278,9 +278,6 @@ (define-public rdup `(#:parallel-build? #f ;race conditions #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "autoreconf"))) (add-before 'build 'qualify-inputs (lambda* (#:key inputs #:allow-other-keys) ;; This script is full of pitfalls. Fix some that particularly diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index c427a6d036..b758c72dec 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -4645,9 +4645,9 @@ (define-public seek "Data2DB" "PCL2Bin"))) (modify-phases %standard-phases - (add-before 'configure 'bootstrap + (replace 'bootstrap (lambda _ - (zero? (system* "bash" "gen_auto")))) + (invoke "bash" "gen_auto"))) (add-after 'build 'build-additional-tools (lambda* (#:key make-flags #:allow-other-keys) (every (lambda (dir) @@ -10704,13 +10704,6 @@ (define htslib-for-sambamba (sha256 (base32 "0g38g8s3npr0gjm9fahlbhiskyfws9l5i0x1ml3rakzj7az5l9c9")))) - (arguments - (substitute-keyword-arguments (package-arguments htslib) - ((#:phases phases) - `(modify-phases ,phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif")))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/ci.scm b/gnu/packages/ci.scm index b5cfa7f1ab..c9048ccb8e 100644 --- a/gnu/packages/ci.scm +++ b/gnu/packages/ci.scm @@ -147,9 +147,6 @@ (define-public hydra (string-append "--docdir=" %output "/doc/hydra-" ,version))) #:phases (modify-phases %standard-phases - (add-after - 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vfi")))) (add-before 'check 'check-setup (lambda _ (setenv "LOGNAME" "test.log"))) @@ -221,8 +218,6 @@ (define-public cuirass (substitute* "build-aux/git-version-gen" (("#!/bin/sh") (string-append "#!" (which "sh")))) #t)) - (add-after 'patch-/bin/sh 'bootstrap - (lambda _ (zero? (system* "sh" "bootstrap")))) (add-after 'install 'wrap-program (lambda* (#:key inputs outputs #:allow-other-keys) ;; Wrap the 'cuirass' command to refer to the right modules. diff --git a/gnu/packages/crypto.scm b/gnu/packages/crypto.scm index 695f6ca088..4922c58753 100644 --- a/gnu/packages/crypto.scm +++ b/gnu/packages/crypto.scm @@ -645,12 +645,7 @@ (define-public libb2 ;; fat only checks for Intel optimisations '("--enable-fat") '()) - "--disable-native") ; don't optimise at build time. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "sh" "autogen.sh")))))) + "--disable-native"))) ;don't optimise at build time (home-page "https://blake2.net/") (synopsis "Library implementing the BLAKE2 family of hash functions") (description diff --git a/gnu/packages/databases.scm b/gnu/packages/databases.scm index 51e18d4a60..e289a604f9 100644 --- a/gnu/packages/databases.scm +++ b/gnu/packages/databases.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2012, 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2013, 2017 Cyril Roelandt ;;; Copyright © 2014, 2016 David Thompson @@ -1613,12 +1613,7 @@ (define-public guile-wiredtiger #:configure-flags (list (string-append "--with-libwiredtiger-prefix=" (assoc-ref %build-inputs "wiredtiger"))) - #:make-flags '("GUILE_AUTO_COMPILE=0") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "sh" "bootstrap")))))) + #:make-flags '("GUILE_AUTO_COMPILE=0"))) ;; TODO: Remove microkanren.scm when we have a separate package ;; for it. (native-inputs diff --git a/gnu/packages/debug.scm b/gnu/packages/debug.scm index 2354f0fbb9..777018bfb2 100644 --- a/gnu/packages/debug.scm +++ b/gnu/packages/debug.scm @@ -299,10 +299,7 @@ (define-public stress-make (which "sh")))))) (add-before 'configure 'repack-make (lambda _ - (zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir)))) - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi")))))))) + (zero? (system* "tar" "cJf" "./make.tar.xz" ,make-dir)))))))) (home-page "https://github.com/losalamos/stress-make") (synopsis "Expose race conditions in Makefiles") (description diff --git a/gnu/packages/documentation.scm b/gnu/packages/documentation.scm index eebd38243b..cde689c63d 100644 --- a/gnu/packages/documentation.scm +++ b/gnu/packages/documentation.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014 Ludovic Courtès +;;; Copyright © 2014, 2018 Ludovic Courtès ;;; Copyright © 2014, 2016 Andreas Enge ;;; Copyright © 2016 Eric Bavier ;;; Copyright © 2016 Roel Janssen @@ -59,9 +59,6 @@ (define-public asciidoc `(#:tests? #f ; no 'check' target #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "autoconf"))) ;; Some XML-related binaries are required for asciidoc's proper usage. ;; Without these, asciidoc fails when parsing XML documents, either ;; reporting a missing "xmllint" binary or, when passed the diff --git a/gnu/packages/fontutils.scm b/gnu/packages/fontutils.scm index 74e6a716f5..383243b13f 100644 --- a/gnu/packages/fontutils.scm +++ b/gnu/packages/fontutils.scm @@ -494,11 +494,6 @@ (define-public libuninameslist (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) ("libtool" ,libtool))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vi"))))))) (synopsis "Unicode names and annotation list") (description "LibUniNamesList holds www.unicode.org Nameslist.txt data which can be diff --git a/gnu/packages/ftp.scm b/gnu/packages/ftp.scm index a70398f678..395e38d3ae 100644 --- a/gnu/packages/ftp.scm +++ b/gnu/packages/ftp.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2018 Ludovic Courtès ;;; Copyright © 2015 Andreas Enge ;;; Copyright © 2015 Mark H Weaver ;;; Copyright © 2016, 2017, 2018 Tobias Geerinckx-Rice @@ -156,11 +156,6 @@ (define-public weex `(("automake" ,automake) ("autoconf" ,autoconf) ("gettext" ,gettext-minimal))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vfi"))))))) (home-page "http://weex.sourceforge.net/") (synopsis "Non-interactive client for FTP synchronization") (description diff --git a/gnu/packages/game-development.scm b/gnu/packages/game-development.scm index ffc3522919..2a5bc63294 100644 --- a/gnu/packages/game-development.scm +++ b/gnu/packages/game-development.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2014 Tomáš Čech ;;; Copyright © 2015 Mark H Weaver -;;; Copyright © 2015 Ludovic Courtès +;;; Copyright © 2015, 2018 Ludovic Courtès ;;; Copyright © 2015 Alex Kost ;;; Copyright © 2015, 2016, 2017 David Thompson ;;; Copyright © 2016, 2017, 2018 Efraim Flashner @@ -950,11 +950,6 @@ (define-public ois (base32 "0w0pamjc3vj0jr718hysrw8x076fq6n9rd6wcb36sn2jd0lqvi98")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "sh" "bootstrap"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/games.scm b/gnu/packages/games.scm index 272e9bce96..eb98197a06 100644 --- a/gnu/packages/games.scm +++ b/gnu/packages/games.scm @@ -5,7 +5,7 @@ ;;; Copyright © 2014, 2015, 2016, 2017 Eric Bavier ;;; Copyright © 2014 Cyrill Schenkel ;;; Copyright © 2014 Sylvain Beucler -;;; Copyright © 2014, 2015 Ludovic Courtès +;;; Copyright © 2014, 2015, 2018 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Sou Bunnbu ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015, 2016 Andreas Enge @@ -4633,8 +4633,6 @@ (define-public pioneer (string-append "PIONEER_DATA_DIR=" %output "/share/games/pioneer")) #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "sh" "bootstrap")))) (add-before 'bootstrap 'fix-lua-check (lambda _ (substitute* "configure.ac" diff --git a/gnu/packages/gnome.scm b/gnu/packages/gnome.scm index 43a3489021..19cc4d2e34 100644 --- a/gnu/packages/gnome.scm +++ b/gnu/packages/gnome.scm @@ -2111,7 +2111,7 @@ (define-public vte-ng (arguments `(#:configure-flags '("CXXFLAGS=-Wformat=0") #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (setenv "NOCONFIGURE" "true") (zero? (system* "sh" "autogen.sh"))))))) @@ -6016,7 +6016,7 @@ (define-public byzanz (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; The build system cleverly detects that we're not building from ;; a release tarball and turns on -Werror for GCC. @@ -6349,12 +6349,6 @@ (define-public arc-theme (base32 "0igxpngnkf1wpsg872a9jg3c9f5z8afm312yfbillz16mk8w39cw")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -6391,10 +6385,7 @@ (define-public faba-icon-theme (substitute* '("Makefile.am") (("\\$\\(DESTDIR\\)/usr/share") "$(datadir)")) - #t)) - (add-after 'patch-makefile.am 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) + #t))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) @@ -6443,12 +6434,6 @@ (define-public arc-icon-theme (base32 "1ya1cqvv8q847c0rpcg6apzky87q3h04y8jz5nmi52qk6kg8si0b")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) diff --git a/gnu/packages/gnunet.scm b/gnu/packages/gnunet.scm index 29bfc8199f..0569395d48 100644 --- a/gnu/packages/gnunet.scm +++ b/gnu/packages/gnunet.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2014, 2015 Andreas Enge ;;; Copyright © 2014 Sree Harsha Totakura -;;; Copyright © 2015, 2017 Ludovic Courtès +;;; Copyright © 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015, 2017 Efraim Flashner ;;; Copyright © 2016 Ricardo Wurmus ;;; Copyright © 2016 Mark H Weaver @@ -321,11 +321,6 @@ (define-public guile-gnunet ;GSoC 2015! (base32 "0k6mn28isjlxrnvbnblab3nh2xqx1b7san8k98kc35ap9lq0iz8w")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "autoreconf" "-vfi")))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,(autoconf-wrapper)) ("automake" ,automake))) diff --git a/gnu/packages/gtk.scm b/gnu/packages/gtk.scm index 7bdc8e7cb5..8b4925f950 100644 --- a/gnu/packages/gtk.scm +++ b/gnu/packages/gtk.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Andreas Enge -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2015 Federico Beffa @@ -844,11 +844,6 @@ (define-public guile-rsvg "/share/guile/site/@GUILE_EFFECTIVE_VERSION@"))) (file-name (string-append name "-" version ".tar.gz")))) (build-system gnu-build-system) - (arguments - `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) (native-inputs `(("pkg-config" ,pkg-config) ("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/guile.scm b/gnu/packages/guile.scm index 1025ea48ad..a4685ec7e4 100644 --- a/gnu/packages/guile.scm +++ b/gnu/packages/guile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014, 2015 Mark H Weaver ;;; Copyright © 2015, 2017 Christopher Allan Webber ;;; Copyright © 2016 Alex Sassmannshausen @@ -711,9 +711,6 @@ (define-public mcron2 (("guile/site/2.0") "guile/site/2.2")) #t)) - (add-after 'use-guile-2.2 'bootstrap - (lambda _ - (invoke "autoreconf" "-vfi"))) (add-after 'install 'wrap-mcron (lambda* (#:key outputs #:allow-other-keys) ;; Wrap the 'mcron' command to refer to the right @@ -1824,12 +1821,7 @@ (define-public guile-bash (file-name (string-append name "-" version "-checkout")))) (build-system gnu-build-system) (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap"))))) - - #:configure-flags + '(#:configure-flags ;; Add -I to match 'bash.pc' of Bash 4.4. (list (string-append "CPPFLAGS=-I" (assoc-ref %build-inputs "bash:include") @@ -1959,10 +1951,6 @@ (define-public guile-git (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi")))) - ;; FIXME: On i686, bytestructures miscalculates the offset ;; of the 'old-file' and 'new-file' fields within the ;; '%diff-delta' structure. @@ -2010,11 +1998,6 @@ (define-public guile-syntax-highlight (base32 "1zjr6sg3n7xbdsliy45i39dqanxvcms58ayx36wxrz72zpq58vq3")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "sh" "bootstrap"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -2041,11 +2024,6 @@ (define-public guile-sjson (base32 "1mzmapln79vv10qxaggz9qwcdbag3jnrj19xx8bgkmxss8h03sv3")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "sh" "bootstrap.sh"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/java.scm b/gnu/packages/java.scm index 47220fc75c..d3fa88adbd 100644 --- a/gnu/packages/java.scm +++ b/gnu/packages/java.scm @@ -693,9 +693,6 @@ (define-public classpath-devel "--disable-gjdoc") #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif")))) (add-after 'unpack 'remove-unsupported-annotations (lambda _ (substitute* (find-files "java" "\\.java$") diff --git a/gnu/packages/kodi.scm b/gnu/packages/kodi.scm index dab2a7c692..bb17edf2f5 100644 --- a/gnu/packages/kodi.scm +++ b/gnu/packages/kodi.scm @@ -146,8 +146,6 @@ (define libdvdnav/kodi '(#:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vif")))) (delete 'configure) (delete 'build) (replace 'install @@ -183,8 +181,6 @@ (define libdvdread/kodi '(#:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vif")))) (delete 'configure) (delete 'build) (replace 'install @@ -220,8 +216,6 @@ (define libdvdcss/kodi '(#:tests? #f #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vif")))) (delete 'configure) (delete 'build) (replace 'install diff --git a/gnu/packages/libreoffice.scm b/gnu/packages/libreoffice.scm index 9b60c06a8d..aed90c500f 100644 --- a/gnu/packages/libreoffice.scm +++ b/gnu/packages/libreoffice.scm @@ -6,7 +6,7 @@ ;;; Copyright © 2017 Thomas Danckaert ;;; Copyright © 2017 Tobias Geerinckx-Rice ;;; Copyright © 2017 Andy Wingo -;;; Copyright © 2017 Ludovic Courtès +;;; Copyright © 2017, 2018 Ludovic Courtès ;;; Copyright © 2017, 2018 Marius Bakke ;;; Copyright © 2017 Rutger Helling ;;; @@ -704,12 +704,6 @@ (define-public hunspell ("libtool" ,libtool))) (inputs `(("perl" ,perl))) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) (native-search-paths (list (search-path-specification (variable "DICPATH") (files '("share/hunspell"))))) diff --git a/gnu/packages/libusb.scm b/gnu/packages/libusb.scm index 10a5a91db4..904ab98cc0 100644 --- a/gnu/packages/libusb.scm +++ b/gnu/packages/libusb.scm @@ -330,12 +330,6 @@ (define-public hidapi (base32 "0qdgyj9rgb7n0nk3ghfswrhzzknxqn4ibn3wj8g4r828pw07451w")))) (build-system gnu-build-system) - (arguments - '(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) (inputs `(("libusb" ,libusb) ("udev" ,eudev))) diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm index a752fcf1b4..4085332eb3 100644 --- a/gnu/packages/linux.scm +++ b/gnu/packages/linux.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2013, 2014, 2015, 2016 Andreas Enge ;;; Copyright © 2012 Nikita Karetnikov ;;; Copyright © 2014, 2015, 2016, 2017, 2018 Mark H Weaver @@ -1365,7 +1365,7 @@ (define-public bridge-utils (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (add-before 'bootstrap 'patch-stuff (lambda _ ;; Fix "field ‘ip6’ has incomplete type" errors. (substitute* "libbridge/libbridge.h" @@ -1378,7 +1378,7 @@ (define-public bridge-utils (("\\$\\(MAKE\\) \\$\\(MFLAGS\\) -C \\$\\$x ;") "$(MAKE) $(MFLAGS) -C $$x || exit 1;")) - (zero? (system* "autoreconf" "-vf"))))) + #t))) #:tests? #f)) ; no 'check' target (home-page @@ -1996,14 +1996,13 @@ (define-public eudev (arguments '(#:phases (modify-phases %standard-phases - (add-before 'configure 'bootstrap + (add-before 'bootstrap 'patch-file-names (lambda* (#:key inputs #:allow-other-keys) (substitute* "man/make.sh" (("/usr/bin/xsltproc") (string-append (assoc-ref inputs "xsltproc") "/bin/xsltproc"))) - ;; Manual pages are regenerated here. - (zero? (system* "./autogen.sh")))) + #t)) (add-after 'install 'build-hwdb (lambda* (#:key outputs #:allow-other-keys) ;; Build OUT/etc/udev/hwdb.bin. This allows 'lsusb' and @@ -3097,7 +3096,7 @@ (define-public gpm (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; The tarball was not generated with 'make dist' so we ;; need to bootstrap things ourselves. @@ -3232,12 +3231,6 @@ (define-public f2fs-tools (base32 "1bir9ladb58ijlcvrjrq1fb1xv5ys50zdjaq0yzliib0apsyrnyl")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -3457,12 +3450,7 @@ (define-public rng-tools (build-system gnu-build-system) (arguments `(;; Avoid using OpenSSL, curl, and libxml2, reducing the closure by 166 MiB. - #:configure-flags '("--without-nistbeacon") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "sh" "autogen.sh"))))))) + #:configure-flags '("--without-nistbeacon"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/messaging.scm b/gnu/packages/messaging.scm index 7a4c370c99..c97c48e0e0 100644 --- a/gnu/packages/messaging.scm +++ b/gnu/packages/messaging.scm @@ -243,13 +243,13 @@ (define-public hexchat #:phases (modify-phases %standard-phases ;; Release 2.12.4 wasn't properly bootstrapped. Later ones might be! - (add-after 'unpack 'bootstrap + (add-before 'boostrap 'copy-intltool-makefile (lambda* (#:key inputs #:allow-other-keys) ;; This file is still required for autoreconf. (copy-file (string-append (assoc-ref inputs "intltool") "/share/intltool/Makefile.in.in") "po/Makefile.in.in") - (zero? (system* "autoreconf" "-fiv"))))))) + #t))))) (synopsis "Graphical IRC Client") (description "HexChat lets you connect to multiple IRC networks at once. The main @@ -1365,12 +1365,6 @@ (define-public libmesode (base32 "0iaj56fkd5bjvqpvq3324ni895rmbj1akbfqipjydnghfwaym4z6")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda _ - (zero? (system* "./bootstrap.sh"))))))) (inputs `(("expat" ,expat) ("openssl" ,openssl))) @@ -1400,12 +1394,6 @@ (define-public libstrophe (base32 "1hzwdax4nsz0fncf5bjfza0cn0lc6xsf38y569ql1gg5hvwr6169")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-before 'configure 'bootstrap - (lambda _ - (zero? (system* "./bootstrap.sh"))))))) (inputs `(("expat" ,expat) ("openssl" ,openssl))) diff --git a/gnu/packages/microcom.scm b/gnu/packages/microcom.scm index dcb864808f..67fd5fe355 100644 --- a/gnu/packages/microcom.scm +++ b/gnu/packages/microcom.scm @@ -39,12 +39,6 @@ (define-public microcom (base32 "080ci5589bpyy5kcl51csmvpw9zysify189hw6awx69pi3cjnxly")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-i"))))))) (inputs `(("readline" ,readline))) (native-inputs `(("automake" ,automake) ("autoconf" ,autoconf))) diff --git a/gnu/packages/networking.scm b/gnu/packages/networking.scm index cd3f4f124b..0fa8cea523 100644 --- a/gnu/packages/networking.scm +++ b/gnu/packages/networking.scm @@ -1529,8 +1529,6 @@ (define-public libnet (modify-phases %standard-phases (add-after 'unpack 'chdir (lambda _ (chdir "libnet") #t)) - (add-after 'chdir 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-vif")))) (add-before 'build 'build-doc (lambda* (#:key make-flags #:allow-other-keys) (zero? (apply system* "make" "-C" "doc" "doc" diff --git a/gnu/packages/onc-rpc.scm b/gnu/packages/onc-rpc.scm index 03d51d9517..72f2dd6409 100644 --- a/gnu/packages/onc-rpc.scm +++ b/gnu/packages/onc-rpc.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2014, 2017 Ludovic Courtès +;;; Copyright © 2014, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016 John Darrington ;;; Copyright © 2017, 2018 Leo Famulari ;;; Copyright © 2018 Tobias Geerinckx-Rice @@ -113,12 +113,6 @@ (define-public libnsl (base32 "1y6kmxmv1difzvdhx7grqzw0j2v2b74mg4kjb803m8jcgkqqx8m5")))) (build-system gnu-build-system) - (arguments - `(#:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (invoke "sh" "autogen.sh")))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) diff --git a/gnu/packages/package-management.scm b/gnu/packages/package-management.scm index 32a7a30e7a..0bc9dd6dd7 100644 --- a/gnu/packages/package-management.scm +++ b/gnu/packages/package-management.scm @@ -142,7 +142,7 @@ (define-public guix (ice-9 rdelim)) #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; Make sure 'msgmerge' can modify the PO files. (for-each (lambda (po) diff --git a/gnu/packages/sawfish.scm b/gnu/packages/sawfish.scm index 9f9264457d..a3b3d3d857 100644 --- a/gnu/packages/sawfish.scm +++ b/gnu/packages/sawfish.scm @@ -47,13 +47,6 @@ (define-public librep (base32 "1bmcjl1x1rdh514q9z3hzyjmjmwwwkziipjpjsl301bwmiwrd8a8")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - ;; The 0.92.6 tarball was not produced by 'make dist' - ;; and lacks generated files. Sadness. - (zero? (system* "autoreconf" "-vfi"))))))) (native-inputs `(("makeinfo" ,texinfo) ("pkg-config" ,pkg-config) diff --git a/gnu/packages/version-control.scm b/gnu/packages/version-control.scm index 7e12460e86..83b11ddd97 100644 --- a/gnu/packages/version-control.scm +++ b/gnu/packages/version-control.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2013 Cyril Roelandt -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2015, 2016 Mathieu Lirzin ;;; Copyright © 2014, 2015, 2016 Mark H Weaver @@ -1434,11 +1434,6 @@ (define-public findnewest (base32 "1ydis4y0amkgfr4y60sn076f1l41ya2kn89kfd9fqf44f9ccgb5r")))) (build-system gnu-build-system) - (arguments - '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) (home-page "https://github.com/0-wiz-0/findnewest/releases") diff --git a/gnu/packages/video.scm b/gnu/packages/video.scm index bf7a3960d4..b45e96d1e9 100644 --- a/gnu/packages/video.scm +++ b/gnu/packages/video.scm @@ -205,8 +205,7 @@ (define-public liba52 (modify-phases %standard-phases ;; XXX We need to run ./bootstrap because of the build ;; system fixes above. - (add-after - 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (zero? (system* "sh" "bootstrap"))))))) (home-page "http://liba52.sourceforge.net/") (synopsis "ATSC A/52 stream decoder") @@ -2195,7 +2194,7 @@ (define-public handbrake `(#:tests? #f ;tests require Ruby and claim to be unsupported #:phases (modify-phases %standard-phases - (add-before 'patch-source-shebangs 'bootstrap-gtk + (replace 'bootstrap ;; Run bootstrap ahead of time so that shebangs get patched. (lambda _ (setenv "CONFIG_SHELL" (which "sh")) @@ -2714,7 +2713,7 @@ (define-public motion ("sqlite" ,sqlite))) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (patch-shebang "version.sh") (invoke "autoreconf" "-vfi")))) diff --git a/gnu/packages/web.scm b/gnu/packages/web.scm index 801741dd22..7dc4fdacaa 100644 --- a/gnu/packages/web.scm +++ b/gnu/packages/web.scm @@ -1,7 +1,7 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2013, 2015 Andreas Enge ;;; Copyright © 2013 Aljosha Papsch -;;; Copyright © 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2015, 2016, 2017, 2018 Ricardo Wurmus ;;; Copyright © 2018 Raoul Jean Pierre Bonnal @@ -410,12 +410,7 @@ (define-public fcgiwrap (build-system gnu-build-system) (arguments `(#:tests? #f ; no tests included - #:make-flags (list "CC=gcc") - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vif"))))))) + #:make-flags (list "CC=gcc"))) (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake) @@ -849,7 +844,7 @@ (module "tidy") (build-system gnu-build-system) (arguments '(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda* (#:key inputs #:allow-other-keys) ;; configure.in and Makefile.am aren't in the root of the ;; source tree. @@ -4028,11 +4023,7 @@ (define-public gumbo-parser "1bgg2kbj311pqdzw2v33za7k66g1rv44kkvvnz2gnpaasi9k0ii8")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ; tests require bundling googletest sources - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "sh" "autogen.sh"))))))) + `(#:tests? #f)) ;tests require bundling googletest sources ;; The release tarball lacks the generated files. (native-inputs `(("autoconf" ,autoconf) diff --git a/gnu/packages/wget.scm b/gnu/packages/wget.scm index c6a319965a..06668d287b 100644 --- a/gnu/packages/wget.scm +++ b/gnu/packages/wget.scm @@ -1,6 +1,6 @@ ;;; GNU Guix --- Functional package management for GNU ;;; Copyright © 2012 Nikita Karetnikov -;;; Copyright © 2014, 2015, 2017 Ludovic Courtès +;;; Copyright © 2014, 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017 Efraim Flashner ;;; Copyright © 2017 Rutger Helling ;;; @@ -140,7 +140,7 @@ (define-public wget2 (build-system gnu-build-system) (arguments `(#:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; Make sure all the files are writable so that ./bootstrap ;; can proceed. diff --git a/gnu/packages/wm.scm b/gnu/packages/wm.scm index 888173313b..235aec36cb 100644 --- a/gnu/packages/wm.scm +++ b/gnu/packages/wm.scm @@ -8,7 +8,7 @@ ;;; Copyright © 2016 Efraim Flashner ;;; Copyright © 2016 Al McElrath ;;; Copyright © 2016 Carlo Zancanaro -;;; Copyright © 2016, 2017 Ludovic Courtès +;;; Copyright © 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2016, 2017, 2018 ng0 ;;; Copyright © 2016 doncatnip ;;; Copyright © 2016 Ivan Vilata i Balaguer @@ -355,12 +355,7 @@ (define-public i3lock-color "119xvdm4r6irqk0mar80hx6s8ydw26y35h7712rd7nbg7pb7i053")))) (build-system gnu-build-system) (arguments - `(#:tests? #f ;No tests included. - #:phases - (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + `(#:tests? #f)) ;no tests included (inputs `(("xcb-util-image" ,xcb-util-image) ("xcb-util" ,xcb-util) diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm index be2ee2d086..3beaa97c90 100644 --- a/gnu/packages/xdisorg.scm +++ b/gnu/packages/xdisorg.scm @@ -3,7 +3,7 @@ ;;; Copyright © 2014, 2015, 2016 Mark H Weaver ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2014, 2015, 2016 Alex Kost -;;; Copyright © 2013, 2015, 2017 Ludovic Courtès +;;; Copyright © 2013, 2015, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015, 2016 Mathieu Lirzin ;;; Copyright © 2015 Alexander I.Grafov ;;; Copyright © 2015 Andy Wingo @@ -136,12 +136,7 @@ (define-public xclip "0n7pczk9vv30zf8qfln8ba3hnif9yfdxg0m84djac469wc28hnya")))) (build-system gnu-build-system) (arguments - '(#:tests? #f ; There is no test suite - #:phases - (modify-phases %standard-phases - ;; Since version 0.13, bootstrapped releases are no longer available. - (add-after 'unpack 'bootstrap - (lambda _ (zero? (system* "autoreconf" "-v"))))))) + '(#:tests? #f)) ;there is no test suite (native-inputs `(("autoconf" ,autoconf) ("automake" ,automake))) diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm index 91febdffd4..565d27e78f 100644 --- a/gnu/packages/xml.scm +++ b/gnu/packages/xml.scm @@ -1231,7 +1231,7 @@ (define-public libxls `(#:phases (modify-phases %standard-phases ;; Bootstrapping is required in order to fix the test driver script. - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ (zero? (system* "bash" "bootstrap"))))))) (native-inputs diff --git a/gnu/packages/xorg.scm b/gnu/packages/xorg.scm index 14f08b2a1d..f1ef480c42 100644 --- a/gnu/packages/xorg.scm +++ b/gnu/packages/xorg.scm @@ -2,7 +2,7 @@ ;;; Copyright © 2013, 2014 Andreas Enge ;;; Copyright © 2014, 2015, 2017 Mark H Weaver ;;; Copyright © 2014, 2015 Eric Bavier -;;; Copyright © 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2015, 2016, 2017, 2018 Ludovic Courtès ;;; Copyright © 2015 Eric Dvorsak ;;; Copyright © 2016 Mathieu Lirzin ;;; Copyright © 2015 Cyrill Schenkel @@ -2765,11 +2765,7 @@ (define-public xf86-video-freedreno `(#:configure-flags (list (string-append "--with-xorg-conf-dir=" (assoc-ref %outputs "out") - "/share/X11/xorg.conf.d")) - #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + "/share/X11/xorg.conf.d")))) (home-page "https://www.x.org/wiki/") (synopsis "Adreno video driver for X server") (description @@ -2924,11 +2920,7 @@ (define-public xf86-video-intel (string-prefix? "x86_64-" system))) %supported-systems)) (arguments - '(#:configure-flags '("--with-default-accel=uxa") - #:phases (modify-phases %standard-phases - (add-after 'unpack 'bootstrap - (lambda _ - (zero? (system* "autoreconf" "-vfi"))))))) + '(#:configure-flags '("--with-default-accel=uxa"))) (home-page "https://www.x.org/wiki/") (synopsis "Intel video driver for X server") (description diff --git a/gnu/packages/zile.scm b/gnu/packages/zile.scm index c0bbafdd59..97c964e94c 100644 --- a/gnu/packages/zile.scm +++ b/gnu/packages/zile.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2017, 2018 Ludovic Courtès ;;; Copyright © 2014 Eric Bavier ;;; Copyright © 2016 Efraim Flashner ;;; @@ -114,7 +114,7 @@ (define-public zile-on-guile (substitute-keyword-arguments (package-arguments zile) ((#:phases phases) `(modify-phases ,phases - (add-after 'unpack 'bootstrap + (replace 'bootstrap (lambda _ ;; Make sure all the files are writable so that ./bootstrap ;; can proceed. diff --git a/guix/build/ant-build-system.scm b/guix/build/ant-build-system.scm index 6ce813a001..a6da530dab 100644 --- a/guix/build/ant-build-system.scm +++ b/guix/build/ant-build-system.scm @@ -228,6 +228,7 @@ (define* (install #:key (make-flags '()) #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases (replace 'unpack unpack) + (delete 'bootstrap) (replace 'configure configure) (replace 'build build) (replace 'check check) diff --git a/guix/build/asdf-build-system.scm b/guix/build/asdf-build-system.scm index c5e820a00a..dd6373b33a 100644 --- a/guix/build/asdf-build-system.scm +++ b/guix/build/asdf-build-system.scm @@ -220,6 +220,7 @@ (define* (strip #:rest args) (define %standard-phases/source (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (delete 'check) (delete 'build) @@ -227,6 +228,7 @@ (define %standard-phases/source (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (delete 'install) (replace 'build build) diff --git a/guix/build/cargo-build-system.scm b/guix/build/cargo-build-system.scm index 139b40321f..f52444f61c 100644 --- a/guix/build/cargo-build-system.scm +++ b/guix/build/cargo-build-system.scm @@ -172,6 +172,7 @@ (define* (install #:key inputs outputs #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'configure configure) (replace 'build build) (replace 'check check) diff --git a/guix/build/cmake-build-system.scm b/guix/build/cmake-build-system.scm index c82d9fef87..6f4e05f948 100644 --- a/guix/build/cmake-build-system.scm +++ b/guix/build/cmake-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015 Ludovic Courtès +;;; Copyright © 2013, 2014, 2015, 2018 Ludovic Courtès ;;; Copyright © 2013 Cyril Roelandt ;;; Copyright © 2014, 2015 Andreas Enge ;;; Copyright © 2017 Efraim Flashner @@ -86,6 +86,7 @@ (define %standard-phases ;; Everything is as with the GNU Build System except for the `configure' ;; and 'check' phases. (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'check check) (replace 'configure configure))) diff --git a/guix/build/dub-build-system.scm b/guix/build/dub-build-system.scm index ed86635708..9a72e3d544 100644 --- a/guix/build/dub-build-system.scm +++ b/guix/build/dub-build-system.scm @@ -121,6 +121,7 @@ (define* (install #:key inputs outputs #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'configure configure) (replace 'build build) (replace 'check check) diff --git a/guix/build/emacs-build-system.scm b/guix/build/emacs-build-system.scm index b779847424..7c3b635139 100644 --- a/guix/build/emacs-build-system.scm +++ b/guix/build/emacs-build-system.scm @@ -262,6 +262,7 @@ (define %standard-phases (modify-phases gnu:%standard-phases (add-after 'set-paths 'set-emacs-load-path set-emacs-load-path) (replace 'unpack unpack) + (delete 'bootstrap) (delete 'configure) ;; Move the build phase after install: the .el files are byte compiled ;; directly in the store. diff --git a/guix/build/font-build-system.scm b/guix/build/font-build-system.scm index f2a646f6f4..6726595fe1 100644 --- a/guix/build/font-build-system.scm +++ b/guix/build/font-build-system.scm @@ -59,6 +59,7 @@ (define* (install #:key outputs #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases (replace 'unpack unpack) + (delete 'bootstrap) (delete 'configure) (delete 'check) (delete 'build) diff --git a/guix/build/gnu-build-system.scm b/guix/build/gnu-build-system.scm index 7b43361f99..420fe815f9 100644 --- a/guix/build/gnu-build-system.scm +++ b/guix/build/gnu-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017 Ludovic Courtès +;;; Copyright © 2012, 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -159,6 +159,43 @@ (define* (unpack #:key source #:allow-other-keys) (zero? (system* "tar" "xvf" source))) (chdir (first-subdirectory "."))))) +(define %bootstrap-scripts + ;; Typical names of Autotools "bootstrap" scripts. + '("bootstrap" "bootstrap.sh" "autogen.sh")) + +(define* (bootstrap #:key (bootstrap-scripts %bootstrap-scripts) + #:allow-other-keys) + "If the code uses Autotools and \"configure\" is missing, run +\"autoreconf\". Otherwise do nothing." + ;; Note: Run that right after 'unpack' so that the generated files are + ;; visible when the 'patch-source-shebangs' phase runs. + (if (not (file-exists? "configure")) + + ;; First try one of the BOOTSTRAP-SCRIPTS. If none exists, and it's + ;; clearly an Autoconf-based project, run 'autoreconf'. Otherwise, do + ;; nothing (perhaps the user removed or overrode the 'configure' phase.) + (let ((script (find file-exists? bootstrap-scripts))) + ;; GNU packages often invoke the 'git-version-gen' script from + ;; 'configure.ac' so make sure it has a valid shebang. + (false-if-file-not-found + (patch-shebang "build-aux/git-version-gen")) + + (if script + (let ((script (string-append "./" script))) + (format #t "running '~a'~%" script) + (if (executable-file? script) + (begin + (patch-shebang script) + (invoke script)) + (invoke "sh" script))) + (if (or (file-exists? "configure.ac") + (file-exists? "configure.in")) + (invoke "autoreconf" "-vif") + (format #t "no 'configure.ac' or anything like that, \ +doing nothing~%")))) + (format #t "GNU build system bootstrapping not needed~%")) + #t) + ;; See . (define* (patch-usr-bin-file #:key native-inputs inputs (patch-/usr/bin/file? #t) @@ -672,6 +709,7 @@ (define %standard-phases (let-syntax ((phases (syntax-rules () ((_ p ...) `((p . ,p) ...))))) (phases set-SOURCE-DATE-EPOCH set-paths install-locale unpack + bootstrap patch-usr-bin-file patch-source-shebangs configure patch-generated-file-shebangs build check install diff --git a/guix/build/go-build-system.scm b/guix/build/go-build-system.scm index 3114067aa9..7c833a616f 100644 --- a/guix/build/go-build-system.scm +++ b/guix/build/go-build-system.scm @@ -261,6 +261,7 @@ (define* (remove-go-references #:key allow-go-reference? (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (delete 'patch-generated-file-shebangs) (replace 'unpack unpack) diff --git a/guix/build/haskell-build-system.scm b/guix/build/haskell-build-system.scm index 3afc37e16d..268d59c1be 100644 --- a/guix/build/haskell-build-system.scm +++ b/guix/build/haskell-build-system.scm @@ -266,6 +266,7 @@ (define* (haddock #:key outputs haddock? haddock-flags #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (add-before 'configure 'setup-compiler setup-compiler) (add-before 'install 'haddock haddock) (add-after 'install 'register register) diff --git a/guix/build/minify-build-system.scm b/guix/build/minify-build-system.scm index 3580deda07..563def88e9 100644 --- a/guix/build/minify-build-system.scm +++ b/guix/build/minify-build-system.scm @@ -60,6 +60,7 @@ (define* (install #:key outputs #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (replace 'build build) (delete 'check) diff --git a/guix/build/ocaml-build-system.scm b/guix/build/ocaml-build-system.scm index f77251ca09..d10431d8ef 100644 --- a/guix/build/ocaml-build-system.scm +++ b/guix/build/ocaml-build-system.scm @@ -103,6 +103,7 @@ (define %standard-phases ;; Everything is as with the GNU Build System except for the `configure' ;; , `build', `check' and `install' phases. (modify-phases gnu:%standard-phases + (delete 'bootstrap) (add-before 'configure 'ocaml-findlib-environment ocaml-findlib-environment) (add-before 'install 'prepare-install prepare-install) diff --git a/guix/build/perl-build-system.scm b/guix/build/perl-build-system.scm index b2024e4406..5c9cbdf912 100644 --- a/guix/build/perl-build-system.scm +++ b/guix/build/perl-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015 Ludovic Courtès +;;; Copyright © 2013, 2015, 2018 Ludovic Courtès ;;; ;;; This file is part of GNU Guix. ;;; @@ -76,6 +76,7 @@ (define %standard-phases ;; Everything is as with the GNU Build System except for the `configure', ;; `build', `check', and `install' phases. (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'install install) (replace 'check check) (replace 'build build) diff --git a/guix/build/python-build-system.scm b/guix/build/python-build-system.scm index dd07986b94..0366571c2f 100644 --- a/guix/build/python-build-system.scm +++ b/guix/build/python-build-system.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2015, 2016 Ludovic Courtès +;;; Copyright © 2013, 2015, 2016, 2018 Ludovic Courtès ;;; Copyright © 2013 Andreas Enge ;;; Copyright © 2013 Nikita Karetnikov ;;; Copyright © 2015 Mark H Weaver @@ -247,6 +247,7 @@ (define %standard-phases ;; 'configure' phase is not needed. (modify-phases gnu:%standard-phases (add-after 'unpack 'ensure-no-mtimes-pre-1980 ensure-no-mtimes-pre-1980) + (delete 'bootstrap) (delete 'configure) (replace 'install install) (replace 'check check) diff --git a/guix/build/r-build-system.scm b/guix/build/r-build-system.scm index 24aa73d4f2..5e18939d22 100644 --- a/guix/build/r-build-system.scm +++ b/guix/build/r-build-system.scm @@ -99,6 +99,7 @@ (define* (install #:key outputs inputs (configure-flags '()) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (delete 'build) (delete 'check) ; tests must be run after installation diff --git a/guix/build/ruby-build-system.scm b/guix/build/ruby-build-system.scm index 09ae2390a5..abef6937bc 100644 --- a/guix/build/ruby-build-system.scm +++ b/guix/build/ruby-build-system.scm @@ -308,6 +308,7 @@ (define (log-file-deletion file) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (replace 'unpack unpack) (add-before 'build 'extract-gemspec extract-gemspec) diff --git a/guix/build/scons-build-system.scm b/guix/build/scons-build-system.scm index a8760968d8..96c653966d 100644 --- a/guix/build/scons-build-system.scm +++ b/guix/build/scons-build-system.scm @@ -52,6 +52,7 @@ (define* (install #:key outputs (scons-flags '()) #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (delete 'configure) (replace 'build build) (replace 'check check) diff --git a/guix/build/texlive-build-system.scm b/guix/build/texlive-build-system.scm index f6b9b96b87..78141b48d8 100644 --- a/guix/build/texlive-build-system.scm +++ b/guix/build/texlive-build-system.scm @@ -81,6 +81,7 @@ (define* (install #:key outputs tex-directory #:allow-other-keys) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'configure configure) (replace 'build build) (delete 'check) diff --git a/guix/build/waf-build-system.scm b/guix/build/waf-build-system.scm index 85f0abcfd6..f0364e867d 100644 --- a/guix/build/waf-build-system.scm +++ b/guix/build/waf-build-system.scm @@ -70,6 +70,7 @@ (define* (install #:key outputs inputs (configure-flags '()) (define %standard-phases (modify-phases gnu:%standard-phases + (delete 'bootstrap) (replace 'configure configure) (replace 'build build) (replace 'check check)