From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: Re: [PATCH] gnu: boost: Allow for customizable build flags. Date: Tue, 14 Jun 2016 12:54:12 +0200 Message-ID: References: <20160613130808.20143-1-dthompson2@worcester.edu> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:44353) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bClzJ-0002HU-7W for guix-devel@gnu.org; Tue, 14 Jun 2016 06:54:32 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bClzH-0001Zm-V9 for guix-devel@gnu.org; Tue, 14 Jun 2016 06:54:29 -0400 In-Reply-To: <20160613130808.20143-1-dthompson2@worcester.edu> List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: "Guix-devel" To: David Thompson Cc: guix-devel@gnu.org, David Thompson David Thompson writes: > From: David Thompson > > * gnu/packages/boost.scm (boost)[arguments]: Extract build flags to #:m= ake-flags argument. If I understand correctly, this moves the let-bound =E2=80=9Cbuild-flags=E2= =80=9D to regular make-flags and reuses the default mechanism for passing make-flags, right? If this is so it looks good to me. (It=E2=80=99s a little hard for me to read the patch because of the inden= tation change.) ~~ Ricardo > gnu/packages/boost.scm | 80 +++++++++++++++++++++++++-----------------= -------- > 1 file changed, 40 insertions(+), 40 deletions(-) > > diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm > index 0a644e8..882f9cc 100644 > --- a/gnu/packages/boost.scm > +++ b/gnu/packages/boost.scm > @@ -51,50 +51,50 @@ > ("python" ,python-2) > ("tcsh" ,tcsh))) > (arguments > - (let ((build-flags > - `("threading=3Dmulti" "link=3Dshared" > + `(#:tests? #f > + #:make-flags > + (list "threading=3Dmulti" "link=3Dshared" > =20 > - ;; Set the RUNPATH to $libdir so that the libs find each= other. > - (string-append "linkflags=3D-Wl,-rpath=3D" > - (assoc-ref outputs "out") "/lib") > + ;; Set the RUNPATH to $libdir so that the libs find each = other. > + (string-append "linkflags=3D-Wl,-rpath=3D" > + (assoc-ref %outputs "out") "/lib") > =20 > - ;; Boost's 'context' library is not yet supported on mip= s64, so > - ;; we disable it. The 'coroutine' library depends on 'c= ontext', > - ;; so we disable that too. > - ,@(if (string-prefix? "mips64" (or (%current-target-syst= em) > - (%current-system))) > - '("--without-context" > - "--without-coroutine" "--without-coroutine2") > - '())))) > - `(#:tests? #f > - #:phases > - (modify-phases %standard-phases > - (replace > - 'configure > - (lambda* (#:key outputs #:allow-other-keys) > - (let ((out (assoc-ref outputs "out"))) > - (substitute* '("libs/config/configure" > - "libs/spirit/classic/phoenix/test/runte= st.sh" > - "tools/build/doc/bjam.qbk" > - "tools/build/src/engine/execunix.c" > - "tools/build/src/engine/Jambase" > - "tools/build/src/engine/jambase.c") > - (("/bin/sh") (which "sh"))) > + ;; Boost's 'context' library is not yet supported on mips= 64, so > + ;; we disable it. The 'coroutine' library depends on 'co= ntext', > + ;; so we disable that too. > + ,@(if (string-prefix? "mips64" (or (%current-target-syste= m) > + (%current-system))) > + '("--without-context" > + "--without-coroutine" "--without-coroutine2") > + '())) > + #:phases > + (modify-phases %standard-phases > + (replace > + 'configure > + (lambda* (#:key outputs #:allow-other-keys) > + (let ((out (assoc-ref outputs "out"))) > + (substitute* '("libs/config/configure" > + "libs/spirit/classic/phoenix/test/runtes= t.sh" > + "tools/build/doc/bjam.qbk" > + "tools/build/src/engine/execunix.c" > + "tools/build/src/engine/Jambase" > + "tools/build/src/engine/jambase.c") > + (("/bin/sh") (which "sh"))) > =20 > - (setenv "SHELL" (which "sh")) > - (setenv "CONFIG_SHELL" (which "sh")) > + (setenv "SHELL" (which "sh")) > + (setenv "CONFIG_SHELL" (which "sh")) > =20 > - (zero? (system* "./bootstrap.sh" > - (string-append "--prefix=3D" out) > - "--with-toolset=3Dgcc"))))) > - (replace > - 'build > - (lambda* (#:key outputs #:allow-other-keys) > - (zero? (system* "./b2" ,@build-flags)))) > - (replace > - 'install > - (lambda* (#:key outputs #:allow-other-keys) > - (zero? (system* "./b2" "install" ,@build-flags)))))))) > + (zero? (system* "./bootstrap.sh" > + (string-append "--prefix=3D" out) > + "--with-toolset=3Dgcc"))))) > + (replace > + 'build > + (lambda* (#:key outputs make-flags #:allow-other-keys) > + (zero? (apply system* "./b2" make-flags)))) > + (replace > + 'install > + (lambda* (#:key outputs make-flags #:allow-other-keys) > + (zero? (apply system* "./b2" "install" make-flags))))))) > =20 > (home-page "http://boost.org") > (synopsis "Peer-reviewed portable C++ source libraries")