rpms/suitesparse/devel suitesparse.spec, NONE, 1.1 .cvsignore, 1.1, 1.2 Makefile, 1.1, 1.2 sources, 1.1, 1.2

Quentin Spencer (qspencer) fedora-extras-commits at redhat.com
Thu Jul 26 16:04:25 UTC 2007


Author: qspencer

Update of /cvs/extras/rpms/suitesparse/devel
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv28753

Modified Files:
	.cvsignore Makefile sources 
Added Files:
	suitesparse.spec 
Log Message:
Added spec file and sources. Changelog shows differences from the last ufsparse release.


--- NEW FILE suitesparse.spec ---
Name:           suitesparse
Version:        3.0.0
Release:        1%{?dist}
Summary:        A collection of sparse matrix libraries

Group:          System Environment/Libraries
License:        Distributable
URL:            http://www.cise.ufl.edu/research/sparse/SuiteSparse
Source0:        http://www.cise.ufl.edu/research/sparse/SuiteSparse/SuiteSparse-%{version}.tar.gz
BuildRoot:      %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)

BuildRequires:  blas-devel
Obsoletes:      umfpack
Obsoletes:      ufsparse <= 2.1.1
Provides:       ufsparse = %{version}-%{release}

%description
ufsparse 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
  UMFPACK     sparse LU factorization
  UFconfig    configuration file for all the above packages.


%package devel
Summary:        Development headers for SuiteSparse
Group:          Development/Libraries
Requires:       %{name} = %{version}-%{release}
Obsoletes:      umfpack-devel
Obsoletes:      ufsparse-devel <= 2.1.1
Provides:       ufsparse-devel = %{version}-%{release}

%description devel
The ufsparse-devel package contains files needed for developing
applications which use the suitesparse libraries.


%package static
Summary:        Static version of SuiteSparse libraries
Group:          Development/Libraries
Requires:       %{name}-devel = %{version}-%{release}
Provides:       ufsparse-static = %{version}-%{release}

%description static
The ufsparse-static package contains the statically linkable version
of the suitesparse libraries.



%prep
%setup -q -n SuiteSparse

%build
%define amd_version 2.2
%define amd_version_major 2
%define btf_version 1.0
%define btf_version_major 1
%define camd_version 2.2
%define camd_version_major 2
%define ccolamd_version 2.7
%define ccolamd_version_major 2
%define cholmod_version 1.5
%define cholmod_version_major 1
%define colamd_version 2.7
%define colamd_version_major 2
%define csparse_version 2.2.0
%define csparse_version_major 2
%define cxsparse_version 2.2.0
%define cxsparse_version_major 2
%define klu_version 1.0
%define klu_version_major 1
%define ldl_version 2.0
%define ldl_version_major 2
%define umfpack_version 5.0.2
%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 Devel Devel/AMD Devel/CHOLMOD Devel/KLU Devel/LDL Devel/UMFPACK \
	Doc Doc/AMD Doc/BTF Doc/CAMD Doc/CCOLAMD Doc/CHOLMOD Doc/COLAMD \
	Doc/KLU Doc/LDL Doc/UMFPACK Lib Include

