From 860055a5f5938523312847a9fbb9fc0377060435 Mon Sep 17 00:00:00 2001 From: Andreas Baumann Date: Fri, 17 Mar 2023 09:33:08 +0100 Subject: extra/onetbb: renamed upstream from tbb --- extra/onetbb/PKGBUILD | 44 +++++++++++++++++++++++++++ extra/onetbb/oneTBB-2021.5.0-no-waitpkg.patch | 12 ++++++++ 2 files changed, 56 insertions(+) create mode 100644 extra/onetbb/PKGBUILD create mode 100644 extra/onetbb/oneTBB-2021.5.0-no-waitpkg.patch (limited to 'extra/onetbb') diff --git a/extra/onetbb/PKGBUILD b/extra/onetbb/PKGBUILD new file mode 100644 index 00000000..ea8c3d64 --- /dev/null +++ b/extra/onetbb/PKGBUILD @@ -0,0 +1,44 @@ +# disable waitpkg extensions (error is inline failing in _tpause) +# (see https://github.com/oneapi-src/oneTBB/issues/370 and +# https://github.com/oneapi-src/oneTBB/pull/609/commits/542a27fa1cfafaf76772e793549d9f4d288d03a9) +source+=('oneTBB-2021.5.0-no-waitpkg.patch') +sha512sums+=('918cb0418118de415eb9a7872a4938d15aec8b1ea096bc2996bc7390cd9c73cdc551f15a590b518ec1decfb458d8a488338625a81c26287cba184352fb950f16') +eval "$( + { + declare -f prepare || \ + printf 'prepare() { cd ${srcdir}/oneTBB-${pkgver}\n}\n' + } \ + | sed ' + $i patch -d "${srcdir}/oneTBB-${pkgver}" -p1 -i "$srcdir/oneTBB-2021.5.0-no-waitpkg.patch" + ' +)" + +# -latomic on i486 +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + s/cmake /cmake -DCMAKE_CXX_STANDARD_LIBRARIES=-latomic / + ' + )" +fi + +# just for now we don't test on i486, we have to do real tests on a +# real old CPU, in chroots the tests are running, on the real thing +# they hang (presumably some opcodes are missing or not doing exactly +# what they do in emulation).. +# for now it's more important to unstuck the package and build the +# rest on top +if [ "$CARCH" == 'i486' ]; then + unset check +fi + +# ignore some errors in test +if [ "$CARCH" == 'i486' ]; then + eval "$( + declare -f build | \ + sed ' + /CXXFLAGS/ a export CXXFLAGS="$CXXFLAGS -Wno-error=array-bounds -Wno-error=use-after-free" + ' + )" +fi diff --git a/extra/onetbb/oneTBB-2021.5.0-no-waitpkg.patch b/extra/onetbb/oneTBB-2021.5.0-no-waitpkg.patch new file mode 100644 index 00000000..ab65e99f --- /dev/null +++ b/extra/onetbb/oneTBB-2021.5.0-no-waitpkg.patch @@ -0,0 +1,12 @@ +diff -rauN oneTBB-2021.5.0/cmake/compilers/GNU.cmake oneTBB-2021.5.0-no-waitpkg/cmake/compilers/GNU.cmake +--- oneTBB-2021.5.0/cmake/compilers/GNU.cmake 2021-12-17 14:40:54.000000000 +0100 ++++ oneTBB-2021.5.0-no-waitpkg/cmake/compilers/GNU.cmake 2022-06-29 07:45:39.996610962 +0200 +@@ -36,7 +36,7 @@ + endif() + + # Enable Intel(R) Transactional Synchronization Extensions (-mrtm) and WAITPKG instructions support (-mwaitpkg) on relevant processors +-if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64)") ++if (CMAKE_SYSTEM_PROCESSOR MATCHES "(x86|AMD64|i.86)") + set(TBB_COMMON_COMPILE_FLAGS ${TBB_COMMON_COMPILE_FLAGS} -mrtm $<$>,$>>:-mwaitpkg>) + endif() + -- cgit v1.2.3-70-g09d2