guix-commits
[Top][All Lists]
Advanced

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

02/02: gnu: tbb: Fix building on riscv64-linux.


From: guix-commits
Subject: 02/02: gnu: tbb: Fix building on riscv64-linux.
Date: Mon, 4 Jul 2022 04:23:02 -0400 (EDT)

efraim pushed a commit to branch master
in repository guix.

commit b56dad9b2cbd2396c6cbec4d9a9c9323d79906c6
Author: Efraim Flashner <efraim@flashner.co.il>
AuthorDate: Mon Jul 4 11:08:43 2022 +0300

    gnu: tbb: Fix building on riscv64-linux.
    
    * gnu/packages/tbb.scm (tbb)[source]: Add patch.
    * gnu/packages/patches/tbb-other-arches.patch: New file.
    * gnu/local.mk (dist_patch_DATA): Register it.
---
 gnu/local.mk                                |  1 +
 gnu/packages/patches/tbb-other-arches.patch | 41 +++++++++++++++++++++++++++++
 gnu/packages/tbb.scm                        | 10 ++++---
 3 files changed, 48 insertions(+), 4 deletions(-)

diff --git a/gnu/local.mk b/gnu/local.mk
index 060470cfea..faad6cc6b2 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1840,6 +1840,7 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/tar-remove-wholesparse-check.patch      \
   %D%/packages/patches/tar-skip-unreliable-tests.patch         \
   %D%/packages/patches/tbb-fix-test-on-aarch64.patch           \
+  %D%/packages/patches/tbb-other-arches.patch                  \
   %D%/packages/patches/tclxml-3.2-install.patch                        \
   %D%/packages/patches/tcsh-fix-autotest.patch                 \
   %D%/packages/patches/teensy-loader-cli-help.patch            \
diff --git a/gnu/packages/patches/tbb-other-arches.patch 
b/gnu/packages/patches/tbb-other-arches.patch
new file mode 100644
index 0000000000..b649eb3eb8
--- /dev/null
+++ b/gnu/packages/patches/tbb-other-arches.patch
@@ -0,0 +1,41 @@
+diff --git a/src/tbb/tools_api/ittnotify_config.h 
b/src/tbb/tools_api/ittnotify_config.h
+index 8ecc2378..0cf26f85 100644
+--- a/src/tbb/tools_api/ittnotify_config.h
++++ b/src/tbb/tools_api/ittnotify_config.h
+@@ -159,6 +159,11 @@
+ #  define ITT_ARCH_ARM64  6
+ #endif /* ITT_ARCH_ARM64 */
+ 
++/* Fallback for other architectures */
++#ifndef ITT_ARCH_GENERIC
++#  define ITT_ARCH_GENERIC 99
++#endif /* ITT_ARCH_GENERIC */
++
+ #ifndef ITT_ARCH
+ #  if defined _M_IX86 || defined __i386__
+ #    define ITT_ARCH ITT_ARCH_IA32
+@@ -172,6 +177,8 @@
+ #    define ITT_ARCH ITT_ARCH_ARM64
+ #  elif defined __powerpc64__
+ #    define ITT_ARCH ITT_ARCH_PPC64
++#  else
++#    define ITT_ARCH ITT_ARCH_GENERIC
+ #  endif
+ #endif
+ 
+diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt
+index 9534dce8..51a79331 100644
+--- a/test/CMakeLists.txt
++++ b/test/CMakeLists.txt
+@@ -387,7 +387,10 @@ if (TARGET TBB::tbb)
+     tbb_add_test(SUBDIR tbb NAME test_eh_algorithms DEPENDENCIES TBB::tbb)
+     tbb_add_test(SUBDIR tbb NAME test_blocked_range DEPENDENCIES TBB::tbb)
+     tbb_add_test(SUBDIR tbb NAME test_concurrent_vector DEPENDENCIES TBB::tbb)
+-    tbb_add_test(SUBDIR tbb NAME test_task_group DEPENDENCIES TBB::tbb)
++    if (NOT "${CMAKE_SYSTEM_PROCESSOR}" MATCHES "riscv64")
++        # TODO: This test hangs forever on riscv64.
++        tbb_add_test(SUBDIR tbb NAME test_task_group DEPENDENCIES TBB::tbb)
++    endif()
+     tbb_add_test(SUBDIR tbb NAME test_concurrent_hash_map DEPENDENCIES 
TBB::tbb)
+     tbb_add_test(SUBDIR tbb NAME test_task_arena DEPENDENCIES TBB::tbb)
+     tbb_add_test(SUBDIR tbb NAME test_enumerable_thread_specific DEPENDENCIES 
TBB::tbb)
diff --git a/gnu/packages/tbb.scm b/gnu/packages/tbb.scm
index e8fbc0f97e..d8c7d59c8d 100644
--- a/gnu/packages/tbb.scm
+++ b/gnu/packages/tbb.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2016 Nikita <nikita@n0.is>
 ;;; Copyright © 2019 Tobias Geerinckx-Rice <me@tobias.gr>
 ;;; Copyright © 2021 Guillaume Le Vaillant <glv@posteo.net>
+;;; Copyright © 2022 Efraim Flashner <efraim@flashner.co.il>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -41,10 +42,11 @@
               (sha256
                (base32
                 "1z0pqzfx63zrmyqdvvkk8vl5dc0i0n5cimdkrypd50ig4d4yi7sc"))
-              (patches (list
-                        ;; Backport an upstream commit that prevents the
-                        ;; "test_eh_thread" test failing on AArch64.
-                        (search-patch "tbb-fix-test-on-aarch64.patch")))))
+              (patches
+                ;; Backport an upstream commit that prevents the
+                ;; "test_eh_thread" test failing on AArch64.
+                (search-patches "tbb-fix-test-on-aarch64.patch"
+                                "tbb-other-arches.patch"))))
     (build-system cmake-build-system)
     (arguments
      `(#:configure-flags '("-DTBB_STRICT=OFF"))) ;; Don't fail on warnings



reply via email to

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