diff options
-rw-r--r-- | .SRCINFO | 8 | ||||
-rw-r--r-- | PKGBUILD | 16 | ||||
-rw-r--r-- | octave-4.3-compat.diff | 53 |
3 files changed, 8 insertions, 69 deletions
@@ -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 @@ -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"), |