diff --git a/suitesparse-5.13.0.tar.gz b/SuiteSparse-7.6.0.tar.gz similarity index 70% rename from suitesparse-5.13.0.tar.gz rename to SuiteSparse-7.6.0.tar.gz index 5b3ad6785d68ab0fe2893581480e708a48bada33..b6c4d7a3e6714c22c4ab82f8c3cd4481e835b561 100644 Binary files a/suitesparse-5.13.0.tar.gz and b/SuiteSparse-7.6.0.tar.gz differ diff --git a/suitesparse.spec b/suitesparse.spec index a0d29f7e59b42faac5572492d19c5bc59ebbe039..b19e43e06b0a847775381658cb2f098cea174149 100644 --- a/suitesparse.spec +++ b/suitesparse.spec @@ -1,11 +1,12 @@ Name: suitesparse -Version: 5.13.0 +Version: 7.6.0 Release: 1 Summary: Sparse Matrix Collection License: (LGPLv2+ or BSD) and LGPLv2+ and GPLv2+ URL: http://faculty.cse.tamu.edu/davis/suitesparse.html -Source0: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/refs/tags/v%{version}/%{name}-%{version}.tar.gz +Source0: https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v%{version}/SuiteSparse-%{version}.tar.gz BuildRequires: gcc-c++ openblas-devel tbb-devel hardlink lapack-devel openblas-devel metis-devel chrpath +BuildRequires: cmake gmp-devel mpfr-devel gcc-gfortran Obsoletes: umfpack <= 5.0.1 ufsparse <= 2.1.1 Provides: ufsparse = %{version}-%{release} @@ -48,7 +49,6 @@ Files for help with suitesparse. %prep %autosetup -n SuiteSparse-%{version} -p1 -rm -r metis* ln -s %{_includedir}/metis/*.h include/ for fil in $(grep -Frl 'pragma ivdep' .); do sed -i.orig 's/pragma ivdep/pragma GCC ivdep/' $fil @@ -56,12 +56,24 @@ for fil in $(grep -Frl 'pragma ivdep' .); do rm -f ${fil}.orig done -sed -i -e '/^ CF =/ s/ -O3 -fexceptions//' SuiteSparse_config/SuiteSparse_config.mk - -sed -i -e '/SO.*=/s/$(LIBRARY).so/$(LIBRARY)$(LIBRARY_SUFFIX).so/' \ - -e '/AR_TARGET *=/s/$(LIBRARY).a/$(LIBRARY)$(LIBRARY_SUFFIX).a/' SuiteSparse_config/SuiteSparse_config.mk -sed -i -e 's/-l\(amd\|btf\|camd\|ccolamd\|cholmod\|colamd\|csparse\|cxsparse\|klu\|ldl\|rbio\|spqr\|suitesparseconfig\|umfpack\)/-l\1$(LIBRARY_SUFFIX)/g' \ - $(find -name Makefile\* -o -name \*.mk) +sed -i -e '/OPTS.*-O3/d' CHOLMOD/SuiteSparse_metis/GKlib/GKlibSystem.cmake + +find -iname lesser.txt -o -iname lesserv3.txt -o -iname license.txt -o \ + -iname gpl.txt -o -iname GPLv2.txt -o -iname license \ + -a -not -type d | while read f; do + b="${f%%/*}" + r="${f#$b}" + x="$(echo "$r" | sed 's|/doc/|/|gi')" + install -m0644 -D "$f" "../Licenses/$b/$x" + done + +find -type f -a \( -iname \*.pdf -o -iname ChangeLog -o -iname README\* -o -iname \*.txt \) | + while read f; do + b="${f%%/*}" + r="${f#$b}" + x="$(echo "$r" | sed 's|/doc/|/|gi')" + install -m0644 -D "$f" "../Doc/$b/$x" + done %build export AUTOCC=no @@ -72,110 +84,85 @@ export LAPACK="" export BLAS=-lopenblas pushd SuiteSparse_config %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - ar x libsuitesparseconfig.a - cp -a *.a ../Lib + ar x build/libsuitesparseconfig.a + cp -a build/CMakeFiles/FortranCInterface/*.a ../Lib cp -p *.h ../Include popd pushd AMD - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include - cp -p README.txt Doc/License.txt Doc/lesser.txt Doc/ChangeLog Doc/*.pdf ../Doc/AMD + cp -p README.txt Doc/License.txt Doc/ChangeLog Doc/*.pdf ../Doc/AMD popd pushd BTF - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/* ../Doc/BTF popd pushd CAMD - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/ChangeLog Doc/License.txt Doc/*.pdf ../Doc/CAMD popd pushd CCOLAMD - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/* ../Doc/CCOLAMD popd pushd COLAMD - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/* ../Doc/COLAMD popd pushd CHOLMOD - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/*.pdf ../Doc/CHOLMOD cp -p Cholesky/lesser.txt ../Doc/CHOLMOD/Cholesky_License.txt - cp -p Core/lesser.txt ../Doc/CHOLMOD/Core_License.txt cp -p MatrixOps/gpl.txt ../Doc/CHOLMOD/MatrixOps_License.txt cp -p Partition/lesser.txt ../Doc/CHOLMOD/Partition_License.txt cp -p Supernodal/gpl.txt ../Doc/CHOLMOD/Supernodal_License.txt popd pushd CXSparse - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/cs.h ../Include mkdir ../Doc/CXSparse/ cp -p Doc/* ../Doc/CXSparse popd pushd KLU - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/lesser.txt ../Doc/KLU popd pushd LDL - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/ChangeLog Doc/lesser.txt Doc/*.pdf ../Doc/LDL popd pushd UMFPACK - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/License.txt Doc/ChangeLog Doc/gpl.txt Doc/*.pdf ../Doc/UMFPACK popd pushd SPQR - pushd Lib - %make_build CFLAGS="$CFLAGS -DHAVE_TBB -DNPARTITION" TBB=-ltbb BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS -DHAVE_TBB -DNPARTITION" TBB=-ltbb BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h* ../Include cp -p README{,_SPQR}.txt cp -p README_SPQR.txt Doc/* ../Doc/SPQR popd pushd RBio - pushd Lib - %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" - popd + %make_build CFLAGS="$CFLAGS" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" cp -p Include/*.h ../Include cp -p README.txt Doc/ChangeLog Doc/License.txt ../Doc/RBio popd @@ -184,7 +171,7 @@ popd mkdir -p ${RPM_BUILD_ROOT}%{_libdir} mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/%{name} cp -a Include/*.{h,hpp} ${RPM_BUILD_ROOT}%{_includedir}/%{name}/ -cp -a Lib/*.a */Lib/*.a lib/*.so* ${RPM_BUILD_ROOT}%{_libdir}/ +cp -a Lib/*.a */build/*.a */build/*.so* ${RPM_BUILD_ROOT}%{_libdir}/ chmod 755 ${RPM_BUILD_ROOT}%{_libdir}/*.so.* chrpath -d ${RPM_BUILD_ROOT}%{_libdir}/*.so.* rm -rf Licenses @@ -202,13 +189,14 @@ hardlink -cv Docs/ Licenses/ %check export AUTOCC=no export CC=gcc -TESTDIRS="AMD CAMD CCOLAMD CHOLMOD COLAMD KLU LDL SPQR RBio UMFPACK" -TESTDIRS="$TESTDIRS CXSparse" +TESTDIRS="AMD CAMD CCOLAMD CHOLMOD COLAMD KLU LDL RBio UMFPACK" export CFLAGS="$RPM_OPT_FLAGS -I%{_includedir}/metis" export LAPACK="" export BLAS=-lopenblas for d in $TESTDIRS ; do - %make_build -C $d/Demo CFLAGS="$CFLAGS" LIB="%{?__global_ldflags} -lm -lrt" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" SPQR_CONFIG=-DHAVE_TBB TBB=-ltbb + pushd $d + %make_build demos CFLAGS="$CFLAGS" LIB="%{?__global_ldflags} -lm -lrt" BLAS="$BLAS" LIBRARY_SUFFIX="$LIBRARY_SUFFIX" SPQR_CONFIG=-DHAVE_TBB TBB=-ltbb + popd done @@ -225,6 +213,9 @@ done %doc Doc/* %changelog +* Wed Apr 16 2025 Ge Wang - 7.6.0-1 +- Update to 7.6.0 + * Mon Oct 16 2023 wulei - 5.13.0-1 - Update to 5.13.0