summaryrefslogtreecommitdiff
path: root/gnu/packages/boost.scm
diff options
context:
space:
mode:
authorMark H Weaver <mhw@netris.org>2014-07-24 23:06:49 -0400
committerMark H Weaver <mhw@netris.org>2014-07-24 23:06:49 -0400
commitaaf77acc1a751a2001d0a8503ba61740299581a5 (patch)
treee82487232c4d85b48266ee7754a234d474f95a65 /gnu/packages/boost.scm
parent508ea01ef20652fb2de875d1d91c27f5178e2874 (diff)
downloadguix-patches-aaf77acc1a751a2001d0a8503ba61740299581a5.tar
guix-patches-aaf77acc1a751a2001d0a8503ba61740299581a5.tar.gz
gnu: boost: Omit context and coroutines libraries on mips64el.
* gnu/packages/boost.scm (boost): Omit context and coroutines libraries on mips64el.
Diffstat (limited to 'gnu/packages/boost.scm')
-rw-r--r--gnu/packages/boost.scm68
1 files changed, 39 insertions, 29 deletions
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 73b377e384..a77f1393d9 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -1,5 +1,6 @@
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014 John Darrington <jmd@gnu.org>
+;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -46,39 +47,48 @@
("python" ,python-2)
("tcsh" ,tcsh)))
(arguments
- `(#:phases
- (alist-replace
- 'configure
- (lambda* (#:key outputs #:allow-other-keys)
- (let ((out (assoc-ref outputs "out")))
- (substitute* '("libs/config/configure"
- "libs/spirit/classic/phoenix/test/runtest.sh"
- "tools/build/v2/doc/bjam.qbk"
- "tools/build/v2/engine/execunix.c"
- "tools/build/v2/engine/Jambase"
- "tools/build/v2/engine/jambase.c")
- (("/bin/sh") (which "sh")))
-
- (setenv "SHELL" (which "sh"))
- (setenv "CONFIG_SHELL" (which "sh"))
-
- (zero? (system* "./bootstrap.sh"
- (string-append "--prefix=" out)
- "--with-toolset=gcc"))))
- (alist-replace
- 'build
- (lambda _
- (zero? (system* "./b2" "threading=multi" "link=shared")))
-
+ (let ((build-flags
+ `("threading=multi" "link=shared"
+ ;; Boost's 'context' library is not yet supported on mips64, so
+ ;; we disable it. The 'coroutine' library depends on 'context',
+ ;; so we disable that too.
+ ,@(if (equal? "mips64el-linux" (or (%current-target-system)
+ (%current-system)))
+ '("--without-context" "--without-coroutine")
+ '()))))
+ `(#:phases
(alist-replace
- 'check
- (lambda _ #t)
+ 'configure
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (substitute* '("libs/config/configure"
+ "libs/spirit/classic/phoenix/test/runtest.sh"
+ "tools/build/v2/doc/bjam.qbk"
+ "tools/build/v2/engine/execunix.c"
+ "tools/build/v2/engine/Jambase"
+ "tools/build/v2/engine/jambase.c")
+ (("/bin/sh") (which "sh")))
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+
+ (zero? (system* "./bootstrap.sh"
+ (string-append "--prefix=" out)
+ "--with-toolset=gcc"))))
(alist-replace
- 'install
+ 'build
(lambda _
- (zero? (system* "./b2" "install" "threading=multi" "link=shared")))
- %standard-phases))))))
+ (zero? (system* "./b2" ,@build-flags)))
+
+ (alist-replace
+ 'check
+ (lambda _ #t)
+
+ (alist-replace
+ 'install
+ (lambda _
+ (zero? (system* "./b2" "install" ,@build-flags)))
+ %standard-phases)))))))
(home-page "http://boost.org")
(synopsis "Peer-reviewed portable C++ source libraries")