]> git.pld-linux.org Git - packages/SPQR.git/commitdiff
- new
authorJakub Bogusz <qboosh@pld-linux.org>
Sun, 8 Jan 2012 11:56:38 +0000 (11:56 +0000)
committercvs2git <feedback@pld-linux.org>
Sun, 24 Jun 2012 12:13:13 +0000 (12:13 +0000)
Changed files:
    SPQR-shared.patch -> 1.1
    SPQR-ufconfig.patch -> 1.1
    SPQR.spec -> 1.1

SPQR-shared.patch [new file with mode: 0644]
SPQR-ufconfig.patch [new file with mode: 0644]
SPQR.spec [new file with mode: 0644]

diff --git a/SPQR-shared.patch b/SPQR-shared.patch
new file mode 100644 (file)
index 0000000..f63a11c
--- /dev/null
@@ -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)
diff --git a/SPQR-ufconfig.patch b/SPQR-ufconfig.patch
new file mode 100644 (file)
index 0000000..aa7045a
--- /dev/null
@@ -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)
diff --git a/SPQR.spec b/SPQR.spec
new file mode 100644 (file)
index 0000000..fd7c83a
--- /dev/null
+++ b/SPQR.spec
@@ -0,0 +1,110 @@
+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
This page took 0.141378 seconds and 4 git commands to generate.