aboutsummaryrefslogtreecommitdiff
path: root/academic
diff options
context:
space:
mode:
Diffstat (limited to 'academic')
-rw-r--r--academic/octave/octave.SlackBuild6
-rw-r--r--academic/octave/octave.info6
-rw-r--r--academic/octave/patches/0348f3f57e3c.diff170
-rw-r--r--academic/octave/patches/87ca5976c648.diff22
4 files changed, 199 insertions, 5 deletions
diff --git a/academic/octave/octave.SlackBuild b/academic/octave/octave.SlackBuild
index fb2d909a46bd..7660cb6ca74c 100644
--- a/academic/octave/octave.SlackBuild
+++ b/academic/octave/octave.SlackBuild
@@ -2,7 +2,7 @@
# Slackware build script for octave
-# Copyright 2012-2020 Kyle Guinn <elyk03@gmail.com>
+# Copyright 2012-2021 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:-5.2.0}
+VERSION=${VERSION:-6.1.0}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
@@ -91,6 +91,8 @@ cd $PRGNAM-$VERSION
chown -R root:root .
chmod -R u+w,go-w,a+rX-st .
+patch -p1 < $CWD/patches/87ca5976c648.diff # https://savannah.gnu.org/bugs/?59806
+patch -p1 -F3 < $CWD/patches/0348f3f57e3c.diff # https://savannah.gnu.org/bugs/?59813
patch -p1 < $CWD/patches/imagemagick.diff # https://savannah.gnu.org/bugs/?49653
patch -p1 < $CWD/patches/atlas-lib-rename.diff
autoreconf -vif
diff --git a/academic/octave/octave.info b/academic/octave/octave.info
index a4ea3e666a76..af96716f60b5 100644
--- a/academic/octave/octave.info
+++ b/academic/octave/octave.info
@@ -1,8 +1,8 @@
PRGNAM="octave"
-VERSION="5.2.0"
+VERSION="6.1.0"
HOMEPAGE="https://www.gnu.org/software/octave/"
-DOWNLOAD="https://ftp.gnu.org/gnu/octave/octave-5.2.0.tar.lz"
-MD5SUM="3c621e85026d4a807f5639901a41ae71"
+DOWNLOAD="https://ftpmirror.gnu.org/gnu/octave/octave-6.1.0.tar.lz"
+MD5SUM="350315cf2bf16169b8710e70154c86ad"
DOWNLOAD_x86_64=""
MD5SUM_x86_64=""
REQUIRES="%README% lapack"
diff --git a/academic/octave/patches/0348f3f57e3c.diff b/academic/octave/patches/0348f3f57e3c.diff
new file mode 100644
index 000000000000..1545797a6150
--- /dev/null
+++ b/academic/octave/patches/0348f3f57e3c.diff
@@ -0,0 +1,170 @@
+
+# HG changeset patch
+# User John W. Eaton <jwe@octave.org>
+# Date 1609785454 18000
+# Node ID 0348f3f57e3ca6fa7c8e5112622c756d00dd7dab
+# Parent a3d92c4ad5502686daf2b34f062db6c950db30ef
+avoid build errors with Qt4 (bug #59813)
+
+* acinclude.m4 (OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT,
+OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE): New macros.
+(OCTAVE_CHECK_QT_VERSION): Use them.
+
+* resource-manager.cc (resource_manager::get_default_font_family):
+Check availability of QFontDatabase::systemFont, fall back on
+QFont::setStyleHint, then global_font_family.
+
+* octave-dock-widget.cc (octave_dock_widget::handle_settings):
+Check whether QVariant::canConvert accepts QMetatype::Type. Use
+QVariant::Type as fallback.
+* variable-editor-model.cc (variable_editor_model::setData): Likewise.
+
+diff --git a/libgui/src/octave-dock-widget.cc b/libgui/src/octave-dock-widget.cc
+--- a/libgui/src/octave-dock-widget.cc
++++ b/libgui/src/octave-dock-widget.cc
+@@ -507,7 +507,12 @@
+ QVariant dock_geom
+ = settings->value (dw_dock_geometry.key.arg (objectName ()),
+ default_dock_size);
+- if (dock_geom.canConvert (QMetaType::QRect))
++#if defined (QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE)
++ QMetaType::Type rect_type = QMetaType::QRect;
++#else
++ QVariant::Type rect_type = QVariant::Rect;
++#endif
++ if (dock_geom.canConvert (rect_type))
+ m_recent_dock_geom = dock_geom.toRect ();
+ else
+ m_recent_dock_geom = dw_dock_geometry.def.toRect ();
+diff --git a/libgui/src/resource-manager.cc b/libgui/src/resource-manager.cc
+--- a/libgui/src/resource-manager.cc
++++ b/libgui/src/resource-manager.cc
+@@ -241,9 +241,17 @@
+ // if macOS default font is not available): use QFontDatabase
+ if (default_family.isEmpty ())
+ {
++#if defined (HAVE_QFONTDATABASE_SYSTEMFONT)
+ // Get the system's default monospaced font
+ QFont fixed_font = QFontDatabase::systemFont (QFontDatabase::FixedFont);
+ default_family = fixed_font.defaultFamily ();
++#elif defined (HAVE_QFONT_MONOSPACE)
++ QFont fixed_font;
++ fixed_font.setStyleHint (QFont::Monospace);
++ default_family = fixed_font.defaultFamily ();
++#else
++ default_family = global_font_family;
++#endif
+ }
+
+ // Test env variable which has preference
+diff --git a/libgui/src/variable-editor-model.cc b/libgui/src/variable-editor-model.cc
+--- a/libgui/src/variable-editor-model.cc
++++ b/libgui/src/variable-editor-model.cc
+@@ -987,7 +987,12 @@
+ variable_editor_model::setData (const QModelIndex& idx,
+ const QVariant& v_user_input, int role)
+ {
+- if (role != Qt::EditRole || ! v_user_input.canConvert (QVariant::String)
++#if defined (QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE)
++ QMetaType::Type string_type = QMetaType::QString;
++#else
++ QVariant::Type string_type = QVariant::String;
++#endif
++ if (role != Qt::EditRole || ! v_user_input.canConvert (string_type)
+ || ! idx.isValid ())
+ return false;
+
+diff --git a/m4/acinclude.m4 b/m4/acinclude.m4
+--- a/m4/acinclude.m4
++++ b/m4/acinclude.m4
+@@ -1091,6 +1091,35 @@
+ fi
+ ])
+ dnl
++dnl Check whether the Qt class QFontDatabase has the systemFont member
++dnl function. This function was introduced in Qt 5.2.
++dnl
++AC_DEFUN([OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT], [
++ AC_CACHE_CHECK([for QFontDatabase::systemFont function],
++ [octave_cv_func_qfontdatabase_systemfont],
++ [AC_LANG_PUSH(C++)
++ ac_octave_save_CPPFLAGS="$CPPFLAGS"
++ ac_octave_save_CXXFLAGS="$CXXFLAGS"
++ CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
++ CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++ #include <QFontDatabase>
++ #include <QFont>
++ ]], [[
++ QFont font = QFontDatabase::systemFont (QFontDatabase::FixedFont);
++ ]])],
++ octave_cv_func_qfontdatabase_systemfont=yes,
++ octave_cv_func_qfontdatabase_systemfont=no)
++ CPPFLAGS="$ac_octave_save_CPPFLAGS"
++ CXXFLAGS="$ac_octave_save_CXXFLAGS"
++ AC_LANG_POP(C++)
++ ])
++ if test $octave_cv_func_qfontdatabase_systemfont = yes; then
++ AC_DEFINE(HAVE_QFONTDATABASE_SYSTEMFONT, 1,
++ [Define to 1 if you have the `QFontDatabase::systemFont' function.])
++ fi
++])
++dnl
+ dnl Check whether the Qt class QList has a constructor that accepts
+ dnl a pair of iterators. This constructor was introduced in Qt 5.14.
+ dnl
+@@ -1967,6 +1996,37 @@
+ fi
+ ])
+ dnl
++dnl Check whether QVariant::canConvert accepts a QMetaType::Type
++dnl enumeration value as an argument.
++dnl
++AC_DEFUN([OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE], [
++ AC_CACHE_CHECK([whether QVariant::canConvert accepts QMetaType::Type argument],
++ [octave_cv_qvariant_canconvert_accepts_qmetatype_type],
++ [AC_LANG_PUSH(C++)
++ ac_octave_save_CPPFLAGS="$CPPFLAGS"
++ ac_octave_save_CXXFLAGS="$CXXFLAGS"
++ CPPFLAGS="$QT_CPPFLAGS $CXXPICFLAG $CPPFLAGS"
++ CXXFLAGS="$CXXPICFLAG $CXXFLAGS"
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM([[
++ #include <QMetaType>
++ #include <QVariant>
++ ]], [[
++ QVariant var;
++ QMetaType::Type type = QMetaType::QString;
++ var.canConvert (type);
++ ]])],
++ octave_cv_qvariant_canconvert_accepts_qmetatype_type=yes,
++ octave_cv_qvariant_canconvert_accepts_qmetatype_type=no)
++ CPPFLAGS="$ac_octave_save_CPPFLAGS"
++ CXXFLAGS="$ac_octave_save_CXXFLAGS"
++ AC_LANG_POP(C++)
++ ])
++ if test $octave_cv_qvariant_canconvert_accepts_qmetatype_type = yes; then
++ AC_DEFINE(QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE, 1,
++ [Define to 1 if `QVariant::canConvert' accepts `QMetaType::Type' enumeration value as argument.])
++ fi
++])
++dnl
+ dnl Check for the Qhull version.
+ dnl
+ AC_DEFUN([OCTAVE_CHECK_QHULL_VERSION], [
+@@ -2518,6 +2578,7 @@
+ ## version that we are testing now will be the one used.
+
+ OCTAVE_CHECK_FUNC_QCOMBOBOX_SETCURRENTTEXT
++ OCTAVE_CHECK_FUNC_QFONTDATABASE_SYSTEMFONT
+ OCTAVE_CHECK_FUNC_QFONTMETRICS_HORIZONTAL_ADVANCE
+ OCTAVE_CHECK_FUNC_QGUIAPPLICATION_SETDESKTOPFILENAME
+ OCTAVE_CHECK_FUNC_QHEADERVIEW_SETSECTIONRESIZEMODE
+@@ -2539,6 +2600,7 @@
+ OCTAVE_CHECK_FUNC_QWHEELEVENT_POSITION
+ OCTAVE_CHECK_MEMBER_QFONT_FORCE_INTEGER_METRICS
+ OCTAVE_CHECK_MEMBER_QFONT_MONOSPACE
++ OCTAVE_CHECK_QVARIANT_CANCONVERT_ACCEPTS_QMETATYPE_TYPE
+ OCTAVE_HAVE_QGUIAPPLICATION
+
+ OCTAVE_CHECK_QREGION_ITERATORS
+
diff --git a/academic/octave/patches/87ca5976c648.diff b/academic/octave/patches/87ca5976c648.diff
new file mode 100644
index 000000000000..b428490abf0e
--- /dev/null
+++ b/academic/octave/patches/87ca5976c648.diff
@@ -0,0 +1,22 @@
+
+# HG changeset patch
+# User Markus Mützel <markus.muetzel@gmx.de>
+# Date 1609670947 -3600
+# Node ID 87ca5976c648cc01904f8ef53b576bfb5c8d48fd
+# Parent 216ef81dafb682ba0a4a30dcc5c3bc054acb0d60
+build: Use SPARSE_XCPPFLAGS in CPP_FLAGS for libcorefcn (bug #59806).
+
+* libinterp/corefcn/module.mk: Use SPARSE_XCPPFLAGS in CPP_FLAGS.
+
+diff --git a/libinterp/corefcn/module.mk b/libinterp/corefcn/module.mk
+--- a/libinterp/corefcn/module.mk
++++ b/libinterp/corefcn/module.mk
+@@ -325,6 +325,7 @@
+ $(FT2_CPPFLAGS) \
+ $(HDF5_CPPFLAGS) \
+ $(LLVM_CPPFLAGS) \
++ $(SPARSE_XCPPFLAGS) \
+ $(Z_CPPFLAGS)
+
+ libinterp_EXTRA_DIST += \
+