From f4d2dd39133dd3121876fc48b99354eba85835c53946006f32402141b646d613 Mon Sep 17 00:00:00 2001 From: Todd R Date: Fri, 21 Oct 2016 00:13:02 +0000 Subject: [PATCH] OBS-URL: https://build.opensuse.org/package/show/science/superlu?expand=0&rev=2 --- README.SUSE | 6 +- _multibuild | 4 - baselibs.conf | 1 + get-tarball.sh | 29 -- superlu-4.3-dont-opt-away.diff | 20 ++ superlu-4.3-include.patch | 22 ++ superlu-5.2-remove-mc64ad.patch | 17 +- superlu-5.3.0.tar.gz | 3 - ...rlu-examples_Makefile_remove_itersol.patch | 113 ------- superlu-make.linux.patch | 14 - superlu.changes | 135 +-------- superlu.spec | 285 ++++-------------- superlu_5.2.1-bsd.tar.gz | 3 + superlu_ug.pdf | 3 + 14 files changed, 133 insertions(+), 522 deletions(-) delete mode 100644 _multibuild create mode 100644 baselibs.conf delete mode 100644 get-tarball.sh create mode 100644 superlu-4.3-dont-opt-away.diff create mode 100644 superlu-4.3-include.patch delete mode 100644 superlu-5.3.0.tar.gz delete mode 100644 superlu-examples_Makefile_remove_itersol.patch delete mode 100644 superlu-make.linux.patch create mode 100644 superlu_5.2.1-bsd.tar.gz create mode 100644 superlu_ug.pdf diff --git a/README.SUSE b/README.SUSE index db372ec..0fbce77 100644 --- a/README.SUSE +++ b/README.SUSE @@ -1,10 +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. - -mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c -were removed from the tarball. +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. diff --git a/_multibuild b/_multibuild deleted file mode 100644 index 945ff53..0000000 --- a/_multibuild +++ /dev/null @@ -1,4 +0,0 @@ - - gnu-hpc - serial - diff --git a/baselibs.conf b/baselibs.conf new file mode 100644 index 0000000..5ac370e --- /dev/null +++ b/baselibs.conf @@ -0,0 +1 @@ +libsuperlu5 diff --git a/get-tarball.sh b/get-tarball.sh deleted file mode 100644 index 6029de8..0000000 --- a/get-tarball.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -set -e - -VERSION=5.3.0 -FILES="mc64ad.c sgsisx.c sldperm.c dgsisx.c dldperm.c cgsisx.c cldperm.c zgsisx.c zldperm.c" -URL="https://github.com/xiaoyeli/superlu/archive/v$VERSION/superlu-$VERSION.tar.gz" -TAR="superlu-$VERSION.tar.gz" - -WORKDIR="$(mktemp -d superlu.XXXX)" - -TODIR="$(pwd)" -cd "$WORKDIR" - -wget $URL -tar xfz superlu-$VERSION.tar.gz - -for file in $FILES; do - rm superlu-$VERSION/SRC/$file -done - -if [ -e "$TODIR/$TAR" ]; then - echo "$TAR already exists." -else - tar cfz "$TODIR/$TAR" superlu-$VERSION -fi - -cd "$TODIR" -rm -r "$WORKDIR" - diff --git a/superlu-4.3-dont-opt-away.diff b/superlu-4.3-dont-opt-away.diff new file mode 100644 index 0000000..23b015b --- /dev/null +++ b/superlu-4.3-dont-opt-away.diff @@ -0,0 +1,20 @@ +diff -aruN SuperLU_4.3.orig/INSTALL/timertst.c SuperLU_4.3/INSTALL/timertst.c +--- SuperLU_4.3.orig/INSTALL/timertst.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/INSTALL/timertst.c 2012-12-20 21:55:13.954437737 +0100 +@@ -6,6 +6,8 @@ + return; + } + ++volatile double _dummy; ++ + int main() + { + /* Parameters */ +@@ -32,6 +34,7 @@ + for (j = 0; j < iters; ++j) { + for (i = 0; i < NMAX; ++i) y[i] += alpha * x[i]; + alpha = -alpha; ++ _dummy = y[j%NMAX]; + } + t2 = SuperLU_timer_(); + tnotim = t2 - t1; diff --git a/superlu-4.3-include.patch b/superlu-4.3-include.patch new file mode 100644 index 0000000..8af8b69 --- /dev/null +++ b/superlu-4.3-include.patch @@ -0,0 +1,22 @@ +diff -aruN SuperLU_4.3.orig/TESTING/ddrive.c SuperLU_4.3/TESTING/ddrive.c +--- SuperLU_4.3.orig/TESTING/ddrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/ddrive.c 2012-12-20 22:14:43.026465899 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_ddefs.h" + + #define NTESTS 5 /* Number of test types */ +diff -aruN SuperLU_4.3.orig/TESTING/sdrive.c SuperLU_4.3/TESTING/sdrive.c +--- SuperLU_4.3.orig/TESTING/sdrive.c 2011-10-27 21:49:47.000000000 +0200 ++++ SuperLU_4.3/TESTING/sdrive.c 2012-12-20 22:14:43.030465752 +0100 +@@ -11,6 +11,7 @@ + * Purpose: MAIN test program + */ + #include ++#include + #include "slu_sdefs.h" + + #define NTESTS 5 /* Number of test types */ diff --git a/superlu-5.2-remove-mc64ad.patch b/superlu-5.2-remove-mc64ad.patch index 12ec520..64bbd68 100644 --- a/superlu-5.2-remove-mc64ad.patch +++ b/superlu-5.2-remove-mc64ad.patch @@ -1,15 +1,14 @@ -diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ---- a/SRC/CMakeLists.txt -+++ b/SRC/CMakeLists.txt -@@ -21,7 +21,6 @@ +--- 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 - dmach.c -@@ -65,9 +64,7 @@ + ) +@@ -63,9 +62,7 @@ smemory.c sutil.c smyblas2.c @@ -19,7 +18,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_sdrop_row.c ilu_ssnode_dfs.c ilu_scolumn_dfs.c -@@ -115,9 +112,7 @@ +@@ -112,9 +109,7 @@ dmemory.c dutil.c dmyblas2.c @@ -29,7 +28,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_ddrop_row.c ilu_dsnode_dfs.c ilu_dcolumn_dfs.c -@@ -168,9 +163,7 @@ +@@ -163,9 +158,7 @@ cmemory.c cutil.c cmyblas2.c @@ -39,7 +38,7 @@ diff -Nrua a/SRC/CMakeLists.txt b/SRC/CMakeLists.txt ilu_cdrop_row.c ilu_csnode_dfs.c ilu_ccolumn_dfs.c -@@ -219,9 +212,7 @@ +@@ -213,9 +206,7 @@ zmemory.c zutil.c zmyblas2.c diff --git a/superlu-5.3.0.tar.gz b/superlu-5.3.0.tar.gz deleted file mode 100644 index fc3eccb..0000000 --- a/superlu-5.3.0.tar.gz +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:c347397f791eb8cb18b557dfe8ed83eaed5638a59c7335808b3949673b35c0a3 -size 2468947 diff --git a/superlu-examples_Makefile_remove_itersol.patch b/superlu-examples_Makefile_remove_itersol.patch deleted file mode 100644 index 2d55379..0000000 --- a/superlu-examples_Makefile_remove_itersol.patch +++ /dev/null @@ -1,113 +0,0 @@ -diff -Nrua a/EXAMPLE/Makefile b/EXAMPLE/Makefile ---- a/EXAMPLE/Makefile -+++ b/EXAMPLE/Makefile -@@ -39,8 +39,6 @@ - SLINXEXM1 = slinsolx1.o - SLINXEXM2 = slinsolx2.o - SLINXEXM3 = slinsolx3.o --SITSOL = sitersol.o sfgmr.o --SITSOL1 = sitersol1.o sfgmr.o - - DLINEXM = dlinsol.o - DLINEXM1 = dlinsol1.o -@@ -49,8 +47,6 @@ - DLINXEXM2 = dlinsolx2.o - DLINXEXM3 = dlinsolx3.o - SUPERLUEXM = superlu.o sp_ienv.o --DITSOL = ditersol.o dfgmr.o --DITSOL1 = ditersol1.o dfgmr.o - - CLINEXM = clinsol.o - CLINEXM1 = clinsol1.o -@@ -58,8 +54,6 @@ - CLINXEXM1 = clinsolx1.o - CLINXEXM2 = clinsolx2.o - CLINXEXM3 = clinsolx3.o --CITSOL = citersol.o cfgmr.o --CITSOL1 = citersol1.o cfgmr.o - - ZLINEXM = zlinsol.o - ZLINEXM1 = zlinsol1.o -@@ -67,20 +61,17 @@ - ZLINXEXM1 = zlinsolx1.o - ZLINXEXM2 = zlinsolx2.o - ZLINXEXM3 = zlinsolx3.o --ZITSOL = zitersol.o zfgmr.o --ZITSOL1 = zitersol1.o zfgmr.o - - - all: single double complex complex16 - --single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 \ -- sitersol sitersol1 -+single: slinsol slinsol1 slinsolx slinsolx1 slinsolx2 slinsolx3 -+ - double: dlinsol dlinsol1 dlinsolx dlinsolx1 dlinsolx2 dlinsolx3 \ -- superlu ditersol ditersol1 --complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 \ -- citersol citersol1 --complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 \ -- zitersol zitersol1 -+ superlu -+complex: clinsol clinsol1 clinsolx clinsolx1 clinsolx2 clinsolx3 -+ -+complex16: zlinsol zlinsol1 zlinsolx zlinsolx1 zlinsolx2 zlinsolx3 - - slinsol: $(SLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SLINEXM) $(LIBS) -lm -o $@ -@@ -100,11 +91,6 @@ - slinsolx3: $(SLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SLINXEXM3) $(LIBS) -lm -o $@ - --sitersol: $(SITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(SITSOL) $(LIBS) -lm -o $@ -- --sitersol1: $(SITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(SITSOL1) $(LIBS) -lm -o $@ - - dlinsol: $(DLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(DLINEXM) $(LIBS) -lm -o $@ -@@ -127,12 +113,6 @@ - superlu: $(SUPERLUEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(SUPERLUEXM) $(LIBS) -lm -o $@ - --ditersol: $(DITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(DITSOL) $(LIBS) -lm -o $@ -- --ditersol1: $(DITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(DITSOL1) $(LIBS) -lm -o $@ -- - clinsol: $(CLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(CLINEXM) $(LIBS) -lm -o $@ - -@@ -151,12 +131,6 @@ - clinsolx3: $(CLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(CLINXEXM3) $(LIBS) -lm -o $@ - --citersol: $(CITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(CITSOL) $(LIBS) -lm -o $@ -- --citersol1: $(CITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(CITSOL1) $(LIBS) -lm -o $@ -- - zlinsol: $(ZLINEXM) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(ZLINEXM) $(LIBS) -lm -o $@ - -@@ -175,11 +149,6 @@ - zlinsolx3: $(ZLINXEXM3) $(SUPERLULIB) - $(LOADER) $(LOADOPTS) $(ZLINXEXM3) $(LIBS) -lm -o $@ - --zitersol: $(ZITSOL) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(ZITSOL) $(LIBS) -lm -o $@ -- --zitersol1: $(ZITSOL1) $(SUPERLULIB) -- $(LOADER) $(LOADOPTS) $(ZITSOL1) $(LIBS) -lm -o $@ - - .c.o: - $(CC) $(CFLAGS) $(CDEFS) $(INCLUDEDIR) -c $< $(VERBOSE) -@@ -189,7 +158,7 @@ - - clean: - rm -f *.o *linsol *linsol1 *linsolx *linsolx1 *linsolx2 *linsolx3 \ -- superlu *itersol *itersol1 -+ superlu diff --git a/superlu-make.linux.patch b/superlu-make.linux.patch deleted file mode 100644 index 1eb19ef..0000000 --- a/superlu-make.linux.patch +++ /dev/null @@ -1,14 +0,0 @@ -diff -Nrua a/MAKE_INC/make.linux b/MAKE_INC/make.linux ---- a/MAKE_INC/make.linux -+++ b/MAKE_INC/make.linux -@@ -21,8 +21,8 @@ - # - # The name of the libraries to be created/linked to - # --SuperLUroot = $(HOME)/Dropbox/Codes/SuperLU/SuperLU --SUPERLULIB = $(SuperLUroot)/lib/libsuperlu_5.1.a -+SuperLUroot = @superlu_home@ -+SUPERLULIB = @superlu_lib@ - - #BLASLIB = $(SuperLUroot)/lib/libblas.a - diff --git a/superlu.changes b/superlu.changes index f46c3da..0cfa3f4 100644 --- a/superlu.changes +++ b/superlu.changes @@ -1,111 +1,3 @@ -------------------------------------------------------------------- -Thu Sep 30 19:47:48 UTC 2021 - Antoine Ginies - -- update to version 5.3.0 (JSC#SLE-22138) - -------------------------------------------------------------------- -Thu Jan 28 17:45:16 UTC 2021 - Egbert Eich - -- Change 'Requires:' to other HPC packages to %requires_eq to depend - on the exact version. This should take care of HPC packages ignoring - proper ABI versioning. - -------------------------------------------------------------------- -Mon Nov 16 14:41:49 UTC 2020 - Ana Guerrero Lopez - -- Fix package name, re-add lines removed by mistake. - This fix duplicate binary names. (boo#1178840) - -------------------------------------------------------------------- -Mon Oct 26 14:11:13 UTC 2020 - Ana Guerrero Lopez - -- New version 5.2.2 (boo#1178112) - - bugfixes, documentation and examples update. -- Update URL and Source0 and Source1, use get_tarball.sh to remove - non distributable files. -- Install superlu_ug.pdf provided by the tarball. -- Remove patch, merged upstream - * superlu-4.3-include.patch - * superlu-4.3-dont-opt-away.diff - * superlu-5.2-make.patch -- Refresh patch: - * superlu-examples_Makefile_remove_itersol.patch - * superlu-make.linux.patch - -------------------------------------------------------------------- -Fri Sep 11 06:13:46 UTC 2020 - Egbert Eich - -- Add build support for gcc10 to HPC build (bsc#1174439). - -------------------------------------------------------------------- -Wed Feb 26 12:30:51 UTC 2020 - Egbert Eich - -- Add support for gcc8/9 building (jsc#SLE-8604). - -------------------------------------------------------------------- -Thu Feb 14 09:16:02 UTC 2019 - Jan Engelhardt - -- Fix the package group fix. - -------------------------------------------------------------------- -Sun Feb 10 23:11:37 UTC 2019 - Egbert Eich - -- Fix dependencies. -- Fix %%post and %%postun scripts for HPC. -- Fix HPC modulefile. -- Fix package groups. -- Generate and add pkgconfig files. - -------------------------------------------------------------------- -Fri Feb 8 10:50:43 UTC 2019 - eich@suse.com - -- Set default module version correctly when installing - master package, unset when deinstalling the default library - package. -- make example make.inc work with non-HPC builds as well. - -------------------------------------------------------------------- -Fri Feb 8 09:40:33 UTC 2019 - Antoine Ginies - -- Add superlu-examples_Makefile_remove_itersol.patch - superlu-make.linux.patch: - get a buildable examples test suite (bsc#1124765) - fixing Makefile - adding missing make.inc - -------------------------------------------------------------------- -Tue Jan 22 11:58:01 UTC 2019 - eich@suse.com - -- Disable HPC builds for ring testing on Factory submissions. - -------------------------------------------------------------------- -Mon Jan 21 15:09:13 UTC 2019 - eich@suse.com - -- Fix a word in a comment. -- Remove some colloquialism from a package description. - -------------------------------------------------------------------- -Fri Jan 18 14:46:44 UTC 2019 - eich@suse.com - -- Reenable ldconfig in %post and %postun for HPC but don't let it - update the cache: this would be pointless for libraries in - non-standard locations. - -------------------------------------------------------------------- -Thu Jan 10 09:31:45 UTC 2019 - eich@suse.com - -- Moved HPC module from devel to library package. -- Modified summary for devel package. - -------------------------------------------------------------------- -Fri Oct 26 19:55:59 UTC 2018 - eich@suse.com - -- Add environment module support for HPC. - * create baselib.conf on the fly. -- Add superlu-5.2-make.patch: - add compiler and build flags in make.inc. -- Separate off documentation and examples to separate packages. - ------------------------------------------------------------------- Tue Jun 14 12:56:22 UTC 2016 - badshah400@gmail.com @@ -136,7 +28,7 @@ Tue Jan 15 21:14:51 UTC 2013 - scorot@free.fr - repackage original source tarball in order to remove the HSL mc64ad routine that caonnt be redistributed bnc#796236 -- add README.SUSE file in the %%doci in order to explain +- add README.SUSE file in the %%doci in order to explain that change ------------------------------------------------------------------- @@ -167,14 +59,14 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr for both superlu & superlu_dist. * Replace qsort by "quick select" (qselect) in ILU's secondary dropping. - * Replace mc64ad.f by mc64ad.c using f2c. + * Replace mc64ad.f by mc64ad.c using f2c. * Bug fixes in ilu_sdrop_row.c. * Bug fixes in xgsisx.c, so that when mc64 permutation is used in ILU, the right-hand side is permuted properly. * Add parameter #7 in sp_ienv(), setting as the maxsuper for ILU code (smaller than parameter #3). * Update Users Guide. - * Update doxygen code documentation. + * Update doxygen code documentation. * Fix a bug in ILU driver routine dgsisx.c, so that on return, the initial row permutation is combined with perm_r[] from partial pivoting. @@ -194,7 +86,7 @@ Tue Dec 18 22:21:27 UTC 2012 - scorot@free.fr - Add %%ckeck - Update documentation file %%source1 and put html and examples files in %%doc -- Spec file reformating +- Spec file reformating ------------------------------------------------------------------- Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de @@ -205,7 +97,7 @@ Sun Jan 29 01:48:27 UTC 2012 - jengelh@medozas.de ------------------------------------------------------------------- Thu Jun 22 18:18:46 CEST 2006 - ro@suse.de -- remove selfprovides +- remove selfprovides ------------------------------------------------------------------- Mon Mar 27 02:23:29 CEST 2006 - garloff@suse.de @@ -234,15 +126,15 @@ Wed Dec 21 13:33:20 CET 2005 - garloff@suse.de Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de - Update to SuperLU-3.0: [#133821] - * Added "options" input argument and "stat" output argument + * Added "options" input argument and "stat" output argument for the driver routines * More Examples * Added a "symmetric mode" for (nearly) symmetric matrices * Better Fortran interface. - * fixed a bug in the complex drivers sgssvx/zgssvx when the + * fixed a bug in the complex drivers sgssvx/zgssvx when the input matrix is stored in compressed row format. - * prefixed the header files by "slu_". - * Fixed a memory leak in get_perm_c() when bnz=0. + * prefixed the header files by "slu_". + * Fixed a memory leak in get_perm_c() when bnz=0. * Changed "abs" to "fabs" in izmax1. * Upgraded COLAMD to the latest version (2.3).15 - Add various declarations and #include statements @@ -252,12 +144,12 @@ Wed Dec 21 02:17:35 CET 2005 - garloff@suse.de ------------------------------------------------------------------- Fri Nov 25 14:20:00 CET 2005 - yxu@suse.de -- add missing function prototypes +- add missing function prototypes ------------------------------------------------------------------- Tue Nov 15 13:42:23 CET 2005 - dmueller@suse.de -- avoid an endless loop during building (#133820) +- avoid an endless loop during building (#133820) ------------------------------------------------------------------- Mon May 9 17:24:12 CEST 2005 - meissner@suse.de @@ -267,7 +159,7 @@ Mon May 9 17:24:12 CEST 2005 - meissner@suse.de ------------------------------------------------------------------- Mon Dec 20 02:58:44 CET 2004 - garloff@suse.de -- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be +- Pass $(RPM_OPT_FLAGS) -Os -fPIC for files that don't need to be optimized. ------------------------------------------------------------------- @@ -338,7 +230,7 @@ Fri Apr 19 20:17:23 MEST 2002 - garloff@suse.de ------------------------------------------------------------------- Wed Apr 10 01:49:54 CEST 2002 - ro@suse.de -- fix owner for README.SuperLU +- fix owner for README.SuperLU ------------------------------------------------------------------- Mon Aug 7 22:12:27 CEST 2000 - garloff@suse.de @@ -359,3 +251,4 @@ Mon Sep 13 17:23:57 CEST 1999 - bs@suse.de Wed Sep 1 00:21:25 CEST 1999 - garloff@suse.de - First creation of package. + diff --git a/superlu.spec b/superlu.spec index cc41660..81a12ae 100644 --- a/superlu.spec +++ b/superlu.spec @@ -1,7 +1,8 @@ # # spec file for package superlu # -# Copyright (c) 2021 SUSE LLC +# 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 @@ -12,284 +13,118 @@ # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. -# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# Please submit bugfixes or comments via http://bugs.opensuse.org/ # -%global flavor @BUILD_FLAVOR@%{nil} - -# Base package name -%define pname superlu -%define ver 5.3.0 -%define _ver %(echo %{ver} | tr . _) - -%if "%flavor" == "" -ExclusiveArch: do_not_build -%endif - -%if "%{flavor}" == "serial" -%bcond_with hpc -%endif - -%if "%{flavor}" == "gnu-hpc" -%bcond_without hpc -%global compiler_family gnu -%undefine c_f_ver -%endif - -%if "%{flavor}" == "gnu7-hpc" -%bcond_without hpc -%global compiler_family gnu -%undefine c_f_ver 7 -%endif - -%if "%{flavor}" == "gnu8-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 8 -%endif - -%if "%{flavor}" == "gnu9-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 9 -%endif - -%if "%{flavor}" == "gnu10-hpc" -%bcond_without hpc -%global compiler_family gnu -%define c_f_ver 10 -%endif - -%bcond_with ringdisabled - -%if %{with hpc} && %{with ringdisabled} -ExclusiveArch: do_not_build -%endif - -%define package_name %pname -%if %{without hpc} -%define p_prefix %_prefix -%define p_includedir %_includedir -%define p_libdir %_libdir -%define _sover 5 -%define libname lib%{name}%{?_sover} -%else -%{hpc_init -c %compiler_family %{?c_f_ver:-v %{c_f_ver}} %{?ext:-e %{ext}}} -%define package_name %{hpc_package_name %_ver} -%define p_prefix %hpc_prefix -%define p_includedir %hpc_includedir -%define p_libdir %hpc_libdir -%define libname lib%{name} -%endif - -Name: %{package_name} -Summary: A general purpose library for the direct solution of linear equations +Name: superlu +Summary: A general purpose library for the direct solution of sparse systems of linear equations License: BSD-3-Clause -Group: Productivity/Scientific/Math -Version: %{ver} +Group: Development/Libraries/C and C++ +Version: 5.2.1 Release: 0 -URL: https://portal.nersc.gov/project/sparse/superlu/ -Source0: %{pname}-%{version}.tar.gz -# Tarball above is generated with the script below -Source1: get-tarball.sh +%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 -# PATCH-FIX-OPENSUSE superlu-5.2-remove-mc64ad.patch [bnc#796236] +Source3: baselibs.conf +# 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-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 functional +# this routine in the library which, however, remains fully functionnal Patch3: superlu-5.2-remove-mc64ad.patch -Patch4: superlu-examples_Makefile_remove_itersol.patch -Patch5: superlu-make.linux.patch +Url: http://crd.lbl.gov/~xiaoye/SuperLU/ +BuildRequires: blas-devel BuildRequires: cmake >= 2.8.12 BuildRequires: fdupes -BuildRequires: tcsh -%if %{without hpc} -BuildRequires: blas-devel BuildRequires: gcc-fortran -%else -Requires: %{compiler_family}%{?c_f_ver}-compilers-hpc -BuildRequires: %{compiler_family}%{?c_f_ver}-compilers-hpc-macros-devel -BuildRequires: libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel -BuildRequires: suse-hpc >= 0.3 -%endif +BuildRequires: tcsh +BuildRoot: %{_tmppath}/%{name}-%{version}-build %description SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. -Documentation can be found in the %{name}-doc package or on -http://www.netlib.org. - -%package -n %libname +%package -n %soname Summary: SuperLU matrix solver Group: System/Libraries -%if %{with hpc} -%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc} -Requires: lua-lmod >= 7.6.1 -%hpc_requires -%endif -%description -n %libname +%description -n %soname SuperLU is an algorithm that uses group theory to optimize LU decomposition of sparse matrices. %package devel -Summary: Headers and development library for lib%{name}%{?_sover} +Summary: Development files for %{name} Group: Development/Libraries/C and C++ -Requires: %libname = %version -%if %{with hpc} -%{requires_eq libopenblas%{?hpc_ext}-%{compiler_family}%{?c_f_ver}-hpc-devel} -%hpc_requires_devel -%endif -Recommends: %name-doc +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 <= 3.0 %description devel -SuperLU headers and libraries files needed for development - -%package doc -Summary: Documentation for %name -Group: Documentation/Other - -%description doc -Documentation (HTML/PDF) for SuperLU. -SuperLU is an algorithm that uses group theory to optimize LU -decomposition of sparse matrices. - -%package examples -Summary: Examples for %name -Group: Documentation/Other -Recommends: %name-devel - -%description examples -Example programs for SuperLU. -SuperLU is an algorithm that uses group theory to optimize LU -decomposition of sparse matrices. - -%if %{with hpc} -%{hpc_master_package -l -L} -%{hpc_master_package -L devel} -%{hpc_master_package doc} -%{hpc_master_package -L examples} -%endif +The %{name}-devel package contains libraries and header files for +developing applications that use %{name}. %prep -%setup -q -n superlu-%{version} +%setup -q -n SuperLU_%{version} +%patch1 -p1 +%patch2 -p1 %patch3 -p1 -%patch4 -p1 -%patch5 -p1 -cp %SOURCE2 ./ -# Create baselibs.conf dynamically (non-HPC build only). -%if %{without hpc} -cat > %{_sourcedir}/baselibs.conf <