pushd AMD
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libamd.so.%{amd_version_major} -o ../Lib/libamd.so.%{amd_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/License Doc/ChangeLog ../Doc/AMD
  cp Doc/*.pdf ../Devel/AMD
popd

pushd BTF
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libbtf.so.%{btf_version_major} -o libbtf.so.%{btf_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/* ../Doc/BTF
popd

pushd CAMD
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
    gcc -shared -Wl,-soname,libcamd.so.%{camd_version_major} -o ../Lib/libcamd.so.%{camd_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/ChangeLog Doc/License ../Doc/CAMD
  cp Doc/*.pdf ../Devel/CAMD
popd

pushd CCOLAMD
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
    gcc -shared -Wl,-soname,libccolamd.so.%{ccolamd_version_major} -o libccolamd.so.%{ccolamd_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/* ../Doc/CCOLAMD
popd
pushd Lib
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"
    gcc -shared -Wl,-soname,libcholmod.so.%{cholmod_version_major} -o ../Lib/libcholmod.so.%{cholmod_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt ../Doc/CHOLMOD
  cp Cholesky/License.txt ../Doc/CHOLMOD/Cholesky_License.txt
  cp Core/License.txt ../Doc/CHOLMOD/Core_License.txt
  cp MatrixOps/License.txt ../Doc/CHOLMOD/MatrixOps_License.txt
  cp Partition/License.txt ../Doc/CHOLMOD/Partition_License.txt
  cp Supernodal/License.txt ../Doc/CHOLMOD/Supernodal_License.txt
  cp Doc/*.pdf ../Devel/CHOLMOD
popd

pushd COLAMD
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libcolamd.so.%{colamd_version_major} -o libcolamd.so.%{colamd_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/* ../Doc/COLAMD
popd

%if "%{?enable_csparse}" == "1"
pushd CSparse
  pushd Source
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libcsparse.so.%{csparse_version_major} -o libcsparse.so.%{csparse_version} `ls *.o`
    cp *.a *.so* ../../Lib
    cp cs.h ../../Include
  popd
  mkdir ../Doc/CSparse/
  cp Doc/* ../Doc/CSparse
popd

%else
pushd CXSparse
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libcxsparse.so.%{cxsparse_version_major} -o libcxsparse.so.%{cxsparse_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/cs.h ../Include
  mkdir ../Doc/CXSparse/
  cp Doc/* ../Doc/CXSparse
popd
%endif

pushd KLU
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libklu.so.%{klu_version_major} -o libklu.so.%{klu_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/lesser.txt ../Doc/KLU
popd

pushd LDL
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC"
    gcc -shared -Wl,-soname,libldl.so.%{ldl_version_major} -o libldl.so.%{ldl_version} `ls *.o`
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/ChangeLog Doc/lesser.txt ../Doc/LDL
  cp Doc/*.pdf ../Devel/LDL
popd

pushd UMFPACK
  pushd Lib
    make CFLAGS="$RPM_OPT_FLAGS -fPIC" 
    gcc -shared -Wl,-soname,libumfpack.so.%{umfpack_version_major} -o ../Lib/libumfpack.so.%{umfpack_version} `ls *.o` -lblas -lm
  popd
  cp Lib/*.a Lib/*.so* ../Lib
  cp Include/*.h ../Include
  cp README.txt Doc/License Doc/ChangeLog Doc/lesser.txt ../Doc/UMFPACK
  cp Doc/*.pdf ../Devel/UMFPACK
popd

pushd Lib
  ln -sf libamd.so.%{amd_version} libamd.so.%{amd_version_major}
  ln -sf libamd.so.%{amd_version} libamd.so
  ln -sf libbtf.so.%{btf_version} libbtf.so.%{btf_version_major}
  ln -sf libbtf.so.%{btf_version} libbtf.so
  ln -sf libcamd.so.%{camd_version} libcamd.so.%{camd_version_major}
  ln -sf libcamd.so.%{camd_version} libcamd.so
  ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so.%{ccolamd_version_major}
  ln -sf libccolamd.so.%{ccolamd_version} libccolamd.so
  ln -sf libcholmod.so.%{cholmod_version} libcholmod.so.%{cholmod_version_major}
  ln -sf libcholmod.so.%{cholmod_version} libcholmod.so
  ln -sf libcolamd.so.%{colamd_version} libcolamd.so.%{colamd_version_major}
  ln -sf libcolamd.so.%{colamd_version} libcolamd.so
%if "%{?enable_csparse}" == "1"
  ln -sf libcsparse.so.%{csparse_version} libcsparse.so.%{csparse_version_major}
  ln -sf libcsparse.so.%{csparse_version} libcsparse.so
%else
  ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so.%{cxsparse_version_major}
  ln -sf libcxsparse.so.%{cxsparse_version} libcxsparse.so
%endif
  ln -sf libklu.so.%{klu_version} libklu.so.%{klu_version_major}
  ln -sf libklu.so.%{klu_version} libklu.so
  ln -sf libldl.so.%{ldl_version} libldl.so.%{ldl_version_major}
  ln -sf libldl.so.%{ldl_version} libldl.so
  ln -sf libumfpack.so.%{umfpack_version} libumfpack.so.%{umfpack_version_major}
  ln -sf libumfpack.so.%{umfpack_version} libumfpack.so
popd

cp UFconfig/UFconfig.h Include

%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;  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)
%doc Devel/*
%{_includedir}/%{name}
%{_libdir}/lib*.so

%files static
%defattr(-,root,root)
%{_libdir}/lib*.a

%changelog
* Tue Jul  3 2007 Quentin Spencer <qspencer at 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 at 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 at 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 at 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 at 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 at users.sourceforge.net> 0.93-2
- Rebuild for Fedora Extras 5.

* Thu Feb  9 2006 Quentin Spencer <qspencer at users.sourceforge.net> 0.93-1
- New release. Remove old patch.

* Wed Dec 14 2005 Quentin Spencer <qspencer at 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 at users.sourceforge.net> 0.92-1
- Update to Dec 8 2005 version.

* Tue Oct 25 2005 Quentin Spencer <qspencer at users.sourceforge.net> 0.91-2
- Rebuild.

* Tue Oct 18 2005 Quentin Spencer <qspencer at 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 at users.sourceforge.net> 0.9-3
- Build cholmod, but disable METIS using -DNPARTITION flag.

* Sat Oct 01 2005 Quentin Spencer <qspencer at 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 at free.fr> 0.9-1
- First version.


Index: .cvsignore
===================================================================
RCS file: /cvs/extras/rpms/suitesparse/devel/.cvsignore,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- .cvsignore	3 Jul 2007 14:41:22 -0000	1.1
+++ .cvsignore	26 Jul 2007 16:03:53 -0000	1.2
@@ -0,0 +1 @@
+SuiteSparse-3.0.0.tar.gz


Index: Makefile
===================================================================
RCS file: /cvs/extras/rpms/suitesparse/devel/Makefile,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- Makefile	3 Jul 2007 14:41:22 -0000	1.1
+++ Makefile	26 Jul 2007 16:03:53 -0000	1.2
@@ -1,6 +1,6 @@
-# Makefile for source rpm: suitesparse
+# Makefile for source rpm: ufsparse
 # $Id$
-NAME := suitesparse
+NAME := ufsparse
 SPECFILE = $(firstword $(wildcard *.spec))
 
 define find-makefile-common


Index: sources
===================================================================
RCS file: /cvs/extras/rpms/suitesparse/devel/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	3 Jul 2007 14:41:22 -0000	1.1
+++ sources	26 Jul 2007 16:03:53 -0000	1.2
@@ -0,0 +1 @@
+4eecd769cf236be413699b2984c39f97  SuiteSparse-3.0.0.tar.gz




More information about the scm-commits mailing list