[packages/SuiteSparse] - updated to 7.12.2; new spex soname, changed mongoose library name, added ParU, GraphBLAS, LAGraph

qboosh qboosh at pld-linux.org
Sat Jul 18 18:19:41 CEST 2026


commit 37cec67f2df2f36fa25e26d4fab491633ca1f226
Author: Jakub Bogusz <qboosh at pld-linux.org>
Date:   Sat Jul 18 18:19:49 2026 +0200

    - updated to 7.12.2; new spex soname, changed mongoose library name, added ParU, GraphBLAS, LAGraph

 SuiteSparse-amdf77.patch  | 105 +++++++-------
 SuiteSparse-externc.patch | 252 +-------------------------------
 SuiteSparse.spec          | 357 +++++++++++++++++++++++++++++++++++++++-------
 3 files changed, 363 insertions(+), 351 deletions(-)
---
diff --git a/SuiteSparse.spec b/SuiteSparse.spec
index 5081ff6..8ee94ba 100644
--- a/SuiteSparse.spec
+++ b/SuiteSparse.spec
@@ -1,4 +1,4 @@
-# TODO: finish CUDA support (ENABLE_CUDA=ON), TBB
+# TODO: finish CUDA support, TBB
 #
 # Conditional build:
 %bcond_with	cuda		# CUDA support
@@ -7,26 +7,29 @@
 %bcond_without	static_libs	# static libraries
 
 # main package version
-%define		suite_ver	7.3.1
+%define		suite_ver	7.12.2
 # see */Include/*.h /VER(SION)?_CODE, C*Sparse/Include/cs.h /CS_VER Mongoose/Include/Mongoose_Version.hpp /Mongoose_VERSION_
-%define		amd_ver		3.2.1
-%define		btf_ver		2.2.1
-%define		camd_ver	3.2.1
-%define		ccolamd_ver	3.2.1
-%define		colamd_ver	3.2.1
-%define		cholmod_ver	5.0.1
-%define		csparse_ver	4.2.0
-%define		cxsparse_ver	4.2.1
-%define		klu_ver		2.2.2
-%define		ldl_ver		3.2.1
-%define		rbio_ver	4.2.1
-%define		spex_ver	2.2.1
-%define		spqr_ver	4.2.2
-%define		umfpack_ver	6.2.2
-%define		gpuruntime_ver	3.2.1
-%define		gpuqrengine_ver	3.2.2
-%define		mongoose_ver	3.2.1
-# GraphBLAS version 8.2.1, but disabled here, newer version is built from GraphBLAS.spec
+%define		amd_ver		3.3.4
+%define		btf_ver		2.3.3
+%define		camd_ver	3.3.5
+%define		ccolamd_ver	3.3.5
+%define		colamd_ver	3.3.5
+%define		cholmod_ver	5.3.4
+%define		csparse_ver	4.3.2
+%define		cxsparse_ver	4.4.2
+%define		klu_ver		2.3.6
+%define		ldl_ver		3.3.3
+%define		rbio_ver	4.3.5
+%define		spex_ver	3.2.4
+%define		spqr_ver	4.3.6
+%define		umfpack_ver	6.3.7
+%define		paru_ver	1.1.0
+%define		mongoose_ver	3.3.6
+%define		graphblas_ver	10.3.1
+%define		lagraph_ver	1.2.1
+# submodules under SPQR
+%define		gpuruntime_ver	4.3.4
+%define		gpuqrengine_ver	4.3.4
 
 Summary:	A Suite of Sparse matrix packages
 Summary(pl.UTF-8):	Zbiór pakietów do operacji na macierzach rzadkich
@@ -37,7 +40,7 @@ License:	LGPL v2.1+, GPL v2+
 Group:		Libraries
 #Source0Download: https://github.com/DrTimothyAldenDavis/SuiteSparse/releases
 Source0:	https://github.com/DrTimothyAldenDavis/SuiteSparse/archive/v%{version}/%{name}-%{version}.tar.gz
-# Source0-md5:	735b8856ce333bf5d8773ba20685c8b8
+# Source0-md5:	a1c173bd08adb990d662ad9c7ef23b5e
 Patch1:		%{name}-amdf77.patch
 Patch2:		%{name}-externc.patch
 Patch3:		%{name}-ILP32.patch
@@ -47,12 +50,14 @@ BuildRequires:	cmake >= 3.22
 BuildRequires:	gcc-fortran
 BuildRequires:	gmp-devel
 BuildRequires:	lapack-devel
+BuildRequires:	libatomic-devel
 BuildRequires:	libgomp-devel
 BuildRequires:	libstdc++-devel >= 6:7
 %if %{with system_metis}
 BuildRequires:	metis-devel >= 5
 %endif
 BuildRequires:	mpfr-devel
+BuildRequires:	rpm-build >= 4.6
 BuildRequires:	rpmbuild(macros) >= 1.605
 BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
 
