diff options
author | Giacomo Leidi <goodoldpaul@autistici.org> | 2019-11-08 11:52:42 +0100 |
---|---|---|
committer | Marius Bakke <mbakke@fastmail.com> | 2019-11-10 23:50:37 +0100 |
commit | 12156a459c3ba56dba7f7a60a9ccee069221ad26 (patch) | |
tree | f9e71f9247b6c8727258bb4da30410aee2da8c51 /gnu/packages/boost.scm | |
parent | 56987d784bffe8b3d04d6114478b294d00c29e61 (diff) | |
download | guix-12156a459c3ba56dba7f7a60a9ccee069221ad26.tar guix-12156a459c3ba56dba7f7a60a9ccee069221ad26.tar.gz |
gnu: Add boost-with-python3.
* gnu/packages/boost.scm (boost-with-python3): New variable.
Signed-off-by: Marius Bakke <mbakke@fastmail.com>
Diffstat (limited to 'gnu/packages/boost.scm')
-rw-r--r-- | gnu/packages/boost.scm | 50 |
1 files changed, 50 insertions, 0 deletions
diff --git a/gnu/packages/boost.scm b/gnu/packages/boost.scm index a2253a9efc..2ef0591223 100644 --- a/gnu/packages/boost.scm +++ b/gnu/packages/boost.scm @@ -10,6 +10,7 @@ ;;; Copyright © 2018, 2019 Ricardo Wurmus <rekado@elephly.net> ;;; Copyright © 2018 Maxim Cournoyer <maxim.cournoyer@gmail.com> ;;; Copyright © 2018 Efraim Flashner <efraim@flashner.co.il> +;;; Copyright © 2019 Giacomo Leidi <goodoldpaul@autistici.org> ;;; ;;; This file is part of GNU Guix. ;;; @@ -128,6 +129,55 @@ across a broad spectrum of applications.") (license (license:x11-style "https://www.boost.org/LICENSE_1_0.txt" "Some components have other similar licences.")))) +;; TODO: Merge with 'Boost' in the next rebuild cycle. +(define-public boost-with-python3 + (package + (inherit boost) + (name "boost-python3") + (native-inputs + `(("perl" ,perl) + ("python" ,python) + ("tcsh" ,tcsh))) + (arguments (substitute-keyword-arguments (package-arguments boost) + ((#:phases phases) + `(modify-phases ,phases + (replace 'configure + (lambda* (#:key inputs outputs #:allow-other-keys) + (let ((icu (assoc-ref inputs "icu4c")) + (python (assoc-ref inputs "python")) + (out (assoc-ref outputs "out"))) + (substitute* '("libs/config/configure" + "libs/spirit/classic/phoenix/test/runtest.sh" + "tools/build/src/engine/execunix.c" + "tools/build/src/engine/Jambase" + "tools/build/src/engine/jambase.c") + (("/bin/sh") (which "sh"))) + + (setenv "SHELL" (which "sh")) + (setenv "CONFIG_SHELL" (which "sh")) + + (substitute* "tools/build/src/tools/python.jam" + (("include/python\\$\\(version\\)") + "include/python$(version)m")) + + (invoke "./bootstrap.sh" + (string-append "--prefix=" out) + ;; Auto-detection looks for dependencies only + ;; in traditional install locations. + (string-append "--with-icu=" icu) + (string-append "--with-python=" python "/bin/python3") + (string-append "--with-python-root=" python) + "--with-python-version=3.7" + "--with-toolset=gcc")))) + (replace 'provide-libboost_python + (lambda* (#:key outputs #:allow-other-keys) + (let ((out (assoc-ref outputs "out"))) + (with-directory-excursion (string-append out "/lib") + (symlink "libboost_python37.so" "libboost_python.so") + ;; Some packages also look for libboost_python3.so + (symlink "libboost_python37.so" "libboost_python3.so")) + #t))))))))) + (define-public boost-for-mysql ;; Older version for MySQL 5.7.23. (package |