Recipes for NetSurf 3.2.

Unfortunately it's broken. The start page will not draw anything, and
trying to access any other URL triggers an assert. I don't even
understand why NetSurf is building in DEBUG mode, the assert shouldn't
be active...
This commit is contained in:
Adrien Destugues
2014-09-01 14:57:52 +02:00
parent 7911743b56
commit 6999710fee
7 changed files with 5779 additions and 0 deletions

View File

@@ -0,0 +1,70 @@
SUMMARY="A CSS parser and selection engine"
DESCRIPTION="
LibCSS is a CSS (Cascading Style Sheet) parser and selection engine.
"
HOMEPAGE="http://www.netsurf-browser.org/projects/libcss/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libcss-$portVersion-src.tar.gz"
CHECKSUM_SHA256="0be9509d9d352abdeec87764c1f8ba13950d9dc4f63acade0477209b7fd21748"
REVISION="2"
LICENSE="MIT"
COPYRIGHT="2007-2014 J-M Bell"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
libcss$secondaryArchSuffix = $portVersion
lib:libcss$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libparserutils${secondaryArchSuffix}
lib:libwapcaplet${secondaryArchSuffix}
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libparserutils${secondaryArchSuffix} >= 0.2.0
devel:libwapcaplet${secondaryArchSuffix} >= 0.2.1
netsurf_buildsystem >= 1.2
devel:libiconv
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:perl
cmd:pkg_config$secondaryArchSuffix
"
PATCHES="libcss-0.3.0.patchset"
BUILD()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
INCLUDEDIR=$relativeIncludeDir
}
INSTALL()
{
make install PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
INCLUDEDIR=$relativeIncludeDir
mkdir -p $developLibDir
prepareInstalledDevelLib libcss
fixPkgconfig libcss
packageEntries devel $developDir
}
TEST()
{
make test PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
LDFLAGS="-liconv -lwapcaplet -lparserutils"
}
PROVIDES_devel="
libcss${secondaryArchSuffix}_devel = $portVersion
devel:libcss$secondaryArchSuffix = $portVersion
"

View File

@@ -0,0 +1,45 @@
SUMMARY="NetSurf build framework"
DESCRIPTION="
NetSurf build framework for compiling some of their libraries.
"
HOMEPAGE="http://git.netsurf-browser.org/buildsystem.git/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/buildsystem-1.2.tar.gz"
CHECKSUM_SHA256="3903a4a1551c9c202e1d2047344c4f3598c8d9d6c35ebf8cc2e18874bd0c9d61"
REVISION="1"
LICENSE="MIT"
COPYRIGHT="2009-2014 The NetSurf Browser project"
ARCHITECTURES="x86_gcc2 ?x86 ?x86_64"
SECONDARY_ARCHITECTURES="x86_gcc2 x86"
PROVIDES="
netsurf_buildsystem$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
"
SOURCE_DIR="buildsystem-1.2"
PATCHES="netsurf_buildsystem-1.1.patchset"
BUILD()
{
# no-op
true
}
INSTALL()
{
make install PREFIX=$prefix BASE=$prefix/data/netsurf-buildsystem
}

View File

@@ -0,0 +1,53 @@
SUMMARY="Libsvgtiny is an implementation of SVG Tiny written in C"
DESCRIPTION="
The overall idea of the library is to take some SVG as input, and return a \
list of paths and texts which can be rendered easily. The library does not do \
the actual rendering.
"
HOMEPAGE="http://www.netsurf-browser.org/projects/libsvgtiny"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libsvgtiny-$portVersion-src.tar.gz"
CHECKSUM_SHA256="a5ad4ba467e2ba10ac13fb881937655c5d0ef8e9582ede6a2c73447c87d06e90"
REVISION="1"
ARCHITECTURES="x86_gcc2"
PROVIDES="
libsvgtiny = $portVersion
"
BUILD_REQUIRES="
devel:libwapcaplet
devel:libdom
devel:libhubbub
devel:libparserutils
netsurf_buildsystem
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
gperf
cmd:make
cmd:pkg_config
"
PATCHES="libsvgtiny-0.1.1.patchset"
BUILD()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
INCLUDEDIR=$relativeIncludeDir
}
INSTALL()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
INCLUDEDIR=$relativeIncludeDir install
prepareInstalledDevelLib libsvgtiny
fixPkgconfig libsvgtiny
packageEntries devel $developDir
}
LICENSE="MIT"
COPYRIGHT="2003-2014 The NetSurf Developers"
PROVIDES_devel="
libsvgtiny_devel = $portVersion
devel:libsvgtiny = $portVersion
"

View File

