Accepting request 399550 from home:mathletic:branches:devel:libraries:c_c++

update to version 5.2.1
include improvements from the mailinglist

OBS-URL: https://build.opensuse.org/request/show/399550
OBS-URL: https://build.opensuse.org/package/show/devel:libraries:c_c++/superlu?expand=0&rev=12
This commit is contained in:
Marcus Meissner 2016-06-06 14:11:07 +00:00 committed by Git OBS Bridge
parent 937d31c34f
commit 7421a71ec8
9 changed files with 106 additions and 92 deletions

View File

@ -1,7 +1,8 @@
This version of SuperLU is slightly different form the original SuperLU
available on http://crd.lbl.gov/~xiaoye/SuperLU/. For legal reasons the
routine mc64ad from the Harwell Subroutine Library cannot be redistributed
by openSUSE and have been removed form the sources.
by openSUSE and have been removed form the sources. Only SRC/mc64ad.c was
removed from the tarball.
However the SuperLU library provided by openSUSE is fully functionnal
except that the mc64ad routine is not used.

View File

@ -1 +1 @@
libsuperlu4
libsuperlu5

View File

@ -1,48 +0,0 @@
diff -aruN SuperLU_4.3.orig/SRC/Makefile SuperLU_4.3/SRC/Makefile
--- SuperLU_4.3.orig/SRC/Makefile 2011-10-27 21:49:47.000000000 +0200
+++ SuperLU_4.3/SRC/Makefile 2013-01-08 21:59:19.495919213 +0100
@@ -51,7 +51,7 @@
sp_coletree.o sp_preorder.o sp_ienv.o relax_snode.o \
heap_relax_snode.o colamd.o \
ilu_relax_snode.o ilu_heap_relax_snode.o mark_relax.o \
- mc64ad.o qselect.o
+ qselect.o
SLUSRC = \
sgssv.o sgssvx.o \
@@ -63,7 +63,7 @@
sreadhb.o sreadrb.o sreadtriple.o \
scolumn_dfs.o scolumn_bmod.o spivotL.o spruneL.o \
smemory.o sutil.o smyblas2.o \
- sgsisx.o sgsitrf.o sldperm.o \
+ sgsitrf.o \
ilu_sdrop_row.o ilu_ssnode_dfs.o \
ilu_scolumn_dfs.o ilu_spanel_dfs.o ilu_scopy_to_ucol.o \
ilu_spivotL.o sdiagonal.o
@@ -77,7 +77,7 @@
dreadhb.o dreadrb.o dreadtriple.o \
dcolumn_dfs.o dcolumn_bmod.o dpivotL.o dpruneL.o \
dmemory.o dutil.o dmyblas2.o \
- dgsisx.o dgsitrf.o dldperm.o \
+ dgsitrf.o \
ilu_ddrop_row.o ilu_dsnode_dfs.o \
ilu_dcolumn_dfs.o ilu_dpanel_dfs.o ilu_dcopy_to_ucol.o \
ilu_dpivotL.o ddiagonal.o
@@ -92,7 +92,7 @@
creadhb.o creadrb.o creadtriple.o \
ccolumn_dfs.o ccolumn_bmod.o cpivotL.o cpruneL.o \
cmemory.o cutil.o cmyblas2.o \
- cgsisx.o cgsitrf.o cldperm.o \
+ cgsitrf.o \
ilu_cdrop_row.o ilu_csnode_dfs.o \
ilu_ccolumn_dfs.o ilu_cpanel_dfs.o ilu_ccopy_to_ucol.o \
ilu_cpivotL.o cdiagonal.o
@@ -106,7 +106,7 @@
zreadhb.o zreadrb.o zreadtriple.o \
zcolumn_dfs.o zcolumn_bmod.o zpivotL.o zpruneL.o \
zmemory.o zutil.o zmyblas2.o \
- zgsisx.o zgsitrf.o zldperm.o \
+ zgsitrf.o \
ilu_zdrop_row.o ilu_zsnode_dfs.o \
ilu_zcolumn_dfs.o ilu_zpanel_dfs.o ilu_zcopy_to_ucol.o \
ilu_zpivotL.o zdiagonal.o

