diff options
author | Andreas Sturmlechner <asturm@gentoo.org> | 2017-02-11 22:49:09 +0100 |
---|---|---|
committer | Andreas Sturmlechner <asturm@gentoo.org> | 2017-02-12 00:34:46 +0100 |
commit | adb1ff04a2bddaf9a934bc7698aa10301dc1e2e2 (patch) | |
tree | 0e25910bd4597547cbbe32f68d091c07d09bd5d1 /kde-apps | |
parent | kde-apps/cantor: Fix build w/ USE=python and KF-5.31 (diff) | |
download | gentoo-adb1ff04a2bddaf9a934bc7698aa10301dc1e2e2.tar.gz gentoo-adb1ff04a2bddaf9a934bc7698aa10301dc1e2e2.tar.bz2 gentoo-adb1ff04a2bddaf9a934bc7698aa10301dc1e2e2.zip |
kde-apps/cantor: Fix build w/ USE=julia and KF-5.31
Package-Manager: portage-2.3.3
Diffstat (limited to 'kde-apps')
-rw-r--r-- | kde-apps/cantor/cantor-16.12.2.ebuild | 1 | ||||
-rw-r--r-- | kde-apps/cantor/cantor-9999.ebuild | 107 | ||||
-rw-r--r-- | kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch | 190 |
3 files changed, 298 insertions, 0 deletions
diff --git a/kde-apps/cantor/cantor-16.12.2.ebuild b/kde-apps/cantor/cantor-16.12.2.ebuild index 669532f80988..2e6883b3b3a2 100644 --- a/kde-apps/cantor/cantor-16.12.2.ebuild +++ b/kde-apps/cantor/cantor-16.12.2.ebuild @@ -59,6 +59,7 @@ RESTRICT+=" test" PATCHES=( "${FILESDIR}"/${P}-bashism.patch "${FILESDIR}"/${P}-python-kf-5.31.patch + "${FILESDIR}"/${P}-julia-kf-5.31.patch ) pkg_pretend() { diff --git a/kde-apps/cantor/cantor-9999.ebuild b/kde-apps/cantor/cantor-9999.ebuild new file mode 100644 index 000000000000..fb71acbf5694 --- /dev/null +++ b/kde-apps/cantor/cantor-9999.ebuild @@ -0,0 +1,107 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +KDE_HANDBOOK="forceoptional" +KDE_TEST="forceoptional" +PYTHON_COMPAT=( python2_7 ) +# FIXME: PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +inherit kde5 python-r1 + +DESCRIPTION="Interface for doing mathematics and scientific computing" +HOMEPAGE="https://www.kde.org/applications/education/cantor https://edu.kde.org/cantor" +KEYWORDS="" +IUSE="analitza julia lua postscript python qalculate +R" + +REQUIRED_USE="python? ( ${PYTHON_REQUIRED_USE} )" + +# TODO Add Sage Mathematics Software backend (http://www.sagemath.org) +# FIXME: $(python_gen_cond_dep 'dev-qt/qtdbus:5' 'python3*') +DEPEND=" + $(add_frameworks_dep karchive) + $(add_frameworks_dep kcompletion) + $(add_frameworks_dep kconfig) + $(add_frameworks_dep kconfigwidgets) + $(add_frameworks_dep kcoreaddons) + $(add_frameworks_dep kcrash) + $(add_frameworks_dep ki18n) + $(add_frameworks_dep kiconthemes) + $(add_frameworks_dep kio) + $(add_frameworks_dep knewstuff) + $(add_frameworks_dep kparts) + $(add_frameworks_dep kpty) + $(add_frameworks_dep ktexteditor) + $(add_frameworks_dep kwidgetsaddons) + $(add_frameworks_dep kxmlgui) + $(add_qt_dep qtgui) + $(add_qt_dep qtprintsupport) + $(add_qt_dep qtsvg) + $(add_qt_dep qtwidgets) + $(add_qt_dep qtxml) + $(add_qt_dep qtxmlpatterns) + analitza? ( $(add_kdeapps_dep analitza) ) + julia? ( dev-lang/julia ) + lua? ( dev-lang/luajit:2 ) + qalculate? ( + sci-libs/cln + sci-libs/libqalculate:= + ) + postscript? ( app-text/libspectre ) + python? ( ${PYTHON_DEPS} ) + R? ( dev-lang/R ) +" +RDEPEND="${RDEPEND}" + +RESTRICT+=" test" + +PATCHES=( "${FILESDIR}"/${PN}-16.12.2-bashism.patch ) + +pkg_pretend() { + kde5_pkg_pretend + + if ! has_version sci-mathematics/maxima && ! has_version sci-mathematics/octave && \ + ! use analitza && ! use julia && ! use lua && ! use python && ! use qalculate && ! use R; then + einfo "You have decided to build ${PN} with no backend." + einfo "To have this application functional, please enable one of the backends via USE flag:" + einfo " analitza, julia, lua, python, qalculate, R" + einfo "Alternatively, install one of these:" + einfo " # emerge sci-mathematics/maxima" + einfo " # emerge sci-mathematics/octave" + einfo + fi + + if ! has_version virtual/latex-base; then + einfo "For LaTeX support:" + einfo " # emerge virtual/latex-base" + fi +} + +pkg_setup() { + use python && python_setup + kde5_pkg_setup +} + +src_prepare() { + kde5_src_prepare + + # FIXME: shipped FindPythonLibs3.cmake does not work for Gentoo + sed -e "/^find_package(PythonLibs3)/ s/^/#/" \ + -i src/backends/CMakeLists.txt || die +} + +src_configure() { + use julia && addpredict /proc/self/mem # bug 602894 + + local mycmakeargs=( + $(cmake-utils_use_find_package analitza Analitza5) + $(cmake-utils_use_find_package julia Julia) + $(cmake-utils_use_find_package lua LuaJIT) + $(cmake-utils_use_find_package postscript LibSpectre) + $(cmake-utils_use_find_package python PythonLibs) + $(cmake-utils_use_find_package qalculate Qalculate) + $(cmake-utils_use_find_package R R) + ) + kde5_src_configure +} diff --git a/kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch b/kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch new file mode 100644 index 000000000000..425c61eb4883 --- /dev/null +++ b/kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch @@ -0,0 +1,190 @@ +From 45322d9f58f50df3d4d5755d4199e579f6fd8646 Mon Sep 17 00:00:00 2001 +From: Andreas Sturmlechner <andreas.sturmlechner@gmail.com> +Date: Sat, 11 Feb 2017 22:46:35 +0100 +Subject: [PATCH] [julia] Fix build with -fno-operator-names + +REVIEW: 129942 +--- + src/backends/julia/juliaexpression.cpp | 6 +++--- + src/backends/julia/juliaextensions.cpp | 4 ++-- + src/backends/julia/juliahighlighter.cpp | 4 ++-- + src/backends/julia/juliakeywords.cpp | 10 +++++----- + src/backends/julia/juliaserver/juliaserver.cpp | 4 ++-- + src/backends/julia/juliaserver/main.cpp | 4 ++-- + src/backends/julia/juliasession.cpp | 4 ++-- + 7 files changed, 18 insertions(+), 18 deletions(-) + +diff --git a/src/backends/julia/juliaexpression.cpp b/src/backends/julia/juliaexpression.cpp +index 27cdd85..618200d 100644 +--- a/src/backends/julia/juliaexpression.cpp ++++ b/src/backends/julia/juliaexpression.cpp +@@ -40,7 +40,7 @@ void JuliaExpression::evaluate() + + // Plots integration + m_plot_filename.clear(); +- if (juliaSession->integratePlots() and checkPlotShowingCommands()) { ++ if (juliaSession->integratePlots() && checkPlotShowingCommands()) { + // Simply add plot saving command to the end of execution + QStringList inlinePlotFormats; + inlinePlotFormats << QLatin1String("svg"); +@@ -73,8 +73,8 @@ void JuliaExpression::finalize() + setResult(new Cantor::TextResult(juliaSession->getOutput())); + setStatus(Cantor::Expression::Error); + } else { +- if (not m_plot_filename.isEmpty() +- and QFileInfo(m_plot_filename).exists()) { ++ if (!m_plot_filename.isEmpty() ++ && QFileInfo(m_plot_filename).exists()) { + // If we have plot in result, show it + setResult( + new Cantor::ImageResult(QUrl::fromLocalFile(m_plot_filename))); +diff --git a/src/backends/julia/juliaextensions.cpp b/src/backends/julia/juliaextensions.cpp +index 4585c6f..ad5e3a9 100644 +--- a/src/backends/julia/juliaextensions.cpp ++++ b/src/backends/julia/juliaextensions.cpp +@@ -138,7 +138,7 @@ QString JuliaPlotExtension::plotFunction2d( + { + auto new_left = left; + auto new_right = right; +- if (new_left.isEmpty() and new_right.isEmpty()) { ++ if (new_left.isEmpty() && new_right.isEmpty()) { + new_left = QLatin1String("-1"); + new_right = QLatin1String("1"); + } else if (new_left.isEmpty()) { +@@ -165,7 +165,7 @@ QString JuliaPlotExtension::plotFunction3d( + { + + auto update_interval = [](Interval &interval) { +- if (interval.first.isEmpty() and interval.second.isEmpty()) { ++ if (interval.first.isEmpty() && interval.second.isEmpty()) { + interval.first = QLatin1String("-1"); + interval.second = QLatin1String("1"); + } else if (interval.first.isEmpty()) { +diff --git a/src/backends/julia/juliahighlighter.cpp b/src/backends/julia/juliahighlighter.cpp +index 4795361..f7d3622 100644 +--- a/src/backends/julia/juliahighlighter.cpp ++++ b/src/backends/julia/juliahighlighter.cpp +@@ -98,7 +98,7 @@ void JuliaHighlighter::highlightBlock(const QString &text) + while (pos < text.length()) { + // Trying to close current environments + bool triggered = false; +- for (int i = 0; i < flags.size() and not triggered; i++) { ++ for (int i = 0; i < flags.size() && !triggered; i++) { + int flag = flags[i]; + QRegExp ®exp = regexps_ends[i]; + QTextCharFormat &format = formats[i]; +@@ -144,7 +144,7 @@ void JuliaHighlighter::highlightBlock(const QString &text) + singleLineCommentStart.indexIn(text, pos); + + if (singleLineCommentStartPos != -1 +- and singleLineCommentStartPos < minPos) { ++ && singleLineCommentStartPos < minPos) { + // single line comment starts earlier + setFormat(pos, text.length() - pos, commentFormat()); + break; +diff --git a/src/backends/julia/juliakeywords.cpp b/src/backends/julia/juliakeywords.cpp +index f0a5846..8a0efec 100644 +--- a/src/backends/julia/juliakeywords.cpp ++++ b/src/backends/julia/juliakeywords.cpp +@@ -62,11 +62,11 @@ void JuliaKeywords::loadFromFile() + const QStringRef name = xml.name(); + + if (name == QLatin1String("keywords") +- or name == QLatin1String("variables") +- or name == QLatin1String("plot_showing_commands")) { ++ || name == QLatin1String("variables") ++ || name == QLatin1String("plot_showing_commands")) { + while (xml.readNextStartElement()) { + Q_ASSERT( +- xml.isStartElement() and xml.name() == QLatin1String("word") ++ xml.isStartElement() && xml.name() == QLatin1String("word") + ); + + const QString text = xml.readElementText(); +@@ -91,7 +91,7 @@ void JuliaKeywords::loadFromFile() + + void JuliaKeywords::addVariable(const QString &variable) + { +- if (not m_variables.contains(variable)) { ++ if (!m_variables.contains(variable)) { + m_variables << variable; + } + } +@@ -104,7 +104,7 @@ void JuliaKeywords::clearVariables() + + void JuliaKeywords::addFunction(const QString &function) + { +- if (not m_functions.contains(function)) { ++ if (!m_functions.contains(function)) { + m_functions << function; + } + } +diff --git a/src/backends/julia/juliaserver/juliaserver.cpp b/src/backends/julia/juliaserver/juliaserver.cpp +index c9beb4c..91585cf 100644 +--- a/src/backends/julia/juliaserver/juliaserver.cpp ++++ b/src/backends/julia/juliaserver/juliaserver.cpp +@@ -47,7 +47,7 @@ void JuliaServer::runJuliaCommand(const QString &command) + { + // Redirect stdout, stderr to temprorary files + QTemporaryFile output, error; +- if (not output.open() or not error.open()) { ++ if (!output.open() || !error.open()) { + qFatal("Unable to create temprorary files for stdout/stderr"); + return; + } +@@ -90,7 +90,7 @@ void JuliaServer::runJuliaCommand(const QString &command) + bool is_nothing = jl_unbox_bool( + static_cast<jl_value_t *>(jl_call2(equality, nothing, val)) + ); +- if (not is_nothing) { ++ if (!is_nothing) { + jl_static_show(JL_STDOUT, val); + } + m_was_exception = false; +diff --git a/src/backends/julia/juliaserver/main.cpp b/src/backends/julia/juliaserver/main.cpp +index ad7e4d9..11687ec 100644 +--- a/src/backends/julia/juliaserver/main.cpp ++++ b/src/backends/julia/juliaserver/main.cpp +@@ -30,7 +30,7 @@ int main(int argc, char *argv[]) + { + QCoreApplication app(argc, argv); + +- if (not QDBusConnection::sessionBus().isConnected()) { ++ if (!QDBusConnection::sessionBus().isConnected()) { + qWarning() << "Can't connect to the D-Bus session bus.\n" + "To start it, run: eval `dbus-launch --auto-syntax`"; + return 1; +@@ -39,7 +39,7 @@ int main(int argc, char *argv[]) + const QString &serviceName = + QString::fromLatin1("org.kde.Cantor.Julia-%1").arg(app.applicationPid()); + +- if (not QDBusConnection::sessionBus().registerService(serviceName)) { ++ if (!QDBusConnection::sessionBus().registerService(serviceName)) { + qWarning() << QDBusConnection::sessionBus().lastError().message(); + return 2; + } +diff --git a/src/backends/julia/juliasession.cpp b/src/backends/julia/juliasession.cpp +index 425e6cb..9183e11 100644 +--- a/src/backends/julia/juliasession.cpp ++++ b/src/backends/julia/juliasession.cpp +@@ -86,7 +86,7 @@ void JuliaSession::login() + QDBusConnection::sessionBus() + ); + +- if (not m_interface->isValid()) { ++ if (!m_interface->isValid()) { + qWarning() << QDBusConnection::sessionBus().lastError().message(); + return; + } +@@ -213,7 +213,7 @@ bool JuliaSession::getWasException() + { + const QDBusReply<bool> &reply = + m_interface->call(QLatin1String("getWasException")); +- return reply.isValid() and reply.value(); ++ return reply.isValid() && reply.value(); + } + + void JuliaSession::listVariables() +-- +2.10.2 + |