[arch-commits] Commit in octave/repos (8 files)

Felix Yan fyan at archlinux.org
Tue Nov 25 04:19:53 UTC 2014


    Date: Tuesday, November 25, 2014 @ 05:19:53
  Author: fyan
Revision: 227076

archrelease: copy trunk to staging-i686, staging-x86_64

Added:
  octave/repos/staging-i686/
  octave/repos/staging-i686/PKGBUILD
    (from rev 227075, octave/trunk/PKGBUILD)
  octave/repos/staging-i686/octave-suitesparse.patch
    (from rev 227075, octave/trunk/octave-suitesparse.patch)
  octave/repos/staging-i686/octave.install
    (from rev 227075, octave/trunk/octave.install)
  octave/repos/staging-x86_64/
  octave/repos/staging-x86_64/PKGBUILD
    (from rev 227075, octave/trunk/PKGBUILD)
  octave/repos/staging-x86_64/octave-suitesparse.patch
    (from rev 227075, octave/trunk/octave-suitesparse.patch)
  octave/repos/staging-x86_64/octave.install
    (from rev 227075, octave/trunk/octave.install)

-----------------------------------------+
 staging-i686/PKGBUILD                   |   53 +++++
 staging-i686/octave-suitesparse.patch   |  299 ++++++++++++++++++++++++++++++
 staging-i686/octave.install             |   18 +
 staging-x86_64/PKGBUILD                 |   53 +++++
 staging-x86_64/octave-suitesparse.patch |  299 ++++++++++++++++++++++++++++++
 staging-x86_64/octave.install           |   18 +
 6 files changed, 740 insertions(+)

Copied: octave/repos/staging-i686/PKGBUILD (from rev 227075, octave/trunk/PKGBUILD)
===================================================================
--- staging-i686/PKGBUILD	                        (rev 0)
+++ staging-i686/PKGBUILD	2014-11-25 04:19:53 UTC (rev 227076)
@@ -0,0 +1,53 @@
+# $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=3
+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')
+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')
+
+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 227075, octave/trunk/octave-suitesparse.patch)
===================================================================
--- staging-i686/octave-suitesparse.patch	                        (rev 0)
+++ staging-i686/octave-suitesparse.patch	2014-11-25 04:19:53 UTC (rev 227076)
@@ -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 227075, octave/trunk/octave.install)
===================================================================
--- staging-i686/octave.install	                        (rev 0)
+++ staging-i686/octave.install	2014-11-25 04:19:53 UTC (rev 227076)
@@ -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 227075, octave/trunk/PKGBUILD)
===================================================================
--- staging-x86_64/PKGBUILD	                        (rev 0)
+++ staging-x86_64/PKGBUILD	2014-11-25 04:19:53 UTC (rev 227076)
@@ -0,0 +1,53 @@
+# $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=3
+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')
+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')
+
+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 227075, octave/trunk/octave-suitesparse.patch)
===================================================================
--- staging-x86_64/octave-suitesparse.patch	                        (rev 0)
+++ staging-x86_64/octave-suitesparse.patch	2014-11-25 04:19:53 UTC (rev 227076)
@@ -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 227075, octave/trunk/octave.install)
===================================================================
--- staging-x86_64/octave.install	                        (rev 0)
+++ staging-x86_64/octave.install	2014-11-25 04:19:53 UTC (rev 227076)
@@ -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