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

Ronald van Haren ronald at archlinux.org
Tue Oct 7 05:58:50 UTC 2014


    Date: Tuesday, October 7, 2014 @ 07:58:50
  Author: ronald
Revision: 223950

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

Added:
  octave/repos/extra-i686/PKGBUILD
    (from rev 223949, octave/trunk/PKGBUILD)
  octave/repos/extra-i686/octave-suitesparse.patch
    (from rev 223949, octave/trunk/octave-suitesparse.patch)
  octave/repos/extra-i686/octave.install
    (from rev 223949, octave/trunk/octave.install)
  octave/repos/extra-x86_64/PKGBUILD
    (from rev 223949, octave/trunk/PKGBUILD)
  octave/repos/extra-x86_64/octave-suitesparse.patch
    (from rev 223949, octave/trunk/octave-suitesparse.patch)
  octave/repos/extra-x86_64/octave.install
    (from rev 223949, octave/trunk/octave.install)
Deleted:
  octave/repos/extra-i686/PKGBUILD
  octave/repos/extra-i686/octave.install
  octave/repos/extra-x86_64/PKGBUILD
  octave/repos/extra-x86_64/octave.install

---------------------------------------+
 /PKGBUILD                             |  106 +++++++++++
 /octave.install                       |   36 +++
 extra-i686/PKGBUILD                   |   45 ----
 extra-i686/octave-suitesparse.patch   |  299 ++++++++++++++++++++++++++++++++
 extra-i686/octave.install             |   18 -
 extra-x86_64/PKGBUILD                 |   45 ----
 extra-x86_64/octave-suitesparse.patch |  299 ++++++++++++++++++++++++++++++++
 extra-x86_64/octave.install           |   18 -
 8 files changed, 740 insertions(+), 126 deletions(-)

Deleted: extra-i686/PKGBUILD
===================================================================
--- extra-i686/PKGBUILD	2014-10-07 05:40:59 UTC (rev 223949)
+++ extra-i686/PKGBUILD	2014-10-07 05:58:50 UTC (rev 223950)
@@ -1,45 +0,0 @@
-# $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.1
-pkgrel=1
-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')
-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})
-options=('!emptydirs')
-install=octave.install
-sha1sums=('2951aeafe58d562672feb80dd8c3cfe0643a5087'
-          'SKIP')
-
-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" # 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/extra-i686/PKGBUILD (from rev 223949, octave/trunk/PKGBUILD)
===================================================================
--- extra-i686/PKGBUILD	                        (rev 0)
+++ extra-i686/PKGBUILD	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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=1
+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/extra-i686/octave-suitesparse.patch (from rev 223949, octave/trunk/octave-suitesparse.patch)
===================================================================
--- extra-i686/octave-suitesparse.patch	                        (rev 0)
+++ extra-i686/octave-suitesparse.patch	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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)

Deleted: extra-i686/octave.install
===================================================================
--- extra-i686/octave.install	2014-10-07 05:40:59 UTC (rev 223949)
+++ extra-i686/octave.install	2014-10-07 05:58:50 UTC (rev 223950)
@@ -1,18 +0,0 @@
-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/extra-i686/octave.install (from rev 223949, octave/trunk/octave.install)
===================================================================
--- extra-i686/octave.install	                        (rev 0)
+++ extra-i686/octave.install	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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
+}

Deleted: extra-x86_64/PKGBUILD
===================================================================
--- extra-x86_64/PKGBUILD	2014-10-07 05:40:59 UTC (rev 223949)
+++ extra-x86_64/PKGBUILD	2014-10-07 05:58:50 UTC (rev 223950)
@@ -1,45 +0,0 @@
-# $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.1
-pkgrel=1
-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')
-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})
-options=('!emptydirs')
-install=octave.install
-sha1sums=('2951aeafe58d562672feb80dd8c3cfe0643a5087'
-          'SKIP')
-
-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" # 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/extra-x86_64/PKGBUILD (from rev 223949, octave/trunk/PKGBUILD)
===================================================================
--- extra-x86_64/PKGBUILD	                        (rev 0)
+++ extra-x86_64/PKGBUILD	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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=1
+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/extra-x86_64/octave-suitesparse.patch (from rev 223949, octave/trunk/octave-suitesparse.patch)
===================================================================
--- extra-x86_64/octave-suitesparse.patch	                        (rev 0)
+++ extra-x86_64/octave-suitesparse.patch	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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)

Deleted: extra-x86_64/octave.install
===================================================================
--- extra-x86_64/octave.install	2014-10-07 05:40:59 UTC (rev 223949)
+++ extra-x86_64/octave.install	2014-10-07 05:58:50 UTC (rev 223950)
@@ -1,18 +0,0 @@
-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/extra-x86_64/octave.install (from rev 223949, octave/trunk/octave.install)
===================================================================
--- extra-x86_64/octave.install	                        (rev 0)
+++ extra-x86_64/octave.install	2014-10-07 05:58:50 UTC (rev 223950)
@@ -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