Hello community, here is the log from the commit of package suitesparse for openSUSE:Factory checked in at 2018-06-02 11:50:08 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/suitesparse (Old) and /work/SRC/openSUSE:Factory/.suitesparse.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Package is "suitesparse" Sat Jun 2 11:50:08 2018 rev:25 rq:610773 version:unknown Changes: -------- --- /work/SRC/openSUSE:Factory/suitesparse/suitesparse.changes 2018-02-28 20:00:45.980230910 +0100 +++ /work/SRC/openSUSE:Factory/.suitesparse.new/suitesparse.changes 2018-06-02 11:50:21.931923482 +0200 @@ -1,0 +2,31 @@ +Mon Feb 26 19:58:00 UTC 2018 - toddrme2178@gmail.com + +- Update to SuiteSparse 5.2.0 + * GraphBLAS 2.0.1: bug fix to GxB_kron + * SuiteSparse_config: corrected back to SO_VERSION 5 + * GraphBLAS 2.0.0: with changes to API to conform to the latest + specification. The SO_VERSION of GraphBLAS must change, + as a result, since this affects both the ABI and API interface. + * CHOLMOD 3.1.12: bug fix (no change to the CHOLMOD ABI or API) + * KLU 1.3.9: minor edit, not a bug fix, but code is more clear now +- Update to SuiteSparse 5.1.2 + * improved build process for GraphBLAS + * minor change to CSparse/Lib/Makefile, no change in CSparse version +- Update to SuiteSparse 5.1.1 + * GraphBLAS added to top-level SuiteSparse/Makefile + * GraphBLAS 1.1.1: bug fix to *assign, split AxB for faster compile, + added memory usage statistics, AxB performance improvment + * minor update to [AMD CAMD KLU]/Doc/Makefile's, no change to + version numbers of AMD, CAMD, or KLU +- Update to SuiteSparse 5.1.0 + * GraphBLAS 1.1.0 + * minor update to SPQR Makefile (version remains unchanged; + no change to source) +- Update to SuiteSparse 5.0.0 + * added GraphBLAS Version 1.0.0 + * replaced UFget with ssget +- Use build-in build system instead of manually building everything +- Simplify spec file +- Add build_csparse_shared.patch to build CSparse as a shared library + +------------------------------------------------------------------- Old: ---- SuiteSparse-4.5.5.tar.gz New: ---- SuiteSparse-5.2.0.tar.gz build_csparse_shared.patch ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ suitesparse.spec ++++++ ++++ 630 lines (skipped) ++++ between /work/SRC/openSUSE:Factory/suitesparse/suitesparse.spec ++++ and /work/SRC/openSUSE:Factory/.suitesparse.new/suitesparse.spec ++++++ SuiteSparse-4.5.5.tar.gz -> SuiteSparse-5.2.0.tar.gz ++++++ /work/SRC/openSUSE:Factory/suitesparse/SuiteSparse-4.5.5.tar.gz /work/SRC/openSUSE:Factory/.suitesparse.new/SuiteSparse-5.2.0.tar.gz differ: char 5, line 1 ++++++ build_csparse_shared.patch ++++++ From: toddrme2178@gmail.com Date: 2018-03-07 Subject: Build shared CSparse Upstream does not support installing CSparse as a shared library. We need it is a shared library. This patch modifies the makefil to make sure it is installed correctly. --- a/CSparse/Demo/Makefile +++ b/CSparse/Demo/Makefile @@ -1,36 +1,48 @@ -CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O -I = -I../Include +# CC = cc +# CF = -O + +default: all + +include ../../SuiteSparse_config/SuiteSparse_config.mk LDLIBS += -lm -CS = $(LDFLAGS) ../Lib/libcsparse.a $(LDLIBS) -all: lib cs_demo1 cs_demo2 cs_demo3 +I = -I../../include + +CS = $(LDFLAGS) -L../../lib -lcsparse $(LDLIBS) + +all: library cs_demo1 cs_demo2 cs_demo3 \ + tests + +library: + ( cd ../Lib ; $(MAKE) ) + +tests: library test + +test: cs_demo1 cs_demo2 cs_demo3 - ./cs_demo1 < ../Matrix/t1 - ./cs_demo2 < ../Matrix/t1 - - ./cs_demo2 < ../Matrix/ash219 - - ./cs_demo2 < ../Matrix/bcsstk01 - ./cs_demo2 < ../Matrix/fs_183_1 - - ./cs_demo2 < ../Matrix/mbeacxc - ./cs_demo2 < ../Matrix/west0067 - ./cs_demo2 < ../Matrix/lp_afiro - - ./cs_demo2 < ../Matrix/bcsstk16 + - ./cs_demo2 < ../Matrix/ash219 + - ./cs_demo2 < ../Matrix/mbeacxc + - ./cs_demo2 < ../Matrix/bcsstk01 - ./cs_demo3 < ../Matrix/bcsstk01 + - ./cs_demo2 < ../Matrix/bcsstk16 - ./cs_demo3 < ../Matrix/bcsstk16 -lib: - ( cd ../Lib ; $(MAKE) ) - -cs_demo1: lib cs_demo1.c Makefile +cs_demo1: cs_demo1.c Makefile $(CC) $(CF) $(I) -o cs_demo1 cs_demo1.c $(CS) -cs_demo2: lib cs_demo2.c cs_demo.c cs_demo.h Makefile +cs_demo2: cs_demo2.c cs_demo.c cs_demo.h Makefile $(CC) $(CF) $(I) -o cs_demo2 cs_demo2.c cs_demo.c $(CS) -cs_demo3: lib cs_demo3.c cs_demo.c cs_demo.h Makefile +cs_demo3: cs_demo3.c cs_demo.c cs_demo.h Makefile $(CC) $(CF) $(I) -o cs_demo3 cs_demo3.c cs_demo.c $(CS) clean: - - $(RM) *.o + - $(RM) -r $(CLEAN) purge: distclean --- a/CSparse/Lib/Makefile +++ b/CSparse/Lib/Makefile @@ -15,16 +15,22 @@ # CSparse/Lib. It does not install it for system-wide usage. LIBRARY = libcsparse -CF = $(CFLAGS) $(CPPFLAGS) $(TARGET_ARCH) -O +VERSION = _ +SO_VERSION = _ -I = -I../Include -RANLIB = ranlib -ARCHIVE = $(AR) $(ARFLAGS) -CP = cp -f +default: library -AR_TARGET = $(LIBRARY).a +include ../../SuiteSparse_config/SuiteSparse_config.mk -all: install +LDLIBS += -lm + +# compile and install in SuiteSparse/lib +library: + $(MAKE) install INSTALL=$(SUITESPARSE) + +I = -I../../SuiteSparse_config -I../Include + +all: library CS = cs_add.o cs_amd.o cs_chol.o cs_cholsol.o cs_counts.o cs_cumsum.o \ cs_droptol.o cs_dropzeros.o cs_dupl.o cs_entry.o \ @@ -39,25 +45,43 @@ $(CS): ../Include/cs.h Makefile %.o: ../Source/%.c ../Include/cs.h - $(CC) $(CF) $(I) -c $< + $(CC) $(CF) $(I) -c $< -o $@ static: $(AR_TARGET) $(AR_TARGET): $(CS) - $(ARCHIVE) $@ $^ + $(ARCHIVE) $@ $^ - $(RANLIB) $@ -# install CSparse in this directory -install: $(AR_TARGET) - -# uninstall CSparse -uninstall: purge - clean: - - $(RM) *.o + - $(RM) -r $(CLEAN) purge: distclean distclean: clean - - $(RM) *.a *.obj *.dll *.dylib *.so *.so.* + - $(RM) -r $(PURGE) + +# install CSparse +install: $(AR_TARGET) $(INSTALL_LIB)/$(SO_TARGET) + +$(INSTALL_LIB)/$(SO_TARGET): $(CS) + @mkdir -p $(INSTALL_LIB) + @mkdir -p $(INSTALL_INCLUDE) + @mkdir -p $(INSTALL_DOC) + $(CC) $(SO_OPTS) $^ -o $@ $(LDLIBS) + ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_PLAIN) ) + ( cd $(INSTALL_LIB) ; ln -sf $(SO_TARGET) $(SO_MAIN) ) + $(CP) ../Include/cs.h $(INSTALL_INCLUDE) + $(CP) ../README.txt $(INSTALL_DOC)/CSPARSE_README.txt + chmod 755 $(INSTALL_LIB)/$(SO_TARGET) + chmod 644 $(INSTALL_INCLUDE)/cs.h + chmod 644 $(INSTALL_DOC)/CSPARSE_README.txt + +# uninstall CSparse +uninstall: + $(RM) $(INSTALL_LIB)/$(SO_TARGET) + $(RM) $(INSTALL_LIB)/$(SO_PLAIN) + $(RM) $(INSTALL_LIB)/$(SO_MAIN) + $(RM) $(INSTALL_INCLUDE)/cs.h + $(RM) $(INSTALL_DOC)/CSPARSE_README.txt --- a/CSparse/Makefile +++ b/CSparse/Makefile @@ -2,6 +2,13 @@ # CSparse Makefile #------------------------------------------------------------------------------ +SUITESPARSE ?= $(realpath $(CURDIR)/..) +export SUITESPARSE + +default: C + +include ../SuiteSparse_config/SuiteSparse_config.mk + C: ( cd Lib ; $(MAKE) ) ( cd Demo ; $(MAKE) ) @@ -34,9 +41,11 @@ distclean: purge -install: library +# install CSparse +install: ( cd Lib ; $(MAKE) install ) +# uninstall CSparse uninstall: ( cd Lib ; $(MAKE) uninstall )