Gitweb links:

...log 
http://git.netsurf-browser.org/packaging/debian.git/shortlog/7c77c3f661be0c8fe15358f44b1cb974bf172941
...commit 
http://git.netsurf-browser.org/packaging/debian.git/commit/7c77c3f661be0c8fe15358f44b1cb974bf172941
...tree 
http://git.netsurf-browser.org/packaging/debian.git/tree/7c77c3f661be0c8fe15358f44b1cb974bf172941

The branch, master has been updated
       via  7c77c3f661be0c8fe15358f44b1cb974bf172941 (commit)
      from  18ab605e5ae485cea171174f2c6e4f2883ab33a9 (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
commitdiff 
http://git.netsurf-browser.org/packaging/debian.git/commit/?id=7c77c3f661be0c8fe15358f44b1cb974bf172941
commit 7c77c3f661be0c8fe15358f44b1cb974bf172941
Author: Vincent Sanders <[email protected]>
Commit: Vincent Sanders <[email protected]>

    Updates for debian 3.6-3 upload

diff --git a/changelog b/changelog
index 617ef20..ae4ef89 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,17 @@
+netsurf (3.6-3) unstable; urgency=medium
+
+  * Apply upstream patch fixing nsgenbind on BE architectures
+  * Re-enable duktape javascript engine on all architectures
+
+ -- Vincent Sanders <[email protected]>  Sun, 27 Nov 2016 14:54:31 +0000
+
+netsurf (3.6-2) unstable; urgency=medium
+
+  * Apply upstream patch disabling duktape compilation on unsupported
+    architectures.
+
+ -- Vincent Sanders <[email protected]>  Thu, 24 Nov 2016 22:24:09 +0000
+
 netsurf (3.6-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/control b/control
index 0ea434f..7c55ac2 100644
--- a/control
+++ b/control
@@ -11,6 +11,7 @@ Vcs-Git: git://git.netsurf-browser.org/packaging/debian.git
 
 Package: netsurf
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}, netsurf-gtk
 Provides: www-browser
 Section: oldlibs
diff --git a/patches/fix-nsgenbind-be.patch b/patches/fix-nsgenbind-be.patch
new file mode 100644
index 0000000..d583bf6
--- /dev/null
+++ b/patches/fix-nsgenbind-be.patch
@@ -0,0 +1,489 @@
+--- a/nsgenbind/src/nsgenbind-ast.c
++++ b/nsgenbind/src/nsgenbind-ast.c
+@@ -132,6 +132,19 @@
+         return nn;
+ }
+ 
++struct genbind_node *
++genbind_new_number_node(enum genbind_node_type type,
++                        struct genbind_node *l,
++                        int number)
++{
++        struct genbind_node *nn;
++        nn = calloc(1, sizeof(struct genbind_node));
++        nn->type = type;
++        nn->l = l;
++        nn->r.number = number;
++        return nn;
++}
++
+ 
+ /* exported interface defined in nsgenbind-ast.h */
+ int
+--- a/nsgenbind/src/nsgenbind-ast.h
++++ b/nsgenbind/src/nsgenbind-ast.h
+@@ -71,7 +71,18 @@
+ 
+ char *genbind_strapp(char *a, char *b);
+ 
++/**
++ * create a new node with value from pointer
++ */
+ struct genbind_node *genbind_new_node(enum genbind_node_type type, struct 
genbind_node *l, void *r);
++
++/**
++ * create a new number node
++ *
++ * Create a node with of number type
++ */
++struct genbind_node *genbind_new_number_node(enum genbind_node_type type, 
struct genbind_node *l, int number);
++
+ struct genbind_node *genbind_node_link(struct genbind_node *tgt, struct 
genbind_node *src);
+ 
+ struct genbind_node *genbind_node_prepend(struct genbind_node *list, struct 
genbind_node *inst);
+--- a/nsgenbind/src/nsgenbind-parser.y
++++ b/nsgenbind/src/nsgenbind-parser.y
+@@ -138,17 +138,17 @@
+         }
+ 
+         location_node = genbind_new_node(GENBIND_NODE_TYPE_FILE,
+-                                genbind_new_node(GENBIND_NODE_TYPE_LINE,
+-                                                 cdata_node,
+-                                                 (void *)lineno),
++                                
genbind_new_number_node(GENBIND_NODE_TYPE_LINE,
++                                                        cdata_node,
++                                                        lineno),
+                                          strdup(filename));
+ 
+         /* generate method node */
+         method_node = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                                  NULL,
+-                                 
genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                                 
genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                                   location_node,
+-                                                  (void *)methodtype));
++                                                  methodtype));
+ 
+         class_node = genbind_node_find_type_ident(*genbind_ast,
+                                                   NULL,
+@@ -304,11 +304,11 @@
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                         NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                 genbind_new_node(GENBIND_NODE_TYPE_CDATA,
+                                                  NULL,
+                                                  $2),
+-                                (void *)$1));
++                                $1));
+         }
+         ;
+ 
+@@ -568,11 +568,11 @@
+         TOK_PROPERTY Modifiers TOK_IDENTIFIER ';'
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_PROPERTY, NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_MODIFIER,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_MODIFIER,
+                                 genbind_new_node(GENBIND_NODE_TYPE_IDENT,
+                                                  NULL,
+                                                  $3),
+-                                         (void *)$2));
++                                         $2));
+         }
+         |
+         TOK_FLAGS ClassFlags ';'
+@@ -584,11 +584,11 @@
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                         NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                 genbind_new_node(GENBIND_NODE_TYPE_CDATA,
+                                                  NULL,
+                                                  $2),
+-                                (void *)$1));
++                                $1));
+         }
+         ;
+ 
+--- a/nsgenbind/src/webidl-ast.c
++++ b/nsgenbind/src/webidl-ast.c
+@@ -120,6 +120,7 @@
+ 
+ 
+ struct webidl_node *
++/* exported interface documented in webidl-ast.h */
+ webidl_node_new(enum webidl_node_type type,
+               struct webidl_node *l,
+               void *r)
+@@ -128,7 +129,21 @@
+       nn = calloc(1, sizeof(struct webidl_node));
+       nn->type = type;
+       nn->l = l;
+-      nn->r.text = r;
++      nn->r.value = r;
++      return nn;
++}
++
++/* exported interface documented in webidl-ast.h */
++struct webidl_node *
++webidl_new_number_node(enum webidl_node_type type,
++                       struct webidl_node *l,
++                       int number)
++{
++      struct webidl_node *nn;
++      nn = calloc(1, sizeof(struct webidl_node));
++      nn->type = type;
++      nn->l = l;
++      nn->r.number = number;
+       return nn;
+ }
+ 
+--- a/nsgenbind/src/webidl-ast.h
++++ b/nsgenbind/src/webidl-ast.h
+@@ -92,8 +92,17 @@
+ 
+ int webidl_cmp_node_type(struct webidl_node *node, void *ctx);
+ 
++/**
++ * create a new node with a pointer value
++ */
+ struct webidl_node *webidl_node_new(enum webidl_node_type, struct webidl_node 
*l, void *r);
+ 
++/**
++ * create a new node with an integer value
++ */
++struct webidl_node *webidl_new_number_node(enum webidl_node_type type, struct 
webidl_node *l, int number);
++
++
+ void webidl_node_set(struct webidl_node *node, enum webidl_node_type type, 
void *r);
+ 
+ struct webidl_node *webidl_node_prepend(struct webidl_node *list, struct 
webidl_node *node);
+--- a/nsgenbind/src/webidl-parser.y
++++ b/nsgenbind/src/webidl-parser.y
+@@ -735,9 +735,9 @@
+         |
+         TOK_INT_LITERAL
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_INT,
+-                                     NULL,
+-                                     (void *)$1);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_INT,
++                                            NULL,
++                                            $1);
+         }
+         |
+         TOK_NULL_LITERAL
+@@ -750,16 +750,16 @@
+ BooleanLiteral:
+         TOK_TRUE
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_BOOL,
+-                                     NULL,
+-                                     (void *)true);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_BOOL,
++                                            NULL,
++                                            (int)true);
+         }
+         |
+         TOK_FALSE
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_BOOL,
+-                                     NULL,
+-                                     (void *)false);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_BOOL,
++                                            NULL,
++                                            (int)false);
+         }
+         ;
+ 
+@@ -846,16 +846,18 @@
+ 
+                 /* deal with inherit modifier */
+                 if ($1) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                          WEBIDL_NODE_TYPE_MODIFIER,
+                                           attribute,
+-                                          (void 
*)WEBIDL_TYPE_MODIFIER_INHERIT);
++                                          WEBIDL_TYPE_MODIFIER_INHERIT);
+                 }
+ 
+                 /* deal with readonly modifier */
+                 if ($2) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                         WEBIDL_NODE_TYPE_MODIFIER,
+                                          attribute,
+-                                         (void 
*)WEBIDL_TYPE_MODIFIER_READONLY);
++                                         WEBIDL_TYPE_MODIFIER_READONLY);
+                 }
+ 
+                 $$ = webidl_node_new(WEBIDL_NODE_TYPE_ATTRIBUTE,
+@@ -880,14 +882,16 @@
+         {
+                 struct webidl_node *attribute;
+ 
+-                attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                       $2, (void 
*)WEBIDL_TYPE_MODIFIER_STATIC);
++                attribute = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                                   $2,
++                                                   
WEBIDL_TYPE_MODIFIER_STATIC);
+ 
+                 /* deal with readonly modifier */
+                 if ($1) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                         WEBIDL_NODE_TYPE_MODIFIER,
+                                          attribute,
+-                                         (void 
*)WEBIDL_TYPE_MODIFIER_READONLY);
++                                         WEBIDL_TYPE_MODIFIER_READONLY);
+                 }
+ 
+                 $$ = webidl_node_new(WEBIDL_NODE_TYPE_ATTRIBUTE,
+@@ -900,8 +904,9 @@
+                 struct webidl_node *operation;
+ 
+                 /* add static modifier */
+-                operation = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                       $2, (void 
*)WEBIDL_TYPE_MODIFIER_STATIC);
++                operation = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                                   $2,
++                                                   
WEBIDL_TYPE_MODIFIER_STATIC);
+ 
+                 /* put return type on the operation */
+                 operation = webidl_node_prepend($1, operation);
+@@ -1015,16 +1020,16 @@
+ Special:
+         TOK_GETTER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_GETTER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_GETTER);
+         }
+         |
+         TOK_SETTER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_SETTER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_SETTER);
+         }
+         |
+         TOK_CREATOR
+@@ -1032,23 +1037,23 @@
+                 /* second edition removed this special but the
+                  * specifications still use it!
+                  */
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_CREATOR);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_CREATOR);
+         }
+         |
+         TOK_DELETER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_DELETER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_DELETER);
+         }
+         |
+         TOK_LEGACYCALLER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void 
*)WEBIDL_TYPE_SPECIAL_LEGACYCALLER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_LEGACYCALLER);
+         }
+         ;
+ 
+@@ -1679,8 +1684,9 @@
+         TOK_ANY TypeSuffixStartingWithArray
+         {
+                 /* todo deal with TypeSuffixStartingWithArray */
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE,
+-                                     NULL, (void *)WEBIDL_TYPE_ANY);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_ANY);
+         }
+         ;
+ 
+@@ -1742,29 +1748,39 @@
+         |
+         TOK_STRING TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_STRING);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_STRING);
+         }
+         |
+         TOK_IDENTIFIER TypeSuffix
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_USER);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          $2,
++                                          WEBIDL_TYPE_USER);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_IDENT, type, $1);
+         }
+         |
+         TOK_SEQUENCE '<' Type '>' Null
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $3, (void 
*)WEBIDL_TYPE_SEQUENCE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $3,
++                                        WEBIDL_TYPE_SEQUENCE);
+         }
+         |
+         TOK_OBJECT TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_OBJECT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_OBJECT);
+         }
+         |
+         TOK_DATE TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_DATE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_DATE);
+         }
+         ;
+ 
+@@ -1778,7 +1794,9 @@
+         TOK_IDENTIFIER Null
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_USER);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          NULL,
++                                          WEBIDL_TYPE_USER);
+             type = webidl_node_new(WEBIDL_NODE_TYPE_IDENT, type, $1);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE, NULL, type);
+         }
+@@ -1793,17 +1811,23 @@
+         |
+         TOK_BOOLEAN
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_BOOL);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_BOOL);
+         }
+         |
+         TOK_BYTE
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_BYTE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_BYTE);
+         }
+         |
+         TOK_OCTET
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_OCTET);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_OCTET);
+         }
+         ;
+ 
+@@ -1811,9 +1835,9 @@
+ UnrestrictedFloatType:
+         TOK_UNRESTRICTED FloatType
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                 $2,
+-                                 (void *)WEBIDL_TYPE_MODIFIER_UNRESTRICTED);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                        $2,
++                                        WEBIDL_TYPE_MODIFIER_UNRESTRICTED);
+         }
+         |
+         FloatType
+@@ -1823,12 +1847,16 @@
+ FloatType:
+         TOK_FLOAT
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_FLOAT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_FLOAT);
+         }
+         |
+         TOK_DOUBLE
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_DOUBLE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_DOUBLE);
+         }
+         ;
+ 
+@@ -1836,9 +1864,9 @@
+ UnsignedIntegerType:
+         TOK_UNSIGNED IntegerType
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                 $2,
+-                                 (void *)WEBIDL_TYPE_MODIFIER_UNSIGNED);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                        $2,
++                                        WEBIDL_TYPE_MODIFIER_UNSIGNED);
+         }
+         |
+         IntegerType
+@@ -1848,15 +1876,21 @@
+ IntegerType:
+         TOK_SHORT
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_SHORT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_SHORT);
+         }
+         |
+         TOK_LONG OptionalLong
+         {
+             if ($2) {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_LONGLONG);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_LONGLONG);
+             } else {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_LONG);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_LONG);
+             }
+         }
+         ;
+@@ -1927,7 +1961,9 @@
+         TOK_VOID
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_VOID);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          NULL,
++                                          WEBIDL_TYPE_VOID);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE, NULL, type);
+         }
+ 
diff --git a/patches/series b/patches/series
index 25a75e0..3b4893c 100644
--- a/patches/series
+++ b/patches/series
@@ -1,3 +1,4 @@
+fix-nsgenbind-be.patch
 remove-favicon-link.patch
 openssl-1.1.0.patch
 set-netsurf-config.patch