@@ -159,7 +164,7 @@ Version:	%{amd_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
 Requires:	%{name}-AMD = %{amd_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	AMD-devel = %{amd_ver}-%{release}
 Obsoletes:	AMD-devel < 2.4.0-5
 
@@ -259,7 +264,7 @@ Version:	%{btf_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
 Requires:	%{name}-BTF = %{btf_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	BTF-devel = %{btf_ver}-%{release}
 Obsoletes:	BTF-devel < 1.2.0-3
 
@@ -373,7 +378,7 @@ Version:	%{ccolamd_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
 Requires:	%{name}-CCOLAMD = %{ccolamd_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	CCOLAMD-devel = %{ccolamd_ver}-%{release}
 Obsoletes:	CCOLAMD-devel < 2.9.0-4
 
@@ -493,14 +498,15 @@ Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki CHOLMOD
 Version:	%{cholmod_ver}
 License:	GPL v2+ (some parts LGPL v2.1+)
 Group:		Development/Libraries
-Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Requires:	%{name}-AMD-devel = %{amd_ver}-%{release}
 Requires:	%{name}-CAMD-devel = %{camd_ver}-%{release}
 Requires:	%{name}-CCOLAMD-devel = %{ccolamd_ver}-%{release}
 Requires:	%{name}-CHOLMOD = %{cholmod_ver}-%{release}
 Requires:	%{name}-COLAMD-devel = %{colamd_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Requires:	blas-devel
 Requires:	lapack-devel
+Requires:	libgomp-devel
 %if %{with system_metis}
 Requires:	metis-devel >= 5
 %endif
@@ -549,8 +555,8 @@ Summary(pl.UTF-8):	Pliki programistyczne biblioteki CHOLMOD_CUDA
 Version:	%{cholmod_ver}
 License:	GPL v2+
 Group:		Development/Libraries
-Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Requires:	%{name}-CHOLMOD_CUDA = %{cholmod_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 
 %description CHOLMOD_CUDA-devel
 Development files for CHOLMOD_CUDA library.
@@ -598,7 +604,7 @@ Version:	%{cxsparse_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
 Requires:	%{name}-CXSparse = %{cxsparse_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	CXSparse-devel = %{cxsparse_ver}-%{release}
 Obsoletes:	CXSparse-devel < 0.1
 
@@ -651,10 +657,11 @@ Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki KLU
 Version:	%{klu_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
-Requires:	%{name}-KLU = %{klu_ver}-%{release}
 Requires:	%{name}-AMD-devel = %{amd_ver}-%{release}
 Requires:	%{name}-BTF-devel = %{btf_ver}-%{release}
+Requires:	%{name}-CHOLMOD-devel = %{cholmod_ver}-%{release}
 Requires:	%{name}-COLAMD-devel = %{colamd_ver}-%{release}
+Requires:	%{name}-KLU = %{klu_ver}-%{release}
 Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	KLU-devel = %{klu_ver}-%{release}
 Obsoletes:	KLU-devel < 1.3.0-3
@@ -733,6 +740,7 @@ Summary(pl.UTF-8):	LDL - prosty rozkład LDL^T dla macierzy rzadkich
 Version:	%{ldl_ver}
 License:	LGPL v2.1+
 Group:		Libraries
+Requires:	%{name}-AMD = %{amd_ver}-%{release}
 Provides:	LDL = %{ldl_ver}-%{release}
 Obsoletes:	LDL < 2.2.0-2
 
@@ -764,8 +772,9 @@ Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki LDL
 Version:	%{ldl_ver}
 License:	LGPL v2.1+
 Group:		Development/Libraries
+Requires:	%{name}-AMD-devel = %{amd_ver}-%{release}
 Requires:	%{name}-LDL = %{ldl_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	LDL-devel = %{ldl_ver}-%{release}
 Obsoletes:	LDL-devel < 2.2.0-2
 
@@ -870,9 +879,12 @@ Summary(pl.UTF-8):	Plik nagłówkowy biblioteki SPEX
 Version:	%{spex_ver}
 License:	LGPL v3+ or GPL v2+
 Group:		Development/Libraries
+Requires:	%{name}-AMD-devel = %{amd_ver}-%{release}
+Requires:	%{name}-COLAMD-devel = %{colamd_ver}-%{release}
 Requires:	%{name}-SPEX = %{spex_ver}-%{release}
 Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Requires:	gmp-devel
+Requires:	libgomp-devel
 Requires:	mpfr-devel
 
 %description SPEX-devel
@@ -1041,7 +1053,7 @@ License:	GPL v2+
 Group:		Development/Libraries
 Requires:	%{name}-UMFPACK = %{umfpack_ver}-%{release}
 Requires:	%{name}-CHOLMOD-devel = %{cholmod_ver}-%{release}
-Requires:	%{name}-config = %{suite_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
 Provides:	UMFPACK-devel = %{umfpack_ver}-%{release}
 Obsoletes:	UMFPACK-devel < 5.7.0-7
 
@@ -1067,6 +1079,56 @@ Static UMFPACK library.
 %description UMFPACK-static -l pl.UTF-8
 Statyczna biblioteka UMFPACK.
 
+%package ParU
+Summary:	ParU: solving sparse linear system via parallel multifrontal LU factorization algorithms
+Summary(pl.UTF-8):	ParU: rozwiązywanie rzadkich układów równań liniowych równoległymi wielofrontalnymi algorytmami rozkładu LU
+Version:	%{paru_ver}
+License:	GPL v3+
+Group:		Libraries
+Requires:	%{name}-UMFPACK = %{umfpack_ver}-%{release}
+Requires:	%{name}-config-libs = %{suite_ver}-%{release}
+
+%description ParU
+ParU is a set of routines for solving sparse linear system via
+parallel multifrontal LU factorization algorithms.
+
+%description ParU -l pl.UTF-8
+ParU to zbiór procedur do rozwiązywania rzadkich układów równań
+liniowych przy użyciu równoległych wielofrontalnych algorytmów
+rozkładu LU.
+
+%package ParU-devel
+Summary:	Header files for ParU library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki ParU
+Version:	%{paru_ver}
+License:	GPL v3+
+Group:		Development/Libraries
+Requires:	%{name}-ParU = %{paru_ver}-%{release}
+Requires:	%{name}-UMFPACK-devel = %{umfpack_ver}-%{release}
+Requires:	%{name}-config-devel = %{suite_ver}-%{release}
+Requires:	blas-devel
+Requires:	libgomp-devel
+
+%description ParU-devel
+Header files for ParU library.
+
+%description ParU-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki ParU.
+
+%package ParU-static
+Summary:	Static ParU library
+Summary(pl.UTF-8):	Statyczna biblioteka ParU
+Version:	%{paru_ver}
+License:	GPL v3+
+Group:		Development/Libraries
+Requires:	%{name}-ParU-devel = %{rbio_ver}-%{release}
+
+%description ParU-static
+Static ParU library.
+
+%description ParU-static -l pl.UTF-8
+Statyczna biblioteka ParU.
+
 %package GPURuntime
 Summary:	SuiteSparse GPURuntime library
 Summary(pl.UTF-8):	Biblioteka SuiteSparse GPURuntime
@@ -1203,6 +1265,124 @@ Static Mongoose library.
 %description Mongoose-static -l pl.UTF-8
 Statyczna biblioteka Mongoose.
 
+%package GraphBLAS
+Summary:	SuiteSparse:GraphBLAS - complete implementation of the GraphBLAS standard
+Summary(pl.UTF-8):	SuiteSparse:GraphBLAS - pełna implementacja standardu GraphBLAS
+Version:	%{graphblas_ver}
+License:	Apache v2.0
+Group:		Libraries
+URL:		https://people.engr.tamu.edu/davis/GraphBLAS.html
+Provides:	GraphBLAS = %{graphblas_ver}-%{release}
+Obsoletes:	GraphBLAS < %{graphblas_ver}
+
+%description GraphBLAS
+SuiteSparse:GraphBLAS is a complete implementation of the GraphBLAS
+standard, which defines a set of sparse matrix operations on an
+extended algebra of semirings using an almost unlimited variety of
+operators and types. When applied to sparse adjacency matrices, these
+algebraic operations are equivalent to computations on graphs.
+GraphBLAS provides a powerful and expressive framework for creating
+graph algorithms based on the elegant mathematics of sparse matrix
+operations on a semiring.
+
+%description GraphBLAS -l pl.UTF-8
+SuiteSparse:GraphBLAS to pełna implementacja standardu GraphBLAS,
+definiującego zbiór operacji na macierzach rzadkich w rozszerzonej
+algebrze półpierścieni przy użyciu nieograniczonej różnorodności
+operatorów i typów. W odniesieniu do rzadkich macierzy sąsiedztwa te
+operacje algebraiczne są równoważne obliczeniom na grafach. GraphBLAS
+zapewnia potężny i ekspresyjny szkielet do tworzenia algorytmów
+grafowych w oparciu o elegancką matematykę operacji na macierzach
+rzadkich na półpierścieniu.
+
+%package GraphBLAS-devel
+Summary:	Header files for GraphBLAS library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki GraphBLAS
+Version:	%{graphblas_ver}
+License:	Apache v2.0
+Group:		Development/Libraries
+Requires:	%{name}-GraphBLAS = %{graphblas_ver}-%{release}
+Requires:	%{name}-config = %{suite_ver}-%{release}
+Provides:	GraphBLAS-devel = %{graphblas_ver}-%{release}
+Obsoletes:	GraphBLAS-devel < %{graphblas_ver}
+
+%description GraphBLAS-devel
+Header files for GraphBLAS library.
+
+%description GraphBLAS-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki GraphBLAS.
+
+%package GraphBLAS-static
+Summary:	Static GraphBLAS library
+Summary(pl.UTF-8):	Statyczna biblioteka GraphBLAS
+Version:	%{graphblas_ver}
+Group:		Development/Libraries
+Requires:	%{name}-GraphBLAS-devel = %{graphblas_ver}-%{release}
+Provides:	GraphBLAS-static = %{graphblas_ver}-%{release}
+Obsoletes:	GraphBLAS-static < %{graphblas_ver}
+
+%description GraphBLAS-static
+Static GraphBLAS library.
+
+%description GraphBLAS-static -l pl.UTF-8
+Statyczna biblioteka GraphBLAS.
+
+%package GraphBLAS-apidocs
+Summary:	API documentation for GraphBLAS library
+Summary(pl.UTF-8):	Dokumentacja API biblioteki GraphBLAS
+Version:	%{graphblas_ver}
+Group:		Documentation
+Provides:	GraphBLAS-apidocs = %{graphblas_ver}
+Obsoletes:	GraphBLAS-apidocs < %{graphblas_ver}
+BuildArch:	noarch
+
+%description GraphBLAS-apidocs
+API documentation for GraphBLAS library.
+
+%description GraphBLAS-apidocs -l pl.UTF-8
+Dokumentacja API biblioteki GraphBLAS.
+
+%package LAGraph
+Summary:	Library for collecting algorithms that use GraphBLAS
+Summary(pl.UTF-8):	Biblioteka gromadząca algorytmy wykorzystujące GraphBLAS
+Version:	%{lagraph_ver}
+Group:		Libraries
+Requires:	%{name}-GraphBLAS = %{graphblas_ver}-%{release}
+
+%description LAGraph
+LAGraph is a library for collecting algorithms that use GraphBLAS.
+
+%description LAGraph -l pl.UTF-8
+LAGraph to biblioteka gromadząca algorytmy wykorzystujące GraphBLAS.
+
+%package LAGraph-devel
+Summary:	Header files for LAGraph library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki LAGraph
+Version:	%{lagraph_ver}
+License:	Apache v2.0
+Group:		Development/Libraries
+Requires:	%{name}-GraphBLAS-devel = %{graphblas_ver}-%{release}
+Requires:	%{name}-LAGraph = %{lagraph_ver}-%{release}
+
+%description LAGraph-devel
+Header files for LAGraph library.
+
+%description LAGraph-devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki LAGraph.
+
+%package LAGraph-static
+Summary:	Static LAGraph library
+Summary(pl.UTF-8):	Statyczna biblioteka LAGraph
+Version:	%{lagraph_ver}
+Group:		Development/Libraries
+Requires:	%{name}-LAGraph-devel = %{lagraph_ver}-%{release}
+
+%description LAGraph-static
+Static LAGraph library.
+
+%description LAGraph-static -l pl.UTF-8
+Statyczna biblioteka LAGraph.
+
 %prep
 %setup -q
 %patch -P1 -p1
@@ -1212,27 +1392,17 @@ Statyczna biblioteka Mongoose.
 %endif
 
 %build
-# TODO: GraphBLAS?
-%define modules SuiteSparse_config AMD BTF CAMD CCOLAMD COLAMD CHOLMOD CXSparse LDL KLU UMFPACK RBio %{?with_cuda:SuiteSparse_GPURuntime GPUQREngine} SPQR SPEX Mongoose
-
-for mod in %{modules} ; do
-%cmake -S ${mod} -B ${mod}/build \
-	-DBLA_PREFER_PKGCONFIG=ON \
-	-DCMAKE_INSTALL_INCLUDEDIR:PATH=include/suitesparse \
-	%{!?with_cuda:-DENABLE_CUDA=OFF} \
-	%{!?with_metis:-DNPARTITION=ON} \
-	%{!?with_static_libs:-DNSTATIC=ON}
-
-%{__make} -C ${mod}/build
-done
+%cmake -B build \
+	%{!?with_static_libs:-DBUILD_STATIC_LIBS=OFF} \
+	%{!?with_metis:-DCHOLMOD_PARTITION=OFF} \
+	%{?with_static_libs:-DGRAPHBLAS_BUILD_STATIC_LIBS=ON} \
+	%{!?with_cuda:-DSUITESPARSE_USE_CUDA=OFF}
 
 %install
 rm -rf $RPM_BUILD_ROOT
 
-for mod in %{modules} ; do
-%{__make} -C ${mod}/build install \
+%{__make} -C build install \
 	DESTDIR=$RPM_BUILD_ROOT
-done
 
 %clean
 rm -rf $RPM_BUILD_ROOT
@@ -1291,6 +1461,15 @@ rm -rf $RPM_BUILD_ROOT
 %post	UMFPACK -p /sbin/ldconfig
 %postun	UMFPACK -p /sbin/ldconfig
 
+%post	ParU -p /sbin/ldconfig
+%postun	ParU -p /sbin/ldconfig
+
+%post	GraphBLAS -p /sbin/ldconfig
+%postun	GraphBLAS -p /sbin/ldconfig
+
+%post	LAGraph -p /sbin/ldconfig
+%postun	LAGraph -p /sbin/ldconfig
+
 %post	GPURuntime -p /sbin/ldconfig
 %postun	GPURuntime -p /sbin/ldconfig
 
@@ -1549,6 +1728,25 @@ rm -rf $RPM_BUILD_ROOT
 %{_libdir}/libldl.a
 %endif
 
+%files ParU
+%defattr(644,root,root,755)
+%doc ParU/README.md ParU/Doc/ChangeLog
+%{_libdir}/libparu.so.*.*.*
+%ghost %{_libdir}/libparu.so.1
+
+%files ParU-devel
+%defattr(644,root,root,755)
+%{_libdir}/libparu.so
+%{_includedir}/suitesparse/ParU.h
+%{_libdir}/cmake/ParU
+%{_pkgconfigdir}/ParU.pc
+
+%if %{with static_libs}
+%files ParU-static
+%defattr(644,root,root,755)
+%{_libdir}/libparu.a
+%endif
+
 %files RBio
 %defattr(644,root,root,755)
 %doc RBio/README.txt RBio/Doc/{ChangeLog,License.txt}
@@ -1572,12 +1770,16 @@ rm -rf $RPM_BUILD_ROOT
 %defattr(644,root,root,755)
 %doc SPEX/README.md
 %{_libdir}/libspex.so.*.*.*
-%ghost %{_libdir}/libspex.so.2
+%ghost %{_libdir}/libspex.so.3
+%{_libdir}/libspexpython.so.*.*.*
+%ghost %{_libdir}/libspexpython.so.3
 
 %files SPEX-devel
 %defattr(644,root,root,755)
 %{_libdir}/libspex.so
+%{_libdir}/libspexpython.so
 %{_includedir}/suitesparse/SPEX.h
+%{_includedir}/suitesparse/spex_python_connect.h
 %{_libdir}/cmake/SPEX
 %{_pkgconfigdir}/SPEX.pc
 
@@ -1684,20 +1886,67 @@ rm -rf $RPM_BUILD_ROOT
 %files Mongoose
 %defattr(644,root,root,755)
 %doc Mongoose/README.md
-%attr(755,root,root) %{_bindir}/mongoose
-%{_libdir}/libmongoose.so.*.*.*
-%ghost %{_libdir}/libmongoose.so.3
+%attr(755,root,root) %{_bindir}/suitesparse_mongoose
+%{_libdir}/libsuitesparse_mongoose.so.*.*.*
+%ghost %{_libdir}/libsuitesparse_mongoose.so.3
 
 %files Mongoose-devel
 %defattr(644,root,root,755)
 %doc Mongoose/Doc/Mongoose_UserGuide.pdf
-%{_libdir}/libmongoose.so
+%{_libdir}/libsuitesparse_mongoose.so
 %{_includedir}/suitesparse/Mongoose.hpp
-%{_libdir}/cmake/Mongoose
-%{_pkgconfigdir}/Mongoose.pc
+%{_libdir}/cmake/SuiteSparse_Mongoose
+%{_pkgconfigdir}/SuiteSparse_Mongoose.pc
 
 %if %{with static_libs}
 %files Mongoose-static
 %defattr(644,root,root,755)
-%{_libdir}/libmongoose.a
+%{_libdir}/libsuitesparse_mongoose.a
+%endif
+
+%files GraphBLAS
+%defattr(644,root,root,755)
+%doc GraphBLAS/{CITATION.bib,LICENSE,README.md} GraphBLAS/Doc/ChangeLog
+%{_libdir}/libgraphblas.so.*.*.*
+%ghost %{_libdir}/libgraphblas.so.10
+
+%files GraphBLAS-devel
+%defattr(644,root,root,755)
+%{_libdir}/libgraphblas.so
+%{_includedir}/suitesparse/GraphBLAS.h
+%{_libdir}/cmake/GraphBLAS
+%{_pkgconfigdir}/GraphBLAS.pc
+
+%if %{with static_libs}
+%files GraphBLAS-static
+%defattr(644,root,root,755)
+%{_libdir}/libgraphblas.a
+%endif
+
+%files GraphBLAS-apidocs
+%defattr(644,root,root,755)
+%doc GraphBLAS/Doc/GraphBLAS_API_C_v2.1.0.pdf GraphBLAS/Doc/papers/{CSC20_OpenMP_GraphBLAS.pdf,Davis_HPEC18.pdf,HPEC19.pdf}
+
+%files LAGraph
+%defattr(644,root,root,755)
+%doc LAGraph/{Acknowledgments.txt,ChangeLog,Contributors.txt,LICENSE,README.md}
+%{_libdir}/liblagraph.so.*.*.*
+%ghost %{_libdir}/liblagraph.so.1
+%{_libdir}/liblagraphx.so.*.*.*
+%ghost %{_libdir}/liblagraphx.so.1
+
+%files LAGraph-devel
+%defattr(644,root,root,755)
+%{_libdir}/liblagraph.so
+%{_libdir}/liblagraphx.so
+%{_includedir}/suitesparse/LAGraph.h
+%{_includedir}/suitesparse/LAGraphX.h
+%{_libdir}/cmake/LAGraph
+%{_pkgconfigdir}/LAGraph.pc
+
+%if %{with static_libs}
+%files LAGraph-static
+%defattr(644,root,root,755)
+%{_libdir}/liblagraph.a
+%{_libdir}/liblagraphx.a
 %endif
diff --git a/SuiteSparse-amdf77.patch b/SuiteSparse-amdf77.patch
index 912c6cb..93c16fc 100644
--- a/SuiteSparse-amdf77.patch
+++ b/SuiteSparse-amdf77.patch
@@ -1,9 +1,9 @@
---- SuiteSparse-7.3.1/AMD/CMakeLists.txt.orig	2023-11-03 23:42:14.000000000 +0100
-+++ SuiteSparse-7.3.1/AMD/CMakeLists.txt	2026-07-16 19:44:10.506174634 +0200
-@@ -82,10 +82,9 @@ include_directories ( Source Include )
+--- SuiteSparse-7.12.2/AMD/CMakeLists.txt.orig	2026-02-10 19:25:51.000000000 +0100
++++ SuiteSparse-7.12.2/AMD/CMakeLists.txt	2026-07-17 18:05:13.076938119 +0200
+@@ -76,10 +76,9 @@ include_directories ( Source Include )
  #-------------------------------------------------------------------------------
  
- if ( NOT NFORTRAN )
+ if ( SUITESPARSE_HAS_FORTRAN )
 -    file ( GLOB AMD_SOURCES "Source/*.c" "Source/*.f" )
 -else ( )
 -    file ( GLOB AMD_SOURCES "Source/*.c" )
@@ -11,79 +11,84 @@
  endif ( )
 +    file ( GLOB AMD_SOURCES "Source/*.c" )
  
- add_library ( AMD SHARED ${AMD_SOURCES} )
- set_target_properties ( AMD PROPERTIES
-@@ -100,6 +99,17 @@ set_target_properties ( AMD PROPERTIES
- target_include_directories ( AMD
-     INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Include>
-               $<INSTALL_INTERFACE:${SUITESPARSE_INCLUDEDIR}> )
+ if ( BUILD_SHARED_LIBS )
+     add_library ( AMD SHARED ${AMD_SOURCES} )
+@@ -100,6 +99,18 @@ if ( BUILD_SHARED_LIBS )
+     target_include_directories ( AMD
+         INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Include>
+                   $<INSTALL_INTERFACE:${SUITESPARSE_INCLUDEDIR}> )
 + 
-+if ( NOT NFORTRAN )
-+    add_library ( AMDF77 SHARED ${AMDF77_SOURCES} )
-+    set_target_properties ( AMDF77 PROPERTIES
-+        VERSION ${AMD_VERSION_MAJOR}.${AMD_VERSION_MINOR}.${AMD_VERSION_SUB}
-+        C_STANDARD 11
-+        C_STANDARD_REQUIRED ON
-+        OUTPUT_NAME amdf77
-+        SOVERSION ${AMD_VERSION_MAJOR}
-+        WINDOWS_EXPORT_ALL_SYMBOLS ON )
-+endif ( )
++    if ( SUITESPARSE_HAS_FORTRAN )
++        add_library ( AMDF77 SHARED ${AMDF77_SOURCES} )
++        set_target_properties ( AMDF77 PROPERTIES
++            VERSION ${AMD_VERSION_MAJOR}.${AMD_VERSION_MINOR}.${AMD_VERSION_SUB}
++            C_STANDARD 11
++            C_STANDARD_REQUIRED ON
++            OUTPUT_NAME amdf77
++            SOVERSION ${AMD_VERSION_MAJOR}
++            WINDOWS_EXPORT_ALL_SYMBOLS ON
++            LINKER_LANGUAGE C )
++    endif ( )
+ endif ( )
  
  #-------------------------------------------------------------------------------
- # static amd library properties
-@@ -123,6 +133,15 @@ if ( NOT NSTATIC )
+@@ -128,6 +139,14 @@ if ( BUILD_STATIC_LIBS )
          INTERFACE $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/Include>
                    $<INSTALL_INTERFACE:${SUITESPARSE_INCLUDEDIR}> )
  
-+    if ( NOT NFORTRAN )
++    if ( SUITESPARSE_HAS_FORTRAN )
 +        add_library ( AMDF77_static STATIC ${AMDF77_SOURCES} )
 +        set_target_properties ( AMDF77_static PROPERTIES
-+            VERSION ${AMD_VERSION_MAJOR}.${AMD_VERSION_MINOR}.${AMD_VERSION_SUB}
 +            C_STANDARD 11
 +            C_STANDARD_REQUIRED ON
 +            OUTPUT_NAME amdf77
-+            SOVERSION ${AMD_VERSION_MAJOR} )
++            LINKER_LANGUAGE C )
 +    endif ( )
  endif ( )
  
  #-------------------------------------------------------------------------------
-@@ -133,11 +152,20 @@ endif ( )
- target_link_libraries ( AMD PRIVATE SuiteSparse::SuiteSparseConfig )
- target_include_directories ( AMD PUBLIC
-     "$<TARGET_PROPERTY:SuiteSparse::SuiteSparseConfig,INTERFACE_INCLUDE_DIRECTORIES>" )
-+if ( NOT NFORTRAN )
+@@ -140,11 +159,20 @@ if ( BUILD_SHARED_LIBS )
+     target_include_directories ( AMD PUBLIC
+         "$<TARGET_PROPERTY:SuiteSparse::SuiteSparseConfig,INTERFACE_INCLUDE_DIRECTORIES>" )
+ endif ( )
++if ( SUITESPARSE_HAS_FORTRAN )
 +    target_link_libraries ( AMDF77 PRIVATE ${SUITESPARSE_CONFIG_LIBRARIES} )
 +endif ( )
- if ( NOT NSTATIC )
+ if ( BUILD_STATIC_LIBS )
      if ( TARGET SuiteSparse::SuiteSparseConfig_static )
          target_link_libraries ( AMD_static PUBLIC SuiteSparse::SuiteSparseConfig_static )
-+        if ( NOT NFORTRAN )
++        if ( SUITESPARSE_HAS_FORTRAN )
 +            target_link_libraries ( AMDF77_static PUBLIC SuiteSparse::SuiteSparseConfig_static )
 +        endif ( )
      else ( )
          target_link_libraries ( AMD_static PUBLIC SuiteSparse::SuiteSparseConfig )
-+        if ( NOT NFORTRAN )
++        if ( SUITESPARSE_HAS_FORTRAN )
 +            target_link_libraries ( AMDF77_static PUBLIC SuiteSparse::SuiteSparseConfig )
 +        endif ( )
      endif ( )
  endif ( )
  
-@@ -162,10 +190,18 @@ install ( TARGETS AMD
-     ARCHIVE DESTINATION ${SUITESPARSE_LIBDIR}
-     RUNTIME DESTINATION ${SUITESPARSE_BINDIR}
-     PUBLIC_HEADER DESTINATION ${SUITESPARSE_INCLUDEDIR} )
-+if ( NOT NFORTRAN )
-+    install ( TARGETS AMDF77
-+        LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR} )
-+endif ( )
- if ( NOT NSTATIC )
-     install ( TARGETS AMD_static
-         EXPORT AMDTargets
-         ARCHIVE DESTINATION ${SUITESPARSE_LIBDIR} )
-+    if ( NOT NFORTRAN )
-+        install ( TARGETS AMDF77_static
-+            ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR} )
+@@ -173,6 +201,11 @@ if ( BUILD_SHARED_LIBS )
+         RUNTIME DESTINATION ${SUITESPARSE_BINDIR}
+         PUBLIC_HEADER DESTINATION ${SUITESPARSE_INCLUDEDIR} )
+ 
++    if ( SUITESPARSE_HAS_FORTRAN )
++        install ( TARGETS AMDF77
++            LIBRARY DESTINATION ${SUITESPARSE_LIBDIR} )
 +    endif ( )
- endif ( )
++
+     # create (temporary) export target file during build
+     export ( EXPORT AMDTargets
+         NAMESPACE SuiteSparse::
+@@ -189,6 +222,11 @@ if ( BUILD_STATIC_LIBS )
+         ARCHIVE DESTINATION ${SUITESPARSE_LIBDIR}
+         PUBLIC_HEADER DESTINATION ${SUITESPARSE_INCLUDEDIR} )
  
- # create (temporary) export target file during build
++    if ( SUITESPARSE_HAS_FORTRAN )
++        install ( TARGETS AMDF77_static
++            ARCHIVE DESTINATION ${SUITESPARSE_LIBDIR} )
++    endif ( )
++
+     # create (temporary) export target file during build
+     export ( EXPORT AMDTargets_static
+         NAMESPACE SuiteSparse::
diff --git a/SuiteSparse-externc.patch b/SuiteSparse-externc.patch
index 572d788..cc11043 100644
--- a/SuiteSparse-externc.patch
+++ b/SuiteSparse-externc.patch
@@ -1,146 +1,5 @@
---- SuiteSparse-6.0.1/SuiteSparse_config/SuiteSparse_config.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/SuiteSparse_config/SuiteSparse_config.h	2025-06-29 11:47:15.469380302 +0200
-@@ -19,11 +19,6 @@
- #ifndef SUITESPARSE_CONFIG_H
- #define SUITESPARSE_CONFIG_H
- 
--#ifdef __cplusplus
--extern "C"
--{
--#endif
--
- //------------------------------------------------------------------------------
- // SuiteSparse-wide ANSI C11 #include files
- //------------------------------------------------------------------------------
-@@ -89,6 +84,11 @@ extern "C"
- #include "matrix.h"
- #endif
- 
-+#ifdef __cplusplus
-+extern "C"
-+{
-+#endif
-+
- //------------------------------------------------------------------------------
- // string and token handling macros
- //------------------------------------------------------------------------------
---- SuiteSparse-7.1.0/AMD/Include/amd.h.orig	2023-06-30 04:06:35.000000000 +0200
-+++ SuiteSparse-7.1.0/AMD/Include/amd.h	2026-07-11 16:36:47.020764149 +0200
-@@ -35,13 +35,13 @@
- #ifndef AMD_H
- #define AMD_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include AMD */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- int amd_order  /* returns AMD_OK, AMD_OK_BUT_JUMBLED,
-                                     * AMD_INVALID, or AMD_OUT_OF_MEMORY */
- (
---- SuiteSparse-7.1.0/BTF/Include/btf.h.orig	2023-06-30 04:06:35.000000000 +0200
-+++ SuiteSparse-7.1.0/BTF/Include/btf.h	2026-07-11 16:37:25.157224212 +0200
-@@ -90,13 +90,13 @@
- #ifndef _BTF_H
- #define _BTF_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include BTF */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- int32_t btf_maxtrans    /* returns # of columns matched */
- (
-     /* --- input, not modified: --- */
---- SuiteSparse-7.1.0/CAMD/Include/camd.h.orig	2023-06-30 04:06:35.000000000 +0200
-+++ SuiteSparse-7.1.0/CAMD/Include/camd.h	2026-07-11 16:38:01.223695490 +0200
-@@ -23,13 +23,13 @@
- #ifndef CAMD_H
- #define CAMD_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include CAMD */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- int camd_order /* returns CAMD_OK, CAMD_OK_BUT_JUMBLED,
-                              * CAMD_INVALID, or CAMD_OUT_OF_MEMORY */
- (
---- SuiteSparse-6.0.1/CCOLAMD/Include/ccolamd.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/CCOLAMD/Include/ccolamd.h	2025-06-29 11:55:42.756632091 +0200
-@@ -16,13 +16,13 @@
- #ifndef CCOLAMD_H
- #define CCOLAMD_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include CCOLAMD */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- /* ========================================================================== */
- /* === CCOLAMD version ====================================================== */
- /* ========================================================================== */
---- SuiteSparse-6.0.1/COLAMD/Include/colamd.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/COLAMD/Include/colamd.h	2025-06-29 11:56:15.536454507 +0200
-@@ -37,17 +37,17 @@
- #ifndef COLAMD_H
- #define COLAMD_H
- 
--/* make it easy for C++ programs to include COLAMD */
--#ifdef __cplusplus
--extern "C" {
--#endif
--
- /* ========================================================================== */
- /* === Include files ======================================================== */
- /* ========================================================================== */
- 
- #include "SuiteSparse_config.h"
- 
-+/* make it easy for C++ programs to include COLAMD */
-+#ifdef __cplusplus
-+extern "C" {
-+#endif
-+
- /* ========================================================================== */
- /* === COLAMD version ======================================================= */
- /* ========================================================================== */
---- SuiteSparse-6.0.1/CHOLMOD/GPU/cholmod_gpu_kernels.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/CHOLMOD/GPU/cholmod_gpu_kernels.h	2025-06-29 12:00:00.441902756 +0200
-@@ -15,13 +15,13 @@
- #ifndef CHOLMODGPUKERNELS_H
- #define CHOLMODGPUKERNELS_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include CHOLMOD */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- int createMapOnDevice ( int64_t *d_Map, int64_t *d_Ls, int64_t psi, int64_t nsrow ); 
- 
- int createRelativeMapOnDevice ( int64_t *d_Map, int64_t *d_Ls, 
---- SuiteSparse-7.3.1/CSparse/Include/cs.h.orig	2023-11-03 23:42:14.000000000 +0100
-+++ SuiteSparse-7.3.1/CSparse/Include/cs.h	2026-07-16 20:18:59.258192225 +0200
+--- SuiteSparse-7.12.2/CSparse/Include/cs.h.orig	2026-02-10 19:25:51.000000000 +0100
++++ SuiteSparse-7.12.2/CSparse/Include/cs.h	2026-07-17 18:26:51.149905855 +0200
 @@ -22,6 +22,11 @@
  #define csi int64_t
  #endif
@@ -150,10 +9,10 @@
 +extern "C" {
 +#endif
 +
+ void csparse_version (int version [3]) ;   // return version number
+ 
  /* --- primary CSparse routines and data structures ------------------------- */
- typedef struct cs_sparse    /* matrix in compressed-column or triplet form */
- {
-@@ -149,4 +154,9 @@ csn *cs_ndone (csn *N, cs *C, void *w, v
+@@ -151,4 +156,9 @@ csn *cs_ndone (csn *N, cs *C, void *w, v
  #define CS_MARK(w,j) { w [j] = CS_FLIP (w [j]) ; }
  #define CS_CSC(A) (A && (A->nz == -1))
  #define CS_TRIPLET(A) (A && (A->nz >= 0))
@@ -163,104 +22,3 @@
 +#endif
 +
  #endif
---- SuiteSparse-6.0.1/KLU/Include/klu.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/KLU/Include/klu.h	2025-06-29 12:24:26.447294057 +0200
-@@ -13,15 +13,15 @@
- #ifndef _KLU_H
- #define _KLU_H
- 
-+#include "amd.h"
-+#include "colamd.h"
-+#include "btf.h"
-+
- /* make it easy for C++ programs to include KLU */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "amd.h"
--#include "colamd.h"
--#include "btf.h"
--
- /* -------------------------------------------------------------------------- */
- /* Symbolic object - contains the pre-ordering computed by klu_analyze */
- /* -------------------------------------------------------------------------- */
---- SuiteSparse-7.1.0/LDL/Include/ldl.h.orig	2023-06-30 04:06:35.000000000 +0200
-+++ SuiteSparse-7.1.0/LDL/Include/ldl.h	2026-07-11 17:09:00.830287803 +0200
-@@ -10,13 +10,13 @@
- #ifndef LDL_H
- #define LDL_H
- 
-+#include "SuiteSparse_config.h"
-+
- /* make it easy for C++ programs to include LDL */
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- #ifdef LDL_LONG
- #define LDL_int int64_t
- #define LDL_ID  "%" PRId64
---- SuiteSparse-6.0.1/RBio/Include/RBio.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/RBio/Include/RBio.h	2025-06-29 12:26:00.230119325 +0200
-@@ -47,12 +47,12 @@
- /* include files */
- /* -------------------------------------------------------------------------- */
- 
-+#include "SuiteSparse_config.h"
-+
- #ifdef __cplusplus
- extern "C" {
- #endif
- 
--#include "SuiteSparse_config.h"
--
- /* -------------------------------------------------------------------------- */
- /* error codes */
- /* -------------------------------------------------------------------------- */
---- SuiteSparse-7.3.1/SPQR/Include/SuiteSparseQR.hpp.orig	2023-11-03 23:42:14.000000000 +0100
-+++ SuiteSparse-7.3.1/SPQR/Include/SuiteSparseQR.hpp	2026-07-16 20:25:25.202768051 +0200
-@@ -18,11 +18,8 @@
- #include <cublas_v2.h>
- #endif
- #define SUITESPARSE_GPU_EXTERN_ON
--extern "C"
--{
- #include "SuiteSparseQR_definitions.h"
- #include "cholmod.h"
--}
- #undef SUITESPARSE_GPU_EXTERN_ON
- 
- #include <complex>
---- SuiteSparse-6.0.1/UMFPACK/Include/umfpack.h.orig	2022-11-14 01:04:25.000000000 +0100
-+++ SuiteSparse-6.0.1/UMFPACK/Include/umfpack.h	2025-06-29 12:52:00.021669209 +0200
-@@ -18,6 +18,13 @@
- #ifndef UMFPACK_H
- #define UMFPACK_H
- 
-+//------------------------------------------------------------------------------
-+// include files for other packages: SuiteSparse_config and AMD
-+//------------------------------------------------------------------------------
-+
-+#include "SuiteSparse_config.h"
-+#include "amd.h"
-+
- /* -------------------------------------------------------------------------- */
- /* Make it easy for C++ programs to include UMFPACK */
- /* -------------------------------------------------------------------------- */
-@@ -26,13 +33,6 @@
- extern "C" {
- #endif
- 
--//------------------------------------------------------------------------------
--// include files for other packages: SuiteSparse_config and AMD
--//------------------------------------------------------------------------------
--
--#include "SuiteSparse_config.h"
--#include "amd.h"
--
- /* -------------------------------------------------------------------------- */
- /* size of Info and Control arrays */
- /* -------------------------------------------------------------------------- */
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/SuiteSparse.git/commitdiff/37cec67f2df2f36fa25e26d4fab491633ca1f226



More information about the pld-cvs-commit mailing list