summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO28
-rw-r--r--ChangeLog3
-rw-r--r--PKGBUILD51
-rw-r--r--build-fix.patch21
-rw-r--r--freemat.install7
-rw-r--r--remove-qwebkit.patch138
6 files changed, 248 insertions, 0 deletions
diff --git a/.SRCINFO b/.SRCINFO
new file mode 100644
index 000000000000..179b6144d973
--- /dev/null
+++ b/.SRCINFO
@@ -0,0 +1,28 @@
+pkgbase = freemat
+ pkgdesc = A free environment for rapid engineering, scientific prototyping and data processing
+ pkgver = 4.2
+ pkgrel = 9
+ url = http://freemat.sourceforge.net
+ install = freemat.install
+ arch = x86_64
+ license = GPL
+ makedepends = cmake
+ makedepends = python2
+ makedepends = suitesparse
+ makedepends = doxygen
+ makedepends = gcc-fortran
+ depends = arpack
+ depends = fftw
+ depends = glu
+ depends = portaudio
+ depends = qt4
+ depends = libffi
+ source = https://downloads.sourceforge.net/project/freemat/FreeMat4/FreeMat-4.2-Source.tar.gz
+ source = build-fix.patch
+ source = remove-qwebkit.patch
+ md5sums = ace147e49273ae935d363da8e2a56d4d
+ md5sums = 042f43dcae863e3fc4c9a10b46761344
+ md5sums = 5e37816fafe46a79cc157549f5bec554
+
+pkgname = freemat
+
diff --git a/ChangeLog b/ChangeLog
new file mode 100644
index 000000000000..dba4cf7ec79b
--- /dev/null
+++ b/ChangeLog
@@ -0,0 +1,3 @@
+2007-06-27 tardo <tardo@nagi-fanboi.net>
+* Built for x86_64
+
diff --git a/PKGBUILD b/PKGBUILD
new file mode 100644
index 000000000000..3bb011211db8
--- /dev/null
+++ b/PKGBUILD
@@ -0,0 +1,51 @@
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: William Rea <sillywilly@gmail.com>
+
+pkgname=freemat
+pkgver=4.2
+pkgrel=9
+pkgdesc="A free environment for rapid engineering, scientific prototyping and data processing"
+arch=('x86_64')
+url="http://freemat.sourceforge.net"
+license=('GPL')
+depends=('arpack' 'fftw' 'glu' 'portaudio' 'qt4' 'libffi')
+makedepends=('cmake' 'python2' 'suitesparse' 'doxygen' 'gcc-fortran')
+install=freemat.install
+source=(https://downloads.sourceforge.net/project/freemat/FreeMat4/FreeMat-$pkgver-Source.tar.gz
+ build-fix.patch
+ remove-qwebkit.patch)
+md5sums=('ace147e49273ae935d363da8e2a56d4d'
+ '042f43dcae863e3fc4c9a10b46761344'
+ '5e37816fafe46a79cc157549f5bec554')
+
+prepare() {
+ cd "$srcdir"/FreeMat-$pkgver-Source
+ patch -p1 <"$srcdir"/build-fix.patch
+ patch -p1 <"$srcdir"/remove-qwebkit.patch
+}
+
+build() {
+ cd "$srcdir"/FreeMat-$pkgver-Source
+ unset LDFLAGS CFLAGS CXXFLAGS CPPFLAGS
+ rm -f CMakeCache.txt
+ find . -type f -name '*.moc.cpp' -exec rm -f {} \;
+ find . -type f -name 'add.so' -exec rm -f {} \;
+ echo >libs/libMatC/CJitFuncClang.hpp
+ echo >libs/libMatC/CJitFuncClang.cpp
+
+ cmake \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DUSE_LLVM=OFF \
+ -DFORCE_BUNDLED_UMFPACK=ON \
+ -DFFI_INCLUDE_DIR=/usr/lib/libffi-`pacman -Q libffi | cut -f2 -d\ |cut -f1 -d-`/include/ \
+ -DPYTHON_EXECUTABLE=/usr/bin/python2 \
+ .
+ make
+}
+package() {
+ cd "$srcdir"/FreeMat-$pkgver-Source
+
+ make DESTDIR="$pkgdir" install -j1
+ sed -i "s|/FreeMat-.*/|/FreeMat-$pkgver/|g" $startdir/freemat.install
+ rm "$pkgdir"/usr/bin/blas.ini
+}
diff --git a/build-fix.patch b/build-fix.patch
new file mode 100644
index 000000000000..98db636af005
--- /dev/null
+++ b/build-fix.patch
@@ -0,0 +1,21 @@
+diff -wbBur FreeMat-4.2-Source/CMakeLists.txt FreeMat-4.2-Source.q/CMakeLists.txt
+--- FreeMat-4.2-Source/CMakeLists.txt 2013-07-28 01:27:12.000000000 +0400
++++ FreeMat-4.2-Source.q/CMakeLists.txt 2014-05-29 21:13:35.263893395 +0400
+@@ -250,17 +250,6 @@
+ ######################################################################
+ OPTION(USE_LLVM "Build with LLVM support?" ON)
+
+-FIND_PACKAGE(LLVM)
+-FIND_PACKAGE(CLANG)
+-
+-IF (LLVM_FOUND AND CLANG_FOUND)
+- add_definitions(-DHAVE_LLVM)
+- include_directories(${LLVM_INCLUDE_DIRS})
+- link_directories(${LLVM_LIBRARY_DIRS})
+- llvm_map_components_to_libraries(REQ_LLVM_LIBRARIES jit interpreter nativecodegen asmparser bitreader bitwriter codegen ipo linker selectiondag instrumentation)
+- set(OPTIONAL_LIBS ${OPTIONAL_LIBS} ${CLANG_LIBRARIES} ${REQ_LLVM_LIBRARIES})
+-ENDIF()
+-
+ ##############################################################################
+ #Extra libraries
+ IF(NOT WIN32)
diff --git a/freemat.install b/freemat.install
new file mode 100644
index 000000000000..37a785528e15
--- /dev/null
+++ b/freemat.install
@@ -0,0 +1,7 @@
+post_install() {
+ echo "-- Use FreeMat -i /usr/share/FreeMat-4.2/ to adjust docs location"
+}
+
+post_upgrade() {
+ echo "-- Use FreeMat -i /usr/share/FreeMat-4.2/ to adjust docs location"
+}
diff --git a/remove-qwebkit.patch b/remove-qwebkit.patch
new file mode 100644
index 000000000000..6617d00aaa6a
--- /dev/null
+++ b/remove-qwebkit.patch
@@ -0,0 +1,138 @@
+Description: Remove qwebkit dependencies.
+ This is bad patch, because it disables the functionality
+ of help-menu. But it can only be fixed, when FreeMat will
+ be ported on Qt5. Qt4-Webkit will be removed soon, so we
+ do not have any choice.
+Author: Anton Gladky <gladk@debian.org>
+Last-Update: 2016-01-22
+
+Index: FreeMat-4.2-Source/libs/libCore/helpwidget.cpp
+===================================================================
+--- FreeMat-4.2-Source.orig/libs/libCore/helpwidget.cpp
++++ FreeMat-4.2-Source/libs/libCore/helpwidget.cpp
+@@ -85,7 +85,6 @@ void HelpWindow::activateModule(QListWid
+ QRegExp modname_pattern("^\\s*(\\b\\w+\\b)\\s*\\((\\b\\w+\\b)\\)");
+ if (modname_pattern.indexIn(name_and_section) < 0)
+ return;
+- tb->load(QUrl::fromLocalFile(m_initial+"/"+modname_pattern.cap(2) + "_" + modname_pattern.cap(1)+".html"));
+ }
+
+ void HelpWindow::activateModuleSearch(QListWidgetItem* item) {
+@@ -93,11 +92,6 @@ void HelpWindow::activateModuleSearch(QL
+ QRegExp modname_pattern("^\\s*(\\b\\w+\\b)\\s*\\((\\b\\w+\\b)\\)");
+ if (modname_pattern.indexIn(name_and_section) < 0)
+ return;
+- tb->load(QUrl::fromLocalFile(m_initial+"/"+modname_pattern.cap(2) + "_" + modname_pattern.cap(1)+".html"));
+-
+- /* Highlight search text*/
+- if (!searchString.isEmpty())
+- tb->findText(searchString,QWebPage::HighlightAllOccurrences);
+ }
+
+ void HelpWindow::activateModule(QTreeWidgetItem* item, int) {
+@@ -106,7 +100,6 @@ void HelpWindow::activateModule(QTreeWid
+ if (modname.indexIn(fulltext) < 0)
+ return;
+ QString module(modname.cap(1).toLower());
+- tb->load(QUrl::fromLocalFile(m_initial+"/"+item->text(1)+"_"+module+".html"));
+ }
+
+ void HelpWindow::helpText(QString fulltext) {
+@@ -122,7 +115,6 @@ void HelpWindow::helpText(QString fullte
+ QRegExp modname_pattern("^\\s*(\\b\\w+\\b)\\s*\\((\\b\\w+\\b)\\)");
+ if (modname_pattern.indexIn(name_and_section) < 0)
+ return;
+- tb->load(QUrl::fromLocalFile(m_initial+"/"+modname_pattern.cap(2) + "_" + modname_pattern.cap(1)+".html"));
+ m_helpwidget->m_flist->setCurrentItem(item);
+ }
+
+@@ -156,9 +148,6 @@ HelpWindow::HelpWindow(QString url) {
+ setWindowIcon(QPixmap(":/images/freemat_help_small_mod_64.png"));
+ setWindowTitle(QString(Interpreter::getVersionString()) + " Online Help");
+ m_initial = url;
+- tb = new QWebView(this);
+- tb->load(QUrl::fromLocalFile(m_initial+"/index.html"));
+- setCentralWidget(tb);
+ m_helpwidget = new HelpWidget(url,this);
+ addDockWidget(Qt::LeftDockWidgetArea,m_helpwidget);
+ createActions();
+@@ -196,29 +185,23 @@ void HelpWindow::createActions() {
+
+ zoominAct = new QAction(QIcon(":/images/zoomin.png"),"Zoom &In",this);
+ zoominAct->setShortcut(Qt::Key_Plus | Qt::CTRL);
+- connect(zoominAct,SIGNAL(triggered()),tb,SLOT(zoomIn()));
+ zoomoutAct = new QAction(QIcon(":/images/zoomout.png"),"Zoom &Out",this);
+ zoomoutAct->setShortcut(Qt::Key_Minus | Qt::CTRL);
+- connect(zoomoutAct,SIGNAL(triggered()),tb,SLOT(zoomOut()));
+ copyAct = new QAction(QIcon(":/images/copy.png"),"&Copy Selection",this);
+ stemp.clear();
+ stemp.push_back(QKeySequence(Qt::Key_C | Qt::CTRL));
+ stemp.push_back(QKeySequence(Qt::Key_Insert | Qt::CTRL));
+ copyAct->setShortcuts(stemp);
+
+- connect(copyAct,SIGNAL(triggered()),tb,SLOT(copy()));
+ exitAct = new QAction(QIcon(":/images/quit.png"),"&Exit Help",this);
+ exitAct->setShortcut(Qt::Key_Q | Qt::CTRL);
+ connect(exitAct,SIGNAL(triggered()),this,SLOT(close()));
+ forwardAct = new QAction(QIcon(":/images/next.png"),"&Next",this);
+ forwardAct->setShortcut(Qt::Key_Right | Qt::Key_Alt);
+- connect(forwardAct,SIGNAL(triggered()),tb,SLOT(forward()));
+ backAct = new QAction(QIcon(":/images/previous.png"),"&Previous",this);
+ backAct->setShortcut(Qt::Key_Left | Qt::Key_Alt);
+- connect(backAct,SIGNAL(triggered()),tb,SLOT(back()));
+ homeAct = new QAction(QIcon(":/images/home.png"),"&Home",this);
+ homeAct->setShortcut(Qt::Key_Home | Qt::CTRL);
+- connect(homeAct,SIGNAL(triggered()),tb,SLOT(home()));
+ executeSelectionAct = new QAction(QIcon(":/images/player_playselection.png"),"&Execute Selection",this);
+ executeSelectionAct->setShortcut(Qt::Key_F9);
+ connect(executeSelectionAct,SIGNAL(triggered()),this,SLOT(execSelected()));
+@@ -226,9 +209,7 @@ void HelpWindow::createActions() {
+ helpOnSelectionAct->setShortcut(Qt::Key_F2);
+ connect(helpOnSelectionAct,SIGNAL(triggered()),this,SLOT(helpOnSelection()));
+
+- connect(tb,SIGNAL(forwardAvailable(bool)),forwardAct,SLOT(setEnabled(bool)));
+ forwardAct->setEnabled(false);
+- connect(tb,SIGNAL(backwardAvailable(bool)),backAct,SLOT(setEnabled(bool)));
+ backAct->setEnabled(false);
+ }
+
+@@ -267,19 +248,9 @@ void HelpWindow::createStatusBar() {
+ }
+
+ void HelpWindow::execSelected() {
+- QString executeText = tb->selectedText();
+- executeText.remove("--> ");
+- executeText.remove("-> ");
+- executeText = executeText.trimmed();
+- if (!executeText.isEmpty())
+- emit EvaluateText(executeText + "\n");
+ }
+
+ void HelpWindow::helpOnSelection() {
+- QString executeText = tb->selectedText();
+- executeText = executeText.trimmed();
+- if (!executeText.isEmpty())
+- helpText(executeText);
+ }
+
+
+Index: FreeMat-4.2-Source/libs/libCore/helpwidget.hpp
+===================================================================
+--- FreeMat-4.2-Source.orig/libs/libCore/helpwidget.hpp
++++ FreeMat-4.2-Source/libs/libCore/helpwidget.hpp
+@@ -23,7 +23,6 @@
+ #include <QObject>
+ #include <QMainWindow>
+ #include <QDockWidget>
+-#include <QWebView>
+ #include <QMenu>
+ #include <QToolBar>
+ #include <QAction>
+@@ -80,7 +79,6 @@ private:
+ void readSettings();
+ void closeEvent(QCloseEvent* ce);
+
+- QWebView *tb;
+ HelpWidget *m_helpwidget;
+ QMenu *fileMenu, *editMenu, *goMenu, *helpMenu;
+ QToolBar *editToolBar;