-----------------------------------------------------------------------

Summary of changes:
 changelog                      |   14 ++
 control                        |    1 +
 patches/fix-nsgenbind-be.patch |  489 ++++++++++++++++++++++++++++++++++++++++
 patches/series                 |    1 +
 4 files changed, 505 insertions(+)
 create mode 100644 patches/fix-nsgenbind-be.patch

diff --git a/changelog b/changelog
index 617ef20..ae4ef89 100644
--- a/changelog
+++ b/changelog
@@ -1,3 +1,17 @@
+netsurf (3.6-3) unstable; urgency=medium
+
+  * Apply upstream patch fixing nsgenbind on BE architectures
+  * Re-enable duktape javascript engine on all architectures
+
+ -- Vincent Sanders <[email protected]>  Sun, 27 Nov 2016 14:54:31 +0000
+
+netsurf (3.6-2) unstable; urgency=medium
+
+  * Apply upstream patch disabling duktape compilation on unsupported
+    architectures.
+
+ -- Vincent Sanders <[email protected]>  Thu, 24 Nov 2016 22:24:09 +0000
+
 netsurf (3.6-1) unstable; urgency=medium
 
   * New upstream release
diff --git a/control b/control
index 0ea434f..7c55ac2 100644
--- a/control
+++ b/control
@@ -11,6 +11,7 @@ Vcs-Git: git://git.netsurf-browser.org/packaging/debian.git
 
 Package: netsurf
 Architecture: all
