diff options
author | root <root@rshg054.dnsready.net> | 2013-05-30 01:31:58 -0700 |
---|---|---|
committer | root <root@rshg054.dnsready.net> | 2013-05-30 01:31:58 -0700 |
commit | 76ee9007095484a113d1856786b81e2d2fae8202 (patch) | |
tree | 5f32a600b3d22c285dba07d99e669b7c52285d95 /extra/kdeedu-cantor | |
parent | d267e861074512027414df29d18d9824e0faae8f (diff) |
Thu May 30 01:31:56 PDT 2013
Diffstat (limited to 'extra/kdeedu-cantor')
-rw-r--r-- | extra/kdeedu-cantor/PKGBUILD | 16 | ||||
-rw-r--r-- | extra/kdeedu-cantor/sage58.patch | 123 |
2 files changed, 134 insertions, 5 deletions
diff --git a/extra/kdeedu-cantor/PKGBUILD b/extra/kdeedu-cantor/PKGBUILD index 0edb3e7e8..7005adcff 100644 --- a/extra/kdeedu-cantor/PKGBUILD +++ b/extra/kdeedu-cantor/PKGBUILD @@ -1,9 +1,9 @@ -# $Id: PKGBUILD 184889 2013-05-09 09:43:02Z andrea $ +# $Id: PKGBUILD 186565 2013-05-29 07:12:45Z andrea $ # Maintainer: Andrea Scarpino <andrea@archlinux.org> pkgname=kdeedu-cantor pkgver=4.10.3 -pkgrel=1 +pkgrel=2 pkgdesc="KDE Frontend to Mathematical Software" url="http://kde.org/applications/education/cantor/" arch=('i686' 'x86_64') @@ -15,11 +15,17 @@ optdepends=('maxima: Maxima backend' 'octave: Octave backend' 'r: R backend') install=${pkgname}.install -source=("http://download.kde.org/stable/${pkgver}/src/cantor-${pkgver}.tar.xz") -sha1sums=('ae2c9c50cc79030a3f15106d059997da5c37a886') +source=("http://download.kde.org/stable/${pkgver}/src/cantor-${pkgver}.tar.xz" + 'sage58.patch') +sha1sums=('ae2c9c50cc79030a3f15106d059997da5c37a886' + 'c02051c30ece57800d693da60280b0bdb5f45697') + +prepare() { + cd cantor-${pkgver} + patch -p1 -i "${srcdir}"/sage58.patch +} build() { - cd "${srcdir}" mkdir build cd build cmake ../cantor-${pkgver} \ diff --git a/extra/kdeedu-cantor/sage58.patch b/extra/kdeedu-cantor/sage58.patch new file mode 100644 index 000000000..d17b55a99 --- /dev/null +++ b/extra/kdeedu-cantor/sage58.patch @@ -0,0 +1,123 @@ +diff --git a/src/backends/sage/sagecompletionobject.cpp b/src/backends/sage/sagecompletionobject.cpp +index dec0c8f..a132295 100644 +--- a/src/backends/sage/sagecompletionobject.cpp ++++ b/src/backends/sage/sagecompletionobject.cpp +@@ -52,7 +52,7 @@ void SageCompletionObject::fetchCompletions() + + //cache the value of the "_" variable into __hist_tmp__, so we can restore the previous result + //after complete() was evaluated +- m_expression=session()->evaluateExpression("__hist_tmp__=_; __IPYTHON__.complete(\""+command()+"\");_=__hist_tmp__"); ++ m_expression=session()->evaluateExpression("__hist_tmp__=_; __CANTOR_IPYTHON_SHELL__.complete(\""+command()+"\");_=__hist_tmp__"); + connect(m_expression, SIGNAL(gotResult()), this, + SLOT(extractCompletions())); + +@@ -71,11 +71,19 @@ void SageCompletionObject::extractCompletions() + kDebug()<<"something went wrong fetching tab completion"; + return; + } +- ++ + //the result looks like "['comp1', 'comp2']" parse it ++ ++ //for sage version 5.7 this looks like ++ //('s1', ['comp1','comp2']) where s1 is the string we called complete with ++ + QString txt=res->toHtml().trimmed(); ++ txt.remove("<br/>"); ++ txt=txt.mid(txt.indexOf(command())+command().length()+2).trimmed(); + txt=txt.mid(1); //remove [ +- txt.chop(1); //remove ] ++ txt.chop(2); //remove ] ++ ++ kDebug()<<"completion string: "<<txt; + + QStringList tmp=txt.split(','); + QStringList completions; +diff --git a/src/backends/sage/sageexpression.cpp b/src/backends/sage/sageexpression.cpp +index eabdda2..fbde7c1 100644 +--- a/src/backends/sage/sageexpression.cpp ++++ b/src/backends/sage/sageexpression.cpp +@@ -122,7 +122,7 @@ void SageExpression::parseOutput(const QString& text) + //reset the indices + index=index2=-1; + } +- ++ + m_outputCache+=output; + + if(m_promptCount<=0) +@@ -160,11 +160,9 @@ void SageExpression::addFileResult( const QString& path ) + { + KUrl url( path ); + KMimeType::Ptr type=KMimeType::findByUrl(url); +- kDebug()<<"MimeType: "<<type->name(); +- if(type->name().contains("image")) ++ if(m_imagePath.isEmpty()||type->name().contains("image")||path.endsWith(".png")||path.endsWith(".gif")) + { +- kDebug()<<"adding file "<<path<<" "<<url; +- m_imagePath=path; ++ m_imagePath=path; + } + } + +@@ -172,8 +170,11 @@ void SageExpression::evalFinished() + { + kDebug()<<"evaluation finished"; + kDebug()<<m_outputCache; ++ ++ //check if our image path contains a valid image that we can try to show ++ bool hasImage=!m_imagePath.isNull(); + +- if ( m_imagePath.isNull() ) //If this result contains a file, drop the text information ++ if ( !hasImage ) //If this result contains a file, drop the text information + { + Cantor::TextResult* result=0; + +@@ -219,7 +220,7 @@ void SageExpression::evalFinished() + } + else + { +- KMimeType::Ptr type=KMimeType::findByUrl(m_imagePath); ++ KMimeType::Ptr type=KMimeType::findByUrl(m_imagePath); + if(type->is("image/gif")) + setResult( new Cantor::AnimationResult( KUrl(m_imagePath ),i18n("Result of %1" , command() ) ) ); + else +diff --git a/src/backends/sage/sagesession.cpp b/src/backends/sage/sagesession.cpp +index a535277..d8ac325 100644 +--- a/src/backends/sage/sagesession.cpp ++++ b/src/backends/sage/sagesession.cpp +@@ -38,10 +38,13 @@ const QByteArray SageSession::SageAlternativePrompt="....: "; //Text, sage outpu + static QByteArray initCmd="os.environ['PAGER'] = 'cat' \n "\ + "sage.misc.pager.EMBEDDED_MODE = True \n "\ + "sage.misc.viewer.BROWSER='' \n "\ ++ "sage.misc.viewer.viewer.png_viewer('') \n" \ + "sage.plot.plot3d.base.SHOW_DEFAULTS['viewer'] = 'tachyon' \n"\ + "sage.misc.latex.EMBEDDED_MODE = True \n "\ + "os.environ['PAGER'] = 'cat' \n "\ +- " __IPYTHON__.shell.autoindent=False \n "\ ++ "%colors nocolor \n "\ ++ "__CANTOR_IPYTHON_SHELL__=get_ipython() \n "\ ++ "__CANTOR_IPYTHON_SHELL__.autoindent=False \n "\ + "print '____TMP_DIR____', sage.misc.misc.SAGE_TMP\n"\ + "print '____END_OF_INIT____' \n "; + +@@ -277,6 +280,7 @@ void SageSession::waitForNextPrompt() + + void SageSession::fileCreated( const QString& path ) + { ++ kDebug()<<"got a file "<<path; + SageExpression* expr=m_expressionQueue.first(); + if ( expr ) + expr->addFileResult( path ); +@@ -290,9 +294,9 @@ void SageSession::setTypesettingEnabled(bool enable) + //the _ and __IP.outputcache() are needed to keep the + // _ operator working + if (enable) +- evaluateExpression("sage.misc.latex.pretty_print_default(true);_;__IP.outputcache()", Cantor::Expression::DeleteOnFinish); ++ evaluateExpression("sage.misc.latex.pretty_print_default(true)", Cantor::Expression::DeleteOnFinish); + else +- evaluateExpression("sage.misc.latex.pretty_print_default(false);_;__IP.outputcache()", Cantor::Expression::DeleteOnFinish); ++ evaluateExpression("sage.misc.latex.pretty_print_default(false)", Cantor::Expression::DeleteOnFinish); + } + + Cantor::CompletionObject* SageSession::completionFor(const QString& command, int index) |