diff --git a/gbl.spec b/gbl.spec
index 85a41c1a8ed..0b94b1facbf 100644
--- a/gbl.spec
+++ b/gbl.spec
@@ -2,6 +2,7 @@
## INCLUDE cpp-standard
%define tag 59c2d99ea96bc739321fd251096504c91467be24
Source: git+https://gitlab.desy.de/claus.kleinwort/general-broken-lines.git?obj=main/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}.tgz
+Source99: scram-tools.file/tools/eigen/env
BuildRequires: cmake
Requires: eigen
@@ -15,6 +16,7 @@ sed -i -e 's|CMAKE_CXX_STANDARD *11|CMAKE_CXX_STANDARD %{cms_cxx_standard}|' cp
rm -rf build
mkdir build
cd build
+source %{_sourcedir}/env
cmake ../cpp \
-DCMAKE_INSTALL_PREFIX=%{i} \
@@ -22,11 +24,11 @@ cmake ../cpp \
-DCMAKE_VERBOSE_MAKEFILE=ON \
-DEIGEN3_INCLUDE_DIR=${EIGEN_ROOT}/include/eigen3 \
-DSUPPORT_ROOT=False \
- %ifarch x86_64
- -DCMAKE_CXX_FLAGS="-DEIGEN_MAX_ALIGN_BYTES=64 -msse3"
- %else
- -DCMAKE_CXX_FLAGS="-DEIGEN_MAX_ALIGN_BYTES=64"
- %endif
+%ifarch x86_64
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS -msse3"
+%else
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS"
+%endif
make %{makeprocesses}
diff --git a/lwtnn.spec b/lwtnn.spec
index 49f48f2f816..67a0aeb10f0 100644
--- a/lwtnn.spec
+++ b/lwtnn.spec
@@ -1,7 +1,9 @@
-### RPM external lwtnn 2.13
+### RPM external lwtnn 2.14.1
## INCLUDE cpp-standard
Source: https://github.com/lwtnn/lwtnn/archive/v%{realversion}.tar.gz
+Source99: scram-tools.file/tools/eigen/env
+
BuildRequires: ninja cmake
Requires: eigen boost
@@ -13,11 +15,16 @@ Requires: eigen boost
rm -rf ../build
mkdir ../build
cd ../build
+source %{_sourcedir}/env
cmake ../%{n}-%{realversion} \
-G Ninja \
-DCMAKE_CXX_COMPILER="g++" \
- -DCMAKE_CXX_FLAGS="-fPIC" \
+%ifarch x86_64
+ -DCMAKE_CXX_FLAGS="-fPIC $CMS_EIGEN_CXX_FLAGS -msse3" \
+%else
+ -DCMAKE_CXX_FLAGS="-fPIC $CMS_EIGEN_CXX_FLAGS" \
+ %endif
-DCMAKE_INSTALL_PREFIX:PATH="%{i}" \
-DCMAKE_BUILD_TYPE=Release \
-DBUILTIN_BOOST=OFF \
diff --git a/opencv.spec b/opencv.spec
index b82bc8c8a7d..625c60bb39c 100644
--- a/opencv.spec
+++ b/opencv.spec
@@ -6,6 +6,8 @@
%define github_user opencv
Source0: git+https://github.com/%{github_user}/opencv.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&output=/%{n}-%{realversion}-%{tag}.tgz
+Source99: scram-tools.file/tools/eigen/env
+
BuildRequires: cmake ninja
Requires: python3 py3-numpy libpng libjpeg-turbo libtiff zlib eigen OpenBLAS
@@ -16,6 +18,7 @@ Requires: python3 py3-numpy libpng libjpeg-turbo libtiff zlib eigen OpenBLAS
rm -rf ../build
mkdir ../build
cd ../build
+source %{_sourcedir}/env
cmake ../%{n}-%{realversion} \
-GNinja \
@@ -30,6 +33,11 @@ cmake ../%{n}-%{realversion} \
-DPYTHON3_INCLUDE_DIR:PATH="${PYTHON3_ROOT}/include/python%{cms_python3_major_minor_version}" \
-DPYTHON3_LIBRARY:FILEPATH="${PYTHON3_ROOT}/lib/libpython%{cms_python3_major_minor_version}.so" \
-DCMAKE_BUILD_TYPE=Release \
+%ifarch x86_64
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS -msse3" \
+%else
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS" \
+%endif
-DCMAKE_PREFIX_PATH="${LIBPNG_ROOT};${LIBTIFF_ROOT};${LIBJPEG_TURBO_ROOT};${ZLIB_ROOT};${PYTHON3_ROOT};${PY2_NUMPY_ROOT};${PY3_NUMPY_ROOT};${EIGEN_ROOT};${OPENBLAS_ROOT}"
ninja -v %{makeprocesses}
diff --git a/pytorch.spec b/pytorch.spec
index 5d58c9c5d42..ce5662310a4 100644
--- a/pytorch.spec
+++ b/pytorch.spec
@@ -8,6 +8,7 @@
Source: git+https://github.com/pytorch/pytorch.git?obj=%{branch}/%{tag}&export=%{n}-%{realversion}&submodules=1&output=/%{n}-%{realversion}.tgz
Source1: FindEigen3.cmake
Source2: FindFMT.cmake
+Source99: scram-tools.file/tools/eigen/env
Patch0: pytorch-ignore-different-cuda-include-dir
Patch1: pytorch-missing-braces
Patch2: pytorch-system-fmt
@@ -25,6 +26,7 @@ Requires: cuda cudnn OpenBLAS zlib protobuf fmt py3-pybind11
%build
cp %{_sourcedir}/FindEigen3.cmake %{_sourcedir}/FindFMT.cmake cmake/Modules/
rm -rf ../build && mkdir ../build && cd ../build
+source %{_sourcedir}/env
USE_CUDA=OFF
%if "%{cmsos}" != "slc7_aarch64"
@@ -74,6 +76,11 @@ cmake ../%{n}-%{realversion} \
-DUSE_SYSTEM_FXDIV=ON \
-DUSE_SYSTEM_PYBIND11=ON \
-DUSE_SYSTEM_BENCHMARK=ON \
+%ifarch x86_64
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS -msse3" \
+%else
+ -DCMAKE_CXX_FLAGS="$CMS_EIGEN_CXX_FLAGS" \
+%endif
-DCMAKE_PREFIX_PATH="%{cmake_prefix_path}" \
-DPYTHON_EXECUTABLE=${PYTHON3_ROOT}/bin/python3
diff --git a/scram-tools.file/tools/eigen/eigen.xml b/scram-tools.file/tools/eigen/eigen.xml
index 762356e286c..a2725ddbf2c 100644
--- a/scram-tools.file/tools/eigen/eigen.xml
+++ b/scram-tools.file/tools/eigen/eigen.xml
@@ -4,7 +4,6 @@
-
-
+
diff --git a/scram-tools.file/tools/eigen/env.file b/scram-tools.file/tools/eigen/env.file
new file mode 100644
index 00000000000..386dfbb054d
--- /dev/null
+++ b/scram-tools.file/tools/eigen/env.file
@@ -0,0 +1 @@
+export CMS_EIGEN_CXX_FLAGS="-DEIGEN_DONT_PARALLELIZE -DEIGEN_MAX_ALIGN_BYTES=64"
diff --git a/scram-tools.file/tools/eigen/env.sh b/scram-tools.file/tools/eigen/env.sh
new file mode 100755
index 00000000000..a928c01b2d3
--- /dev/null
+++ b/scram-tools.file/tools/eigen/env.sh
@@ -0,0 +1,2 @@
+#!/bin/bash -e
+source ${SCRAM_TOOL_SOURCE_DIR}/env.file
diff --git a/vectorization/cmsdist_packages.py b/vectorization/cmsdist_packages.py
index ac3e599c1cf..39206d73077 100755
--- a/vectorization/cmsdist_packages.py
+++ b/vectorization/cmsdist_packages.py
@@ -19,6 +19,9 @@
"OpenBLAS",
"rivet",
"gbl",
+ "lwtnn",
+ "opencv",
+ "pytorch",
]
VALID_TARGETS = {
"nehalem": "-march=nehalem",