summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Sturmlechner <asturm@gentoo.org>2017-02-11 22:49:09 +0100
committerAndreas Sturmlechner <asturm@gentoo.org>2017-02-12 00:34:46 +0100
commitadb1ff04a2bddaf9a934bc7698aa10301dc1e2e2 (patch)
tree0e25910bd4597547cbbe32f68d091c07d09bd5d1 /kde-apps/cantor
parentkde-apps/cantor: Fix build w/ USE=python and KF-5.31 (diff)
downloadgentoo-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/cantor')
-rw-r--r--kde-apps/cantor/cantor-16.12.2.ebuild1
-rw-r--r--kde-apps/cantor/cantor-9999.ebuild107
-rw-r--r--kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch190
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 &regexp = 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
+