guix-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

branch master updated: gnu: Add python-tbb.


From: guix-commits
Subject: branch master updated: gnu: Add python-tbb.
Date: Fri, 16 Dec 2022 09:36:07 -0500

This is an automated email from the git hooks/post-receive script.

rekado pushed a commit to branch master
in repository guix.

The following commit(s) were added to refs/heads/master by this push:
     new 8548ba5847 gnu: Add python-tbb.
8548ba5847 is described below

commit 8548ba5847417eabe14aa08fa9861f91743bd3a1
Author: Ricardo Wurmus <rekado@elephly.net>
AuthorDate: Fri Dec 16 15:34:31 2022 +0100

    gnu: Add python-tbb.
    
    * gnu/packages/tbb.scm (python-tbb): New variable.
---
 gnu/packages/tbb.scm | 45 +++++++++++++++++++++++++++++++++++++++++++--
 1 file changed, 43 insertions(+), 2 deletions(-)

diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index 4ce7c1cf49..f22282264c 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -1,5 +1,5 @@
 ;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2015, 2016 Ricardo Wurmus <rekado@elephly.net>
+;;; Copyright © 2015, 2016, 2022 Ricardo Wurmus <rekado@elephly.net>
 ;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
@@ -23,11 +23,14 @@
 (define-module (gnu packages tbb)
   #:use-module (guix packages)
   #:use-module (guix licenses)
+  #:use-module (guix gexp)
   #:use-module (guix git-download)
   #:use-module (guix utils)
   #:use-module (guix build-system cmake)
   #:use-module (guix build-system gnu)
-  #:use-module (gnu packages))
+  #:use-module (gnu packages)
+  #:use-module (gnu packages python)
+  #:use-module (gnu packages swig))
 
 (define-public tbb
   (package
@@ -56,6 +59,44 @@ implementation work.  It provides parallel loop constructs, 
asynchronous
 tasks, synchronization primitives, atomic operations, and more.")
     (license asl2.0)))
 
+(define-public python-tbb
+  (package
+    (inherit tbb)
+    (name "python-tbb")
+    (arguments
+     (list
+      #:configure-flags
+      #~(list "-DTBB_STRICT=OFF"
+              "-DTBB4PY_BUILD=ON")
+      #:phases
+      #~(modify-phases %standard-phases
+          (add-after 'unpack 'patch-python-install-directory
+            (lambda _
+              (substitute* "python/CMakeLists.txt"
+                (("\\$\\{PYTHON_BUILD_WORK_DIR\\}/build")
+                 #$output))
+              (substitute* "python/setup.py"
+                (("extra_link_args=tbb_flag,")
+                 (string-append "extra_link_args=['-Wl,-rpath="
+                                #$(this-package-input "tbb") "/lib"
+                                "', '-Wl,-rpath=" #$output "/lib'] + 
tbb_flag,")))))
+          (replace 'build
+            (lambda _
+              (setenv "PYTHONHASHSEED" "0")
+              (setenv "PYTHONDONTWRITEBYTECODE" "1")
+              (invoke "make" "python_build")))
+          ;; The 'build phase already installs the modules
+          (replace 'install
+            (lambda _
+              (with-directory-excursion "python/rml"
+                (invoke "make" "install"))))
+          (replace 'check
+            (lambda* (#:key tests? #:allow-other-keys)
+              (when tests?
+                (invoke "ctest" "-R" "python_test" "--output-on-failure")))))))
+    (inputs (list python tbb))
+    (native-inputs (list swig))))
+
 (define-public tbb-2020
   (package
     (name "tbb")



reply via email to

[Prev in Thread] Current Thread [Next in Thread]