mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 17:09:10 -07:00
kde-apps/cantor: Fix build w/ USE=julia and KF-5.31
Package-Manager: portage-2.3.3
This commit is contained in:
@@ -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() {
|
||||
|
||||
107
kde-apps/cantor/cantor-9999.ebuild
Normal file
107
kde-apps/cantor/cantor-9999.ebuild
Normal file
@@ -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
kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch
Normal file
190
kde-apps/cantor/files/cantor-16.12.2-julia-kf-5.31.patch
Normal file
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user