diff --git a/llvm.spec b/llvm.spec
index 7fc1217a7ab..09591a4e0ff 100644
--- a/llvm.spec
+++ b/llvm.spec
@@ -1,4 +1,4 @@
-### RPM external llvm 12.0.1
+### RPM external llvm 14.0.6
## INITENV +PATH LD_LIBRARY_PATH %{i}/lib64
## INITENV +PATH PYTHON3PATH %{i}/lib64/python%{cms_python3_major_minor_version}/site-packages
@@ -7,10 +7,10 @@ Requires: gcc zlib python3
Requires: cuda
AutoReq: no
-%define llvmCommit 9f4ab770e61b68d2037cc7cda1f868a8ba52da85
-%define llvmBranch cms/release/12.x/fed4134
-%define iwyuCommit 5db414ac448004fe019871c977905cb7c2cff23f
-%define iwyuBranch clang_11
+%define llvmCommit d88fe2a1cafb6621210a7a0ae968c1e8e797d2bb
+%define llvmBranch cms/release/14.x/f28c006
+%define iwyuCommit d888efc52646dcf3e4e3a56af13aa23dd26abde0
+%define iwyuBranch master
Source0: git+https://github.com/cms-externals/llvm-project.git?obj=%{llvmBranch}/%{llvmCommit}&export=llvm-%{realversion}-%{llvmCommit}&module=llvm-%{realversion}-%{llvmCommit}&output=/llvm-%{realversion}-%{llvmCommit}.tgz
Source1: git+https://github.com/include-what-you-use/include-what-you-use.git?obj=%{iwyuBranch}/%{iwyuCommit}&export=iwyu-%{realversion}-%{iwyuCommit}&module=iwyu-%{realversion}-%{iwyuCommit}&output=/iwyu-%{realversion}-%{iwyuCommit}.tgz
diff --git a/pip/requirements.txt b/pip/requirements.txt
index 1908537cf30..5dd3f79b264 100644
--- a/pip/requirements.txt
+++ b/pip/requirements.txt
@@ -142,7 +142,6 @@ kiwisolver==1.3.2
law==0.1.5
lazy-object-proxy==1.6.0
lizard==1.17.9
-llvmlite==0.37.0
lockfile==0.12.2
luigi==3.0.3
lxml==4.6.5
diff --git a/py3-dxr.spec b/py3-dxr.spec
index 8f8a1794e6a..9bc073b6da9 100644
--- a/py3-dxr.spec
+++ b/py3-dxr.spec
@@ -2,7 +2,7 @@
## INITENV +PATH PYTHON3PATH %i/${PYTHON3_LIB_SITE_PACKAGES}
Requires: zlib llvm sqlite
Requires: py3-Jinja2 py3-parsimonious py3-pysqlite3 py3-Pygments
-%define dxrCommit de41946bc5601d100efb44780f11db71dafaeb1e
+%define dxrCommit e79425eded8ca0ae882b4ccceaf27ae1aab446d3
%define branch cms/6ea764102a/py3
Source0: git+https://github.com/cms-externals/dxr.git?obj=%{branch}/%{dxrCommit}&export=dxr-%{dxrCommit}&module=dxr-%dxrCommit&output=/dxr-%{dxrCommit}.tgz
diff --git a/python_tools.spec b/python_tools.spec
index 2d6d4e9e175..82573f4a25f 100644
--- a/python_tools.spec
+++ b/python_tools.spec
@@ -24,8 +24,6 @@ Requires: py3-pandas
Requires: py3-Bottleneck
Requires: py3-downhill
Requires: py3-xgboost
-Requires: py3-llvmlite
-Requires: py3-numba
Requires: py3-hep_ml
Requires: py3-uncertainties
Requires: py3-seaborn
diff --git a/rust-libstdc.patch b/rust-libstdc.patch
new file mode 100644
index 00000000000..f4e6540d224
--- /dev/null
+++ b/rust-libstdc.patch
@@ -0,0 +1,35 @@
+diff --git a/compiler/rustc_llvm/build.rs b/compiler/rustc_llvm/build.rs
+index ac758c1..11abfac 100644
+--- a/compiler/rustc_llvm/build.rs
++++ b/compiler/rustc_llvm/build.rs
+@@ -347,18 +347,18 @@ fn main() {
+
+ // C++ runtime library
+ if !target.contains("msvc") {
+- if let Some(s) = llvm_static_stdcpp {
+- assert!(!cxxflags.contains("stdlib=libc++"));
+- let path = PathBuf::from(s);
+- println!("cargo:rustc-link-search=native={}", path.parent().unwrap().display());
+- if target.contains("windows") {
+- println!("cargo:rustc-link-lib=static:-bundle={}", stdcppname);
+- } else {
+- println!("cargo:rustc-link-lib=static={}", stdcppname);
+- }
+- } else if cxxflags.contains("stdlib=libc++") {
+- println!("cargo:rustc-link-lib=c++");
+- } else {
++ if let Some(_s) = llvm_static_stdcpp {
++ // assert!(!cxxflags.contains("stdlib=libc++"));
++ // let path = PathBuf::from(s);
++ // println!("cargo:rustc-link-search=native={}", path.parent().unwrap().display());
++ // if target.contains("windows") {
++ // println!("cargo:rustc-link-lib=static:-bundle={}", stdcppname);
++ // } else {
++ // println!("cargo:rustc-link-lib=static={}", stdcppname);
++ // }
++ //} else if cxxflags.contains("stdlib=libc++") {
++ // println!("cargo:rustc-link-lib=c++");
++ //} else {
+ println!("cargo:rustc-link-lib={}", stdcppname);
+ }
+ }
diff --git a/rust.spec b/rust.spec
index 2ecd91ae389..ef2584bf4b7 100644
--- a/rust.spec
+++ b/rust.spec
@@ -1,4 +1,4 @@
-### RPM external rust 1.57.0
+### RPM external rust 1.61.0
%ifarch ppc64le
%define build_arch powerpc64le-unknown-linux-gnu
%else
@@ -8,11 +8,13 @@
%define branch master
%define tag %{realversion}
Source: git+https://github.com/%{github_user}/%{n}.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&submodules=1&output=/%{n}-%{realversion}.tgz
+Patch0: rust-libstdc
BuildRequires: python3
Requires: llvm
%prep
%setup -n %{n}-%{realversion}
+%patch0 -p1
%build
cat << EOF > config.toml
diff --git a/scram-tools.file/tools/llvm/llvm-ccompiler.xml b/scram-tools.file/tools/llvm/llvm-ccompiler.xml
index 0ac59e88363..ebb0e43273c 100644
--- a/scram-tools.file/tools/llvm/llvm-ccompiler.xml
+++ b/scram-tools.file/tools/llvm/llvm-ccompiler.xml
@@ -4,4 +4,5 @@
+
diff --git a/scram-tools.file/tools/llvm/llvm-cxxcompiler.xml b/scram-tools.file/tools/llvm/llvm-cxxcompiler.xml
index 9130dae09af..ff34cc29653 100644
--- a/scram-tools.file/tools/llvm/llvm-cxxcompiler.xml
+++ b/scram-tools.file/tools/llvm/llvm-cxxcompiler.xml
@@ -28,6 +28,7 @@
+