summarylogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.SRCINFO8
-rw-r--r--PKGBUILD16
-rw-r--r--octave-4.3-compat.diff53
3 files changed, 8 insertions, 69 deletions
diff --git a/.SRCINFO b/.SRCINFO
index dd7c2e51b8ea..51c43a75f76d 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -1,9 +1,9 @@
# Generated by mksrcinfo v8
-# Sat Nov 11 20:51:34 UTC 2017
+# Sat Mar 3 16:34:36 UTC 2018
pkgbase = pure-octave
pkgdesc = embed an Octave interpreter into Pure.
pkgver = 0.9
- pkgrel = 2
+ pkgrel = 3
url = http://purelang.bitbucket.org/
arch = i686
arch = x86_64
@@ -11,11 +11,9 @@ pkgbase = pure-octave
groups = pure-math
license = GPL3
depends = pure
- depends = octave
+ depends = octave40
source = https://github.com/agraef/pure-lang/releases/download/pure-octave-0.9/pure-octave-0.9.tar.gz
- source = octave-4.3-compat.diff
sha1sums = 2d4b3cad23aadcd33925cea04661e2eab6109423
- sha1sums = db422de2b028ec284e19e2d8fd5e840540875d48
pkgname = pure-octave
diff --git a/PKGBUILD b/PKGBUILD
index 8f33db24aad1..4fac93d0b930 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -3,23 +3,17 @@
pkgname=pure-octave
pkgver=0.9
-pkgrel=2
+pkgrel=3
pkgdesc="embed an Octave interpreter into Pure."
arch=("i686" "x86_64")
license=('GPL3')
url="http://purelang.bitbucket.org/"
-# NB: Currently requires octave-hg (4.3.0+) to build, Octave 4.2 is broken.
-depends=('pure' 'octave')
+# NB: Currently requires octave40 (4.0.3) to build, Octave 4.2 is broken.
+depends=('pure' 'octave40')
makedepends=()
groups=(pure-complete pure-math)
-source=("https://github.com/agraef/pure-lang/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz" octave-4.3-compat.diff)
-sha1sums=('2d4b3cad23aadcd33925cea04661e2eab6109423'
- 'db422de2b028ec284e19e2d8fd5e840540875d48')
-
-prepare() {
- cd $srcdir/$pkgname-$pkgver
- patch -p2 < ../octave-4.3-compat.diff
-}
+source=("https://github.com/agraef/pure-lang/releases/download/$pkgname-$pkgver/$pkgname-$pkgver.tar.gz")
+sha1sums=('2d4b3cad23aadcd33925cea04661e2eab6109423')
build() {
cd $srcdir/$pkgname-$pkgver
diff --git a/octave-4.3-compat.diff b/octave-4.3-compat.diff
deleted file mode 100644
index 3db5404425b0..000000000000
--- a/octave-4.3-compat.diff
+++ /dev/null
@@ -1,53 +0,0 @@
-diff --git a/pure-octave/embed.cc b/pure-octave/embed.cc
-index 94bb666b..bae774f6 100644
---- a/pure-octave/embed.cc
-+++ b/pure-octave/embed.cc
-@@ -98,6 +98,35 @@ static void my_clean_up_and_exit(int exit_status, bool safe_to_return)
- embedded_interpreter = 0;
- }
- }
-+
-+// other recent breakage in the 4.3 API:
-+#define is_bool_type islogical
-+#define is_integer_type isinteger
-+#define is_complex_type iscomplex
-+
-+#define get_global_value myget_global_value
-+#define set_global_value myset_global_value
-+
-+octave_value
-+get_global_value (const std::string& nm, bool silent)
-+{
-+ octave::symbol_table& symtab = embedded_interpreter->get_symbol_table();
-+
-+ octave_value val = symtab.global_varval (nm);
-+
-+ if (val.is_undefined () && ! silent)
-+ error ("get_global_value: undefined symbol '%s'", nm.c_str ());
-+
-+ return val;
-+}
-+
-+void
-+set_global_value (const std::string& nm, const octave_value& val)
-+{
-+ octave::symbol_table& symtab = embedded_interpreter->get_symbol_table();
-+
-+ symtab.global_assign (nm, val);
-+}
- #endif
-
- static void install_builtins();
-@@ -843,7 +872,12 @@ pure_expr *octave_func(pure_expr *fun)
- // First try to find an ordinary function handle.
- char *s;
- if (pure_is_cstring_dup(fun, &s)) {
-+#if OCTAVE_MAJOR>4 || OCTAVE_MAJOR>=4 && OCTAVE_MINOR>=3
-+ octave::symbol_table& symtab = embedded_interpreter->get_symbol_table();
-+ octave_value f = symtab.find_function(s);
-+#else
- octave_value f = symbol_table::find_function(s);
-+#endif
- free(s);
- if (f.is_defined()) {
- pure_expr *f = pure_string_dup("str2func"),