+Multi-Arch: foreign
 Depends: ${misc:Depends}, netsurf-gtk
 Provides: www-browser
 Section: oldlibs
diff --git a/patches/fix-nsgenbind-be.patch b/patches/fix-nsgenbind-be.patch
new file mode 100644
index 0000000..d583bf6
--- /dev/null
+++ b/patches/fix-nsgenbind-be.patch
@@ -0,0 +1,489 @@
+--- a/nsgenbind/src/nsgenbind-ast.c
++++ b/nsgenbind/src/nsgenbind-ast.c
+@@ -132,6 +132,19 @@
+         return nn;
+ }
+ 
++struct genbind_node *
++genbind_new_number_node(enum genbind_node_type type,
++                        struct genbind_node *l,
++                        int number)
++{
++        struct genbind_node *nn;
++        nn = calloc(1, sizeof(struct genbind_node));
++        nn->type = type;
++        nn->l = l;
++        nn->r.number = number;
++        return nn;
++}
++
+ 
+ /* exported interface defined in nsgenbind-ast.h */
+ int
+--- a/nsgenbind/src/nsgenbind-ast.h
++++ b/nsgenbind/src/nsgenbind-ast.h
+@@ -71,7 +71,18 @@
+ 
+ char *genbind_strapp(char *a, char *b);
+ 
++/**
++ * create a new node with value from pointer
++ */
+ struct genbind_node *genbind_new_node(enum genbind_node_type type, struct 
genbind_node *l, void *r);
++
++/**
++ * create a new number node
++ *
++ * Create a node with of number type
++ */
++struct genbind_node *genbind_new_number_node(enum genbind_node_type type, 
struct genbind_node *l, int number);
++
+ struct genbind_node *genbind_node_link(struct genbind_node *tgt, struct 
genbind_node *src);
+ 
+ struct genbind_node *genbind_node_prepend(struct genbind_node *list, struct 
genbind_node *inst);
+--- a/nsgenbind/src/nsgenbind-parser.y
++++ b/nsgenbind/src/nsgenbind-parser.y
+@@ -138,17 +138,17 @@
+         }
+ 
+         location_node = genbind_new_node(GENBIND_NODE_TYPE_FILE,
+-                                genbind_new_node(GENBIND_NODE_TYPE_LINE,
+-                                                 cdata_node,
+-                                                 (void *)lineno),
++                                
genbind_new_number_node(GENBIND_NODE_TYPE_LINE,
++                                                        cdata_node,
++                                                        lineno),
+                                          strdup(filename));
+ 
+         /* generate method node */
+         method_node = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                                  NULL,
+-                                 
genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                                 
genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                                   location_node,
+-                                                  (void *)methodtype));
++                                                  methodtype));
+ 
+         class_node = genbind_node_find_type_ident(*genbind_ast,
+                                                   NULL,
+@@ -304,11 +304,11 @@
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                         NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                 genbind_new_node(GENBIND_NODE_TYPE_CDATA,
+                                                  NULL,
+                                                  $2),
+-                                (void *)$1));
++                                $1));
+         }
+         ;
+ 
+@@ -568,11 +568,11 @@
+         TOK_PROPERTY Modifiers TOK_IDENTIFIER ';'
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_PROPERTY, NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_MODIFIER,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_MODIFIER,
+                                 genbind_new_node(GENBIND_NODE_TYPE_IDENT,
+                                                  NULL,
+                                                  $3),
+-                                         (void *)$2));
++                                         $2));
+         }
+         |
+         TOK_FLAGS ClassFlags ';'
+@@ -584,11 +584,11 @@
+         {
+                 $$ = genbind_new_node(GENBIND_NODE_TYPE_METHOD,
+                         NULL,
+-                        genbind_new_node(GENBIND_NODE_TYPE_METHOD_TYPE,
++                        genbind_new_number_node(GENBIND_NODE_TYPE_METHOD_TYPE,
+                                 genbind_new_node(GENBIND_NODE_TYPE_CDATA,
+                                                  NULL,
+                                                  $2),
+-                                (void *)$1));
++                                $1));
+         }
+         ;
+ 
+--- a/nsgenbind/src/webidl-ast.c
++++ b/nsgenbind/src/webidl-ast.c
+@@ -120,6 +120,7 @@
+ 
+ 
+ struct webidl_node *
++/* exported interface documented in webidl-ast.h */
+ webidl_node_new(enum webidl_node_type type,
+               struct webidl_node *l,
+               void *r)
+@@ -128,7 +129,21 @@
+       nn = calloc(1, sizeof(struct webidl_node));
+       nn->type = type;
+       nn->l = l;
+-      nn->r.text = r;
++      nn->r.value = r;
++      return nn;
++}
++
++/* exported interface documented in webidl-ast.h */
++struct webidl_node *
++webidl_new_number_node(enum webidl_node_type type,
++                       struct webidl_node *l,
++                       int number)
++{
++      struct webidl_node *nn;
++      nn = calloc(1, sizeof(struct webidl_node));
++      nn->type = type;
++      nn->l = l;
++      nn->r.number = number;
+       return nn;
+ }
+ 
+--- a/nsgenbind/src/webidl-ast.h
++++ b/nsgenbind/src/webidl-ast.h
+@@ -92,8 +92,17 @@
+ 
+ int webidl_cmp_node_type(struct webidl_node *node, void *ctx);
+ 
++/**
++ * create a new node with a pointer value
++ */
+ struct webidl_node *webidl_node_new(enum webidl_node_type, struct webidl_node 
*l, void *r);
+ 
++/**
++ * create a new node with an integer value
++ */
++struct webidl_node *webidl_new_number_node(enum webidl_node_type type, struct 
webidl_node *l, int number);
++
++
+ void webidl_node_set(struct webidl_node *node, enum webidl_node_type type, 
void *r);
+ 
+ struct webidl_node *webidl_node_prepend(struct webidl_node *list, struct 
webidl_node *node);
+--- a/nsgenbind/src/webidl-parser.y
++++ b/nsgenbind/src/webidl-parser.y
+@@ -735,9 +735,9 @@
+         |
+         TOK_INT_LITERAL
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_INT,
+-                                     NULL,
+-                                     (void *)$1);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_INT,
++                                            NULL,
++                                            $1);
+         }
+         |
+         TOK_NULL_LITERAL
+@@ -750,16 +750,16 @@
+ BooleanLiteral:
+         TOK_TRUE
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_BOOL,
+-                                     NULL,
+-                                     (void *)true);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_BOOL,
++                                            NULL,
++                                            (int)true);
+         }
+         |
+         TOK_FALSE
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_LITERAL_BOOL,
+-                                     NULL,
+-                                     (void *)false);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_LITERAL_BOOL,
++                                            NULL,
++                                            (int)false);
+         }
+         ;
+ 
+@@ -846,16 +846,18 @@
+ 
+                 /* deal with inherit modifier */
+                 if ($1) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                          WEBIDL_NODE_TYPE_MODIFIER,
+                                           attribute,
+-                                          (void 
*)WEBIDL_TYPE_MODIFIER_INHERIT);
++                                          WEBIDL_TYPE_MODIFIER_INHERIT);
+                 }
+ 
+                 /* deal with readonly modifier */
+                 if ($2) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                         WEBIDL_NODE_TYPE_MODIFIER,
+                                          attribute,
+-                                         (void 
*)WEBIDL_TYPE_MODIFIER_READONLY);
++                                         WEBIDL_TYPE_MODIFIER_READONLY);
+                 }
+ 
+                 $$ = webidl_node_new(WEBIDL_NODE_TYPE_ATTRIBUTE,
+@@ -880,14 +882,16 @@
+         {
+                 struct webidl_node *attribute;
+ 
+-                attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                       $2, (void 
*)WEBIDL_TYPE_MODIFIER_STATIC);
++                attribute = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                                   $2,
++                                                   
WEBIDL_TYPE_MODIFIER_STATIC);
+ 
+                 /* deal with readonly modifier */
+                 if ($1) {
+-                        attribute = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
++                        attribute = webidl_new_number_node(
++                                         WEBIDL_NODE_TYPE_MODIFIER,
+                                          attribute,
+-                                         (void 
*)WEBIDL_TYPE_MODIFIER_READONLY);
++                                         WEBIDL_TYPE_MODIFIER_READONLY);
+                 }
+ 
+                 $$ = webidl_node_new(WEBIDL_NODE_TYPE_ATTRIBUTE,
+@@ -900,8 +904,9 @@
+                 struct webidl_node *operation;
+ 
+                 /* add static modifier */
+-                operation = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                       $2, (void 
*)WEBIDL_TYPE_MODIFIER_STATIC);
++                operation = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                                   $2,
++                                                   
WEBIDL_TYPE_MODIFIER_STATIC);
+ 
+                 /* put return type on the operation */
+                 operation = webidl_node_prepend($1, operation);
+@@ -1015,16 +1020,16 @@
+ Special:
+         TOK_GETTER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_GETTER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_GETTER);
+         }
+         |
+         TOK_SETTER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_SETTER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_SETTER);
+         }
+         |
+         TOK_CREATOR
+@@ -1032,23 +1037,23 @@
+                 /* second edition removed this special but the
+                  * specifications still use it!
+                  */
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_CREATOR);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_CREATOR);
+         }
+         |
+         TOK_DELETER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void *)WEBIDL_TYPE_SPECIAL_DELETER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_DELETER);
+         }
+         |
+         TOK_LEGACYCALLER
+         {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_SPECIAL,
+-                                     NULL,
+-                                     (void 
*)WEBIDL_TYPE_SPECIAL_LEGACYCALLER);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_SPECIAL,
++                                            NULL,
++                                            WEBIDL_TYPE_SPECIAL_LEGACYCALLER);
+         }
+         ;
+ 
+@@ -1679,8 +1684,9 @@
+         TOK_ANY TypeSuffixStartingWithArray
+         {
+                 /* todo deal with TypeSuffixStartingWithArray */
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE,
+-                                     NULL, (void *)WEBIDL_TYPE_ANY);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_ANY);
+         }
+         ;
+ 
+@@ -1742,29 +1748,39 @@
+         |
+         TOK_STRING TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_STRING);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_STRING);
+         }
+         |
+         TOK_IDENTIFIER TypeSuffix
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_USER);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          $2,
++                                          WEBIDL_TYPE_USER);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_IDENT, type, $1);
+         }
+         |
+         TOK_SEQUENCE '<' Type '>' Null
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $3, (void 
*)WEBIDL_TYPE_SEQUENCE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $3,
++                                        WEBIDL_TYPE_SEQUENCE);
+         }
+         |
+         TOK_OBJECT TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_OBJECT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_OBJECT);
+         }
+         |
+         TOK_DATE TypeSuffix
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, $2, (void 
*)WEBIDL_TYPE_DATE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        $2,
++                                        WEBIDL_TYPE_DATE);
+         }
+         ;
+ 
+@@ -1778,7 +1794,9 @@
+         TOK_IDENTIFIER Null
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_USER);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          NULL,
++                                          WEBIDL_TYPE_USER);
+             type = webidl_node_new(WEBIDL_NODE_TYPE_IDENT, type, $1);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE, NULL, type);
+         }
+@@ -1793,17 +1811,23 @@
+         |
+         TOK_BOOLEAN
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_BOOL);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_BOOL);
+         }
+         |
+         TOK_BYTE
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_BYTE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_BYTE);
+         }
+         |
+         TOK_OCTET
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_OCTET);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_OCTET);
+         }
+         ;
+ 
+@@ -1811,9 +1835,9 @@
+ UnrestrictedFloatType:
+         TOK_UNRESTRICTED FloatType
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                 $2,
+-                                 (void *)WEBIDL_TYPE_MODIFIER_UNRESTRICTED);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                        $2,
++                                        WEBIDL_TYPE_MODIFIER_UNRESTRICTED);
+         }
+         |
+         FloatType
+@@ -1823,12 +1847,16 @@
+ FloatType:
+         TOK_FLOAT
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_FLOAT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_FLOAT);
+         }
+         |
+         TOK_DOUBLE
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_DOUBLE);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_DOUBLE);
+         }
+         ;
+ 
+@@ -1836,9 +1864,9 @@
+ UnsignedIntegerType:
+         TOK_UNSIGNED IntegerType
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_MODIFIER,
+-                                 $2,
+-                                 (void *)WEBIDL_TYPE_MODIFIER_UNSIGNED);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_MODIFIER,
++                                        $2,
++                                        WEBIDL_TYPE_MODIFIER_UNSIGNED);
+         }
+         |
+         IntegerType
+@@ -1848,15 +1876,21 @@
+ IntegerType:
+         TOK_SHORT
+         {
+-            $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_SHORT);
++            $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                        NULL,
++                                        WEBIDL_TYPE_SHORT);
+         }
+         |
+         TOK_LONG OptionalLong
+         {
+             if ($2) {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_LONGLONG);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_LONGLONG);
+             } else {
+-                $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_LONG);
++                $$ = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                            NULL,
++                                            WEBIDL_TYPE_LONG);
+             }
+         }
+         ;
+@@ -1927,7 +1961,9 @@
+         TOK_VOID
+         {
+             struct webidl_node *type;
+-            type = webidl_node_new(WEBIDL_NODE_TYPE_TYPE_BASE, NULL, (void 
*)WEBIDL_TYPE_VOID);
++            type = webidl_new_number_node(WEBIDL_NODE_TYPE_TYPE_BASE,
++                                          NULL,
++                                          WEBIDL_TYPE_VOID);
+             $$ = webidl_node_new(WEBIDL_NODE_TYPE_TYPE, NULL, type);
+         }
+ 
diff --git a/patches/series b/patches/series
index 25a75e0..3b4893c 100644
--- a/patches/series
+++ b/patches/series
@@ -1,3 +1,4 @@
+fix-nsgenbind-be.patch
 remove-favicon-link.patch
 openssl-1.1.0.patch
 set-netsurf-config.patch


-- 
Debian Packaging for NetSurf

_______________________________________________
netsurf-commits mailing list
[email protected]
http://listmaster.pepperfish.net/cgi-bin/mailman/listinfo/netsurf-commits-netsurf-browser.org

Reply via email to