packages: SPQR/SPQR-shared.patch (NEW), SPQR/SPQR-ufconfig.patch (NEW), SPQ...

qboosh qboosh at pld-linux.org
Sun Jan 8 12:56:44 CET 2012


Author: qboosh                       Date: Sun Jan  8 11:56:44 2012 GMT
Module: packages                      Tag: HEAD
---- Log message:
- new

---- Files affected:
packages/SPQR:
   SPQR-shared.patch (NONE -> 1.1)  (NEW), SPQR-ufconfig.patch (NONE -> 1.1)  (NEW), SPQR.spec (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: packages/SPQR/SPQR-shared.patch
diff -u /dev/null packages/SPQR/SPQR-shared.patch:1.1
--- /dev/null	Sun Jan  8 12:56:44 2012
+++ packages/SPQR/SPQR-shared.patch	Sun Jan  8 12:56:38 2012
@@ -0,0 +1,250 @@
+--- SPQR/Lib/Makefile.orig	2012-01-08 12:07:16.049602813 +0100
++++ SPQR/Lib/Makefile	2012-01-08 12:22:07.552965999 +0100
+@@ -11,6 +11,7 @@
+ #-------------------------------------------------------------------------------
+ # the optional Partition module requires METIS, CAMD, and CCOLAMD
+ CONFIG = -DNPARTITION
++LIB_WITH_PARTITION =
+ # check if METIS is requested and available
+ ifeq (,$(findstring -DNPARTITION, $(CHOLMOD_CONFIG)))
+     # METIS is requested.  See if it is available
+@@ -18,6 +19,7 @@
+ 	# assume CAMD and CCOLAMD are available
+                 # METIS, CAMD, and CCOLAMD is available
+                 CONFIG =
++		LIB_WITH_PARTITION = $(METIS) -lccolamd -lcamd
+     endif
+ endif
+ #-------------------------------------------------------------------------------
+@@ -28,14 +30,14 @@
+ # 	-Wredundant-decls -Wdisabled-optimization \
+ # 	-ansi -fexceptions
+ 
+-all: libspqr.a
++all: libspqr.la
+ 
+-library: libspqr.a
++library: libspqr.la
+ 
+ purge: distclean
+ 
+ distclean: clean
+-	- $(RM) libspqr.a
++	- $(RM) libspqr.la
+ 
+ clean:
+ 	- $(RM) $(CLEAN)
+@@ -92,126 +94,130 @@
+ 
+ C = $(CXX) $(CF) $(SPQR_CONFIG) $(CONFIG) $(I)
+ 
+-libspqr.a: $(OBJ)
+-	$(ARCHIVE)  libspqr.a $(OBJ)
+-	- $(RANLIB) libspqr.a
++libspqr.la: $(OBJ)
++	libtool --tag=CC --mode=link $(CXX) $(LDFLAGS) -o libspqr.la -rpath $(libdir) $(OBJ:.o=.lo) \
++		-lcholmod $(LIB_WITH_PARTITION) -lm
++
++install: libspqr.la
++	install -d $(DESTDIR)$(libdir)
++	libtool --mode=install cp libspqr.la $(DESTDIR)$(libdir)/libspqr.la
+ 
+ spqr_1colamd.o: ../Source/spqr_1colamd.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_1factor.o: ../Source/spqr_1factor.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_1fixed.o: ../Source/spqr_1fixed.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_analyze.o: ../Source/spqr_analyze.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_parallel.o: ../Source/spqr_parallel.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_kernel.o: ../Source/spqr_kernel.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_append.o: ../Source/spqr_append.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_assemble.o: ../Source/spqr_assemble.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_cpack.o: ../Source/spqr_cpack.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_csize.o: ../Source/spqr_csize.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_cumsum.o: ../Source/spqr_cumsum.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_debug.o: ../Source/spqr_debug.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_factorize.o: ../Source/spqr_factorize.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_fcsize.o: ../Source/spqr_fcsize.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_freefac.o: ../Source/spqr_freefac.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_freenum.o: ../Source/spqr_freenum.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_freesym.o: ../Source/spqr_freesym.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_fsize.o: ../Source/spqr_fsize.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_happly.o: ../Source/spqr_happly.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_panel.o: ../Source/spqr_panel.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_happly_work.o: ../Source/spqr_happly_work.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_hpinv.o: ../Source/spqr_hpinv.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_larftb.o: ../Source/spqr_larftb.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_rconvert.o: ../Source/spqr_rconvert.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_rcount.o: ../Source/spqr_rcount.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_rhpack.o: ../Source/spqr_rhpack.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_rsolve.o: ../Source/spqr_rsolve.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_shift.o: ../Source/spqr_shift.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_stranspose1.o: ../Source/spqr_stranspose1.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_stranspose2.o: ../Source/spqr_stranspose2.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_trapezoidal.o: ../Source/spqr_trapezoidal.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_type.o: ../Source/spqr_type.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_front.o: ../Source/spqr_front.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ SuiteSparseQR_expert.o: ../Source/SuiteSparseQR_expert.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_maxcolnorm.o: ../Source/spqr_maxcolnorm.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ SuiteSparseQR_qmult.o: ../Source/SuiteSparseQR_qmult.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ SuiteSparseQR.o: ../Source/SuiteSparseQR.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_tol.o: ../Source/spqr_tol.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ SuiteSparseQR_C.o: ../Source/SuiteSparseQR_C.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+ 
+ spqr_rmap.o: ../Source/spqr_rmap.cpp
+-	$(C) -c $<
++	libtool --tag=CXX --mode=compile $(C) -c $<
+--- SPQR/Demo/Makefile.orig	2012-01-08 12:26:25.106307954 +0100
++++ SPQR/Demo/Makefile	2012-01-08 12:36:06.779660766 +0100
+@@ -24,7 +24,7 @@
+ endif
+ #-------------------------------------------------------------------------------
+ 
+-CLIB = ../Lib/libspqr.a \
++CLIB = ../Lib/libspqr.la \
+ 	-lcholmod -lamd -lcolamd $(LIB_WITH_PARTITION) -lm
+ 
+ # use the BLAS and LAPACK defined by UFconfig.mk; do not use valgrind 
+@@ -120,22 +120,22 @@
+ LIBS = $(CLIB) $(FLIB) $(TBB) $(RTLIB)
+ 
+ qrsimple: qrsimple.cpp library $(INC)
+-	$(C) qrsimple.cpp -o qrsimple $(LIBS)
++	libtool --mode=link --tag=CXX $(C) qrsimple.cpp -o qrsimple $(LIBS)
+ 
+ qrdemo: qrdemo.cpp library $(INC)
+-	$(C) qrdemo.cpp -o qrdemo $(LIBS)
++	libtool --mode=link --tag=CXX $(C) qrdemo.cpp -o qrdemo $(LIBS)
+ 
+ # compile the C code with gcc, but link with g++ to use SuiteSparseQR:
+ 
+ qrdemoc.o: qrdemoc.c $(INC)
+-	$(CC) $(CF) $(SPQR_CONFIG) -ansi $(I) -c $<
++	libtool --mode=compile --tag=CC $(CC) $(CF) $(SPQR_CONFIG) -ansi $(I) -c $<
+ 
+ qrdemoc: qrdemoc.o library $(INC)
+-	$(C) -o qrdemoc qrdemoc.o $(LIBS)
++	libtool --mode=link --tag=CXX $(C) -o qrdemoc qrdemoc.o $(LIBS)
+ 
+ qrsimplec.o: qrsimplec.c $(INC)
+-	$(CC) $(CF) $(SPQR_CONFIG) -ansi $(I) -c $<
++	libtool --mode=compile --tag=CC $(CC) $(CF) $(SPQR_CONFIG) -ansi $(I) -c $<
+ 
+ qrsimplec: qrsimplec.o library $(INC)
+-	$(C) -o qrsimplec qrsimplec.o $(LIBS)
++	libtool --mode=link --tag=CXX $(C) -o qrsimplec qrsimplec.o $(LIBS)
+ 

================================================================
Index: packages/SPQR/SPQR-ufconfig.patch
diff -u /dev/null packages/SPQR/SPQR-ufconfig.patch:1.1
--- /dev/null	Sun Jan  8 12:56:44 2012
+++ packages/SPQR/SPQR-ufconfig.patch	Sun Jan  8 12:56:38 2012
@@ -0,0 +1,95 @@
+--- SPQR/Makefile.orig	2011-12-07 23:20:52.000000000 +0100
++++ SPQR/Makefile	2012-01-07 15:26:12.640442839 +0100
+@@ -4,7 +4,7 @@
+ 
+ VERSION = 1.2.3
+ 
+-include ../UFconfig/UFconfig.mk
++include /usr/share/misc/UFconfig.mk
+ 
+ default: all
+ 
+--- SPQR/Lib/Makefile.orig	2011-12-14 18:48:21.000000000 +0100
++++ SPQR/Lib/Makefile	2012-01-07 15:36:22.723796599 +0100
+@@ -6,7 +6,7 @@
+ 
+ ccode: all
+ 
+-include ../../UFconfig/UFconfig.mk
++include /usr/share/misc/UFconfig.mk
+ 
+ #-------------------------------------------------------------------------------
+ # the optional Partition module requires METIS, CAMD, and CCOLAMD
+@@ -14,13 +14,10 @@
+ # check if METIS is requested and available
+ ifeq (,$(findstring -DNPARTITION, $(CHOLMOD_CONFIG)))
+     # METIS is requested.  See if it is available
+-    ifeq ($(METIS), $(wildcard $(METIS)))
+-        ifeq (../../CAMD, $(wildcard ../../CAMD))
+-            ifeq (../../CCOLAMD, $(wildcard ../../CCOLAMD))
++    ifeq ($(WITH_METIS), 1)
++	# assume CAMD and CCOLAMD are available
+                 # METIS, CAMD, and CCOLAMD is available
+                 CONFIG =
+-            endif
+-        endif
+     endif
+ endif
+ #-------------------------------------------------------------------------------
+@@ -91,7 +88,7 @@
+ 
+ $(OBJ): $(INC)
+ 
+-I = -I../../CHOLMOD/Include -I../../UFconfig -I../Include
++I = -I/usr/include/cholmod -I../Include
+ 
+ C = $(CXX) $(CF) $(SPQR_CONFIG) $(CONFIG) $(I)
+ 
+--- SPQR/Demo/Makefile.orig	2011-12-14 18:48:48.000000000 +0100
++++ SPQR/Demo/Makefile	2012-01-08 12:06:51.122935314 +0100
+@@ -6,7 +6,7 @@
+ 
+ ccode: all
+ 
+-include ../../UFconfig/UFconfig.mk
++include /usr/share/misc/UFconfig.mk
+ 
+ #-------------------------------------------------------------------------------
+ # the optional Partition module requires METIS, CAMD, and CCOLAMD
+@@ -15,23 +15,17 @@
+ # check if METIS is requested and available
+ ifeq (,$(findstring -DNPARTITION, $(CHOLMOD_CONFIG)))
+     # METIS is requested.  See if it is available
+-    ifeq ($(METIS), $(wildcard $(METIS)))
+-        ifeq (../../CAMD, $(wildcard ../../CAMD))
+-            ifeq (../../CCOLAMD, $(wildcard ../../CCOLAMD))
++    ifeq ($(WITH_METIS), 1)
++	# assume CAMD and CCOLAMD are available
+                 # METIS, CAMD, and CCOLAMD is available
+                 CONFIG =
+-                LIB_WITH_PARTITION = $(METIS) \
+-                    ../../CCOLAMD/Lib/libccolamd.a \
+-                    ../../CAMD/Lib/libcamd.a
+-            endif
+-        endif
++                LIB_WITH_PARTITION = $(METIS) -lccolamd -lcamd
+     endif
+ endif
+ #-------------------------------------------------------------------------------
+ 
+ CLIB = ../Lib/libspqr.a \
+-	../../CHOLMOD/Lib/libcholmod.a ../../AMD/Lib/libamd.a \
+-	../../COLAMD/Lib/libcolamd.a $(LIB_WITH_PARTITION) -lm
++	-lcholmod -lamd -lcolamd $(LIB_WITH_PARTITION) -lm
+ 
+ # use the BLAS and LAPACK defined by UFconfig.mk; do not use valgrind 
+ FLIB = $(LAPACK) $(BLAS)
+@@ -119,7 +113,7 @@
+ 	../Include/SuiteSparseQR_definitions.h \
+ 	../Include/SuiteSparseQR.hpp Makefile
+ 
+-I = -I../../CHOLMOD/Include -I../../UFconfig -I../Include
++I = -I/usr/include/cholmod -I../Include
+ 
+ C = $(CXX) $(CF) $(SPQR_CONFIG) $(CONFIG) $(I)
+ 

================================================================
Index: packages/SPQR/SPQR.spec
diff -u /dev/null packages/SPQR/SPQR.spec:1.1
--- /dev/null	Sun Jan  8 12:56:44 2012
+++ packages/SPQR/SPQR.spec	Sun Jan  8 12:56:38 2012
@@ -0,0 +1,120 @@
+# $Revision$, $Date$
+Summary:	SuiteSparseQR: multithreaded multifrontal sparse QR factorization
+Summary(pl.UTF-8):	SuiteSparseQR - wielowątkowy, wielofrontalny rozkład QR dla macierzy rzadkich
+Name:		SPQR
+Version:	1.2.3
+Release:	1
+License:	GPL v2+
+Group:		Libraries
+Source0:	http://www.cise.ufl.edu/research/sparse/SPQR/%{name}-%{version}.tar.gz
+# Source0-md5:	65e12826a2a3d11a774c517990eabdd7
+Patch0:		%{name}-ufconfig.patch
+Patch1:		%{name}-shared.patch
+URL:		http://www.cise.ufl.edu/research/sparse/SPQR/
+BuildRequires:	CHOLMOD-devel >= 1.7.4
+BuildRequires:	UFconfig >= 3.7.0
+BuildRequires:	libstdc++-devel
+BuildRequires:	libtool >= 2:1.5
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%description
+SuiteSparseQR is an implementation of the multifrontal sparse QR
+factorization method. Parallelism is exploited both in the BLAS and
+across different frontal matrices using Intel's Threading Building
+Blocks, a shared-memory programming model for modern multicore
+architectures. It can obtain a substantial fraction of the theoretical
+peak performance of a multicore computer. The package is written in
+C++ with user interfaces for MATLAB, C, and C++.
+
+%description -l pl.UTF-8
+SuiteSparseQR to implementacja wielofrontalnej metody rozkładu QR dla
+macierzy rzadkich. Równoległość jest wykorzystywna zarówno w BLAS, jak
+i poprzez różne macierze frontalne przy użyciu Threading Building
+Blocks Intela - model programowania ze współdzieloną pamięcią dla
+architektur wielordzeniowych. Dzięki temu możliwe jest osiągnięcie
+znaczącej części teoretycznej maksymalnej wydajności na komputerze
+wielordzeniowym. Pakiet jest napisany w C++ z interfejsami dla
+MATLAB-a, C i C++.
+
+%package devel
+Summary:	Header files for SPQR library
+Summary(pl.UTF-8):	Pliki nagłówkowe biblioteki SPQR
+Group:		Development/Libraries
+Requires:	%{name} = %{version}-%{release}
+Requires:	CHOLMOD-devel >= 1.7.4
+Requires:	UFconfig >= 3.7.0
+Requires:	libstdc++-devel
+
+%description devel
+Header files for SPQR library.
+
+%description devel -l pl.UTF-8
+Pliki nagłówkowe biblioteki SPQR.
+
+%package static
+Summary:	Static SPQR library
+Summary(pl.UTF-8):	Statyczna biblioteka SPQR
+Group:		Development/Libraries
+Requires:	%{name}-devel = %{version}-%{release}
+
+%description static
+Static SPQR library.
+
+%description static -l pl.UTF-8
+Statyczna biblioteka SPQR.
+
+%prep
+%setup -q -n %{name}
+%patch0 -p1
+%patch1 -p1
+
+%build
+%{__make} \
+	CC="%{__cc}" \
+	CXX="%{__cxx}" \
+	CFLAGS="%{rpmcflags}" \
+	CXXFLAGS="%{rpmcxxflags}" \
+	LDFLAGS="%{rpmldflags}" \
+	libdir=%{_libdir}
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT%{_includedir}/spqr
+
+%{__make} -C Lib install \
+	DESTDIR=$RPM_BUILD_ROOT \
+	libdir=%{_libdir}
+
+install Include/*.{h,hpp} $RPM_BUILD_ROOT%{_includedir}/spqr
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%post	-p /sbin/ldconfig
+%postun	-p /sbin/ldconfig
+
+%files
+%defattr(644,root,root,755)
+%doc README.txt Doc/ChangeLog
+%attr(755,root,root) %{_libdir}/libspqr.so.*.*.*
+%attr(755,root,root) %ghost %{_libdir}/libspqr.so.0
+
+%files devel
+%defattr(644,root,root,755)
+%doc Doc/{algo_spqr,spqr,spqr_user_guide}.pdf
+%attr(755,root,root) %{_libdir}/libspqr.so
+%{_libdir}/libspqr.la
+%{_includedir}/spqr
+
+%files static
+%defattr(644,root,root,755)
+%{_libdir}/libspqr.a
+
+%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.1  2012/01/08 11:56:38  qboosh
+- new
================================================================


More information about the pld-cvs-commit mailing list