Compare commits

...

No commits in common. "c8s" and "c10s" have entirely different histories.
c8s ... c10s

9 changed files with 353 additions and 105 deletions

30
.gitignore vendored
View File

@ -1,2 +1,30 @@
SOURCES/3.3.4.tar.bz2
/eigen-3.0.0.tar.bz2
/eigen-3.0.3.tar.bz2
/eigen-3.0.4.tar.bz2
/eigen-3.0.5.tar.bz2
/eigen-3.0.6.tar.bz2
/eigen-3.1.2.tar.bz2
/eigen-3.1.3.tar.bz2
/eigen-3.2.tar.bz2
/eigen-3.2.1.tar.bz2
/eigen-3.2.2.tar.bz2
/eigen-3.2.3.tar.bz2
/eigen-3.2.4.tar.bz2
/eigen-3.2.5.tar.bz2
/eigen-3.2.6.tar.bz2
/eigen-3.2.7.tar.bz2
/eigen-3.2.8.tar.bz2
/eigen-3.2.9.tar.bz2
/eigen-3.2.10.tar.bz2
/3.3.0.tar.bz2
/3.3.1.tar.bz2
/3.3.2.tar.bz2
/3.3.3.tar.bz2
/3.3.4.tar.bz2
/3.3.5.tar.bz2
/3.3.6.tar.bz2
/3.3.7.tar.bz2
/eigen-3.3.7.tar.bz2
/eigen-3.3.8.tar.bz2
/eigen-3.3.9.tar.bz2
/eigen-3.4.0.tar.bz2

View File

