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 <cyberd...@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 <cyberd...@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 <j...@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.cbar...@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 <cyberd...@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 <cyberd...@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 <j...@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.cbar...@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 +}