# HG changeset patch # User John Donoghue # Date 1530131253 14400 # Node ID a92a6988fae7e302f736c2e513648ed9413811e1 # Parent 5cdbc2b1eec8ac3bee6f1072ea359d4da625fda9 of-sparsersb: update to v1.0.6 * build_packages.m: update sparser version * src/of-sparsersb.mk: update version/checksum * src/of-sparsersb-1-fixes.patch: removed file * dist-files.mk: remove ref to of-sparsersb-1-fixes.patch * Makefile.in: readd sparser to forge packages diff -r 5cdbc2b1eec8 -r a92a6988fae7 Makefile.in --- a/Makefile.in Wed Jun 27 16:15:35 2018 -0400 +++ b/Makefile.in Wed Jun 27 16:27:33 2018 -0400 @@ -487,10 +487,8 @@ OCTAVE_FORGE_BASE_URL := 'https://sourceforge.net/projects/octave/files/Octave Forge Packages/Individual Package Releases' ## Packages removed from list because build is broken: -## sparsersb: configure script needs many fixes for syntax -## configure script fails for cross compiling because -## it attempts to run Octave -OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim general signal communications image io statistics control geometry windows linear-algebra sockets data-smoothing fuzzy-logic-toolkit quaternion fits tsa netcdf ltfat database instrument-control generate_html nurbs strings financial stk splines dataframe lssa queueing ga odepkg interval nan ocs mapping tisean video zeromq gsl optiminterp dicom) +## None. +OCTAVE_FORGE_PACKAGES := $(addprefix of-,miscellaneous struct optim general signal communications image io statistics control geometry windows linear-algebra sockets data-smoothing fuzzy-logic-toolkit quaternion fits tsa netcdf ltfat database instrument-control generate_html nurbs strings financial stk splines dataframe lssa queueing ga odepkg interval nan ocs mapping tisean video zeromq gsl optiminterp dicom sparsersb) # get ALL deps for all of- packages, regardless of whether building the actual forge package in the installer OCTAVE_FORGE_DEPS:= $(sort $(foreach p,$(addprefix $(TOP_DIR)/src/,$(addsuffix .mk,$(OCTAVE_FORGE_PACKAGES))),$(shell $(SED) -n 's/.*_DEPS.*:=\(.*\)/\1/p' $p))) diff -r 5cdbc2b1eec8 -r a92a6988fae7 build_packages.m --- a/build_packages.m Wed Jun 27 16:15:35 2018 -0400 +++ b/build_packages.m Wed Jun 27 16:27:33 2018 -0400 @@ -68,7 +68,7 @@ try_install ocs-0.1.5.tar.gz try_install mapping-1.2.1.tar.gz try_install tisean-0.2.3.tar.gz - try_install sparsersb-1.0.5.tar.gz + try_install sparsersb-1.0.6.tar.gz try_install video-1.2.4.tar.gz try_install zeromq-1.3.0.tar.gz try_install gsl-2.1.0.tar.gz diff -r 5cdbc2b1eec8 -r a92a6988fae7 dist-files.mk --- a/dist-files.mk Wed Jun 27 16:15:35 2018 -0400 +++ b/dist-files.mk Wed Jun 27 16:27:33 2018 -0400 @@ -516,7 +516,6 @@ of-signal.mk \ of-sockets-1-cross-fixes.patch \ of-sockets.mk \ - of-sparsersb-1-fixes.patch \ of-sparsersb.mk \ of-specfun.mk \ of-splines.mk \ diff -r 5cdbc2b1eec8 -r a92a6988fae7 src/of-sparsersb-1-fixes.patch --- a/src/of-sparsersb-1-fixes.patch Wed Jun 27 16:15:35 2018 -0400 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,225 +0,0 @@ -diff -ur sparsersb-1.0.5.orig/src/sparsersb.cc sparsersb-1.0.5/src/sparsersb.cc ---- sparsersb-1.0.5.orig/src/sparsersb.cc 2017-04-08 17:49:45.120506400 -0400 -+++ sparsersb-1.0.5/src/sparsersb.cc 2017-04-08 17:50:04.244313729 -0400 -@@ -311,7 +311,7 @@ - // assumes tacitly that rsboi_idx_overflow(IA[i],JA[i])==false for i in 0..nnzA-1. - rsb_err_t errval = RSB_ERR_NO_ERROR; - -- errval = rsb_mtx_get_coo(mtxAp, VA, (rsb_coo_idx_t *)IA, (rsb_coo_idx_ t*)JA, flags ); -+ errval = rsb_mtx_get_coo(mtxAp, VA, (rsb_coo_idx_t *)IA, (rsb_coo_idx_t*)JA, flags ); - rsb_nnz_idx_t nnzA = 0; - rsb_mtx_get_info(mtxAp,RSB_MIF_MATRIX_NNZ__TO__RSB_NNZ_INDEX_T,&nnzA); // FIXME: make this a member and use nnz() - rsboi_ri2oi((rsb_coo_idx_t *)IA,nnzA); -diff -r e6017808f88d src/configure.ac ---- a/src/configure.ac Fri Jul 21 12:04:41 2017 -0400 -+++ b/src/configure.ac Fri Jul 21 13:25:48 2017 -0400 -@@ -107,11 +107,7 @@ - fi - fi - --if test -x `which $OCTAVE-cli` ; then -- OCTAVE_CLI="$OCTAVE-cli"; --else -- OCTAVE_CLI="$OCTAVE"; --fi -+OCTAVE_CLI="$OCTAVE --no-gui --no-window-system"; - - SPARSERSB_USE_64BIT_IDX=`$OCTAVE_CLI --no-line-editing -qf --eval 'printf ("%i", sizemax() > intmax ("int32"))'` - if [test x"$SPARSERSB_USE_64BIT_IDX" = x"1" ]; then -diff -r 105149bc4206 src/Makeconf.in ---- a/src/Makeconf.in Fri Jul 21 13:47:46 2017 -0400 -+++ b/src/Makeconf.in Fri Jul 21 14:52:25 2017 -0400 -@@ -4,3 +4,4 @@ - SPARSERSB_CXXFLAGS = @SPARSERSB_CXXFLAGS@ - SPARSERSB_LDFLAGS = @SPARSERSB_LDFLAGS@ - SPARSERSB_CXX11= @SPARSERSB_CXX11@ -+OCTAVE_FUNC_DEFINES = @HAVE_OCTAVE_VALUE_ISCOMPLEX@ -diff -r 105149bc4206 src/Makefile ---- a/src/Makefile Fri Jul 21 13:47:46 2017 -0400 -+++ b/src/Makefile Fri Jul 21 14:52:25 2017 -0400 -@@ -1,7 +1,7 @@ - sinclude Makeconf - # Makeconf is created by the configure script. - # You can also not use it but set explicitly the following: --CXXFLAGS=$(SPARSERSB_CXXFLAGS) -+CXXFLAGS=$(SPARSERSB_CXXFLAGS) $(OCTAVE_FUNC_DEFINES) - LFLAGS=$(shell $(MKOCTFILE) -p LFLAGS) $(SPARSERSB_LDFLAGS) - CXXFLAGS_CXX11=$(SPARSERSB_CXX11) - -diff -r 105149bc4206 src/configure.ac ---- a/src/configure.ac Fri Jul 21 13:47:46 2017 -0400 -+++ b/src/configure.ac Fri Jul 21 14:52:25 2017 -0400 -@@ -154,6 +154,40 @@ - AC_MSG_ERROR([$PACKAGE_NAME requires librsb library]) - fi - -+# check for octave functions -+save_CXX="$CXX" -+save_CXXFLAGS="$CXXFLAGS" -+CXX=`${MKOCTFILE} -p CXX` -+CXXFLAGS="$CXXFLAGS -I`$MKOCTFILE -p OCTINCLUDEDIR`" -+ -+# need to use interpreter->get_load_path in dev version of octave, -+# prior to that methods of load_path were static -+AC_CACHE_CHECK( -+ [for octave_value function iscomplex], -+ [octave_value_cv_iscomplex], -+ [AC_COMPILE_IFELSE( -+ [AC_LANG_PROGRAM([ -+ #include -+ #include -+ ], -+ [ -+ octave_value().iscomplex(); -+ ])], -+ [octave_value_cv_iscomplex=yes], -+ [octave_value_cv_iscomplex=no]) -+ ]) -+if test "$octave_value_cv_iscomplex" = "yes" ; then -+ HAVE_OCTAVE_VALUE_ISCOMPLEX=-DHAVE_OCTAVE_VALUE_ISCOMPLEX -+else -+ HAVE_OCTAVE_VALUE_ISCOMPLEX= -+fi -+AC_SUBST(HAVE_OCTAVE_VALUE_ISCOMPLEX) -+ -+CC=$save_CXX -+CXXFLAGS=$save_CXXFLAGS -+ -+ -+ - AC_SUBST(OCTAVE) - AC_SUBST(TARGETS) - AC_SUBST(SPARSERSB_CXXFLAGS) -@@ -163,6 +197,7 @@ - AC_CONFIG_FILES([Makeconf]) - AC_OUTPUT - -+ - AC_MSG_NOTICE([ - - $PACKAGE_NAME is configured with: -diff -r 105149bc4206 src/sparsersb.cc ---- a/src/sparsersb.cc Fri Jul 21 13:47:46 2017 -0400 -+++ b/src/sparsersb.cc Fri Jul 21 14:52:25 2017 -0400 -@@ -177,7 +177,11 @@ - - #ifdef RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX - #define RSBOI_WANT_DOUBLE_COMPLEX 1 -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+#define ORSB_RSB_TYPE_FLAG(OBJ) (((OBJ).iscomplex())?RSB_NUMERICAL_TYPE_DOUBLE:RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX) -+#else - #define ORSB_RSB_TYPE_FLAG(OBJ) (((OBJ).is_complex_type())?RSB_NUMERICAL_TYPE_DOUBLE:RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX) -+#endif - #else - #define RSBOI_WANT_DOUBLE_COMPLEX 0 - #define ORSB_RSB_TYPE_FLAG(OBJ) RSB_NUMERICAL_TYPE_DOUBLE -@@ -228,7 +232,11 @@ - } - #endif - #if RSBOI_WANT_DOUBLE_COMPLEX -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+#define RSBOI_BINOP_PREVAILING_TYPE(V1,V2) (((V1).iscomplex()||(V2).iscomplex())?RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX:RSB_NUMERICAL_TYPE_DOUBLE) -+#else - #define RSBOI_BINOP_PREVAILING_TYPE(V1,V2) (((V1).is_complex_type()||(V2).is_complex_type())?RSB_NUMERICAL_TYPE_DOUBLE_COMPLEX:RSB_NUMERICAL_TYPE_DOUBLE) -+#endif - #else - #define RSBOI_BINOP_PREVAILING_TYPE(V1,V2) RSBOI_TYPECODE - #endif -@@ -863,7 +871,11 @@ - bool is_diagonal (void) const { RSBOI_0_EMCHECK(this->mtxAp); RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG);return RSB_DO_FLAG_HAS(this->rsbflags(),RSB_FLAG_DIAGONAL)?true:false; }/* FIXME: new: not sure whether this is ever called */ - bool is_lower_triangular (void) const { RSBOI_0_EMCHECK(this->mtxAp); RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG);return RSB_DO_FLAG_HAS(this->rsbflags(),RSB_FLAG_LOWER_TRIANGULAR)?true:false; }/* FIXME: new: not sure whether this is ever called */ - bool is_upper_triangular (void) const { RSBOI_0_EMCHECK(this->mtxAp); RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG);return RSB_DO_FLAG_HAS(this->rsbflags(),RSB_FLAG_UPPER_TRIANGULAR)?true:false; }/* FIXME: new: not sure whether this is ever called */ -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ bool iscomplex (void) const { RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); return !is_real_type(); } -+#else - bool is_complex_type (void) const { RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); return !is_real_type(); } -+#endif - bool is_bool_type (void) const { return false; } - bool is_integer_type (void) const { return false; } - bool is_square (void) const { return this->rows()==this->cols(); } -@@ -1534,7 +1546,11 @@ - rsb_err_t errval = RSB_ERR_NO_ERROR; - RSBOI_DEBUG_NOTICE(RSBOI_D_EMPTY_MSG); - -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(v1.iscomplex()) -+#else - if(v1.is_complex_type()) -+#endif - { - ComplexMatrix retval = v2.complex_matrix_value(); - octave_idx_type b_nc = retval.cols (); -@@ -1640,7 +1656,11 @@ - if(v1.is__triangular()) - return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_N); - -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(v1.iscomplex() || v2.iscomplex()) -+#else - if(v1.is_complex_type() || v2.is_complex_type()) -+#endif - return (v1.sparse_complex_matrix_value()).solve(v2.sparse_complex_matrix_value()); - else - return (v1.sparse_matrix_value()).solve(v2.matrix_value()); -@@ -1655,7 +1675,11 @@ - if(v1.is__triangular()) - return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_T); - -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(v1.iscomplex() || v2.iscomplex()) -+#else - if(v1.is_complex_type() || v2.is_complex_type()) -+#endif - return (v1.sparse_complex_matrix_value().transpose()).solve(v2.sparse_complex_matrix_value()); - else - return (v1.sparse_matrix_value().transpose()).solve(v2.matrix_value()); -@@ -1671,7 +1695,11 @@ - if(v1.is__triangular()) - return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_N); - -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(v1.iscomplex() || v2.iscomplex()) -+#else - if(v1.is_complex_type() || v2.is_complex_type()) -+#endif - return (v1.sparse_complex_matrix_value()).solve(v2.sparse_complex_matrix_value()); - else - return (v1.sparse_matrix_value()).solve(v2.matrix_value()); -@@ -1685,7 +1713,11 @@ - if(v1.is__triangular()) - return rsboi_spsm(v1,v2,RSB_TRANSPOSITION_T); - -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(v1.iscomplex() || v2.iscomplex()) -+#else - if(v1.is_complex_type() || v2.is_complex_type()) -+#endif - return (v1.sparse_complex_matrix_value().transpose()).solve(v2.sparse_complex_matrix_value()); - else - return (v1.sparse_matrix_value().transpose()).solve(v2.matrix_value()); -@@ -2199,8 +2231,13 @@ - int nargin = args.length (); - octave_value_list retval; - octave_sparsersb_mtx*osmp = RSBOI_NULL; -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ bool ic0 = nargin>0?(args(0).iscomplex()):false; -+ bool ic3 = nargin>2?(args(2).iscomplex()):false; -+#else - bool ic0 = nargin>0?(args(0).is_complex_type()):false; - bool ic3 = nargin>2?(args(2).is_complex_type()):false; -+#endif - bool isr = (nargin>0 && args(0).type_name()==RSB_OI_TYPEINFO_STRING); - - RSBOI_DEBUG_NOTICE("in sparsersb()\n"); -@@ -2522,7 +2559,11 @@ - if(nargout) retval.append(osmp->cols()),--nargout; - if(nargout) retval.append(osmp->nnz()),--nargout; - if(nargout) retval.append(osmp->get_info_string()),--nargout; -+#ifdef HAVE_OCTAVE_VALUE_ISCOMPLEX -+ if(nargout) retval.append((!osmp->iscomplex())?"real":"complex"),--nargout; -+#else - if(nargout) retval.append((!osmp->is_complex_type())?"real":"complex"),--nargout; -+#endif - if(nargout) retval.append(osmp->get_symmetry()),--nargout; - } - } diff -r 5cdbc2b1eec8 -r a92a6988fae7 src/of-sparsersb.mk --- a/src/of-sparsersb.mk Wed Jun 27 16:15:35 2018 -0400 +++ b/src/of-sparsersb.mk Wed Jun 27 16:27:33 2018 -0400 @@ -3,8 +3,8 @@ PKG := of-sparsersb $(PKG)_IGNORE := -$(PKG)_VERSION := 1.0.5 -$(PKG)_CHECKSUM := 2f259e2b3993134c6f6552327fd5a5933a83bae6 +$(PKG)_VERSION := 1.0.6 +$(PKG)_CHECKSUM := 3d005cf6db118d8835453efd770f5b2ded8a3197 $(PKG)_REMOTE_SUBDIR := $(PKG)_SUBDIR := sparsersb-$($(PKG)_VERSION) $(PKG)_FILE := sparsersb-$($(PKG)_VERSION).tar.gz