changeset 6455:7cf5b482756d

maint: Merge release to default.
author Markus Mützel <markus.muetzel@gmx.de>
date Sat, 15 Oct 2022 15:27:45 +0200
parents 4d61a025ac7e (current diff) 9b5b81c294f9 (diff)
children 23306427b47f
files dist-files.mk
diffstat 5 files changed, 140 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/dist-files.mk	Wed Oct 12 21:49:37 2022 -0400
+++ b/dist-files.mk	Sat Oct 15 15:27:45 2022 +0200
@@ -294,6 +294,8 @@
   libpng-test.c \
   libpng.mk \
   libproxy.mk \
+  librsb-1-setenv.patch \
+  librsb-2-config.patch \
   librsb.mk \
   librsvg-1-fixes.patch \
   librsvg-test.c \
@@ -536,6 +538,7 @@
   of-sparsersb-1-dev.patch \
   of-sparsersb-1-no-internal-mex-fcns.patch \
   of-sparsersb-2-no-cxx11.patch \
+  of-sparsersb-2-tempdir.patch \
   of-sparsersb.mk \
   of-specfun-1-deprecated.patch \
   of-specfun.mk \
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/librsb-1-setenv.patch	Sat Oct 15 15:27:45 2022 +0200
@@ -0,0 +1,49 @@
+--- librsb-1.3.0.1/rsb_test_matops.c.orig	2022-02-24 11:11:02.000000000 +0100
++++ librsb-1.3.0.1/rsb_test_matops.c	2022-10-15 13:44:55.920772450 +0200
+@@ -1979,7 +1979,7 @@
+ 			RSB_STDOUT("# Memory benchmark took %.3lfs\n",dt);
+ 	}
+ 
+-#ifdef RSB_HAVE_UNISTD_H
++#ifdef RSB_HAVE_SETENV
+ {
+ 	/* special environmental variables set just for the sake of being saved in .rpr files */
+ #ifdef RSB_CC
+@@ -6536,7 +6536,7 @@
+ 			RSB_STDOUT("# Memory benchmark took %.3lfs\n",dt);
+ 	}
+ 
+-#ifdef RSB_HAVE_UNISTD_H
++#ifdef RSB_HAVE_SETENV
+ {
+ 	/* special environmental variables set just for the sake of being saved in .rpr files */
+ #ifdef RSB_CC
+@@ -10962,7 +10962,7 @@
+ 			RSB_STDOUT("# Memory benchmark took %.3lfs\n",dt);
+ 	}
+ 
+-#ifdef RSB_HAVE_UNISTD_H
++#ifdef RSB_HAVE_SETENV
+ {
+ 	/* special environmental variables set just for the sake of being saved in .rpr files */
+ #ifdef RSB_CC
+ 
+ --- librsb-1.3.0.1/rsbench.c.orig	2022-10-15 13:54:32.053382000 +0200
++++ librsb-1.3.0.1/rsbench.c	2022-10-15 13:54:58.038005553 +0200
+@@ -479,7 +479,15 @@
+ 	{
+ 		const rsb_char_t *name=ava, *value=esp+1;
+ 		*esp=RSB_NUL;
++		#ifdef RSB_HAVE_SETENV
+ 		setenv(name, value, /*overwrite*/1);
++		#else
++		rsb_char_t buf[1000];
++		strcpy(buf, name);
++		strcat(buf, "=");
++		strcat(buf, value);
++		putenv(buf);
++		#endif
+ 		RSBENCH_STDOUT("# Calling setenv() with arguments %s and %s\n",name,value);
+ 	}
+ 	if( ava )
+ 	
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/librsb-2-config.patch	Sat Oct 15 15:27:45 2022 +0200
@@ -0,0 +1,11 @@
+--- librsb-1.3.0.1/librsb-config.in.orig	2022-04-28 19:17:05.000000000 +0200
++++ librsb-1.3.0.1/librsb-config.in	2022-10-15 14:10:34.827545946 +0200
+@@ -16,7 +16,7 @@
+ includedir="@includedir@/"
+ ldflags="@LDFLAGS@"
+ # Note: if using -lrsbpp explicitly and -stdc++ is there, optional -lasan needs to precede -stdc++ (in RSB_RSBPP_LIBS)
+-libs="-lrsb"
++libs="-lrsb -lz"
+ extra_libs="@LIBS@ @OPENMP_CFLAGS@ @LIBRSB_MKL_LIBS@ @RSB_RSBPP_LIBS@"
+ all_libs="-lrsb"
+ fclibs="@FCLIBS@"
--- a/src/librsb.mk	Wed Oct 12 21:49:37 2022 -0400
+++ b/src/librsb.mk	Sat Oct 15 15:27:45 2022 +0200
@@ -3,8 +3,8 @@
 
 PKG             := librsb
 $(PKG)_IGNORE   :=
-$(PKG)_VERSION  := 1.2.0.11
-$(PKG)_CHECKSUM := 5c4e31e3e61f5b6b21a777b2e5093861e52da852
+$(PKG)_VERSION  := 1.3.0.1
+$(PKG)_CHECKSUM := c5781cfdd137a6d442318f9f5e7b9fd18c46d8c2
 $(PKG)_SUBDIR   := $(PKG)-$($(PKG)_VERSION)
 $(PKG)_FILE     := $(PKG)-$($(PKG)_VERSION).tar.gz
 $(PKG)_URL      := http://$(SOURCEFORGE_MIRROR)/project/$(PKG)/$($(PKG)_FILE)
@@ -25,9 +25,11 @@
         --prefix='$(HOST_PREFIX)' \
         $(ENABLE_SHARED_OR_STATIC) \
         $(CONFIGURE_CPPFLAGS) $(CONFIGURE_LDFLAGS) \
-        --disable-c-examples --disable-fortran-examples \
+        --disable-c-examples \
+        --disable-fortran-examples \
         --disable-sparse-blas-interface \
-        --disable-octave-testing
+        --disable-octave-testing \
+        --without-librsbpp
     $(MAKE) -C '$(1)' -j '$(JOBS)' 
     $(MAKE) -C '$(1)' -j 1 install DESTDIR='$(3)'
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/of-sparsersb-2-tempdir.patch	Sat Oct 15 15:27:45 2022 +0200
@@ -0,0 +1,71 @@
+# HG changeset patch
+# User michelemartone
+# Date 1665599445 -7200
+#      Wed Oct 12 20:30:45 2022 +0200
+# Node ID 676a7eac6e696233483aae873b3bac11475e7934
+# Parent  48a739069b97dbb1f2e2c059ca7ed4a1ab60d296
+fix: `pkg test sparsersb` can now in read-only directory
+
+Thanks to Markus Muetzel for telling of the defect and suggesting
+a solution (which is here implemented) on https://savannah.gnu.org/bugs/?61393
+This fix uses his solution of creating a file in a temporary directory:
+ sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
+which can persist across test cases.
+
+diff -r 48a739069b97 -r 676a7eac6e69 src/sparsersb.cc
+--- a/src/sparsersb.cc	Thu Aug 04 12:28:14 2022 +0200
++++ b/src/sparsersb.cc	Wed Oct 12 20:30:45 2022 +0200
+@@ -3421,9 +3421,11 @@
+ %! assert(sparsersb(s,"RSB_MIF_TOTAL_SIZE__TO__SIZE_T") == sparsersb(s,"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"))
+ %!test
+ %! s=sparsersb([1]);
+-%! sparsersb(sparsersb([11,0;21,22]),"save","sparsersb_temporary_matrix_file.mtx")
+-%!test
+-%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] = sparsersb("sparsersb_temporary_matrix_file.mtx"     );
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! sparsersb(sparsersb([11,0;21,22]),"save",sparsersb_temporary_matrix_file)
++%!test
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] = sparsersb(sparsersb_temporary_matrix_file     );
+ %! assert(NROWS==2)
+ %! assert(NCOLS==2)
+ %! assert(NNZ==3)
+@@ -3430,28 +3509,33 @@
+ %! assert(FIELD=="real");
+ %! assert(SYMMETRY=='U');
+ %!test
+-%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] = sparsersb("sparsersb_temporary_matrix_file.mtx", "Z");
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");;
++%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD, SYMMETRY] = sparsersb(sparsersb_temporary_matrix_file, "Z");
+ %! assert(NROWS==2);
+ %! assert(NCOLS==2);
+ %! assert(NNZ==3);
+ %! assert(FIELD=="complex");
+ %! assert(SYMMETRY=='U');
+ %!test
+-%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD] = sparsersb("sparsersb_temporary_matrix_file.mtx", "D");
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! [S, NROWS, NCOLS, NNZ, REPINFO, FIELD] = sparsersb(sparsersb_temporary_matrix_file, "D");
+ %! assert(NROWS==2);
+ %! assert(NCOLS==2);
+ %! assert(NNZ==3);
+ %! assert(FIELD=="real");
+ %!test
+-%! [S, NROWS, NCOLS, NNZ, REPINFO] = sparsersb("sparsersb_temporary_matrix_file.mtx", "D");
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! [S, NROWS, NCOLS, NNZ, REPINFO] = sparsersb(sparsersb_temporary_matrix_file, "D");
+ %! assert(NROWS==2);
+ %! assert(NCOLS==2);
+ %! assert(NNZ==3);
+ %!test
+-%! [S, NROWS, NCOLS] = sparsersb("sparsersb_temporary_matrix_file.mtx", "D");
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! [S, NROWS, NCOLS] = sparsersb(sparsersb_temporary_matrix_file, "D");
+ %! assert(NROWS==2);
+ %! assert(NCOLS==2);
+ %!test
+-%! [S, NROWS] = sparsersb("sparsersb_temporary_matrix_file.mtx", "D");
++%! sparsersb_temporary_matrix_file = fullfile(tempdir(),"sparsersb_temporary_matrix_file.mtx");
++%! [S, NROWS] = sparsersb(sparsersb_temporary_matrix_file, "D");
+ %! assert(NROWS==2);
+ %!test