summaryrefslogtreecommitdiff
path: root/www/osb-nrcore
diff options
context:
space:
mode:
authorMichael Johnson <ahze@FreeBSD.org>2004-12-01 04:02:42 +0000
committerMichael Johnson <ahze@FreeBSD.org>2004-12-01 04:02:42 +0000
commitc19e87c3c6ebc04c7c5a7eab35c79159e5b4ae6d (patch)
treea7e0297d2b1deddf6f457f93dd1ec7bee3eacd46 /www/osb-nrcore
parentStackless is not ready for Python 2.4 yet. So, change masterport (diff)
Add osb-nrcore
Gtk+ WebCore is a Gtk+ port of Apple Computer Inc.'s WebCore KHTML html rendering engine including a web component. Gtk+ WebCore is a standards compliant (X)HTML rendering engine, javascript interpreter and an embeddable web component. The purpose of the web component is to be a light-weight, easy-to-compile and embed, open source rendering component. The project work is done at Nokia Research Center (NRC) as part of ongoing internet browser-related research activities.
Notes
Notes: svn path=/head/; revision=122865
Diffstat (limited to 'www/osb-nrcore')
-rw-r--r--www/osb-nrcore/Makefile31
-rw-r--r--www/osb-nrcore/distinfo2
-rw-r--r--www/osb-nrcore/files/patch-assign441
-rw-r--r--www/osb-nrcore/pkg-descr10
-rw-r--r--www/osb-nrcore/pkg-plist43
5 files changed, 527 insertions, 0 deletions
diff --git a/www/osb-nrcore/Makefile b/www/osb-nrcore/Makefile
new file mode 100644
index 000000000000..10e35cf5f3fc
--- /dev/null
+++ b/www/osb-nrcore/Makefile
@@ -0,0 +1,31 @@
+# New ports collection makefile for: osb-nrcore
+# Date created: 2004-11-29
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+#
+
+PORTNAME= osb-nrcore
+PORTVERSION= 0.5.0
+CATEGORIES= www
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE}
+MASTER_SITE_SUBDIR= gtk-webcore
+
+MAINTAINER= ahze@FreeBSD.org
+COMMENT= Gtk-Webcore's browser engine
+
+LIB_DEPENDS= jscore.0:${PORTSDIR}/lang/osb-jscore
+
+USE_INC_LIBTOOL_VER=15
+USE_REINPLACE= yes
+USE_GNOME= gtk20 gnomehack
+USE_GCC= 3.4
+INSTALLS_SHLIB= yes
+CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS} -DNDEBUG" \
+ LDFLAGS="${PTHREAD_LIBS}"
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|-lpthread||; s|-nostdinc++||; \
+ s|-fPIC||' ${WRKSRC}/configure
+
+.include <bsd.port.mk>
diff --git a/www/osb-nrcore/distinfo b/www/osb-nrcore/distinfo
new file mode 100644
index 000000000000..fa8c39f88c0b
--- /dev/null
+++ b/www/osb-nrcore/distinfo
@@ -0,0 +1,2 @@
+MD5 (osb-nrcore-0.5.0.tar.gz) = 16d9a9a322025cae1a7fe8225690695a
+SIZE (osb-nrcore-0.5.0.tar.gz) = 1443934
diff --git a/www/osb-nrcore/files/patch-assign b/www/osb-nrcore/files/patch-assign
new file mode 100644
index 000000000000..cef98d28eda1
--- /dev/null
+++ b/www/osb-nrcore/files/patch-assign
@@ -0,0 +1,441 @@
+Index: kwiq/KWQDictImpl.cpp
+===================================================================
+--- kwiq/KWQDictImpl.cpp 2004/10/18 18:39:48 1.3
++++ kwiq/KWQDictImpl.cpp 2004/10/25 10:08:30
+@@ -30,26 +30,90 @@
+ * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
+ * OF THE POSSIBILITY OF SUCH DAMAGE.
+ */
++#include <string.h>
+
+ #include "KWQDictImpl.h"
++#include "KWQAssertions.h"
++#include "KWQMap.h"
+ #include <CoreFoundation/CoreFoundation.h>
++
++typedef void (* DeleteFunction) (void *);
++
++class KWQDictPrivate
++{
++public:
++ KWQDictPrivate(int size, bool caseSensitive, DeleteFunction);
++ KWQDictPrivate(const KWQDictPrivate &dp);
++ ~KWQDictPrivate();
++
++ QMap<QString,void*> map;
++ DeleteFunction deleteFunc;
++ bool modifyCase;
++ KWQDictIteratorPrivate *iterators;
++};
++
++class KWQDictIteratorPrivate
++{
++public:
++ KWQDictIteratorPrivate(KWQDictPrivate *);
++ ~KWQDictIteratorPrivate();
++
++ void remove(const QString &key);
++ void dictDestroyed();
++
++ uint count;
++ uint pos;
++ QString **keys;
++ void **values;
++ KWQDictPrivate *dict;
++ KWQDictIteratorPrivate *next;
++ KWQDictIteratorPrivate *prev;
++};
++
++KWQDictPrivate::KWQDictPrivate(int size, bool caseSensitive,
++ DeleteFunction _deleteFunc)
++ : deleteFunc(_deleteFunc),
++ modifyCase(!caseSensitive),
++ iterators(0)
++{
++}
++
++KWQDictPrivate::KWQDictPrivate(const KWQDictPrivate &dp)
++ : map(dp.map),
++ deleteFunc(dp.deleteFunc),
++ modifyCase(dp.modifyCase),
++ iterators(0)
++{
++}
++
++KWQDictPrivate::~KWQDictPrivate()
++{
++ for (KWQDictIteratorPrivate *it = iterators; it; it = it->next) {
++ it->dictDestroyed();
++ }
++}
++
++
+ /*
+ * No KWQDictImpl::~KWQDictImpl() because QDict::~QDict calls KWQDictImpl::clear()
+ * on
+ */
+ KWQDictImpl::KWQDictImpl(int size, bool caseSensitive, void (*deleteFunc_)(void *))
+- : deleteFunc(deleteFunc_)
+- , modifyCase(!caseSensitive)
++ : d(new KWQDictPrivate(size, caseSensitive, deleteFunc_))
+ {
++}
+
++KWQDictImpl::~KWQDictImpl()
++{
++ delete d;
+ }
+
+ void KWQDictImpl::insert(const QString &key, const void *value)
+ {
+- if (modifyCase)
+- map.insert(key.lower(), const_cast<void*>(value));
++ if (d->modifyCase)
++ d->map.insert(key.lower(), const_cast<void*>(value));
+ else
+- map.insert(key, const_cast<void*>(value) );
++ d->map.insert(key, const_cast<void*>(value) );
+ }
+
+ bool KWQDictImpl::remove(const QString &key, bool deleteItem)
+@@ -57,21 +121,26 @@
+ QMapIterator<QString, void*> i;
+ void* data;
+
+- if (modifyCase)
+- i = map.find(key.lower());
++ if (d->modifyCase)
++ i = d->map.find(key.lower());
+ else
+- i = map.find(key);
++ i = d->map.find(key);
+
+- if (i == map.end())
++ if (i == d->map.end())
+ return false;
+
+ data = *i;
+
+- map.remove(i);
+- if (deleteItem && deleteFunc) {
+- deleteFunc(data);
++ d->map.remove(i);
++ if (deleteItem && d->deleteFunc) {
++ d->deleteFunc(data);
+ return true;
+ }
++
++ for (KWQDictIteratorPrivate *it = d->iterators; it; it = it->next) {
++ it->remove(key);
++ }
++
+ return false;
+ }
+
+@@ -79,71 +148,159 @@
+ {
+ if (deleteItem)
+ {
+- QMapIterator<QString,void*> i = map.begin();
+- QMapIterator<QString,void*> end = map.end();
++ QMapIterator<QString,void*> i = d->map.begin();
++ QMapIterator<QString,void*> end = d->map.end();
+ void *data;
+ while (i!=end)
+ {
+ data=*i;
+- if (deleteFunc) deleteFunc(data);
++ if (d->deleteFunc) d->deleteFunc(data);
+ ++i;
+ }
+ }
+
+- map.clear();
++ d->map.clear();
+ }
+
+ uint KWQDictImpl::count() const
+ {
+- return map.count();
++ return d->map.count();
+ }
+
+ void *KWQDictImpl::find(const QString &key) const
+ {
+ QMapConstIterator<QString,void*> i;
+- if (modifyCase)
+- i = map.find(key.lower());
++ if (d->modifyCase)
++ i = d->map.find(key.lower());
+ else
+- i = map.find(key);
++ i = d->map.find(key);
+
+- if (i == map.end())
++ if (i == d->map.end())
+ return 0;
+ return *i;
+ }
+
++void KWQDictImpl::swap(KWQDictImpl &di)
++{
++ KWQDictPrivate *tmp;
++
++ tmp = di.d;
++ di.d = d;
++ d = tmp;
++}
++
++KWQDictImpl &KWQDictImpl::assign(const KWQDictImpl &di, bool deleteItems)
++{
++ KWQDictImpl tmp(di);
++
++ if (deleteItems) {
++ clear(true);
++ }
++
++ swap(tmp);
++
++ return *this;
++}
++
++
++KWQDictIteratorImpl::KWQDictIteratorImpl(const KWQDictImpl &di)
++ : d(new KWQDictIteratorPrivate(di.d))
++{
++}
++
+ uint KWQDictIteratorImpl::count() const
+ {
+- return dict->map.count();
++ return d->count;
+ }
+
+ void* KWQDictIteratorImpl::current() const
+ {
+- if (i == dict->map.end())
+- return 0;
+- return *i;
++ if (d->pos >= d->count) {
++ return NULL;
++ }
++ return d->values[d->pos];
+ }
+
+ void* KWQDictIteratorImpl::toFirst()
+ {
+- i=dict->map.begin();
+- if (i == dict->map.end())
+- return 0;
+-
+- return *i;
++ d->pos = 0;
++ return current();
+ }
++
+ void* KWQDictIteratorImpl::operator++()
+ {
+- ++i;
+- if (i==dict->map.end())
+- return 0;
+- return *i;
++ ++d->pos;
++ return current();
+ }
+
+ QString KWQDictIteratorImpl::currentStringKey() const
++{
++ if (d->pos >= d->count) {
++ return QString();
++ }
++ return QString(*d->keys[d->pos]);
++}
++
++
++KWQDictIteratorPrivate::KWQDictIteratorPrivate(KWQDictPrivate *d) :
++ count(d->map.count()),
++ pos(0),
++ keys(new QString * [count]),
++ values(new void * [count]),
++ dict(d),
++ next(d->iterators),
++ prev(0)
++{
++ d->iterators = this;
++ if (next) {
++ next->prev = this;
++ }
++
++ unsigned int i = 0;
++ QMap<QString,void*>::Iterator it = d->map.begin();
++ QMap<QString,void*>::Iterator end = d->map.end();
++ while (it != end) {
++ keys[i] = new QString(it.key());
++ values[i] = it.data();
++ ++i;
++ ++it;
++ }
++ ASSERT(i==count);
++}
++
++KWQDictIteratorPrivate::~KWQDictIteratorPrivate()
+ {
+- if (i == dict->map.end() )
+- return QString();
++ if (prev) {
++ prev->next = next;
++ } else if (dict) {
++ dict->iterators = next;
++ }
++ if (next) {
++ next->prev = prev;
++ }
++
++ delete [] keys;
++ delete [] values;
++}
+
+- return QString(i.key());
++void KWQDictIteratorPrivate::remove(const QString &key)
++{
++ for (uint i = 0; i < count; ) {
++ if (*keys[i] != key) {
++ ++i;
++ } else {
++ --count;
++ if (pos > i) {
++ --pos;
++ }
++ memmove(&keys[i], &keys[i+1], sizeof(keys[i]) * (count - i));
++ memmove(&values[i], &values[i+1], sizeof(values[i]) * (count - i));
++ }
++ }
+ }
+
++void KWQDictIteratorPrivate::dictDestroyed()
++{
++ count = 0;
++ dict = 0;
++}
+Index: kwiq/KWQDictImpl.h
+===================================================================
+--- kwiq/KWQDictImpl.h 2004/09/23 08:27:53 1.1.1.1
++++ kwiq/KWQDictImpl.h 2004/10/25 10:08:30
+@@ -29,36 +29,42 @@
+ #include "KWQMap.h"
+ #include "KWQString.h"
+
++class KWQDictPrivate;
++class KWQDictIteratorPrivate;
++
+ class KWQDictImpl {
+ public:
+ KWQDictImpl(int size, bool caseSensitive, void (*deleteFunc)(void *));
++ ~KWQDictImpl();
+ void insert(const QString &key, const void *value);
+ bool remove(const QString &key, bool deleteItems);
+
+ void *find(const QString &key) const;
+ void clear(bool deleteItem);
+ uint count() const;
+- private:
+- void (*deleteFunc)(void*);
+- QMap<QString,void*> map;
+- bool modifyCase;
++
++ KWQDictImpl &assign(const KWQDictImpl &pdi, bool deleteItems);
++private:
++ void swap(KWQDictImpl &di);
++ KWQDictPrivate *d;
+ friend class KWQDictIteratorImpl;
+ };
+
+ class KWQDictIteratorImpl {
+- const KWQDictImpl *dict;
+- QMapConstIterator<QString,void*> i;
+ public:
+- KWQDictIteratorImpl(const KWQDictImpl &di) :dict(&di), i(di.map.begin()) { }
++ KWQDictIteratorImpl(const KWQDictImpl &di);
+ uint count() const ;
+ void *current() const;
++
++ void* toFirst();
+
+- void* toFirst();
+-
+ void *operator++();
+
+
+ QString currentStringKey() const;
++private:
++ KWQDictIteratorPrivate *d;
++
+ };
+
+ #endif
+--- kwiq/KWQKDebug.h.orig Mon Oct 11 03:20:49 2004
++++ kwiq/KWQKDebug.h Tue Jan 21 19:12:34 2003
+@@ -32,20 +32,18 @@
+ class kdbgstream;
+
+ typedef kdbgstream & (*KDBGFUNC)(kdbgstream &);
+-#if NDEBUG
++
+ class kdbgstream {
+ public:
+ kdbgstream(unsigned int area = 0, unsigned int level = 0, bool print = true) { }
+-
++
+ kdbgstream &operator<<(int) { return *this; }
+ kdbgstream &operator<<(unsigned int) { return *this; }
+- kdbgstream &operator<<(long) { return *this; }
+ kdbgstream &operator<<(double) { return *this; }
+ kdbgstream &operator<<(const char *) { return *this; }
+ kdbgstream &operator<<(const void *) { return *this; }
+ kdbgstream &operator<<(const QString &) { return *this; }
+ kdbgstream &operator<<(const QCString &) { return *this; }
+- kdbgstream &operator<<(const time_t&) { return *this; }
+ kdbgstream &operator<<(KDBGFUNC) { return *this; }
+ };
+
+@@ -59,40 +57,5 @@
+ inline kdbgstream kdFatal(int area = 0) { return kdbgstream(); }
+ inline kdbgstream kdFatal(bool cond, int area = 0) { return kdbgstream(); }
+ inline QString kdBacktrace() { return QString(); }
+-
+-#else
+-
+-
+-class kdbgstream {
+-public:
+- kdbgstream(unsigned int area = 0, unsigned int level = 0, bool print = true) { }
+-#if KWIQ
+- kdbgstream &operator<<(int a) { printf("%d",a); return *this; }
+- kdbgstream &operator<<(unsigned int a) { printf("%d", a);return *this; }
+- kdbgstream &operator<<(time_t&) {return *this; }
+- kdbgstream &operator<<(double d) { printf("%f",(float) d); return *this; }
+- kdbgstream &operator<<(const char *str) { printf("%s", str); return *this; }
+- kdbgstream &operator<<(const void *) { return *this; }
+- kdbgstream &operator<<(const QString &qstr) { printf("%s",qstr.latin1()); return *this; }
+- kdbgstream &operator<<(const QCString &qstr) { printf("%s",qstr.data()); return *this; }
+- kdbgstream &operator<<(const time_t&t) { printf("%d", (int) t); return *this; }
+- kdbgstream &operator<<(KDBGFUNC f) { return f(*this); }
+-#endif
+-};
+-#if KWIQ
+-inline kdbgstream &endl(kdbgstream &s) { printf("\n"); return s; }
+-#else
+-inline kdbgstream &endl(kdbgstream &s) { return s; }
+-#endif
+-inline kdbgstream kdDebug(int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdWarning(int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdWarning(bool cond, int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdError(int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdError(bool cond, int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdFatal(int area = 0) { return kdbgstream(); }
+-inline kdbgstream kdFatal(bool cond, int area = 0) { return kdbgstream(); }
+-inline QString kdBacktrace() { return QString(); }
+-
+-#endif
+
+ #endif
diff --git a/www/osb-nrcore/pkg-descr b/www/osb-nrcore/pkg-descr
new file mode 100644
index 000000000000..04af3e1367e7
--- /dev/null
+++ b/www/osb-nrcore/pkg-descr
@@ -0,0 +1,10 @@
+Gtk+ WebCore is a Gtk+ port of Apple Computer Inc.'s WebCore KHTML html
+rendering engine including a web component. Gtk+ WebCore is a standards
+compliant (X)HTML rendering engine, javascript interpreter and an embeddable
+web component. The purpose of the web component is to be a light-weight,
+easy-to-compile and embed, open source rendering component.
+
+The project work is done at Nokia Research Center (NRC) as part of ongoing
+internet browser-related research activities.
+
+WWW: http://gtk-webcore.sf.net/
diff --git a/www/osb-nrcore/pkg-plist b/www/osb-nrcore/pkg-plist
new file mode 100644
index 000000000000..1e8f87ab8405
--- /dev/null
+++ b/www/osb-nrcore/pkg-plist
@@ -0,0 +1,43 @@
+include/osb/NRCore/KWIQCGContext.h
+include/osb/NRCore/KWIQPageCache.h
+include/osb/NRCore/KWIQResponse.h
+include/osb/NRCore/WebCoreBridge.h
+include/osb/NRCore/WebCoreCache.h
+include/osb/NRCore/WebCoreFoundation.h
+include/osb/NRCore/WebCoreHistory.h
+include/osb/NRCore/WebCoreImageRenderer.h
+include/osb/NRCore/WebCoreImageRendererFactory.h
+include/osb/NRCore/WebCoreKeyboardAccess.h
+include/osb/NRCore/WebCoreResourceLoader.h
+include/osb/NRCore/WebCoreSettings.h
+include/osb/NRCore/WebCoreTextRenderer.h
+include/osb/NRCore/WebCoreTextRendererFactory.h
+include/osb/NRCore/WebCoreUnicode.h
+include/osb/NRCore/WebCoreViewFactory.h
+lib/libnrcore.a
+lib/libnrcore.la
+lib/libnrcore.so
+lib/libnrcore.so.0
+lib/libnrcore_kwiq_gtk.a
+lib/libnrcore_kwiq_gtk.la
+lib/libnrcore_kwiq_gtk.so
+lib/libnrcore_kwiq_gtk.so.0
+libdata/pkgconfig/osb-nrcore.pc
+%%DATADIR%%/eastResizeCursor.tiff
+%%DATADIR%%/helpCursor.tiff
+%%DATADIR%%/html4.css
+%%DATADIR%%/linkCursor.tiff
+%%DATADIR%%/moveCursor.tiff
+%%DATADIR%%/northEastResizeCursor.tiff
+%%DATADIR%%/northResizeCursor.tiff
+%%DATADIR%%/northWestResizeCursor.tiff
+%%DATADIR%%/quirks.css
+%%DATADIR%%/southEastResizeCursor.tiff
+%%DATADIR%%/southResizeCursor.tiff
+%%DATADIR%%/southWestResizeCursor.tiff
+%%DATADIR%%/user.css
+%%DATADIR%%/waitCursor.tiff
+%%DATADIR%%/westResizeCursor.tiff
+@dirrm %%DATADIR%%
+@dirrm include/osb/NRCore
+@dirrm include/osb