diff options
-rw-r--r-- | academic/octave/octave.SlackBuild | 6 | ||||
-rw-r--r-- | academic/octave/octave.info | 6 | ||||
-rw-r--r-- | academic/octave/patches/0348f3f57e3c.diff | 170 | ||||
-rw-r--r-- | academic/octave/patches/87ca5976c648.diff | 22 |
4 files changed, 199 insertions, 5 deletions
diff --git a/academic/octave/octave.SlackBuild b/academic/octave/octave.SlackBuild index fb2d909a46bdb..7660cb6ca74c2 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 a4ea3e666a76b..af96716f60b5d 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 0000000000000..1545797a6150d --- /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 0000000000000..b428490abf0e8 --- /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 += \ + |