@@ -0,0 +1,57 @@
SUMMARY="LibDOM is an implementation of the W3C DOM"
DESCRIPTION="An implementation of the W3C DOM for NetSurf, written in C."
HOMEPAGE="http://www.netsurf-browser.org/projects/libdom/"
SRC_URI="http://download.netsurf-browser.org/libs/releases/libdom-$portVersion-src.tar.gz"
CHECKSUM_SHA256="e86c11e313cdfbbe9674ad14125093240e23a2fa9e6f05b996d6b655e40c2dd4"
REVISION="1"
ARCHITECTURES="x86_gcc2"
PROVIDES="
libdom = $portVersion
"
BUILD_REQUIRES="
devel:libexpat
devel:libhubbub
devel:libparserutils
devel:libwapcaplet
netsurf_buildsystem
xml_parser
"
BUILD_PREREQUIRES="
haiku_devel >= $haikuVersion
cmd:gcc
cmd:make
cmd:perl
cmd:pkg_config
"
PATCHES="libdom-$portVersion.patchset"
BUILD()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem
}
INSTALL()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem \
INCLUDEDIR=$relativeIncludeDir install
prepareInstalledDevelLib libdom
fixPkgconfig libdom
packageEntries devel $developDir
}
TEST()
{
make PREFIX=$prefix NSSHARED=/system/data/netsurf-buildsystem test
}
LICENSE="MIT"
COPYRIGHT="2007-2014 J-M Bell"
PROVIDES_devel="
libdom_devel = $portVersion
devel:libdom = $portVersion
"

View File

