aboutsummaryrefslogtreecommitdiff
path: root/academic/octave
diff options
context:
space:
mode:
authorKyle Guinn <elyk03@gmail.com>2019-01-02 23:00:32 -0600
committerWilly Sudiarto Raharjo <willysr@slackbuilds.org>2019-01-05 07:49:30 +0700
commitcd8a3a547c175f53581d5c87fbd311b907abf2c1 (patch)
tree5c2fa7ab74b390cde2640eada1a38b94f8616c32 /academic/octave
parent26de090fccb8ce22658f61671081e42979b779ad (diff)
academic/octave: Updated for version 4.4.1.
Signed-off-by: Kyle Guinn <elyk03@gmail.com>
Diffstat (limited to 'academic/octave')
-rw-r--r--academic/octave/README20
-rw-r--r--academic/octave/octave.SlackBuild33
-rw-r--r--academic/octave/octave.info6
-rw-r--r--academic/octave/patches/imagemagick.diff12
4 files changed, 55 insertions, 16 deletions
diff --git a/academic/octave/README b/academic/octave/README
index 4738a352f219f..2a6c9cc1deece 100644
--- a/academic/octave/README
+++ b/academic/octave/README
@@ -17,15 +17,21 @@ are not configured to detect/use alternate implementations.
These optional dependencies will be used if found (see INSTALL.OCTAVE, in the
Octave source, for a description of what each dependency offers):
amd, camd, colamd, ccolamd, cholmod, umfpack, cxsparse, glpk, arpack-ng,
-qrupdate, qhull, hdf5, fltk, ftgl, gl2ps, jdk, GraphicsMagick, portaudio.
+qrupdate, sundials, qhull, hdf5, fltk, ftgl, gl2ps, jdk, GraphicsMagick,
+portaudio.
+
+Octave can use either Qt4 or Qt5, and it will select Qt5 if both are
+installed. You can force it to use a particular version by passing QT=4 or
+QT=5 to the script. If Qt5 is selected and it does not find a Qt5 version of
+QScintilla, then the editor window in the GUI will be disabled. If you need
+the editor window and have both Qt versions installed, force it to use Qt4.
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.
+from SBo) for image-reading functionality. If both are installed,
+GraphicsMagick will be selected by default, since ImageMagick is not
+well-supported by the Octave developers. If you have problems with
+ImageMagick, try rebuilding Octave with GraphicsMagick, or pass MAGICK="" to
+the script.
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
diff --git a/academic/octave/octave.SlackBuild b/academic/octave/octave.SlackBuild
index 273f2b4728e12..ad2f4c5728af2 100644
--- a/academic/octave/octave.SlackBuild
+++ b/academic/octave/octave.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for octave
-# Copyright 2012-2018 Kyle Guinn <elyk03@gmail.com>, USA
+# Copyright 2012-2019 Kyle Guinn <elyk03@gmail.com>
# 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:-4.2.2}
+VERSION=${VERSION:-4.4.1}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -37,7 +37,7 @@ fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
-PKG=$TMP/package-$PRGNAM
+PKG=$TMP/package-$PRGNAM-$VERSION
OUTPUT=${OUTPUT:-/tmp}
DOCS="AUTHORS BUGS CITATION COPYING ChangeLog INSTALL* NEWS README"
@@ -59,9 +59,26 @@ else
LIBDIRSUFFIX=""
fi
-# TODO: ImageMagick 6.8.6-10 from Slackware 14.1 is not compatible.
-# Newer versions might work, so try offering that alternative again later.
-# http://savannah.gnu.org/bugs/?49653
+# Use GraphicsMagick by default. Fall back on ImageMagick from the full
+# Slackware install if it's not present. Requires a patch for this bug:
+# https://savannah.gnu.org/bugs/?49653
+#
+# GraphicsMagick is default due to the fact that the Octave devs mainly test
+# with that, and went several releases before noticing ImageMagick was broken.
+# If ImageMagick doesn't work, install GraphicsMagick, or set MAGICK="".
+MAGICK=${MAGICK-GraphicsMagick}
+if [ -n "$MAGICK" ] && ! pkg-config --exists $MAGICK; then
+ MAGICK=ImageMagick
+fi
+if [ -n "$MAGICK" ]; then
+ MAGICK="--with-magick=$MAGICK"
+fi
+
+# Allow forcing a particular version of Qt. Set QT=4 or QT=5.
+# If unset, Octave will decide, and it prefers version 5.
+if [ -n "$QT" ]; then
+ QT="--with-qt=$QT"
+fi
set -e
@@ -74,6 +91,7 @@ cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
+patch -p1 < $CWD/patches/imagemagick.diff
patch -p1 < $CWD/patches/atlas-lib-rename.diff
autoreconf -vif
@@ -96,6 +114,9 @@ find . -name stamp-vti -exec touch {} +
--infodir=/usr/info \
--docdir=/usr/doc/$PRGNAM-$VERSION \
--disable-dependency-tracking \
+ --with-openssl=auto \
+ ${MAGICK} \
+ ${QT} \
--build=$ARCH-slackware-linux \
CFLAGS="$SLKCFLAGS" \
CXXFLAGS="$SLKCFLAGS" \
diff --git a/academic/octave/octave.info b/academic/octave/octave.info
index f6e636219e258..91b44ae74f354 100644
--- a/academic/octave/octave.info
+++ b/academic/octave/octave.info
@@ -1,8 +1,8 @@
PRGNAM="octave"
-VERSION="4.2.2"
+VERSION="4.4.1"
HOMEPAGE="https://www.gnu.org/software/octave/"
-DOWNLOAD="https://ftp.gnu.org/gnu/octave/octave-4.2.2.tar.lz"
-MD5SUM="e654dbdbab8ff3b753bac66a2445630b"
+DOWNLOAD="https://ftp.gnu.org/gnu/octave/octave-4.4.1.tar.lz"
+MD5SUM="e0d9556caafd83e4276af49b06c5c994"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="%README% blas lapack"
diff --git a/academic/octave/patches/imagemagick.diff b/academic/octave/patches/imagemagick.diff
new file mode 100644
index 0000000000000..7a15122a1888c
--- /dev/null
+++ b/academic/octave/patches/imagemagick.diff
@@ -0,0 +1,12 @@
+diff --git a/libinterp/corefcn/__magick_read__.cc b/libinterp/corefcn/__magick_read__.cc
+--- a/libinterp/corefcn/__magick_read__.cc
++++ b/libinterp/corefcn/__magick_read__.cc
+@@ -42,6 +42,8 @@
+ #include <Magick++.h>
+ #include <clocale>
+
++using Magick::Quantum; // https://savannah.gnu.org/bugs/?49653
++
+ // In theory, it should be enough to check the class:
+ // Magick::ClassType
+ // PseudoClass: