Hello community, here is the log from the commit of package eigen3 for openSUSE:Factory checked in at 2020-10-03 18:55:14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/eigen3 (Old) and /work/SRC/openSUSE:Factory/.eigen3.new.4249 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "eigen3" Sat Oct 3 18:55:14 2020 rev:19 rq:836366 version:3.3.7 Changes: -------- --- /work/SRC/openSUSE:Factory/eigen3/eigen3.changes 2019-09-05 12:08:52.527868839 +0200 +++ /work/SRC/openSUSE:Factory/.eigen3.new.4249/eigen3.changes 2020-10-03 18:55:23.597475031 +0200 @@ -1,0 +2,8 @@ +Thu Sep 17 12:23:42 UTC 2020 - Atri Bhattacharya <[email protected]> + +- Add eigen3-CastXML-support-for-aarch64.patch to support CastXML + on aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979]; + patch taken from upstream commit and rebased to apply without + fuzz. + +------------------------------------------------------------------- New: ---- eigen3-CastXML-support-for-aarch64.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ eigen3.spec ++++++ --- /var/tmp/diff_new_pack.AdW0lL/_old 2020-10-03 18:55:26.657478421 +0200 +++ /var/tmp/diff_new_pack.AdW0lL/_new 2020-10-03 18:55:26.661478425 +0200 @@ -1,7 +1,7 @@ # # spec file for package eigen3 # -# Copyright (c) 2019 SUSE LINUX GmbH, Nuernberg, Germany. +# Copyright (c) 2020 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -31,7 +31,7 @@ Summary: C++ Template Library for Linear Algebra License: MPL-2.0 AND LGPL-2.1-only AND LGPL-2.1-or-later AND BSD-3-Clause Group: Development/Libraries/C and C++ -Url: http://eigen.tuxfamily.org/ +URL: http://eigen.tuxfamily.org/ Source0: https://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2#/%{pkgname}-%{version}.tar.bz2 Patch0: 0001-Disable-Altivec-for-ppc64le.patch Patch1: 0001-Do-stack-allignment-on-ppc.patch @@ -41,6 +41,8 @@ Patch3: 01_install_FindEigen3.patch # PATCH-FIX-OPENSUSE eigen3-3.3.1-fixcmake.patch -- Fix double {prefix} as we use INCLUDE_INSTALL_DIR with {_includedir} Patch4: eigen3-3.3.1-fixcmake.patch +# PATCH-FIX-UPSTREAM eigen3-CastXML-support-for-aarch64.patch [email protected] -- Add CastXML support for ARM aarch64 [https://gitlab.com/libeigen/eigen/-/issues/1979] +Patch5: eigen3-CastXML-support-for-aarch64.patch BuildRequires: adolc-devel BuildRequires: cmake BuildRequires: fftw3-devel @@ -102,6 +104,7 @@ %patch2 -p1 %patch3 -p1 %patch4 -p1 +%patch5 -p1 # Fix rpmlint warning "wrong-file-end-of-line-encoding" sed -i 's/\r$//' COPYING.MINPACK ++++++ eigen3-CastXML-support-for-aarch64.patch ++++++ >From 880fa43b2ba9c25f45ae3ad4871a6aabe558329f Mon Sep 17 00:00:00 2001 From: Brad King <[email protected]> Date: Wed, 16 Sep 2020 13:37:27 -0400 Subject: [PATCH] Add support for CastXML on ARM aarch64 CastXML simulates the preprocessors of other compilers, but actually parses the translation unit with an internal Clang compiler. Use the same `vld1q_u64` workaround that we do for Clang. Fixes: #1979 --- Eigen/src/Core/arch/NEON/Complex.h | 4 ++-- Eigen/src/Core/util/Macros.h | 6 ++++++ 2 files changed, 8 insertions(+), 2 deletions(-) Index: eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h =================================================================== --- eigen-eigen-323c052e1731.orig/Eigen/src/Core/arch/NEON/Complex.h +++ eigen-eigen-323c052e1731/Eigen/src/Core/arch/NEON/Complex.h @@ -17,7 +17,7 @@ namespace internal { inline uint32x4_t p4ui_CONJ_XOR() { // See bug 1325, clang fails to call vld1q_u64. -#if EIGEN_COMP_CLANG +#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML uint32x4_t ret = { 0x00000000, 0x80000000, 0x00000000, 0x80000000 }; return ret; #else @@ -291,7 +291,7 @@ ptranspose(PacketBlock<Packet2cf,2>& ker #if EIGEN_ARCH_ARM64 && !EIGEN_APPLE_DOUBLE_NEON_BUG // See bug 1325, clang fails to call vld1q_u64. -#if EIGEN_COMP_CLANG +#if EIGEN_COMP_CLANG || EIGEN_COMP_CASTXML static uint64x2_t p2ul_CONJ_XOR = {0x0, 0x8000000000000000}; #else const uint64_t p2ul_conj_XOR_DATA[] = { 0x0, 0x8000000000000000 }; Index: eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h =================================================================== --- eigen-eigen-323c052e1731.orig/Eigen/src/Core/util/Macros.h +++ eigen-eigen-323c052e1731/Eigen/src/Core/util/Macros.h @@ -35,6 +35,12 @@ #define EIGEN_COMP_CLANG 0 #endif +/// \internal EIGEN_COMP_CASTXML set to 1 if being preprocessed by CastXML +#if defined(__castxml__) + #define EIGEN_COMP_CASTXML 1 +#else + #define EIGEN_COMP_CASTXML 0 +#endif /// \internal EIGEN_COMP_LLVM set to 1 if the compiler backend is llvm #if defined(__llvm__)
