123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477 |
- Name: suitesparse
- Version: 4.3.1
- Release: 3%{?_dist_release}
- Summary: A collection of sparse matrix libraries
- Summary(ja): 疎行列ライブラリ集
- Group: System Environment/Libraries
- License: LGPLv2+ and GPLv2+
- URL: http://www.cise.ufl.edu/research/sparse/SuiteSparse
- Source0: http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-%{version}.tar.gz
- # Move #include <math.h> out of StuiteSparse_config.h and into SuiteSparse_config.c
- Patch0: suitesparse-math.patch
- BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
- BuildRequires: blas-devel
- BuildRequires: lapack-devel
- %ifnarch s390 s390x
- BuildRequires: tbb-devel
- %global with_tbb 1
- %endif
- %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
- SuiteSparse_config configuration file for all the above packages.
- RBio read/write files in Rutherford/Boeing format
- %package devel
- Summary: Development headers for SuiteSparse
- Summary(ja): SuiteSparse の開発用ヘッダファイル集
- Group: Development/Libraries
- Requires: %{name} = %{version}-%{release}
- %description devel
- The suitesparse-devel package contains files needed for developing
- applications which use the suitesparse libraries.
- %package static
- Summary: Static version of SuiteSparse libraries
- Summary(ja): SuiteSparse の静的ライブラリ
- Group: Development/Libraries
- Requires: %{name}-devel = %{version}-%{release}
- %description static
- The suitesparse-static package contains the statically linkable
- version of the suitesparse libraries.
- #'
- %prep
- %setup -q -n SuiteSparse
- %patch0 -p1 -b .math
- %build
- %define amd_version 2.4.0
- %define amd_version_major 2
- %define btf_version 1.2.0
- %define btf_version_major 1
- %define camd_version 2.4.0
- %define camd_version_major 2
- %define ccolamd_version 2.9.0
- %define ccolamd_version_major 2
- %define cholmod_version 3.0.1
- %define cholmod_version_major 3
- %define colamd_version 2.9.0
- %define colamd_version_major 2
- %define csparse_version 3.1.3
- %define csparse_version_major 3
- %define cxsparse_version 3.1.3
- %define cxsparse_version_major 3
- %define klu_version 1.3.0
- %define klu_version_major 1
- %define ldl_version 2.2.0
- %define ldl_version_major 2
- %define rbio_version 2.2.0
- %define rbio_version_major 2
- %define spqr_version 1.3.3
- %define spqr_version_major 1
- %define SuiteSparse_config_ver 4.3.1
- %define SuiteSparse_config_major 4
- %define umfpack_version 5.7.0
- %define umfpack_version_major 5
- ### 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
- # SuiteSparse_config needs to come first
- pushd SuiteSparse_config
- make CFLAGS="$RPM_OPT_FLAGS -fPIC"
- ar x libsuitesparseconfig.a
- pushd ../Lib
- gcc -shared -Wl,-soname,libsuitesparseconfig.so.%{SuiteSparse_config_major} -o \
- libsuitesparseconfig.so.%{SuiteSparse_config_ver} ../SuiteSparse_config/*.o -lm
- ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so.%{SuiteSparse_config_major}
- ln -sf libsuitesparseconfig.so.%{SuiteSparse_config_ver} libsuitesparseconfig.so
- cp -p ../SuiteSparse_config/*.a ./
- popd
- cp -p *.h ../Include
- popd
- 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 \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -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 \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -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 \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -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 \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -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 \
- libamd.so.%{amd_version_major} \
- libcamd.so.%{camd_version_major} libcolamd.so.%{colamd_version_major} \
- libccolamd.so.%{ccolamd_version_major} \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
- -llapack -lblas -lgfortran
- # -L%{_libdir}/atlas %{atlaslibs} \
- 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} \
- libsuitesparseconfig.so.%{SuiteSparse_config_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 \
- libamd.so.%{amd_version_major} \
- libcholmod.so.%{cholmod_version_major} \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
- -llapack -lblas -lgfortran
- # -L%{_libdir}/atlas %{atlaslibs} \
- 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} \
- %{?with_tbb:-ltbb} \
- libcholmod.so.%{cholmod_version_major} \
- libsuitesparseconfig.so.%{SuiteSparse_config_major} -lm \
- -llapack -lblas -lgfortran
- # -L%{_libdir}/atlas -L%{_libdir} %{atlaslibs} \
- 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 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 \
- libsuitesparseconfig.so.%{SuiteSparse_config_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
- rm -rf ${RPM_BUILD_ROOT}
- mkdir -p ${RPM_BUILD_ROOT}%{_libdir}
- mkdir -p ${RPM_BUILD_ROOT}%{_includedir}/%{name}
- pushd Lib
- for f in *.a *.so*; do
- cp -a $f ${RPM_BUILD_ROOT}%{_libdir}/$f
- done
- popd
- pushd Include
- for f in *.h *.hpp; do
- cp -a $f ${RPM_BUILD_ROOT}%{_includedir}/%{name}/$f
- done
- popd
- %clean
- rm -rf ${RPM_BUILD_ROOT}
- %post -p /sbin/ldconfig
- %postun -p /sbin/ldconfig
- %files
- %defattr(-,root,root)
- %doc Doc/*
- %{_libdir}/lib*.so.*
- %files devel
- %defattr(-,root,root)
- %{_includedir}/%{name}
- %{_libdir}/lib*.so
- %files static
- %defattr(-,root,root)
- %{_libdir}/lib*.a
- %changelog
- * Mon Jul 18 2016 Toshiaki Ara <ara_t@384.jp> 4.3.1-3
- - rebuild with gcc-5.4.0
- * Thu Mar 5 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.3.1-2
- - built with tbb 4.3u3
- * Tue Feb 17 2015 Ryoichi INAGAKI <ryo1@toki.waseda.jp> 4.3.1-1
- - updated to 4.3.1
- * Thu Mar 15 2012 NAKAMURA Kenta <kenta@vinelinux.org> 3.7.0-1
- - Updated to 3.7.0
- * Mon Dec 01 2008 NAKAMURA Kenta <kenta@vinelinux.org> 3.6.1-1
- - Updated to 3.6.1
- * Sat Oct 11 2008 Shu KONNO <owa@bg.wakwak.com> 3.1.0-3vl5
- - applied new versioning policy
- * Wed Jan 02 2008 NAKAMURA Kenta <kenta@vinelinux.org> 3.1.0-2vl1
- - New release.
- * Wed Jan 02 2008 NAKAMURA Kenta <kenta@vinelinux.org> 3.0.0-2vl1
- - Rebuild for VineSeed
- * Fri Aug 24 2007 Quentin Spencer <qspencer@users.sourceforge.net> 3.0.0-2
- - Rebuild for F8.
- * Tue Jul 3 2007 Quentin Spencer <qspencer@users.sourceforge.net> 3.0.0-1
- - Change package name to match upstream, including provides and obsoletes.
- - New release. Numerous changes in build to reflect source reorganization.
- - Moved static libs into separate package.
- * Mon Oct 16 2006 Quentin Spencer <qspencer@users.sourceforge.net> 2.1.1-1
- - New release, and package name change from UFsparse to SuiteSparse. Fixes
- bug #210846. Keep the ufsparse package name for now.
- * Thu Sep 7 2006 Quentin Spencer <qspencer@users.sourceforge.net> 2.1.0-1
- - New release. Increment versions of some libraries.
- - Rearrange and clean up spec file so all definitions are in one place.
- * Mon Aug 7 2006 Quentin Spencer <qspencer@users.sourceforge.net> 2.0.0-1
- - New release.
- - Build newly added CAMD library.
- - Misc minor spec changes.
- * Tue Mar 7 2006 Quentin Spencer <qspencer@users.sourceforge.net> 1.2-1
- - New release.
- - Build newly added library CXSparse (but not CSparse--see comments
- in build section).
- * Wed Feb 15 2006 Quentin Spencer <qspencer@users.sourceforge.net> 0.93-2
- - Rebuild for Fedora Extras 5.
- * Thu Feb 9 2006 Quentin Spencer <qspencer@users.sourceforge.net> 0.93-1
- - New release. Remove old patch.
- * Wed Dec 14 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.92-2
- - Add patch0--fixes LDL/Makefile so CFLAGS are used when compiling ldl.a.
- * Wed Dec 14 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.92-1
- - Update to Dec 8 2005 version.
- * Tue Oct 25 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.91-2
- - Rebuild.
- * Tue Oct 18 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.91-1
- - New upstream release, incorporating previous patches
- - chmod the build directory to ensure all headers are world readable
- * Fri Oct 07 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.9-3
- - Build cholmod, but disable METIS using -DNPARTITION flag.
- * Sat Oct 01 2005 Quentin Spencer <qspencer@users.sourceforge.net> 0.9-2
- - Modify description, other modifications for import into FE.
- - Add dist tag, cosmetic changes.
- * Tue Sep 08 2005 David Bateman <dbateman@free.fr> 0.9-1
- - First version.
|