aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKyle Guinn <elyk03@gmail.com>2014-01-12 01:41:59 -0600
committerRobby Workman <rworkman@slackbuilds.org>2014-01-31 00:54:26 -0600
commitc0538d8c0870848d589fb99f12e29dc50be2937e (patch)
tree75963f4225a58cebf4a8c3c51833197a6d1e0c14
parent773aa2de139f2f1ee8b12f2e5836a39d63e5392e (diff)
academic/octave: Updated for version 3.8.0.
Signed-off-by: Robby Workman <rworkman@slackbuilds.org>
-rw-r--r--academic/octave/README22
-rw-r--r--academic/octave/octave.SlackBuild31
-rw-r--r--academic/octave/octave.info10
-rw-r--r--academic/octave/patches/compressed-info.diff13
-rw-r--r--academic/octave/patches/umfpack-cppflags.diff31
5 files changed, 80 insertions, 27 deletions
diff --git a/academic/octave/README b/academic/octave/README
index 4f13a945ac9d..9a4a2ab7b465 100644
--- a/academic/octave/README
+++ b/academic/octave/README
@@ -4,10 +4,20 @@ linear and nonlinear problems numerically, and for performing other numerical
experiments using a language that is mostly compatible with Matlab. It may
also be used as a batch-oriented language.
-These optional dependencies will be used if found:
-AMD, CAMD, COLAMD, CCOLAMD, CHOLMOD, UMFPACK, CXSparse, glpk,
-arpack, qrupdate, qhull, HDF5, fltk, ftgl, and GraphicsMagick
+These optional dependencies will be used if found. See INSTALL.OCTAVE (in the
+Octave source) for a description of what each dependency offers.
-ImageMagick (part of Slackware) will be used instead of GraphicsMagick by
-default. To override this, use:
-WITH_MAGICK=GraphicsMagick ./octave.SlackBuild
+AMD, CAMD, COLAMD, CCOLAMD, CHOLMOD, UMFPACK, CXSparse, glpk, arpack-ng,
+qrupdate, qhull, HDF5, fltk, ftgl, gl2ps, jdk, GraphicsMagick
+
+Octave can use ImageMagick (part of Slackware) or GraphicsMagick (available
+from SBo) for some functionality. ImageMagick 6.8.6-10 from Slackware 14.1
+appears to be incompatible (build failure). Octave searches for
+GraphicsMagick by default, and previous versions of this script changed the
+default to ImageMagick to avoid the need for yet another dependency. If you
+need this functionality, or if Octave decides to compile against ImageMagick
+for some reason, try installing GraphicsMagick.
+
+If you have arpack installed and the configure script segfaults when trying to
+detect arpack, try switching to arpack-ng (which is partly maintained by
+Octave developers).
diff --git a/academic/octave/octave.SlackBuild b/academic/octave/octave.SlackBuild
index 9ed28fb1b2ff..68eded862f1e 100644
--- a/academic/octave/octave.SlackBuild
+++ b/academic/octave/octave.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for octave
-# Copyright 2012-2013 Kyle Guinn <elyk03@gmail.com>, USA
+# Copyright 2012-2014 Kyle Guinn <elyk03@gmail.com>, USA
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
@@ -23,7 +23,7 @@
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=octave
-VERSION=${VERSION:-3.6.4}
+VERSION=${VERSION:-3.8.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -40,7 +40,7 @@ TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
-DOCS="AUTHORS BUGS COPYING ChangeLog INSTALL* NEWS README"
+DOCS="AUTHORS BUGS CITATION COPYING ChangeLog INSTALL* NEWS README"
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-O2 -march=i486 -mtune=i686"
@@ -56,16 +56,8 @@ else
LIBDIRSUFFIX=""
fi
-# Default to use ImageMagick (shipped with Slackware) instead of
-# GraphicsMagick so that octave will have at least some sort of image
-# reading capabilities. It's unclear if one is recommended over the other.
-#
-# ImageMagick uses 16 bits per pixel quantum (each of the red, green, blue,
-# and alpha components) by default; GraphicsMagick uses 8 bits by default.
-# If you require more, add '--with-quantum-depth=N' (where N is 8, 16, or 32)
-# to the ./configure step of either Magick package when you build it.
-# Larger values will make your Magick package slower and use more memory.
-WITH_MAGICK=${WITH_MAGICK:-ImageMagick} # alternatively, "GraphicsMagick"
+# TODO: ImageMagick 6.8.6-10 from Slackware 14.1 is not compatible.
+# Newer versions might work, so try offering that alternative again later.
# umfpack.h includes amd.h, which may be installed outside of the standard
# search dirs if you use the SBo packages. This ensures UMFPACK is found.
@@ -86,6 +78,15 @@ find -L . \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
+# Allow Octave to find compressed info files.
+# https://savannah.gnu.org/bugs/?41054
+patch -p1 < $CWD/patches/compressed-info.diff
+
+# Fix several configure checks due to the above umfpack.h -> amd.h issue.
+# https://savannah.gnu.org/bugs/?41209
+patch -p1 < $CWD/patches/umfpack-cppflags.diff
+autoreconf -vif
+
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
FFLAGS="$SLKCFLAGS" \
@@ -97,10 +98,8 @@ FFLAGS="$SLKCFLAGS" \
--mandir=/usr/man \
--infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
- --enable-shared \
- --disable-static \
+ --disable-dependency-tracking \
--enable-strict-warning-flags \
- --with-magick=$WITH_MAGICK \
--with-amd-includedir=$WITH_AMD_INCLUDEDIR \
--build=$ARCH-slackware-linux
diff --git a/academic/octave/octave.info b/academic/octave/octave.info
index e39f690fda50..38427ac2a7d9 100644
--- a/academic/octave/octave.info
+++ b/academic/octave/octave.info
@@ -1,10 +1,10 @@
PRGNAM="octave"
-VERSION="3.6.4"
-HOMEPAGE="http://www.gnu.org/software/octave/"
-DOWNLOAD="ftp://ftp.gnu.org/gnu/octave/octave-3.6.4.tar.bz2"
-MD5SUM="e0d3e5e3d38a66d3f8593ba065c6e2fd"
+VERSION="3.8.0"
+HOMEPAGE="https://www.gnu.org/software/octave/"
+DOWNLOAD="ftp://ftp.gnu.org/gnu/octave/octave-3.8.0.tar.bz2"
+MD5SUM="442fe5205ba6322f7a69145b79fca85e"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
-REQUIRES="%README% lapack"
+REQUIRES="%README% blas lapack"
MAINTAINER="Kyle Guinn"
EMAIL="elyk03@gmail.com"
diff --git a/academic/octave/patches/compressed-info.diff b/academic/octave/patches/compressed-info.diff
new file mode 100644
index 000000000000..48178d773f1e
--- /dev/null
+++ b/academic/octave/patches/compressed-info.diff
@@ -0,0 +1,13 @@
+diff --git a/scripts/help/doc.m b/scripts/help/doc.m
+--- a/scripts/help/doc.m
++++ b/scripts/help/doc.m
+@@ -80,7 +80,8 @@
+ if (err < 0)
+ info_file_name = info_file ();
+
+- if (! exist (info_file_name, "file"))
++ if (! exist (info_file_name, "file")
++ && ! exist ([info_file_name ".gz"], "file"))
+ __gripe_missing_component__ ("doc", "info-file");
+ endif
+ endif
diff --git a/academic/octave/patches/umfpack-cppflags.diff b/academic/octave/patches/umfpack-cppflags.diff
new file mode 100644
index 000000000000..d56ba1f8ebdf
--- /dev/null
+++ b/academic/octave/patches/umfpack-cppflags.diff
@@ -0,0 +1,31 @@
+diff --git a/configure.ac b/configure.ac
+--- a/configure.ac
++++ b/configure.ac
+@@ -1512,7 +1512,9 @@
+
+ if test -n "$UMFPACK_LIBS"; then
+ ## SuiteSparse >= 4.0 needs additional link library for SuiteSparse_time()
++ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS";
++ CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS"
+ LIBS="$UMFPACK_LIBS $AMD_LDFLAGS $AMD_LIBS $BLAS_LIBS $FLIBS $LIBS"
+ xtra_libs=
+ OCTAVE_UMFPACK_NEED_SUITESPARSE_TIME
+@@ -1535,13 +1537,17 @@
+ esac
+ fi
+ LIBS="$save_LIBS"
++ CPPFLAGS="$save_CPPFLAGS"
+
+ ## Check for UMFPACK separately split complex matrix and RHS.
+ if test -n "$UMFPACK_LIBS"; then
++ save_CPPFLAGS="$CPPFLAGS"
+ save_LIBS="$LIBS";
++ CPPFLAGS="$UMFPACK_CPPFLAGS $AMD_CPPFLAGS $CPPFLAGS"
+ LIBS="$UMFPACK_LIBS $CHOLMOD_LDFLAGS $CHOLMOD_LIBS $AMD_LDFLAGS $AMD_LIBS $COLAMD_LDFLAGS $COLAMD_LIBS $LAPACK_LIBS $BLAS_LIBS $FLIBS $LIBS $xtra_libs"
+ OCTAVE_UMFPACK_SEPARATE_SPLIT
+ LIBS="$save_LIBS"
++ CPPFLAGS="$save_CPPFLAGS"
+ fi
+ fi
+