summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/boost.scm41
1 files changed, 35 insertions, 6 deletions
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm
index 2f2ca289ab..d28c58d663 100644
--- a/gnu/packages/boost.scm
+++ b/gnu/packages/boost.scm
@@ -13,6 +13,7 @@
;;; Copyright © 2019 Mathieu Othacehe <m.othacehe@gmail.com>
;;; Copyright © 2019, 2020 Giacomo Leidi <goodoldpaul@autistici.org>
;;; Copyright © 2020 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2020 Jonathan Brielmaier <jonathan.brielmaier@web.de>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -241,12 +242,40 @@ across a broad spectrum of applications.")
(arguments (substitute-keyword-arguments (package-arguments boost)
((#:phases phases)
`(modify-phases ,phases
- ;; This was removed after boost-1.67.
- (add-before 'configure 'more-bin-sh-patching
- (lambda _
- (substitute* "tools/build/doc/bjam.qbk"
- (("/bin/sh") (which "sh")))))
- (delete 'provide-libboost_python)))))
+ (replace 'configure
+ (lambda* (#:key inputs outputs #:allow-other-keys)
+ (let ((icu (assoc-ref inputs "icu4c"))
+ (out (assoc-ref outputs "out")))
+ (substitute* (append
+ (find-files "tools/build/src/engine/" "execunix\\.c.*")
+ '("libs/config/configure"
+ "libs/spirit/classic/phoenix/test/runtest.sh"
+ "tools/build/doc/bjam.qbk"
+ "tools/build/src/engine/Jambase"))
+ (("/bin/sh") (which "sh")))
+
+ (setenv "SHELL" (which "sh"))
+ (setenv "CONFIG_SHELL" (which "sh"))
+
+ ,@(if (%current-target-system)
+ `((call-with-output-file "user-config.jam"
+ (lambda (port)
+ (format port
+ "using gcc : cross : ~a-c++ ;"
+ ,(%current-target-system)))))
+ '())
+
+ (invoke "./bootstrap.sh"
+ (string-append "--prefix=" out)
+ ;; Auto-detection looks for ICU only in traditional
+ ;; install locations.
+ (string-append "--with-icu=" icu)
+ "--with-toolset=gcc"))))
+ (delete 'provide-libboost_python)))
+ ((#:make-flags make-flags)
+ `(cons* "--without-python" ,make-flags))))
+ (native-inputs
+ (alist-delete "python" (package-native-inputs boost)))
(properties '((hidden? . #t)))))
(define-public boost-sync