@@ -0,0 +1,265 @@
From f277f3130e78df0df95b08049ca99bce5b71a71b Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Mon, 9 Jun 2014 20:13:18 +0200
Subject: Fix include paths for Haiku.
diff --git a/Makefile b/Makefile
index 2e2d4f5..0c49610 100644
--- a/Makefile
+++ b/Makefile
@@ -47,11 +47,11 @@ include $(NSBUILD)/Makefile.top
# Extra installation rules
Is := include/dom
-I := /include/dom
+I := /$(INCLUDEDIR)/dom
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/dom.h;$(Is)/functypes.h
Is := include/dom/core
-I := /include/dom/core
+I := /$(INCLUDEDIR)/dom/core
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/attr.h;$(Is)/characterdata.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/cdatasection.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/comment.h
@@ -66,7 +66,7 @@ INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/pi.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/text.h;$(Is)/typeinfo.h
Is := include/dom/events
-I := /include/dom/events
+I := /$(INCLUDEDIR)/dom/events
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/event.h;$(Is)/ui_event.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/custom_event.h;$(Is)/mouse_event.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/keyboard_event.h;$(Is)/text_event.h
@@ -78,7 +78,7 @@ INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/event_listener.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/document_event.h
Is := include/dom/html
-I := /include/dom/html
+I := /$(INCLUDEDIR)/dom/html
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_document.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_collection.h
INSTALL_ITEMS := $(INSTALL_ITEMS) $(I):$(Is)/html_element.h
diff --git a/bindings/hubbub/Makefile b/bindings/hubbub/Makefile
index 946219d..984ea3f 100644
--- a/bindings/hubbub/Makefile
+++ b/bindings/hubbub/Makefile
@@ -1,7 +1,7 @@
ifeq ($(WITH_HUBBUB_BINDING),yes)
DIR_SOURCES := parser.c
- DIR_INSTALL_ITEMS := /include/dom/bindings/hubbub:errors.h;parser.h
+ DIR_INSTALL_ITEMS := /$(INCLUDEDIR)/dom/bindings/hubbub:errors.h;parser.h
# Hubbub
ifneq ($(PKGCONFIG),)
diff --git a/bindings/xml/Makefile b/bindings/xml/Makefile
index ea7653c..1211c5e 100644
--- a/bindings/xml/Makefile
+++ b/bindings/xml/Makefile
@@ -26,7 +26,7 @@ ifeq ($(WITH_EXPAT_BINDING),yes)
endif
ifeq ($(DO_XML_INSTALL),yes)
- DIR_INSTALL_ITEMS := /include/dom/bindings/xml:xmlerror.h;xmlparser.h
+ DIR_INSTALL_ITEMS := /$(INCLUDEDIR)/dom/bindings/xml:xmlerror.h;xmlparser.h
endif
include $(NSBUILD)/Makefile.subdir
diff --git a/libdom.pc.in b/libdom.pc.in
index b6e82cf..406ed9e 100644
--- a/libdom.pc.in
+++ b/libdom.pc.in
@@ -1,7 +1,7 @@
prefix=PREFIX
exec_prefix=${prefix}
libdir=${exec_prefix}/LIBDIR
-includedir=${prefix}/include
+includedir=${prefix}/INCLUDEDIR
Name: libdom
Description: W3C DOM implementation
--
1.8.3.4
From fcadc23dde5471290018f727391f076d2a5bee84 Mon Sep 17 00:00:00 2001
From: Adrien Destugues <pulkomandy@pulkomandy.tk>
Date: Mon, 1 Sep 2014 10:59:21 +0200
Subject: gcc2 fixes.
diff --git a/src/html/html_collection.c b/src/html/html_collection.c
index 43a26c5..90e35a0 100644
--- a/src/html/html_collection.c
+++ b/src/html/html_collection.c
@@ -219,6 +219,7 @@ dom_exception dom_html_collection_named_item(dom_html_collection *col,
if (n->type == DOM_ELEMENT_NODE &&
col->ic(n, col->ctx) == true) {
dom_string *id = NULL;
+ dom_string *id_name = NULL;
err = _dom_element_get_id((struct dom_element *) n,
&id);
@@ -238,7 +239,6 @@ dom_exception dom_html_collection_named_item(dom_html_collection *col,
dom_string_unref(id);
/* Check for Name attr if id not matched/found */
- dom_string *id_name = NULL;
err = _dom_element_get_attribute((dom_element *)n,
doc->memoised[hds_name], &id_name);
if(err != DOM_NO_ERR) {
diff --git a/src/html/html_table_element.c b/src/html/html_table_element.c
index 23351f0..54091c5 100644
--- a/src/html/html_table_element.c
+++ b/src/html/html_table_element.c
@@ -207,6 +207,8 @@ dom_exception dom_html_table_element_set_caption(
dom_node_internal *check_node = ((dom_node_internal *)caption);
dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner);
dom_exception exp;
+ dom_node *new_caption;
+
if(check_node == NULL) {
return DOM_HIERARCHY_REQUEST_ERR;
}
@@ -220,8 +222,6 @@ dom_exception dom_html_table_element_set_caption(
return exp;
/* Create a new caption */
- dom_node *new_caption;
-
return dom_node_append_child(table, caption,
&new_caption);
}
@@ -262,6 +262,7 @@ dom_exception dom_html_table_element_set_t_head(
dom_node_internal *check_node = ((dom_node_internal *)t_head);
dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner);
dom_exception exp;
+ dom_node *new_t_head;
if (check_node == NULL) {
return DOM_HIERARCHY_REQUEST_ERR;
@@ -274,8 +275,6 @@ dom_exception dom_html_table_element_set_t_head(
if(exp != DOM_NO_ERR)
return exp;
- dom_node *new_t_head;
-
return dom_node_append_child(table,
t_head, &new_t_head);
@@ -318,6 +317,7 @@ dom_exception dom_html_table_element_set_t_foot(
dom_node_internal *check_node = ((dom_node_internal *)t_foot); /*< temporary node to check for raised exceptions */
dom_html_document *doc = (dom_html_document *)(((dom_node_internal *)table)->owner);
dom_exception exp;
+ dom_node *new_t_foot;
if(check_node == NULL) {
return DOM_HIERARCHY_REQUEST_ERR;
@@ -331,8 +331,6 @@ dom_exception dom_html_table_element_set_t_foot(
if(exp != DOM_NO_ERR)
return exp;
- dom_node *new_t_foot;
-
return dom_node_append_child(table, t_foot,
&new_t_foot);
@@ -728,14 +726,15 @@ dom_exception dom_html_table_element_insert_row(
*row = (dom_html_element *)new_row;
}
} else {
+ uint32_t window_len = 0, section_len;
+ dom_html_table_section_element *t_head;
+ dom_html_table_section_element *t_foot;
+ dom_node_internal *n;
+
if(index ==-1) {
index = (int32_t)len;
}
- dom_html_table_section_element *t_head;
- dom_html_table_section_element *t_foot;
- uint32_t window_len = 0, section_len;
-
exp = dom_html_table_element_get_t_head(element, &t_head);
if (exp != DOM_NO_ERR)
return exp;
@@ -763,7 +762,7 @@ dom_exception dom_html_table_element_insert_row(
window_len += section_len;
- dom_node_internal *n = (dom_node_internal *)element;
+ n = (dom_node_internal *)element;
dom_html_collection_unref(rows);
@@ -846,15 +845,17 @@ dom_exception dom_html_table_element_delete_row(
dom_html_collection_unref(rows);
return DOM_INDEX_SIZE_ERR;
} else {
+ uint32_t window_len = 0, section_len;
+ dom_html_table_section_element *t_head;
+ dom_html_table_section_element *t_foot;
+ dom_node_internal *n;
+
if(index ==-1) {
index = (int32_t)len-1;
}
dom_html_collection_unref(rows);
- dom_html_table_section_element *t_head;
- dom_html_table_section_element *t_foot;
- uint32_t window_len = 0, section_len;
exp = dom_html_table_element_get_t_head(element, &t_head);
if(exp != DOM_NO_ERR)
return exp;
@@ -876,7 +877,7 @@ dom_exception dom_html_table_element_delete_row(
index-window_len);
}
window_len += section_len;
- dom_node_internal *n = (dom_node_internal *)element;
+ n = (dom_node_internal *)element;
for (n = n->first_child; n != NULL; n = n->next) {
if((n->type == DOM_ELEMENT_NODE) &&
diff --git a/src/html/html_tablecell_element.c b/src/html/html_tablecell_element.c
index 83ebb0c..403e796 100644
--- a/src/html/html_tablecell_element.c
+++ b/src/html/html_tablecell_element.c
@@ -183,13 +183,14 @@ dom_exception dom_html_table_cell_element_get_cell_index(
dom_node_internal *n = ((dom_node_internal *)table_cell)->parent;
dom_html_document *doc = (dom_html_document *)(n->owner);
int32_t cnt = 0;
+ dom_node_internal *root;
while(n != NULL) {
if(dom_string_caseless_isequal(doc->memoised[hds_TR],n->name)) {
break;
}
n = n->parent;
}
- dom_node_internal *root = n;
+ root = n;
while(n != NULL) {
if(n == (dom_node_internal *)table_cell) {
break;
diff --git a/src/html/html_tablerow_element.c b/src/html/html_tablerow_element.c
index 0e4c3a8..e4d3514 100644
--- a/src/html/html_tablerow_element.c
+++ b/src/html/html_tablerow_element.c
@@ -201,9 +201,10 @@ dom_exception dom_html_table_row_element_get_row_index(
(dom_string_caseless_isequal(parent->name, doc->memoised[hds_TBODY]) ||
dom_string_caseless_isequal(parent->name, doc->memoised[hds_TFOOT]))) {
uint32_t len;
- n = parent->parent;
dom_html_table_section_element *t_head;
dom_html_collection *rows;
+
+ n = parent->parent;
exp = dom_html_table_element_get_t_head(
(dom_html_table_element *)(parent->parent),
&t_head);
--
1.8.3.4

View File

@@ -0,0 +1,77 @@
SUMMARY="NetSurf is a multi-platform web browser"
DESCRIPTION="
Small as a mouse, fast as a cheetah and available for free. NetSurf is a \
multi-platform web browser for RISC OS, UNIX-like platforms (including Linux), \
Mac OS X, and more.
Whether you want to check your webmail, read the news or post to discussion \
forums, NetSurf is your lightweight gateway to the world wide web. Actively \
developed, NetSurf is continually evolving and improving.
"
HOMEPAGE="http://www.netsurf-browser.org/"
# Do NOT use the netsurf-all package. It contains a bunch of subprojects which
# we build as separate packages. NetSurf is statically linked to them, so the
# resulting binary is the same.
SRC_URI="http://download.netsurf-browser.org/netsurf/releases/source/netsurf-$portVersion-src.tar.gz"
CHECKSUM_SHA256="04ffeb8335c59cbc23371b79ae3b178002e6e95c35225ef62db4b155ecc7e213"
REVISION="1"
ARCHITECTURES="!x86_gcc2"
REQUIRES="
lib:libcurl
lib:libpng
lib:libjpeg
"
BUILD_REQUIRES="
haiku_devel >= $haikuVersion
devel:libcurl
devel:libexpat
devel:libiconv
devel:libjpeg
devel:libpng
devel:libssl
devel:libz
devel:libcss
devel:libdom
devel:libhubbub
devel:libnsbmp
devel:libnsgif
devel:libparserutils
devel:libsvgtiny
devel:libwapcaplet
"
BUILD_PREREQUIRES="
html_parser >= 3.70
cmd:bison
cmd:flex
cmd:gcc
cmd:git
cmd:gperf
cmd:make
cmd:pkg_config
"
PROVIDES="
netsurf = $portVersion
app:NetSurf = $portVersion
"
PATCHES="netsurf-$portVersion.patchset"
BUILD()
{
make TARGET=beos PREFIX=$prefix/ DESTDIR=$appsDir/ BUILD=release \
NETSURF_BEOS_BIN=netsurf/ NETSURF_BEOS_RESOURCES=netsurf/res/
}
INSTALL()
{
make TARGET=beos PREFIX=$prefix/ DESTDIR=$appsDir/ \
NETSURF_BEOS_BIN=netsurf/ NETSURF_BEOS_RESOURCES=netsurf/res/ install
addAppDeskbarSymlink $appsDir/netsurf/NetSurf NetSurf
}
LICENSE="GNU GPL v2"
COPYRIGHT="2003-2014 The NetSurf Browser project"

File diff suppressed because it is too large Load Diff