forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
kde-apps/cantor: Fix build w/ USE=julia and KF-5.31
Package-Manager: portage-2.3.3
- Loading branch information
Showing
3 changed files
with
298 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -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 | ||
} |
190 changes: 190 additions & 0 deletions
190
kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,190 @@ | ||
From 45322d9f58f50df3d4d5755d4199e579f6fd8646 Mon Sep 17 00:00:00 2001 | ||
From: Andreas Sturmlechner <[email protected]> | ||
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 | ||
|