Add mingw subpackages
This commit is contained in:
parent
87620f5dcf
commit
f8ecc0f1c9
74
eigen3.spec
74
eigen3.spec
@ -4,12 +4,6 @@
|
|||||||
# debuginfo package for the empty main package.
|
# debuginfo package for the empty main package.
|
||||||
%global debug_package %{nil}
|
%global debug_package %{nil}
|
||||||
|
|
||||||
# FIXME ICE on ppc64le when buildings docs with optflags
|
|
||||||
%ifarch ppc64le
|
|
||||||
%global optflags %{nil}
|
|
||||||
%endif
|
|
||||||
|
|
||||||
|
|
||||||
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
%if 0%{?fedora} >= 33 || 0%{?rhel} >= 9
|
||||||
%global blaslib flexiblas
|
%global blaslib flexiblas
|
||||||
%global cmake_blas_flags -DBLA_VENDOR=FlexiBLAS
|
%global cmake_blas_flags -DBLA_VENDOR=FlexiBLAS
|
||||||
@ -21,15 +15,14 @@
|
|||||||
|
|
||||||
Name: eigen3
|
Name: eigen3
|
||||||
Version: 3.4.0
|
Version: 3.4.0
|
||||||
Release: 4%{?dist}
|
Release: 5%{?dist}
|
||||||
Summary: A lightweight C++ template library for vector and matrix math
|
Summary: A lightweight C++ template library for vector and matrix math
|
||||||
|
|
||||||
License: MPLv2.0 and LGPLv2+ and BSD and Minpack
|
License: MPLv2.0 and LGPLv2+ and BSD and Minpack
|
||||||
URL: http://eigen.tuxfamily.org/index.php?title=Main_Page
|
URL: http://eigen.tuxfamily.org/index.php?title=Main_Page
|
||||||
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
|
Source0: https://gitlab.com/libeigen/eigen/-/archive/%{version}/eigen-%{version}.tar.bz2
|
||||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1996330
|
# For mingw, read the comment in the file for details
|
||||||
# Temporarily disable EIGEN_ALTIVEC_DISABLE_MMA on PPC64le
|
Source1: mingw_TryRunResults.cmake
|
||||||
Patch0: eigen_mma.patch
|
|
||||||
|
|
||||||
BuildRequires: %{blaslib}-devel
|
BuildRequires: %{blaslib}-devel
|
||||||
BuildRequires: fftw-devel
|
BuildRequires: fftw-devel
|
||||||
@ -51,6 +44,20 @@ BuildRequires: doxygen
|
|||||||
BuildRequires: graphviz
|
BuildRequires: graphviz
|
||||||
BuildRequires: tex(latex)
|
BuildRequires: tex(latex)
|
||||||
|
|
||||||
|
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
|
||||||
|
|
||||||
%description
|
%description
|
||||||
%{summary}.
|
%{summary}.
|
||||||
|
|
||||||
@ -74,13 +81,29 @@ BuildArch: noarch
|
|||||||
%description doc
|
%description doc
|
||||||
Developer documentation for Eigen.
|
Developer documentation for Eigen.
|
||||||
|
|
||||||
|
# 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}
|
||||||
|
|
||||||
|
|
||||||
%prep
|
%prep
|
||||||
%setup -q -n eigen-%{version}
|
%autosetup -p1 -n eigen-%{version}
|
||||||
%patch0 -p1
|
|
||||||
|
|
||||||
|
|
||||||
%build
|
%build
|
||||||
|
# Native build
|
||||||
%cmake \
|
%cmake \
|
||||||
-DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
|
-DINCLUDE_INSTALL_DIR=%{_includedir}/%{name} \
|
||||||
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/cmake/%{name} \
|
-DCMAKEPACKAGE_INSTALL_DIR=%{_datadir}/cmake/%{name} \
|
||||||
@ -96,15 +119,21 @@ Developer documentation for Eigen.
|
|||||||
rm -f %{_vpath_builddir}/doc/html/installdox
|
rm -f %{_vpath_builddir}/doc/html/installdox
|
||||||
rm -f %{_vpath_builddir}/doc/html/unsupported/installdox
|
rm -f %{_vpath_builddir}/doc/html/unsupported/installdox
|
||||||
|
|
||||||
|
# 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
|
||||||
|
|
||||||
|
|
||||||
%install
|
%install
|
||||||
%cmake_install
|
%cmake_install
|
||||||
|
%mingw_make_install
|
||||||
|
|
||||||
|
|
||||||
%check
|
%check
|
||||||
# Test fail to build due to compiler crashes
|
# Building tests takes ages
|
||||||
#cmake_build --target buildtests
|
# cmake_build --target buildtests
|
||||||
#ctest
|
# ctest
|
||||||
|
|
||||||
|
|
||||||
%files devel
|
%files devel
|
||||||
@ -116,8 +145,23 @@ rm -f %{_vpath_builddir}/doc/html/unsupported/installdox
|
|||||||
%files doc
|
%files doc
|
||||||
%doc %{_vpath_builddir}/doc/html
|
%doc %{_vpath_builddir}/doc/html
|
||||||
|
|
||||||
|
%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}/
|
||||||
|
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* 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
|
* Thu Jan 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 3.4.0-4
|
||||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
|
||||||
|
|
||||||
|
@ -1,14 +0,0 @@
|
|||||||
diff -rupN eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MatrixProduct.h eigen-3.4.0-new/Eigen/src/Core/arch/AltiVec/MatrixProduct.h
|
|
||||||
--- eigen-3.4.0/Eigen/src/Core/arch/AltiVec/MatrixProduct.h 2021-08-18 22:41:58.000000000 +0200
|
|
||||||
+++ eigen-3.4.0-new/Eigen/src/Core/arch/AltiVec/MatrixProduct.h 2021-08-22 17:37:23.626427133 +0200
|
|
||||||
@@ -28,6 +28,10 @@
|
|
||||||
#endif
|
|
||||||
#endif
|
|
||||||
|
|
||||||
+#ifdef __PPC64__
|
|
||||||
+#define EIGEN_ALTIVEC_DISABLE_MMA
|
|
||||||
+#endif
|
|
||||||
+
|
|
||||||
#ifdef __has_builtin
|
|
||||||
#if __has_builtin(__builtin_mma_assemble_acc)
|
|
||||||
#define ALTIVEC_MMA_SUPPORT
|
|
31
mingw_TryRunResults.cmake
Normal file
31
mingw_TryRunResults.cmake
Normal 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)
|
||||||
|
|
Loading…
Reference in New Issue
Block a user