View File

@ -0,0 +1,50 @@
--- a/SRC/CMakeLists.txt 2016-05-29 13:57:44.683251096 +0200
+++ b/SRC/CMakeLists.txt 2016-05-29 13:57:31.570987497 +0200
@@ -22,7 +22,6 @@
ilu_relax_snode.c
ilu_heap_relax_snode.c
mark_relax.c
- mc64ad.c
qselect.c
input_error.c
)
@@ -63,9 +62,7 @@
smemory.c
sutil.c
smyblas2.c
- sgsisx.c
sgsitrf.c
- sldperm.c
ilu_sdrop_row.c
ilu_ssnode_dfs.c
ilu_scolumn_dfs.c
@@ -112,9 +109,7 @@
dmemory.c
dutil.c
dmyblas2.c
- dgsisx.c
dgsitrf.c
- dldperm.c
ilu_ddrop_row.c
ilu_dsnode_dfs.c
ilu_dcolumn_dfs.c
@@ -163,9 +158,7 @@
cmemory.c
cutil.c
cmyblas2.c
- cgsisx.c
cgsitrf.c
- cldperm.c
ilu_cdrop_row.c
ilu_csnode_dfs.c
ilu_ccolumn_dfs.c
@@ -213,9 +206,7 @@
zmemory.c
zutil.c
zmyblas2.c
- zgsisx.c
zgsitrf.c
- zldperm.c
ilu_zdrop_row.c
ilu_zsnode_dfs.c
ilu_zcolumn_dfs.c

View File

@ -1,3 +1,11 @@
-------------------------------------------------------------------
Sun May 29 16:30:52 UTC 2016 - foss@grueninger.de
- Update to SuperLU 5.2.1
- Switch to CMake as build-system
- Drop superlu-4.3-disable-hsl.patch as CMake is now used
- Update to latest SuperLU User Guide
-------------------------------------------------------------------
Wed Jul 29 09:34:51 UTC 2015 - dimstar@opensuse.org

View File