@ -1,15 +0,0 @@
diff -rupN eigen-eigen-07105f7124f9/CMakeLists.txt eigen-eigen-07105f7124f9-new/CMakeLists.txt
--- eigen-eigen-07105f7124f9/CMakeLists.txt 2016-02-16 14:26:15.000000000 +0100
+++ eigen-eigen-07105f7124f9-new/CMakeLists.txt 2016-02-17 09:44:43.556543936 +0100
@@ -324,6 +324,11 @@ install(FILES
DESTINATION ${INCLUDE_INSTALL_DIR} COMPONENT Devel
)
+install(FILES
+ cmake/FindEigen3.cmake
+ DESTINATION ${CMAKE_INSTALL_PREFIX}/share/cmake/Modules
+ )
+
if(EIGEN_BUILD_PKGCONFIG)
configure_file(eigen3.pc.in eigen3.pc @ONLY)
install(FILES ${CMAKE_CURRENT_BINARY_DIR}/eigen3.pc

View File

@ -1,12 +0,0 @@
diff -up ./CMakeLists.txt.fixcmake ./CMakeLists.txt
--- ./CMakeLists.txt.fixcmake 2016-12-28 11:39:51.690853423 -0500
+++ ./CMakeLists.txt 2016-12-28 11:41:06.409811065 -0500
@@ -511,7 +511,7 @@ set ( EIGEN_VERSION_MAJOR ${EIGEN_WORLD
set ( EIGEN_VERSION_MINOR ${EIGEN_MAJOR_VERSION} )
set ( EIGEN_VERSION_PATCH ${EIGEN_MINOR_VERSION} )
set ( EIGEN_DEFINITIONS "")
-set ( EIGEN_INCLUDE_DIR "${CMAKE_INSTALL_PREFIX}/${INCLUDE_INSTALL_DIR}" )
+set ( EIGEN_INCLUDE_DIR ${INCLUDE_INSTALL_DIR} )
set ( EIGEN_ROOT_DIR ${CMAKE_INSTALL_PREFIX} )
# Interface libraries require at least CMake 3.0

View File

@ -4,40 +4,61 @@
# debuginfo package for the empty main package.
%global debug_package %{nil}
%global commit 5a0156e40feb
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
%global blaslib flexiblas
%global cmake_blas_flags -DBLA_VENDOR=FlexiBLAS
%else
%global blaslib openblas
%global blasvar o
%global cmake_blas_flags -DBLAS_LIBRARIES=%{_libdir}/lib%{blaslib}%{blasvar}.so
%endif
%bcond mingw %{undefined rhel}
%bcond sparsehash %{undefined rhel}
%bcond suitesparse %{undefined rhel}
%bcond SuperLU %{undefined rhel}
%bcond scotch %{undefined rhel}
%bcond metis %{undefined rhel}
Name: eigen3
Version: 3.3.4
Release: 6%{?dist}
Version: 3.4.0
Release: 17%{?dist}
Summary: A lightweight C++ template library for vector and matrix math
Group: Development/Libraries
License: MPLv2.0 and LGPLv2+ and BSD
License: Apache-2.0 AND MPL-2.0 AND LGPL-2.0-or-later AND BSD-3-Clause AND Minpack
URL: http://eigen.tuxfamily.org/index.php?title=Main_Page
Source0: http://bitbucket.org/eigen/eigen/get/%{version}.tar.bz2
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
# For mingw, read the comment in the file for details
Source1: mingw_TryRunResults.cmake
# Install FindEigen3.cmake
# Adapted from Debian eigen3 package
Patch0: 01_install_FindEigen3.patch
# Fix pkg-config file
Patch1: eigen_pkgconfig.patch
# Fix the include paths in the new Eigen3Config.cmake file
Patch2: eigen3-3.3.1-fixcmake.patch
BuildRequires: atlas-devel
BuildRequires: %{blaslib}-devel
BuildRequires: fftw-devel
%if 0
# for OpenGL in unit tests, disabled by default
BuildRequires: glew-devel
%endif
BuildRequires: gmp-devel
%if 0
# only used in benchmarks, not used in the RPM build
BuildRequires: gsl-devel
%endif
BuildRequires: mpfr-devel
BuildRequires: sparsehash-devel
BuildRequires: suitesparse-devel
BuildRequires: gcc-gfortran
%if %{with sparsehash}
BuildRequires: sparsehash-devel
%endif
%if %{with suitesparse}
BuildRequires: suitesparse-devel
%endif
%if %{with SuperLU}
BuildRequires: SuperLU-devel
#BuildRequires: qt-devel
%endif
%if %{with scotch}
BuildRequires: scotch-devel
%endif
%if %{with metis}
BuildRequires: metis-devel
%endif
BuildRequires: cmake
BuildRequires: make
@ -46,17 +67,34 @@ BuildRequires: doxygen
BuildRequires: graphviz
BuildRequires: tex(latex)
%if %{with mingw}
BuildRequires: mingw32-filesystem >= 95
BuildRequires: mingw32-gcc-c++
BuildRequires: mingw32-gcc-gfortran
BuildRequires: mingw32-fftw
BuildRequires: mingw32-gmp
BuildRequires: mingw32-mpfr
BuildRequires: mingw64-filesystem >= 95
BuildRequires: mingw64-gcc-c++
BuildRequires: mingw64-gcc-gfortran
BuildRequires: mingw64-fftw
BuildRequires: mingw64-gmp
BuildRequires: mingw64-mpfr
%endif
%description
%{summary}.
%package devel
Summary: A lightweight C++ template library for vector and matrix math
Group: Development/Libraries
BuildArch: noarch
# -devel subpkg only atm, compat with other distros
Provides: %{name} = %{version}-%{release}
# not *strictly* a -static pkg, but the results are the same
Provides: %{name}-static = %{version}-%{release}
%description devel
%{summary}.
@ -64,58 +102,221 @@ Provides: %{name}-static = %{version}-%{release}
Summary: Developer documentation for Eigen
Requires: %{name}-devel = %{version}-%{release}
BuildArch: noarch
%description doc
Developer documentation for Eigen.
%prep
%setup -q -n eigen-eigen-%{commit}
%patch0 -p1
%patch1 -p1
%patch2 -p0 -b .fixcmake
%build
mkdir %{_target_platform}
pushd %{_target_platform}
#%%ifarch ppc64
# Currently get a compiler ICE, work around it
# https://bugzilla.redhat.com/show_bug.cgi?id=1063999
#export CXXFLAGS="%%{optflags} -mno-vsx"
#%%endif
%cmake .. -DINCLUDE_INSTALL_DIR=%{_includedir}/eigen3 \
-DBLAS_LIBRARIES="cblas" \
-DSUPERLU_INCLUDES=%{_includedir}/SuperLU \
-DSCOTCH_INCLUDES=%{_includedir} -DSCOTCH_LIBRARIES="scotch" \
-DMETIS_INCLUDES=%{_includedir} -DMETIS_LIBRARIES="metis" \
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/%{name}
popd
%make_build -C %{_target_platform}
%make_build doc -C %{_target_platform}
%if %{with mingw}
# Mingw32
%package -n mingw32-%{name}
Summary: %{summary}
BuildArch: noarch
%description -n mingw32-%{name}
%{summary}
# Mingw64
%package -n mingw64-%{name}
Summary: %{summary}
BuildArch: noarch
%description -n mingw64-%{name}
%{summary}
%endif
%prep
%autosetup -p1 -n eigen-%{version}
%build
# Native build
%cmake \
-DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/cmake/%{name} \
%{cmake_blas_flags} \
%if %{with SuperLU}
-DSUPERLU_INCLUDES=%{_includedir}/SuperLU \
%endif
%if %{with scotch}
-DSCOTCH_INCLUDES=%{_includedir} -DSCOTCH_LIBRARIES="scotch" \
%endif
%if %{with metis}
-DMETIS_INCLUDES=%{_includedir} -DMETIS_LIBRARIES="metis" \
%endif
-DEIGEN_TEST_CXX11=ON
%cmake_build
%cmake_build --target doc
rm -f %{_vpath_builddir}/doc/html/installdox
rm -f %{_vpath_builddir}/doc/html/unsupported/installdox
%if %{with mingw}
# MinGW build
MINGW32_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR=%{mingw32_includedir}/%{name} -DCMAKEPACKAGE_INSTALL_DIR=%{mingw32_datadir}/cmake/%{name}" \
MINGW64_CMAKE_ARGS="-DINCLUDE_INSTALL_DIR=%{mingw64_includedir}/%{name} -DCMAKEPACKAGE_INSTALL_DIR=%{mingw64_datadir}/cmake/%{name}" \
%mingw_cmake -C%{SOURCE1} -DEIGEN_BUILD_PKGCONFIG:BOOL=ON -DEIGEN_TEST_CXX11=ON
%endif
rm -f %{_target_platform}/doc/html/installdox
rm -f %{_target_platform}/doc/html/unsupported/installdox
%install
%make_install -C %{_target_platform}
%cmake_install
%if %{with mingw}
%mingw_make_install
%endif
%check
# Run tests but make failures non-fatal. Note that upstream doesn't expect the
# tests to pass consistently since they're seeded randomly.
#make -C %%{_target_platform} %%{?_smp_mflags} buildtests
#make -C %%{_target_platform} %%{?_smp_mflags} test ARGS="-V" || exit 0
# Building tests takes ages
# cmake_build --target buildtests
# ctest
%files devel
%license COPYING.README COPYING.BSD COPYING.MPL2 COPYING.LGPL
%{_includedir}/eigen3
%{_datadir}/%{name}
%{_datadir}/pkgconfig/*
%{_datadir}/cmake/Modules/*.cmake
%license COPYING.README COPYING.APACHE COPYING.BSD COPYING.MPL2 COPYING.GPL COPYING.LGPL COPYING.MINPACK
%{_includedir}/%{name}
%{_datadir}/cmake/%{name}
%{_datadir}/pkgconfig/%{name}.pc
%files doc
%doc %{_target_platform}/doc/html
%doc %{_vpath_builddir}/doc/html
%if %{with mingw}
%files -n mingw32-%{name}
%license COPYING.BSD COPYING.LGPL COPYING.MPL2 COPYING.README
%{mingw32_includedir}/%{name}
%{mingw32_datadir}/pkgconfig/%{name}.pc
%{mingw32_datadir}/cmake/%{name}/
%files -n mingw64-%{name}
%license COPYING.BSD COPYING.LGPL COPYING.MPL2 COPYING.README
%{mingw64_includedir}/%{name}
%{mingw64_datadir}/pkgconfig/%{name}.pc
%{mingw64_datadir}/cmake/%{name}/
%endif
%changelog
* Mon Sep 17 2018 Jiri Kucera <jkucera@redhat.com> - 3.3.4-6
- Removed dependency on qt-devel
Resolves: #1628473
* Tue Oct 29 2024 Troy Dawson <tdawson@redhat.com> - 3.4.0-17
- Bump release for October 2024 mass rebuild:
Resolves: RHEL-64018
* Mon Jun 24 2024 Troy Dawson <tdawson@redhat.com> - 3.4.0-16
- Bump release for June 2024 mass rebuild
* Sun Feb 04 2024 Orion Poplawski <orion@nwra.com> - 3.4.0-15
- Rebuild with suitesparse 7.6.0
* Wed Jan 24 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-14
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-13
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Thu Aug 03 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.4.0-12
- Drop unused glew build dependency
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-11
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Thu Jun 15 2023 Yaakov Selkowitz <yselkowi@redhat.com> - 3.4.0-10
- Avoid extra test dependencies in RHEL builds
* Thu Jan 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-9
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Thu Jul 21 2022 Sandro Mani <manisandro@gmail.com> - 3.4.0-8
- Drop eigen_mma.patch
* Thu Jul 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Fri Mar 25 2022 Sandro Mani <manisandro@gmail.com> - 3.4.0-6
- Rebuild with mingw-gcc-12
* Thu Feb 24 2022 Sandro Mani <manisandro@gmail.com> - 3.4.0-5
- Add mingw subpackages
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Sun Sep 12 2021 Rich Mattes <richmattes@gmail.com> - 3.4.0-3
- Apply MMA patch unconditionally, and edit patch to only define MMA disable on
__PPC64__ (rhbz#2003362)
* Wed Aug 25 2021 Sandro Mani <manisandro@gmail.com> - 3.4.0-2
- Temporarily disable EIGEN_ALTIVEC_DISABLE_MMA on PPC64le
* Thu Aug 19 2021 Sandro Mani <manisandro@gmail.com> - 3.4.0-1
- Update to 3.4.0
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.9-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jul 13 2021 Björn Esser <besser82@fedoraproject.org> - 3.3.9-6
- Properly set BLA_VENDOR to FlexiBLAS for cmake >= 3.19
* Wed Jun 02 2021 Jiri Kucera <jkucera@redhat.com> - 3.3.9-5
- Add missing Minpack license
Resolves: #1965214
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.9-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Tue Jan 19 2021 Jan Grulich <jgrulich@redhat.com> - 3.3.9-3
- Drop qt dependency on RHEL 8 and higher
* Tue Jan 19 2021 Sandro Mani <manisandro@gmail.com> - 3.3.9-2
- Backport fix for conflicting declarations of log1p
* Sun Dec 06 2020 Sandro Mani <manisandro@gmail.com> - 3.3.9-1
- Update to 3.3.9
* Mon Oct 05 2020 Sandro Mani <manisandro@gmail.com> - 3.3.8-2
- Drop reference to undefined Eigen::eigen_assert_exception
* Mon Oct 05 2020 Sandro Mani <manisandro@gmail.com> - 3.3.8-1
- Update to 3.3.8
* Tue Sep 01 2020 Iñaki Úcar <iucar@fedoraproject.org> - 3.3.7-7
- https://fedoraproject.org/wiki/Changes/FlexiBLAS_as_BLAS/LAPACK_manager
* Sat Aug 29 2020 Fabio Valentini <decathorpe@gmail.com> - 3.3.7-6
- Adapt to CMake macros changes in fedora 33+.
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-4
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-3
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.7-2
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Tue Dec 25 2018 Sandro Mani <manisandro@gmail.com> - 3.3.7-1
- Update to 3.3.7
- Modernize spec
- Add doc
* Mon Dec 10 2018 Sandro Mani <manisandro@gmail.com> - 3.3.6-1
- Update to 3.3.6
* Thu Sep 06 2018 Rex Dieter <rdieter@fedoraproject.org> - 3.3.5-2
- backport upstream fix for step FTBFS (#1619860)
* Thu Jul 26 2018 Sandro Mani <manisandro@gmail.com> - 3.3.5-1
- Update to 3.3.5
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 3.3.4-7
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Fri May 25 2018 Björn Esser <besser82@fedoraproject.org> - 3.3.4-6
- Fix compilation of Jacobi rotations with ARM NEON, some
specializations of internal::conj_helper were missing
* Sun Feb 18 2018 Sandro Mani <manisandro@gmail.com> - 3.3.4-5
- Add missing BR: gcc-c++, make

View File

@ -1,9 +0,0 @@
diff -rupN eigen-eigen-07105f7124f9/eigen3.pc.in eigen-eigen-07105f7124f9-new/eigen3.pc.in
--- eigen-eigen-07105f7124f9/eigen3.pc.in 2016-02-16 14:26:15.000000000 +0100
+++ eigen-eigen-07105f7124f9-new/eigen3.pc.in 2016-02-20 19:13:19.816842461 +0100
@@ -6,4 +6,4 @@ Description: A C++ template library for
Requires:
Version: @EIGEN_VERSION_NUMBER@
Libs:
-Cflags: -I${prefix}/@INCLUDE_INSTALL_DIR@
+Cflags: -I@INCLUDE_INSTALL_DIR@

View File

@ -1,6 +1,6 @@
--- !Policy
product_versions:
- rhel-8
- rhel-10
decision_context: osci_compose_gate
rules:
- !PassingTestCaseRule {test_case_name: baseos-ci.brew-build.tier1.functional}
- !PassingTestCaseRule {test_case_name: osci.brew-build.tier0.functional}

31
mingw_TryRunResults.cmake Normal file
View File

@ -0,0 +1,31 @@
# This file was generated by CMake because it detected TRY_RUN() commands
# in crosscompiling mode. It will be overwritten by the next CMake run.
# Copy it to a safe location, set the variables to appropriate values
# and use it then to preset the CMake cache (using -C).
# run_res
# indicates whether the executable would have been able to run on its
# target platform. If so, set run_res to
# the exit code (in many cases 0 for success), otherwise enter "FAILED_TO_RUN".
# run_res__TRYRUN_OUTPUT
# contains the text the executable would have printed on stdout and stderr.
# If the executable would not have been able to run, set run_res__TRYRUN_OUTPUT empty.
# Otherwise check if the output is evaluated by the calling CMake code. If so,
# check what the source file would have printed when called with the given arguments.
# The compile_res variable holds the build result for this TRY_RUN().
#
# Source file : /home/sandro/rpmbuild/BUILD/eigen-eigen-5097c01bcdc4/build_win32/is64.cpp
# Executable : /home/sandro/rpmbuild/BUILD/eigen-eigen-5097c01bcdc4/build_win32/CMakeFiles/cmTryCompileExec75681192-run_res.exe
# Run arguments :
# Called from: [2] /home/sandro/rpmbuild/BUILD/eigen-eigen-5097c01bcdc4/cmake/EigenConfigureTesting.cmake
# [1] /home/sandro/rpmbuild/BUILD/eigen-eigen-5097c01bcdc4/CMakeLists.txt
SET( run_res
0
CACHE STRING "Result from TRY_RUN" FORCE)
SET( run_res__TRYRUN_OUTPUT
""
CACHE STRING "Output from TRY_RUN" FORCE)

24
plans/tier1.fmf Normal file
View File

@ -0,0 +1,24 @@
---
summary: Tier1 plan for eigen3
discover:
how: fmf
url: https://pkgs.devel.redhat.com/git/tests/eigen3
ref: master
filter: tier:1
prepare:
- how: shell
script: |
set -exuo pipefail
if [[ -f /etc/os-release ]]; then
. /etc/os-release
if [[ "${ID:-}" == "rhel" && "${VERSION_ID%%.*}" -ge 8 ]]; then
dnf config-manager --enable rhel-CRB
fi
fi
execute:
how: tmt

View File

@ -1 +1 @@
SHA512 (3.3.4.tar.bz2) = d67a3fd8f7ce811af65fc1d43ec347dadf9c643a49135f7e455fc303773bad09e80a125282c7dfca7a1993b79e1f66576ac92418119fbb0fa50c1a581b957c0d
SHA512 (eigen-3.4.0.tar.bz2) = cc488eb111e0e248744d2bc4475b345b5fb82361dff226a5b73a33bd0388de8c219cff8cffcf8f476b672fc0e223f339e8c6a1cfb6293840a4a6abf232438a89