410 lines
13 KiB
RPMSpec
410 lines
13 KiB
RPMSpec
|
Name: libsuitesparse
|
||
|
Version: 4.2.1
|
||
|
Release: 1mamba
|
||
|
Summary: A collection of sparse matrix libraries
|
||
|
Group: System/Libraries
|
||
|
Vendor: openmamba
|
||
|
Distribution: openmamba
|
||
|
Packager: Silvan Calarco <silvan.calarco@mambasoft.it>
|
||
|
URL: http://www.cise.ufl.edu/research/sparse/SuiteSparse
|
||
|
Source: http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-%{version}.tar.gz
|
||
|
License: GPL, LGPL
|
||
|
## AUTOBUILDREQ-BEGIN
|
||
|
BuildRequires: glibc-devel
|
||
|
BuildRequires: libblas-devel
|
||
|
BuildRequires: libgcc
|
||
|
BuildRequires: liblapack-devel
|
||
|
BuildRequires: libstdc++6-devel
|
||
|
## AUTOBUILDREQ-END
|
||
|
Provides: libumfpack
|
||
|
Obsoletes: libumfpack
|
||
|
BuildRoot: %{_tmppath}/%{name}-%{version}-root
|
||
|
|
||
|
%description
|
||
|
suitesparse is a collection of libraries for computations involving sparse matrices. The package includes the following libraries:
|
||
|
AMD approximate minimum degree ordering
|
||
|
BTF permutation to block triangular form (beta)
|
||
|
CAMD constrained approximate minimum degree ordering
|
||
|
COLAMD column approximate minimum degree ordering
|
||
|
CCOLAMD constrained column approximate minimum degree ordering
|
||
|
CHOLMOD sparse Cholesky factorization
|
||
|
CSparse a concise sparse matrix package
|
||
|
CXSparse CSparse extended: complex matrix, int and long int support
|
||
|
KLU sparse LU factorization, primarily for circuit simulation
|
||
|
LDL a simple LDL' factorization
|
||
|
SQPR a multithread, multifrontal, rank-revealing sparse QR factorization method
|
||
|
UMFPACK sparse LU factorization
|
||
|
UFconfig configuration file for all the above packages.
|
||
|
RBio read/write files in Rutherford/Boeing format
|
||
|
|
||
|
%package devel
|
||
|
Group: Development/Libraries
|
||
|
Summary: Development files for %{name}
|
||
|
Requires: %{name} = %{?epoch:%epoch:}%{version}-%{release}
|
||
|
Provides: libumfpack-devel
|
||
|
Obsoletes: libumfpack-devel
|
||
|
|
||
|
%description devel
|
||
|
This package contains libraries and header files for developing applications that use %{name}.
|
||
|
|
||
|
%prep
|
||
|
%setup -q -n SuiteSparse
|
||
|
|
||
|
%build
|
||
|
%define amd_version 2.2.2
|
||
|
%define amd_version_major 2
|
||
|
%define btf_version 1.1.2
|
||
|
%define btf_version_major 1
|
||
|
%define camd_version 2.2.2
|
||
|
%define camd_version_major 2
|
||
|
%define ccolamd_version 2.7.3
|
||
|
%define ccolamd_version_major 2
|
||
|
%define cholmod_version 1.7.3
|
||
|
%define cholmod_version_major 1
|
||
|
%define colamd_version 2.7.3
|
||
|
%define colamd_version_major 2
|
||
|
%define csparse_version 2.2.3
|
||
|
%define csparse_version_major 2
|
||
|
%define cxsparse_version 2.2.3
|
||
|
%define cxsparse_version_major 2
|
||
|
%define klu_version 1.1.3
|
||
|
%define klu_version_major 1
|
||
|
%define ldl_version 2.0.3
|
||
|
%define ldl_version_major 2
|
||
|
%define umfpack_version 5.5.1
|
||
|
%define umfpack_version_major 5
|
||
|
%define spqr_version 1.2.1
|
||
|
%define spqr_version_major 1
|
||
|
%define rbio_version 2.0.1
|
||
|
%define rbio_version_major 2
|
||
|
%define ufconfig_version 3.6.0
|
||
|
%define ufconfig_version_major 3
|
||
|
### CHOLMOD can also be compiled to use the METIS library, but it is not
|
||
|
### used here because its licensing terms exclude it from Fedora Extras.
|
||
|
### To compile with METIS, define enable_metis as 1 below.
|
||
|
%define enable_metis 0
|
||
|
### CXSparse is a superset of CSparse, and the two share common header
|
||
|
### names, so it does not make sense to build both. CXSparse is built
|
||
|
### by default, but CSparse can be built instead by defining
|
||
|
### enable_csparse as 1 below.
|
||
|
%define enable_csparse 0
|
||
|
|
||
|
mkdir -p Doc/{AMD,BTF,CAMD,CCOLAMD,CHOLMOD,COLAMD,KLU,LDL,UMFPACK,SPQR,RBio} Lib Include
|
||
|
|
||
|
pushd AMD
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libamd.so.%{amd_version_major} -o \
|
||
|
libamd.so.%{amd_version} ../AMD/Lib/*.o -lm
|
||
|
ln -sf libamd.so.%{amd_version} libamd.so.%{amd_version_major}
|
||
|
ln -sf libamd.so.%{amd_version} libamd.so
|
||
|
cp -p ../AMD/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/License Doc/ChangeLog Doc/*.pdf ../Doc/AMD
|
||
|
popd
|
||
|
|
||
|
pushd BTF
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libbtf.so.%{btf_version_major} -o \
|
||
|
libbtf.so.%{btf_version} ../BTF/Lib/*.o
|
||
|
ln -sf libbtf.so.%{btf_version} libbtf.so.%{btf_version_major}
|
||
|
ln -sf libbtf.so.%{btf_version} libbtf.so
|
||
|
cp -p ../BTF/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/* ../Doc/BTF
|
||
|
popd
|
||
|
|
||
|
pushd CAMD
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libcamd.so.%{camd_version_major} -o \
|
||
|
libcamd.so.%{camd_version} ../CAMD/Lib/*.o -lm
|
||
|
ln -sf libcamd.so.%{camd_version} libcamd.so.%{camd_version_major}
|
||
|
ln -sf libcamd.so.%{camd_version} libcamd.so
|
||
|
cp -p ../CAMD/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/ChangeLog Doc/License Doc/*.pdf ../Doc/CAMD
|
||
|
popd
|
||
|
|
||
|
pushd CCOLAMD
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libccolamd.so.%{ccolamd_version_major} -o \
|
||
|
libccolamd.so.%{ccolamd_version} ../CCOLAMD/Lib/*.o -lm
|
||
|
ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so.%{ccolamd_version_major}
|
||
|
ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so
|
||
|
cp -p ../CCOLAMD/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/* ../Doc/CCOLAMD
|
||
|
popd
|
||
|
|
||
|
pushd COLAMD
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libcolamd.so.%{colamd_version_major} -o \
|
||
|
libcolamd.so.%{colamd_version} ../COLAMD/Lib/*.o -lm
|
||
|
ln -sf libcolamd.so.%{colamd_version} libcolamd.so.%{colamd_version_major}
|
||
|
ln -sf libcolamd.so.%{colamd_version} libcolamd.so
|
||
|
cp -p ../COLAMD/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/* ../Doc/COLAMD
|
||
|
popd
|
||
|
|
||
|
%if "%{?enable_metis}" == "1"
|
||
|
CHOLMOD_FLAGS="$RPM_OPT_FLAGS -I%{_includedir}/metis -fPIC"
|
||
|
%else
|
||
|
CHOLMOD_FLAGS="$RPM_OPT_FLAGS -DNPARTITION -fPIC"
|
||
|
%endif
|
||
|
pushd CHOLMOD
|
||
|
pushd Lib
|
||
|
make CFLAGS="$CHOLMOD_FLAGS"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libcholmod.so.%{cholmod_version_major} -o \
|
||
|
libcholmod.so.%{cholmod_version} ../CHOLMOD/Lib/*.o \
|
||
|
-L%{_libdir}/atlas -lblas -llapack libamd.so.%{amd_version_major} \
|
||
|
libcamd.so.%{camd_version_major} libcolamd.so.%{colamd_version_major} \
|
||
|
libccolamd.so.%{ccolamd_version_major} -lm
|
||
|
ln -sf libcholmod.so.%{cholmod_version} libcholmod.so.%{cholmod_version_major}
|
||
|
ln -sf libcholmod.so.%{cholmod_version} libcholmod.so
|
||
|
cp -p ../CHOLMOD/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/*.pdf ../Doc/CHOLMOD
|
||
|
cp -p Cholesky/License.txt ../Doc/CHOLMOD/Cholesky_License.txt
|
||
|
cp -p Core/License.txt ../Doc/CHOLMOD/Core_License.txt
|
||
|
cp -p MatrixOps/License.txt ../Doc/CHOLMOD/MatrixOps_License.txt
|
||
|
cp -p Partition/License.txt ../Doc/CHOLMOD/Partition_License.txt
|
||
|
cp -p Supernodal/License.txt ../Doc/CHOLMOD/Supernodal_License.txt
|
||
|
popd
|
||
|
|
||
|
%if "%{?enable_csparse}" == "1"
|
||
|
pushd CSparse
|
||
|
pushd Source
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
cp -p cs.h ../../Include
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libcsparse.so.%{csparse_version_major} -o \
|
||
|
libcsparse.so.%{csparse_version} ../CSparse/Source/*.o -lm
|
||
|
ln -sf libcsparse.so.%{csparse_version} libcsparse.so.%{csparse_version_major}
|
||
|
ln -sf libcsparse.so.%{csparse_version} libcsparse.so
|
||
|
cp -p ../CSparse/Source/*.a ./
|
||
|
popd
|
||
|
mkdir ../Doc/CSparse/
|
||
|
cp -p Doc/* ../Doc/CSparse
|
||
|
popd
|
||
|
|
||
|
%else
|
||
|
pushd CXSparse
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libcxsparse.so.%{cxsparse_version_major} -o \
|
||
|
libcxsparse.so.%{cxsparse_version} ../CXSparse/Lib/*.o -lm
|
||
|
ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so.%{cxsparse_version_major}
|
||
|
ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so
|
||
|
cp -p ../CXSparse/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/cs.h ../Include
|
||
|
mkdir ../Doc/CXSparse/
|
||
|
cp -p Doc/* ../Doc/CXSparse
|
||
|
popd
|
||
|
%endif
|
||
|
|
||
|
pushd KLU
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libklu.so.%{klu_version_major} -o \
|
||
|
libklu.so.%{klu_version} ../KLU/Lib/*.o \
|
||
|
libamd.so.%{amd_version_major} libcolamd.so.%{colamd_version_major} \
|
||
|
libbtf.so.%{btf_version_major} libcholmod.so.%{cholmod_version_major}
|
||
|
ln -sf libklu.so.%{klu_version} libklu.so.%{klu_version_major}
|
||
|
ln -sf libklu.so.%{klu_version} libklu.so
|
||
|
cp -p ../KLU/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/lesser.txt ../Doc/KLU
|
||
|
popd
|
||
|
|
||
|
pushd LDL
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libldl.so.%{ldl_version_major} -o \
|
||
|
libldl.so.%{ldl_version} ../LDL/Lib/*.o
|
||
|
ln -sf libldl.so.%{ldl_version} libldl.so.%{ldl_version_major}
|
||
|
ln -sf libldl.so.%{ldl_version} libldl.so
|
||
|
cp -p ../LDL/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/ChangeLog Doc/lesser.txt Doc/*.pdf ../Doc/LDL
|
||
|
popd
|
||
|
|
||
|
pushd UMFPACK
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
gcc -shared -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o \
|
||
|
libumfpack.so.%{umfpack_version} ../UMFPACK/Lib/*.o \
|
||
|
-L%{_libdir}/atlas -lblas -llapack libamd.so.%{amd_version_major} \
|
||
|
libcholmod.so.%{cholmod_version_major} -lm
|
||
|
ln -sf libumfpack.so.%{umfpack_version} libumfpack.so.%{umfpack_version_major}
|
||
|
ln -sf libumfpack.so.%{umfpack_version} libumfpack.so
|
||
|
cp -p ../UMFPACK/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/License Doc/ChangeLog Doc/gpl.txt Doc/*.pdf ../Doc/UMFPACK
|
||
|
popd
|
||
|
|
||
|
pushd SPQR
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS %{?with_tbb:-DHAVE_TBB} -DNPARTITION -fPIC"
|
||
|
popd
|
||
|
pushd ../Lib
|
||
|
g++ -shared -Wl,-soname,libspqr.so.%{spqr_version_major} -o \
|
||
|
libspqr.so.%{spqr_version} ../SPQR/Lib/*.o \
|
||
|
-L%{_libdir}/atlas -L%{_libdir} -lblas -llapack %{?with_tbb:-ltbb -ltbbmalloc} \
|
||
|
libcholmod.so.%{cholmod_version_major} -lm
|
||
|
ln -sf libspqr.so.%{spqr_version} libspqr.so.%{spqr_version_major}
|
||
|
ln -sf libspqr.so.%{spqr_version} libspqr.so
|
||
|
cp -p ../SPQR/Lib/*.a ./
|
||
|
popd
|
||
|
cp -p Include/*.h* ../Include
|
||
|
cp -p README{,_SPQR}.txt
|
||
|
cp -p README_SPQR.txt Doc/* ../Doc/SPQR
|
||
|
popd
|
||
|
|
||
|
pushd SuiteSparse_config
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
#gcc $RPM_OPT_FLAGS -fPIC -c UFconfig.c
|
||
|
#pushd ../Lib
|
||
|
#gcc -shared -Wl,-soname,libufconfig.so.%{ufconfig_version_major} -o \
|
||
|
# libufconfig.so.%{ufconfig_version} ../UFconfig/*.o
|
||
|
#ln -sf libufconfig.so.%{ufconfig_version} libufconfig.so.%{ufconfig_version_major}
|
||
|
#ln -sf libufconfig.so.%{ufconfig_version} libufconfig.so
|
||
|
#cp -p ../UFconfig/*.a ./
|
||
|
#popd
|
||
|
cp -p *.h ../Include
|
||
|
popd
|
||
|
|
||
|
pushd RBio
|
||
|
pushd Lib
|
||
|
make CFLAGS="$RPM_OPT_FLAGS -fPIC"
|
||
|
popd
|
||
|
# pushd ../Lib
|
||
|
# gcc -shared -Wl,-soname,librbio.so.%{rbio_version_major} -o \
|
||
|
# librbio.so.%{rbio_version} ../RBio/Lib/*.o \
|
||
|
# libufconfig.so.%{ufconfig_version_major}
|
||
|
# ln -sf librbio.so.%{rbio_version} librbio.so.%{rbio_version_major}
|
||
|
# ln -sf librbio.so.%{rbio_version} librbio.so
|
||
|
# cp -p ../RBio/Lib/*.a ./
|
||
|
# popd
|
||
|
cp -p Include/*.h ../Include
|
||
|
cp -p README.txt Doc/ChangeLog Doc/License.txt ../Doc/RBio
|
||
|
popd
|
||
|
|
||
|
%install
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
rm -rf ${RPM_BUILD_ROOT}
|
||
|
mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
|
||
|
mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/suitesparse
|
||
|
pushd Lib
|
||
|
for f in *.a *.so*; do
|
||
|
cp -a $f ${RPM_BUILD_ROOT}%{_libdir}/$f
|
||
|
done
|
||
|
popd
|
||
|
pushd Include
|
||
|
for f in *.h; do
|
||
|
cp -a $f ${RPM_BUILD_ROOT}%{_includedir}/suitesparse/$f
|
||
|
done
|
||
|
popd
|
||
|
|
||
|
%clean
|
||
|
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
|
||
|
|
||
|
%post -p /sbin/ldconfig
|
||
|
%postun -p /sbin/ldconfig
|
||
|
|
||
|
%files
|
||
|
%defattr(-,root,root)
|
||
|
%{_libdir}/libamd.so.*
|
||
|
%{_libdir}/libbtf.so.*
|
||
|
%{_libdir}/libcamd.so.*
|
||
|
%{_libdir}/libccolamd.so.*
|
||
|
%{_libdir}/libcholmod.so.*
|
||
|
%{_libdir}/libcolamd.so.*
|
||
|
%{_libdir}/libcxsparse.so.*
|
||
|
%{_libdir}/libklu.so.*
|
||
|
%{_libdir}/libldl.so.*
|
||
|
#%{_libdir}/librbio.so.*
|
||
|
%{_libdir}/libspqr.so.*
|
||
|
#%{_libdir}/libufconfig.so.*
|
||
|
%{_libdir}/libumfpack.so.*
|
||
|
|
||
|
%files devel
|
||
|
%defattr(-,root,root)
|
||
|
%dir %{_includedir}/suitesparse
|
||
|
%{_includedir}/suitesparse/*.h
|
||
|
%{_libdir}/libamd.a
|
||
|
%{_libdir}/libamd.so
|
||
|
%{_libdir}/libbtf.a
|
||
|
%{_libdir}/libbtf.so
|
||
|
%{_libdir}/libcamd.a
|
||
|
%{_libdir}/libcamd.so
|
||
|
%{_libdir}/libccolamd.a
|
||
|
%{_libdir}/libccolamd.so
|
||
|
%{_libdir}/libcholmod.a
|
||
|
%{_libdir}/libcholmod.so
|
||
|
%{_libdir}/libcolamd.a
|
||
|
%{_libdir}/libcolamd.so
|
||
|
%{_libdir}/libcxsparse.a
|
||
|
%{_libdir}/libcxsparse.so
|
||
|
%{_libdir}/libklu.a
|
||
|
%{_libdir}/libklu.so
|
||
|
%{_libdir}/libldl.a
|
||
|
%{_libdir}/libldl.so
|
||
|
#%{_libdir}/librbio.a
|
||
|
#%{_libdir}/librbio.so
|
||
|
%{_libdir}/libspqr.a
|
||
|
%{_libdir}/libspqr.so
|
||
|
#%{_libdir}/libufconfig.a
|
||
|
#%{_libdir}/libufconfig.so
|
||
|
%{_libdir}/libumfpack.a
|
||
|
%{_libdir}/libumfpack.so
|
||
|
#%doc README.txt
|
||
|
|
||
|
%changelog
|
||
|
* Sat May 11 2013 Automatic Build System <autodist@mambasoft.it> 4.2.1-1mamba
|
||
|
- automatic version update by autodist
|
||
|
|
||
|
* Sun Mar 31 2013 Automatic Build System <autodist@mambasoft.it> 4.1.0-1mamba
|
||
|
- automatic version update by autodist
|
||
|
|
||
|
* Fri Jan 25 2013 Automatic Build System <autodist@mambasoft.it> 4.0.2-1mamba
|
||
|
- automatic version update by autodist
|
||
|
|
||
|
* Mon Mar 05 2012 Silvan Calarco <silvan.calarco@mambasoft.it> 3.7.0-1mamba
|
||
|
- package created by autospec
|