@ -1,7 +1,8 @@
#
# spec file for package superlu
#
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany.
# Copyright (c) 2016 Christoph Grüninger foss@grueninger.de
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
@ -17,29 +18,29 @@
Name: superlu
Summary: A general purpose library for the direct solution of linear equations
Summary: A general purpose library for the direct solution of sparse systems of linear equations
License: BSD-3-Clause
Group: Development/Libraries/C and C++
Version: 4.3
Version: 5.2.1
Release: 0
#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_4.3.tar.gz
Source: superlu_%{version}-bsd.tar.bz2
%define soname lib%{name}5
#Source: http://crd-legacy.lbl.gov/~xiaoye/SuperLU/superlu_5.2.1.tar.gz
Source: %{name}_%{version}-bsd.tar.gz
Source1: superlu_ug.pdf
Source2: README.SUSE
Source3: baselibs.conf
# PATCH-FEATURE-OPENSUSE superlu-4.3.diff : add compiler and build flags in make.inc
Patch: superlu-4.3.diff
# PATCH-FIX-UPSTREAM superlu-4.3-include.patch : avoid implicit declaration warnings
Patch1: superlu-4.3-include.patch
# PATCH-FIX-UPSTREAM superlu-4.3-dont-opt-away.diff
Patch2: superlu-4.3-dont-opt-away.diff
# PATCH-FIX-OPENSUSE superlu-4.3-remove-hsl.patch [bnc#796236]
# The Harwell Subroutine Library (HSL) routine m64ad.c have been removed
# PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236]
# The Harwell Subroutine Library (HSL) routine mc64ad.c have been removed
# from the original sources for legal reasons. This patch disables the inclusion of
# this routine in the library which, however, remains fully functionnal
Patch3: superlu-4.3-disable-hsl.patch
Patch3: superlu-5.2-remove-mc64ad.patch
Url: http://crd.lbl.gov/~xiaoye/SuperLU/
BuildRequires: blas
BuildRequires: cmake
BuildRequires: fdupes
BuildRequires: gcc-fortran
BuildRequires: tcsh
@ -47,28 +48,25 @@ BuildRoot: %{_tmppath}/%{name}-%{version}-build
%description
SuperLU is an algorithm that uses group theory to optimize LU
decomposition of sparse matrices. It's the fastest direct solver for
linear systems that the author is aware of.
decomposition of sparse matrices.
Docu can be found on http://www.netlib.org.
%package -n libsuperlu4
%package -n %soname
Summary: SuperLU matrix solver
Group: System/Libraries
%description -n libsuperlu4
%description -n %soname
SuperLU is an algorithm that uses group theory to optimize LU
decomposition of sparse matrices. It's the fastest direct solver for
linear systems that the author is aware of.
Docu can be found on http://www.netlib.org.
decomposition of sparse matrices.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries/C and C++
Requires: %soname = %{version}
# The standalone superlu RPM has been eliminated, and the relevant
# files are now in superlu-devel
# The last standalone superlu RPM was was v3.0
Provides: superlu = %{version}
Obsoletes: superlu < %{version}
Requires: libsuperlu4 = %{version}
Obsoletes: superlu <= 3.0
%description devel
The %{name}-devel package contains libraries and header files for
@ -76,7 +74,6 @@ developing applications that use %{name}.
%prep
%setup -q -n SuperLU_%{version}
%patch -p1
%patch1 -p1
%patch2 -p1
%patch3 -p1
@ -84,19 +81,25 @@ developing applications that use %{name}.
cp %SOURCE1 %SOURCE2 ./
%build
make lib
mkdir tmp
(cd tmp; ar -x ../lib/libsuperlu_%{version}.a)
gfortran -shared -Wl,-soname,libsuperlu.so.4 -o lib/libsuperlu.so tmp/*.o
mkdir build
cd build
cmake \
-DBUILD_SHARED_LIBS=ON \
-DCMAKE_INSTALL_PREFIX=%{_prefix} \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_C_FLAGS_RELEASE=\
"-O3 -fPIC -fschedule-insns2 \
-funroll-loops -fstrict-aliasing \
-ftree-vectorize -funit-at-a-time \
-frerun-loop-opt" \
..
make %{?_smp_mflags}
cd ..
%install
mkdir -p %{buildroot}%{_libdir}
mkdir -p %{buildroot}%{_includedir}
install -m644 SRC/*.h %{buildroot}%{_includedir}
install -m755 lib/libsuperlu.so %{buildroot}%{_libdir}/libsuperlu.so.%{version}
ln -s %{_libdir}/libsuperlu.so.%{version} %{buildroot}%{_libdir}/libsuperlu.so.4
ln -s %{_libdir}/libsuperlu.so.4 %{buildroot}%{_libdir}/libsuperlu.so
cd build
make DESTDIR=%{buildroot} install
cd ..
#fix permissions
chmod 644 MATLAB/*
@ -119,11 +122,11 @@ for i in stest dtest ctest ztest; do
cat TESTING/$i.out
done
%post -n libsuperlu4 -p /sbin/ldconfig
%post -n %soname -p /sbin/ldconfig
%postun -n libsuperlu4 -p /sbin/ldconfig
%postun -n %soname -p /sbin/ldconfig
%files -n libsuperlu4
%files -n %soname
%defattr(-,root,root,-)
%doc README MATLAB README.SUSE
%{_libdir}/*.so.*

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:7147d51d0218ada61ef190397595f77df7de42ff4f84087b81918ec6a2564039
size 2159982

3
superlu_5.2.1-bsd.tar.gz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:a69513a061432baaac93bfd60a258ad492b894a2f4025276e742d88251b8a82f
size 2540521

View File

@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:cb9b6dca641582b8346fdb58f22bc0b1284b5cbf99a322f8094f824059be8e6a
size 382387
oid sha256:f66438fe62cbc455855813b914095a11fe7b96a700926b59bce8a1d8a4dbcdba
size 687318