fix(patches): RcppParallel disable-TBB source patch (was a no-op env var)

The previous entry set env RCPP_PARALLEL_USE_TBB=0, but RcppParallel reads that
only as a compile -D flag, not from the environment — so it was a no-op and the
bundled Intel TBB build still ran (and hung on musl / newer toolchains).

Replace it with a source patch on src/Makevars.in that leaves USE_TBB unset
(skipping the bundled TBB build) and forces -DRCPP_PARALLEL_USE_TBB=0 so the
sources use the TinyThread backend. Verified in a Linux container: RcppParallel
installs with no bundled-TBB build (* DONE (RcppParallel)).
This commit is contained in:
Patrick Schratz 2026-06-30 14:59:27 +02:00
commit 889c571e79
Signed by: pat-s
GPG key ID: 3C6318841EF78925
2 changed files with 19 additions and 3 deletions

View file

@ -0,0 +1,16 @@
diff --git a/src/Makevars.in b/src/Makevars.in
index be8445f..faee771 100644
--- a/src/Makevars.in
+++ b/src/Makevars.in
@@ -60,7 +60,10 @@ else
endif
ifeq ($(UNAME), Linux)
- USE_TBB=Linux
+ # bincraft patch: the bundled Intel TBB build hangs/fails on musl (Alpine)
+ # and newer toolchains (g++ 15). Skip it (leave USE_TBB unset) and force the
+ # TinyThread backend so RcppParallel still builds.
+ PKG_CXXFLAGS += -DRCPP_PARALLEL_USE_TBB=0
endif
ifeq ($(UNAME), SunOS)

View file

@ -3,10 +3,10 @@
"package": "RcppParallel",
"versions": "*",
"platforms": ["alpine", "ubuntu-2604"],
"env": { "RCPP_PARALLEL_USE_TBB": "0" },
"env": {},
"configure_args": [],
"makevars": {},
"patch": null,
"reason": "bundled Intel TBB fails to build on musl and on newer toolchains (e.g. g++ 15 on ubuntu-2604); disabling TBB falls back to TinyThread"
"patch": "RcppParallel/disable-tbb.patch",
"reason": "bundled Intel TBB build hangs/fails on musl (Alpine) and newer toolchains (g++ 15 on ubuntu-2604); patch unsets USE_TBB and forces -DRCPP_PARALLEL_USE_TBB=0 so RcppParallel skips the bundled build and uses the TinyThread backend"
}
]