From cd8a3a547c175f53581d5c87fbd311b907abf2c1 Mon Sep 17 00:00:00 2001 From: Kyle Guinn Date: Wed, 2 Jan 2019 23:00:32 -0600 Subject: academic/octave: Updated for version 4.4.1. Signed-off-by: Kyle Guinn --- academic/octave/README | 20 ++++++++++++------- academic/octave/octave.SlackBuild | 33 ++++++++++++++++++++++++++------ academic/octave/octave.info | 6 +++--- academic/octave/patches/imagemagick.diff | 12 ++++++++++++ 4 files changed, 55 insertions(+), 16 deletions(-) create mode 100644 academic/octave/patches/imagemagick.diff (limited to 'academic/octave') diff --git a/academic/octave/README b/academic/octave/README index 4738a352f2..2a6c9cc1de 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 273f2b4728..ad2f4c5728 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 , USA +# Copyright 2012-2019 Kyle Guinn # 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 f6e636219e..91b44ae74f 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 0000000000..7a15122a18 --- /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 + #include + ++using Magick::Quantum; // https://savannah.gnu.org/bugs/?49653 ++ + // In theory, it should be enough to check the class: + // Magick::ClassType + // PseudoClass: -- cgit v1.2.3