[arch-commits] Commit in octave/repos (8 files)
Felix Yan
fyan at archlinux.org
Wed Apr 29 09:40:21 UTC 2015
Date: Wednesday, April 29, 2015 @ 11:40:20
Author: fyan
Revision: 238245
archrelease: copy trunk to staging-i686, staging-x86_64
Added:
octave/repos/staging-i686/
octave/repos/staging-i686/PKGBUILD
(from rev 238244, octave/trunk/PKGBUILD)
octave/repos/staging-i686/octave-suitesparse.patch
(from rev 238244, octave/trunk/octave-suitesparse.patch)
octave/repos/staging-i686/octave.install
(from rev 238244, octave/trunk/octave.install)
octave/repos/staging-x86_64/
octave/repos/staging-x86_64/PKGBUILD
(from rev 238244, octave/trunk/PKGBUILD)
octave/repos/staging-x86_64/octave-suitesparse.patch
(from rev 238244, octave/trunk/octave-suitesparse.patch)
octave/repos/staging-x86_64/octave.install
(from rev 238244, octave/trunk/octave.install)
-----------------------------------------+
staging-i686/PKGBUILD | 54 +++++
staging-i686/octave-suitesparse.patch | 299 ++++++++++++++++++++++++++++++
staging-i686/octave.install | 18 +
staging-x86_64/PKGBUILD | 54 +++++
staging-x86_64/octave-suitesparse.patch | 299 ++++++++++++++++++++++++++++++
staging-x86_64/octave.install | 18 +
6 files changed, 742 insertions(+)
Copied: octave/repos/staging-i686/PKGBUILD (from rev 238244, octave/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD (rev 0)
+++ staging-i686/PKGBUILD 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor : shining <shiningxc.at.gmail.com>
+# Contributor : cyberdune <cyberdune at gmail.com>
+
+pkgname=octave
+pkgver=3.8.2
+pkgrel=6
+pkgdesc="A high-level language, primarily intended for numerical computations."
+arch=('i686' 'x86_64')
+url="http://www.octave.org"
+license=('GPL')
+depends=('fftw' 'curl' 'graphicsmagick' 'glpk' 'hdf5' 'qhull' 'fltk' 'arpack' 'glu' 'ghostscript' 'suitesparse' 'gl2ps')
+makedepends=('gcc-fortran' 'texlive-core' 'suitesparse' 'texinfo' 'gnuplot' 'qscintilla')
+optdepends=('texinfo: for help-support in octave'
+ 'gnuplot: alternative plotting'
+ 'qscintilla: experimental gui')
+source=(ftp://ftp.gnu.org/gnu/octave/octave-$pkgver.tar.bz2{,.sig} 'octave-suitesparse.patch')
+options=('!emptydirs')
+install=octave.install
+sha1sums=('02c38e0f69bce4e6dd7be7d301898347085d9c2d'
+ 'SKIP'
+ 'acbe2b6d77d6d5f7b9f6fc4019c362be36cf9452')
+validpgpkeys=('DBD9C84E39FE1AAE99F04446B05F05B75D36644B') # John W. Eaton
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/octave-suitesparse.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ autoreconf -vfi
+
+ ./configure --prefix=/usr --libexecdir=/usr/lib \
+ --enable-shared --disable-static \
+ --with-quantum-depth=16 \
+ --with-umfpack="-lumfpack -lsuitesparseconfig" \
+ MOC=moc-qt4 UIC=uic-qt4
+# https://mailman.cae.wisc.edu/pipermail/help-octave/2012-September/053991.html
+
+ LANG=C make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # add octave library path to ld.so.conf.d
+ install -d "${pkgdir}/etc/ld.so.conf.d"
+ echo "/usr/lib/${pkgname}/${pkgver}" > "${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf"
+}
Copied: octave/repos/staging-i686/octave-suitesparse.patch (from rev 238244, octave/trunk/octave-suitesparse.patch)
===================================================================
--- staging-i686/octave-suitesparse.patch (rev 0)
+++ staging-i686/octave-suitesparse.patch 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,299 @@
+
+# HG changeset patch
+# User John W. Eaton <jwe at octave.org>
+# Date 1411328708 14400
+# Node ID afd6179d2616bfc429a5d24f14d50f01c5e56546
+# Parent ebeb3defae373a628ccd11eba69d7bde33855cc7
+allow building with new version of SuiteSparse (bug #43063)
+
+* oct-sparse.h (SUITESPARSE_ASSIGN_FPTR, SUITESPARSE_ASSIGN_FPTR2):
+New macros.
+* amd.cc, symbfact.cc, CSparse.cc, dSparse.cc, sparse-base-chol.cc:
+Use as needed.
+
+From Andre da Costa Barros <andre.cbarros at yahoo.com>.
+
+diff --git a/libinterp/dldfcn/amd.cc b/libinterp/dldfcn/amd.cc
+--- a/libinterp/dldfcn/amd.cc
++++ b/libinterp/dldfcn/amd.cc
+@@ -164,11 +164,11 @@
+
+ // FIXME: how can we manage the memory allocation of amd
+ // in a cleaner manner?
+- amd_malloc = malloc;
+- amd_free = free;
+- amd_calloc = calloc;
+- amd_realloc = realloc;
+- amd_printf = printf;
++ SUITESPARSE_ASSIGN_FPTR (malloc_func, amd_malloc, malloc);
++ SUITESPARSE_ASSIGN_FPTR (free_func, amd_free, free);
++ SUITESPARSE_ASSIGN_FPTR (calloc_func, amd_calloc, calloc);
++ SUITESPARSE_ASSIGN_FPTR (realloc_func, amd_realloc, realloc);
++ SUITESPARSE_ASSIGN_FPTR (printf_func, amd_printf, printf);
+
+ octave_idx_type result = AMD_NAME (_order) (n_col, cidx, ridx, P,
+ Control, Info);
+diff --git a/libinterp/dldfcn/symbfact.cc b/libinterp/dldfcn/symbfact.cc
+--- a/libinterp/dldfcn/symbfact.cc
++++ b/libinterp/dldfcn/symbfact.cc
+@@ -114,17 +114,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ double dummy;
+ cholmod_sparse Astore;
+diff --git a/liboctave/array/CSparse.cc b/liboctave/array/CSparse.cc
+--- a/liboctave/array/CSparse.cc
++++ b/liboctave/array/CSparse.cc
+@@ -5669,17 +5669,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -5912,17 +5912,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6203,17 +6203,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6425,17 +6425,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+diff --git a/liboctave/array/dSparse.cc b/liboctave/array/dSparse.cc
+--- a/liboctave/array/dSparse.cc
++++ b/liboctave/array/dSparse.cc
+@@ -5871,17 +5871,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6088,17 +6088,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6350,17 +6350,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6584,17 +6584,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+diff --git a/liboctave/numeric/sparse-base-chol.cc b/liboctave/numeric/sparse-base-chol.cc
+--- a/liboctave/numeric/sparse-base-chol.cc
++++ b/liboctave/numeric/sparse-base-chol.cc
+@@ -105,17 +105,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_asis = false;
+ cm->final_super = false;
+diff --git a/liboctave/util/oct-sparse.h b/liboctave/util/oct-sparse.hz
+--- a/liboctave/util/oct-sparse.h
++++ b/liboctave/util/oct-sparse.h
+@@ -94,4 +94,14 @@
+ #endif
+ #endif
+
++// Cope with new suitesparse versions
++//
++#if defined (SUITESPARSE_VERSION) && SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (4, 3)
++# define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
++# define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (SuiteSparse_config.f_name = SuiteSparse_##f_assign)
++#else
++# define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (f_var = f_assign)
++# define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (f_var = CHOLMOD_NAME (f_assign))
+ #endif
++
++#endif
+
+diff --git a/liboctave/util/oct-sparse.h b/liboctave/util/oct-sparse.h
+
+--- a/liboctave/util/oct-sparse.h
++++ b/liboctave/util/oct-sparse.h
+@@ -23,6 +23,8 @@ along with Octave; see the file COPYING.
+ #if !defined (octave_oct_sparse_h)
+ #define octave_oct_sparse_h 1
+
++#include <math.h>
++
+ #if defined (HAVE_SUITESPARSE_AMD_H)
+ #include <suitesparse/amd.h>
+ #elif defined (HAVE_UFSPARSE_AMD_H)
Copied: octave/repos/staging-i686/octave.install (from rev 238244, octave/trunk/octave.install)
===================================================================
--- staging-i686/octave.install (rev 0)
+++ staging-i686/octave.install 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(octave.info octave.info-1 octave.info-2 octave.info-3 octave.info-4 octave.info-5 octave.info-6 octave.info-7 octave.info-8)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
Copied: octave/repos/staging-x86_64/PKGBUILD (from rev 238244, octave/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD (rev 0)
+++ staging-x86_64/PKGBUILD 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,54 @@
+# $Id$
+# Maintainer: Ronald van Haren <ronald.archlinux.org>
+# Contributor : shining <shiningxc.at.gmail.com>
+# Contributor : cyberdune <cyberdune at gmail.com>
+
+pkgname=octave
+pkgver=3.8.2
+pkgrel=6
+pkgdesc="A high-level language, primarily intended for numerical computations."
+arch=('i686' 'x86_64')
+url="http://www.octave.org"
+license=('GPL')
+depends=('fftw' 'curl' 'graphicsmagick' 'glpk' 'hdf5' 'qhull' 'fltk' 'arpack' 'glu' 'ghostscript' 'suitesparse' 'gl2ps')
+makedepends=('gcc-fortran' 'texlive-core' 'suitesparse' 'texinfo' 'gnuplot' 'qscintilla')
+optdepends=('texinfo: for help-support in octave'
+ 'gnuplot: alternative plotting'
+ 'qscintilla: experimental gui')
+source=(ftp://ftp.gnu.org/gnu/octave/octave-$pkgver.tar.bz2{,.sig} 'octave-suitesparse.patch')
+options=('!emptydirs')
+install=octave.install
+sha1sums=('02c38e0f69bce4e6dd7be7d301898347085d9c2d'
+ 'SKIP'
+ 'acbe2b6d77d6d5f7b9f6fc4019c362be36cf9452')
+validpgpkeys=('DBD9C84E39FE1AAE99F04446B05F05B75D36644B') # John W. Eaton
+
+prepare() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+ patch -Np1 -i "${srcdir}/octave-suitesparse.patch"
+}
+
+build() {
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ autoreconf -vfi
+
+ ./configure --prefix=/usr --libexecdir=/usr/lib \
+ --enable-shared --disable-static \
+ --with-quantum-depth=16 \
+ --with-umfpack="-lumfpack -lsuitesparseconfig" \
+ MOC=moc-qt4 UIC=uic-qt4
+# https://mailman.cae.wisc.edu/pipermail/help-octave/2012-September/053991.html
+
+ LANG=C make
+}
+
+package(){
+ cd "${srcdir}/${pkgname}-${pkgver}"
+
+ make DESTDIR="${pkgdir}" install
+
+ # add octave library path to ld.so.conf.d
+ install -d "${pkgdir}/etc/ld.so.conf.d"
+ echo "/usr/lib/${pkgname}/${pkgver}" > "${pkgdir}/etc/ld.so.conf.d/${pkgname}.conf"
+}
Copied: octave/repos/staging-x86_64/octave-suitesparse.patch (from rev 238244, octave/trunk/octave-suitesparse.patch)
===================================================================
--- staging-x86_64/octave-suitesparse.patch (rev 0)
+++ staging-x86_64/octave-suitesparse.patch 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,299 @@
+
+# HG changeset patch
+# User John W. Eaton <jwe at octave.org>
+# Date 1411328708 14400
+# Node ID afd6179d2616bfc429a5d24f14d50f01c5e56546
+# Parent ebeb3defae373a628ccd11eba69d7bde33855cc7
+allow building with new version of SuiteSparse (bug #43063)
+
+* oct-sparse.h (SUITESPARSE_ASSIGN_FPTR, SUITESPARSE_ASSIGN_FPTR2):
+New macros.
+* amd.cc, symbfact.cc, CSparse.cc, dSparse.cc, sparse-base-chol.cc:
+Use as needed.
+
+From Andre da Costa Barros <andre.cbarros at yahoo.com>.
+
+diff --git a/libinterp/dldfcn/amd.cc b/libinterp/dldfcn/amd.cc
+--- a/libinterp/dldfcn/amd.cc
++++ b/libinterp/dldfcn/amd.cc
+@@ -164,11 +164,11 @@
+
+ // FIXME: how can we manage the memory allocation of amd
+ // in a cleaner manner?
+- amd_malloc = malloc;
+- amd_free = free;
+- amd_calloc = calloc;
+- amd_realloc = realloc;
+- amd_printf = printf;
++ SUITESPARSE_ASSIGN_FPTR (malloc_func, amd_malloc, malloc);
++ SUITESPARSE_ASSIGN_FPTR (free_func, amd_free, free);
++ SUITESPARSE_ASSIGN_FPTR (calloc_func, amd_calloc, calloc);
++ SUITESPARSE_ASSIGN_FPTR (realloc_func, amd_realloc, realloc);
++ SUITESPARSE_ASSIGN_FPTR (printf_func, amd_printf, printf);
+
+ octave_idx_type result = AMD_NAME (_order) (n_col, cidx, ridx, P,
+ Control, Info);
+diff --git a/libinterp/dldfcn/symbfact.cc b/libinterp/dldfcn/symbfact.cc
+--- a/libinterp/dldfcn/symbfact.cc
++++ b/libinterp/dldfcn/symbfact.cc
+@@ -114,17 +114,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ double dummy;
+ cholmod_sparse Astore;
+diff --git a/liboctave/array/CSparse.cc b/liboctave/array/CSparse.cc
+--- a/liboctave/array/CSparse.cc
++++ b/liboctave/array/CSparse.cc
+@@ -5669,17 +5669,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -5912,17 +5912,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6203,17 +6203,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6425,17 +6425,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+diff --git a/liboctave/array/dSparse.cc b/liboctave/array/dSparse.cc
+--- a/liboctave/array/dSparse.cc
++++ b/liboctave/array/dSparse.cc
+@@ -5871,17 +5871,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6088,17 +6088,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6350,17 +6350,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+@@ -6584,17 +6584,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_ll = true;
+
+diff --git a/liboctave/numeric/sparse-base-chol.cc b/liboctave/numeric/sparse-base-chol.cc
+--- a/liboctave/numeric/sparse-base-chol.cc
++++ b/liboctave/numeric/sparse-base-chol.cc
+@@ -105,17 +105,17 @@
+ if (spu == 0.)
+ {
+ cm->print = -1;
+- cm->print_function = 0;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, 0);
+ }
+ else
+ {
+ cm->print = static_cast<int> (spu) + 2;
+- cm->print_function =&SparseCholPrint;
++ SUITESPARSE_ASSIGN_FPTR (printf_func, cm->print_function, &SparseCholPrint);
+ }
+
+ cm->error_handler = &SparseCholError;
+- cm->complex_divide = CHOLMOD_NAME(divcomplex);
+- cm->hypotenuse = CHOLMOD_NAME(hypot);
++ SUITESPARSE_ASSIGN_FPTR2 (divcomplex_func, cm->complex_divide, divcomplex);
++ SUITESPARSE_ASSIGN_FPTR2 (hypot_func, cm->hypotenuse, hypot);
+
+ cm->final_asis = false;
+ cm->final_super = false;
+diff --git a/liboctave/util/oct-sparse.h b/liboctave/util/oct-sparse.hz
+--- a/liboctave/util/oct-sparse.h
++++ b/liboctave/util/oct-sparse.h
+@@ -94,4 +94,14 @@
+ #endif
+ #endif
+
++// Cope with new suitesparse versions
++//
++#if defined (SUITESPARSE_VERSION) && SUITESPARSE_VERSION >= SUITESPARSE_VER_CODE (4, 3)
++# define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (SuiteSparse_config.f_name = f_assign)
++# define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (SuiteSparse_config.f_name = SuiteSparse_##f_assign)
++#else
++# define SUITESPARSE_ASSIGN_FPTR(f_name, f_var, f_assign) (f_var = f_assign)
++# define SUITESPARSE_ASSIGN_FPTR2(f_name, f_var, f_assign) (f_var = CHOLMOD_NAME (f_assign))
+ #endif
++
++#endif
+
+diff --git a/liboctave/util/oct-sparse.h b/liboctave/util/oct-sparse.h
+
+--- a/liboctave/util/oct-sparse.h
++++ b/liboctave/util/oct-sparse.h
+@@ -23,6 +23,8 @@ along with Octave; see the file COPYING.
+ #if !defined (octave_oct_sparse_h)
+ #define octave_oct_sparse_h 1
+
++#include <math.h>
++
+ #if defined (HAVE_SUITESPARSE_AMD_H)
+ #include <suitesparse/amd.h>
+ #elif defined (HAVE_UFSPARSE_AMD_H)
Copied: octave/repos/staging-x86_64/octave.install (from rev 238244, octave/trunk/octave.install)
===================================================================
--- staging-x86_64/octave.install (rev 0)
+++ staging-x86_64/octave.install 2015-04-29 09:40:20 UTC (rev 238245)
@@ -0,0 +1,18 @@
+info_dir=/usr/share/info
+info_files=(octave.info octave.info-1 octave.info-2 octave.info-3 octave.info-4 octave.info-5 octave.info-6 octave.info-7 octave.info-8)
+
+post_install() {
+ for f in ${info_files[@]}; do
+ install-info ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
+
+post_upgrade() {
+ post_install
+}
+
+pre_remove() {
+ for f in ${info_files[@]}; do
+ install-info --delete ${info_dir}/$f.gz ${info_dir}/dir 2> /dev/null
+ done
+}
More information about the arch-commits
mailing list