summaryrefslogtreecommitdiffstats
path: root/www
diff options
context:
space:
mode:
Diffstat (limited to 'www')
-rw-r--r--www/epiphany-webkit/Makefile16
-rw-r--r--www/epiphany/Makefile108
-rw-r--r--www/epiphany/distinfo3
-rw-r--r--www/epiphany/files/patch-lib_ephy-spell-check.c20
-rw-r--r--www/epiphany/files/patch-src_bookmarks_ephy-bookmarks.c498
-rw-r--r--www/epiphany/pkg-descr5
-rw-r--r--www/epiphany/pkg-plist425
-rw-r--r--www/midori/Makefile27
-rw-r--r--www/midori/distinfo3
-rw-r--r--www/midori/pkg-descr12
-rw-r--r--www/midori/pkg-plist5
-rw-r--r--www/webkit-gtk2/Makefile68
-rw-r--r--www/webkit-gtk2/distinfo3
-rw-r--r--www/webkit-gtk2/files/patch-WebCore_plugins_gtk_PluginDatabaseGtk.cpp11
-rw-r--r--www/webkit-gtk2/pkg-descr5
-rw-r--r--www/webkit-gtk2/pkg-plist26
16 files changed, 1235 insertions, 0 deletions
diff --git a/www/epiphany-webkit/Makefile b/www/epiphany-webkit/Makefile
new file mode 100644
index 000000000..6f53e7913
--- /dev/null
+++ b/www/epiphany-webkit/Makefile
@@ -0,0 +1,16 @@
+# New ports collection makefile for: epiphany-webkit
+# Date created: 2007-10-21
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports/www/epiphany-webkit/Makefile,v 1.2 2008/02/24 22:10:56 ahze Exp $
+
+PORTVERSION= 4
+PKGNAMESUFFIX= -webkit
+
+COMMENT= An extremely lightweight GNOME browser using the WebKit engine
+
+EPHY_SLAVE= webkit
+MASTERDIR= ${.CURDIR}/../../www/epiphany
+
+.include "${MASTERDIR}/Makefile"
diff --git a/www/epiphany/Makefile b/www/epiphany/Makefile
new file mode 100644
index 000000000..46318e587
--- /dev/null
+++ b/www/epiphany/Makefile
@@ -0,0 +1,108 @@
+# Ports collection Makefile for: epiphany
+# Date created: 24 April 2003
+# Whom: Joe Marcus Clarke <marcus@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports/www/epiphany/Makefile,v 1.168 2008/03/17 05:00:09 marcus Exp $
+#
+
+PORTNAME= epiphany
+PORTVERSION= 2.22.0
+PORTREVISION= 1
+CATEGORIES= www gnome
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT?= An extremely lightweight and simple web browser for GNOME 2
+
+BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes
+LIB_DEPENDS= dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \
+ notify.1:${PORTSDIR}/devel/libnotify
+RUN_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/iso-codes.pc:${PORTSDIR}/misc/iso-codes \
+ ${LOCALBASE}/share/themes/LowContrast/index.theme:${PORTSDIR}/x11-themes/gnome-themes
+
+USE_LDCONFIG= yes
+INSTALLS_ICONS= yes
+USE_GETTEXT= yes
+USE_BZIP2= yes
+USE_XLIB= yes
+USE_PYTHON= yes
+GNOME_DESKTOP_VERSION=2
+USE_GNOME= gnomeprefix gnomehack intlhack gnomedesktop desktopfileutils
+WANT_GNOME= yes
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+INSTALLS_OMF= yes
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include ${PTHREAD_CFLAGS} ${EXTRA_CFLAGS}" \
+ LIBS="-L${LOCALBASE}/lib ${PTHREAD_LIBS} ${EXTRA_LIBS}"
+
+GCONF_SCHEMAS= epiphany-lockdown.schemas epiphany.schemas \
+ epiphany-fonts.schemas epiphany-pango.schemas
+
+PLIST_SUB+= EPHY_VERSION="${PORTVERSION:C/\.[0-9]+$//}"
+
+MAN1= epiphany.1
+
+OPTIONS= SPELL_CHECKER "Enable spell checking support" off
+
+.if defined(PACKAGE_BUILDING)
+.undef WITHOUT_GNOME
+WITH_GNOME= yes
+.endif
+
+.include <bsd.port.pre.mk>
+
+.if defined(EPHY_SLAVE) && ${EPHY_SLAVE}=="webkit"
+LIB_DEPENDS+= webkit-1.0.1:${PORTSDIR}/www/webkit-gtk2
+CONFIGURE_ARGS+= --with-engine=webkit
+EXTRA_CFLAGS+= `pkg-config --cflags WebKitGtk` -I${LOCALBASE}/include/WebKit/webkit
+EXTRA_LIBS+= `pkg-config --libs WebKitGtk`
+CONFLICTS= epiphany-[1-9]*
+PLIST_SUB+= GECKO="@comment "
+.else
+USE_GECKO+= firefox firefox15<->firefox xulrunner
+CONFIGURE_ARGS+= --with-gecko=${GECKO} \
+ --with-engine=mozilla
+.include "${PORTSDIR}/www/mozilla/bsd.gecko.mk"
+CONFLICTS= epiphany-webkit-[1-9]*
+PLIST_SUB+= GECKO=""
+.endif
+
+NO_WERROR= yes
+# allow build with more warnings enabled
+.if defined(NO_WERROR)
+CONFIGURE_ARGS+= --enable-compile-warnings=no
+.endif
+
+.if ${HAVE_GNOME:Mpygnome2}!=""
+USE_PYTHON= yes
+.include "${PORTSDIR}/Mk/bsd.python.mk"
+USE_GNOME+= pygnome2
+CONFIGURE_ARGS+=--enable-python
+PLIST_SUB+= PYTHON=""
+.else
+CONFIGURE_ARGS+=--disable-python
+PLIST_SUB+= PYTHON="@comment "
+.endif
+
+.if defined(WITH_SPELL_CHECKER)
+LIB_DEPENDS+= enchant.1:${PORTSDIR}/textproc/enchant
+CONFIGURE_ARGS+=--enable-spell-checker
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|WebKitGdk|WebKitGtk|' ${WRKSRC}/configure
+ @${FIND} ${WRKSRC} -name "Makefile.in*" | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|-lpthread|${PTHREAD_LIBS}|g'
+ @${REINPLACE_CMD} -e 's|execinfo.h|#|g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|/lib/mozilla/plugins"|/lib/browser_plugins" ":" MOZILLA_PREFIX "/lib/browser_linux_plugins"|' \
+ ${WRKSRC}/embed/mozilla/mozilla-embed-single.cpp
+
+post-install:
+ ${INSTALL_DATA} ${WRKSRC}/data/epiphany-fonts.schemas \
+ ${PREFIX}/etc/gconf/schemas
+ @-update-desktop-database
+
+.include <bsd.port.post.mk>
diff --git a/www/epiphany/distinfo b/www/epiphany/distinfo
new file mode 100644
index 000000000..20a0b5c1e
--- /dev/null
+++ b/www/epiphany/distinfo
@@ -0,0 +1,3 @@
+MD5 (gnome2/epiphany-2.22.0.tar.bz2) = 81ad67d1ad706930a295a7ed9887bf5f
+SHA256 (gnome2/epiphany-2.22.0.tar.bz2) = 692c642f99ea52ac86acf1c00c31f2567cba1e155e5d93462625bd208dca7122
+SIZE (gnome2/epiphany-2.22.0.tar.bz2) = 5163182
diff --git a/www/epiphany/files/patch-lib_ephy-spell-check.c b/www/epiphany/files/patch-lib_ephy-spell-check.c
new file mode 100644
index 000000000..bd68a07d9
--- /dev/null
+++ b/www/epiphany/files/patch-lib_ephy-spell-check.c
@@ -0,0 +1,20 @@
+--- lib/ephy-spell-check.c.orig 2008-03-17 00:41:47.000000000 -0400
++++ lib/ephy-spell-check.c 2008-03-17 00:47:22.000000000 -0400
+@@ -69,8 +69,15 @@ ephy_spell_check_init (EphySpellCheck *s
+ priv->dict = enchant_broker_request_dict (priv->broker, *locale);
+ if (priv->dict != NULL) break;
+ }
+- if (priv->dict == NULL)
+- g_warning (enchant_broker_get_error (priv->broker));
++ if (priv->dict == NULL) {
++ g_warning ("No dictionary found for current locale; trying 'en'");
++ priv->dict = enchant_broker_request_dict (priv->broker, "en");
++
++ if (priv->dict == NULL) {
++ g_warning (enchant_broker_get_error (priv->broker));
++ g_warning ("No dictionary found; expect a crash until LANG is properly set");
++ }
++ }
+ }
+
+ static void
diff --git a/www/epiphany/files/patch-src_bookmarks_ephy-bookmarks.c b/www/epiphany/files/patch-src_bookmarks_ephy-bookmarks.c
new file mode 100644
index 000000000..afe4f26f1
--- /dev/null
+++ b/www/epiphany/files/patch-src_bookmarks_ephy-bookmarks.c
@@ -0,0 +1,498 @@
+--- src/bookmarks/ephy-bookmarks.c 2008/01/14 19:29:31 7863
++++ src/bookmarks/ephy-bookmarks.c 2008/03/13 14:09:36 8102
+@@ -136,39 +136,10 @@
+ static void ephy_bookmarks_finalize (GObject *object);
+ static char *impl_resolve_address (EphyBookmarks*, const char*, const char*);
+
+-static GObjectClass *parent_class = NULL;
+-
+-GType
+-ephy_bookmarks_get_type (void)
+-{
+- static GType type = 0;
+-
+- if (G_UNLIKELY (type == 0))
+- {
+- const GTypeInfo our_info =
+- {
+- sizeof (EphyBookmarksClass),
+- NULL, /* base_init */
+- NULL, /* base_finalize */
+- (GClassInitFunc) ephy_bookmarks_class_init,
+- NULL,
+- NULL, /* class_data */
+- sizeof (EphyBookmarks),
+- 0, /* n_preallocs */
+- (GInstanceInitFunc) ephy_bookmarks_init
+- };
+- volatile GType flags_type; /* work around gcc's optimiser */
+-
+- /* make sure the flags type is known */
+- flags_type = EPHY_TYPE_BOOKMARK_PROPERTY;
+-
+- type = g_type_register_static (G_TYPE_OBJECT,
+- "EphyBookmarks",
+- &our_info, 0);
+- }
+-
+- return type;
+-}
++G_DEFINE_TYPE_WITH_CODE (EphyBookmarks, ephy_bookmarks, G_TYPE_OBJECT,
++ volatile GType flags_type; /* work around gcc's optimiser */
++ /* make sure the flags type is known */
++ flags_type = EPHY_TYPE_BOOKMARK_PROPERTY;)
+
+ static void
+ ephy_bookmarks_init_defaults (EphyBookmarks *eb)
+@@ -194,8 +165,6 @@
+ {
+ GObjectClass *object_class = G_OBJECT_CLASS (klass);
+
+- parent_class = g_type_class_peek_parent (klass);
+-
+ object_class->finalize = ephy_bookmarks_finalize;
+
+ klass->resolve_address = impl_resolve_address;
+@@ -799,7 +768,10 @@
+ char *key_dup, *value_dup;
+ char *raw_txt;
+ size_t raw_txt_len;
+-
++
++ if (!input_text)
++ return NULL;
++
+ raw_txt_len = avahi_string_list_serialize (input_text, NULL, 0);
+ raw_txt = g_malloc (raw_txt_len);
+ raw_txt_len = avahi_string_list_serialize (input_text, raw_txt, raw_txt_len);
+@@ -868,41 +840,14 @@
+ name);
+ }
+
+-static EphyNode *
+-get_node_for_id (EphyBookmarks *bookmarks,
+- char *node_id)
+-{
+- EphyBookmarksPrivate *priv = bookmarks->priv;
+- EphyNode *kid, *node = NULL;
+- GPtrArray *children;
+- const char *id;
+- guint i;
+-
+- children = ephy_node_get_children (priv->local);
+- for (i = 0; i < children->len; i++)
+- {
+- kid = g_ptr_array_index (children, i);
+-
+- id = ephy_node_get_property_string (kid,
+- EPHY_NODE_BMK_PROP_SERVICE_ID);
+-
+- if (g_str_equal (id, node_id))
+- {
+- node = kid;
+- break;
+- }
+- }
+-
+- g_free (node_id);
+-
+- return node;
+-}
+-
+ typedef struct
+ {
+ EphyBookmarks *bookmarks;
++ GaServiceResolver *resolver;
+ EphyNode *node;
+- guint new_node : 1;
++ char *name;
++ char *type;
++ char *domain;
+ } ResolveData;
+
+ static void
+@@ -921,20 +866,20 @@
+ {
+ EphyBookmarks *bookmarks = data->bookmarks;
+ EphyBookmarksPrivate *priv = bookmarks->priv;
+- EphyNode *node = data->node;
+ GValue value = { 0, };
+ const char *path = NULL;
+ char host[128];
+ GHashTable *text_table;
+ char *url;
+ gboolean was_immutable;
++ gboolean is_new_node = FALSE;
+ guint i;
+
++ LOG ("resolver_found_cb resolver %p\n", resolver);
++
+ was_immutable = ephy_node_db_is_immutable (priv->db);
+ ephy_node_db_set_immutable (priv->db, FALSE);
+
+- g_hash_table_steal (priv->resolve_handles, node);
+-
+ /* Find the protocol */
+ for (i = 0; i < G_N_ELEMENTS (zeroconf_protos); ++i)
+ {
+@@ -945,6 +890,12 @@
+ }
+ if (i == G_N_ELEMENTS (zeroconf_protos)) return;
+
++ if (address == NULL)
++ {
++ g_warning ("Zeroconf failed to resolve host %s", name);
++ return;
++ }
++
+ text_table = decode_txt_record (txt);
+
+ if (text_table != NULL)
+@@ -956,32 +907,60 @@
+ path = "/";
+ }
+
+- if (address == NULL)
+- {
+- g_warning ("Zeroconf failed to resolve host %s", name);
+- return;
+- }
+ avahi_address_snprint (host, sizeof (host), address);
+
+ LOG ("0conf RESOLVED type=%s domain=%s name=%s => proto=%s host=%s port=%d path=%s\n",
+ type, domain, name,
+ zeroconf_protos[i], host, port, path);
+
++ was_immutable = ephy_node_db_is_immutable (priv->db);
++ ephy_node_db_set_immutable (priv->db, FALSE);
++
++ if (data->node == NULL)
++ {
++ is_new_node = TRUE;
++
++ data->node = ephy_node_new (priv->db);
++ g_assert (data->node != NULL);
++
++ /* don't allow dragging this node */
++ ephy_node_set_is_drag_source (data->node, FALSE);
++
++ g_value_init (&value, G_TYPE_STRING);
++ g_value_take_string (&value,
++ get_id_for_response (data->type,
++ data->domain,
++ data->name));
++ ephy_node_set_property (data->node, EPHY_NODE_BMK_PROP_SERVICE_ID, &value);
++ g_value_unset (&value);
++
++ /* FIXME: limit length! */
++ ephy_node_set_property_string (data->node,
++ EPHY_NODE_BMK_PROP_TITLE,
++ name);
++
++ ephy_node_set_property_boolean (data->node,
++ EPHY_NODE_BMK_PROP_IMMUTABLE,
++ TRUE);
++ }
++
+ /* FIXME: limit length! */
+ url = g_strdup_printf ("%s://%s:%d%s", zeroconf_protos[i], host, port, path);
+
+ g_value_init (&value, G_TYPE_STRING);
+ g_value_take_string (&value, url);
+- ephy_node_set_property (node, EPHY_NODE_BMK_PROP_LOCATION, &value);
++ ephy_node_set_property (data->node, EPHY_NODE_BMK_PROP_LOCATION, &value);
+ g_value_unset (&value);
+
+- if (data->new_node)
++ if (is_new_node)
+ {
+- ephy_node_add_child (priv->bookmarks, node);
+- ephy_node_add_child (priv->local, node);
++ ephy_node_add_child (priv->bookmarks, data->node);
++ ephy_node_add_child (priv->local, data->node);
+ }
+
+ ephy_node_db_set_immutable (priv->db, was_immutable);
++
++ g_hash_table_unref (text_table);
+ }
+
+ static void
+@@ -989,53 +968,33 @@
+ GError *error,
+ ResolveData *data)
+ {
+- EphyBookmarks *bookmarks = data->bookmarks;
+- EphyBookmarksPrivate *priv = bookmarks->priv;
+- EphyNode *node = data->node;
+- gboolean was_immutable;
++ LOG ("resolver_failure_cb resolver %p: %s\n", resolver, error?error->message:"(null)");
+
+- was_immutable = ephy_node_db_is_immutable (priv->db);
+- ephy_node_db_set_immutable (priv->db, FALSE);
+-
+- g_hash_table_steal (priv->resolve_handles, node);
+-
+- /* Error, don't add the service */
+- ephy_node_unref (node);
+- ephy_node_db_set_immutable (priv->db, was_immutable);
+-
+- return;
+-}
++ /* Remove the node, if present */
++ if (data->node != NULL)
++ {
++ EphyBookmarks *bookmarks = data->bookmarks;
++ EphyBookmarksPrivate *priv = bookmarks->priv;
++ gboolean was_immutable;
+
+-static void
+-free_resolve_cb_data (gpointer data)
+-{
+- g_slice_free (ResolveData, data);
++ was_immutable = ephy_node_db_is_immutable (priv->db);
++ ephy_node_db_set_immutable (priv->db, FALSE);
++ ephy_node_unref (data->node);
++ data->node = NULL;
++ ephy_node_db_set_immutable (priv->db, was_immutable);
++ }
+ }
+
+ static void
+-browser_removed_service_cb (GaServiceBrowser *browser,
+- int interface,
+- GaProtocol protocol,
+- const char *name,
+- const char *type,
+- const char *domain,
+- glong flags,
+- EphyBookmarks *bookmarks)
++resolve_data_free (ResolveData* data)
+ {
+- EphyBookmarksPrivate *priv = bookmarks->priv;
+- EphyNode *node;
+- char *node_id;
+-
+- node_id = get_id_for_response (type, domain, name);
+- node = get_node_for_id (bookmarks, node_id);
++ if (data->resolver)
++ g_object_unref (data->resolver);
+
+- if (node != NULL)
+- {
+- g_hash_table_remove (priv->resolve_handles, node);
+- ephy_node_unref (node);
+- }
+-
+- return;
++ g_free (data->type);
++ g_free (data->name);
++ g_free (data->domain);
++ g_slice_free (ResolveData, data);
+ }
+
+ static void
+@@ -1049,81 +1008,88 @@
+ EphyBookmarks *bookmarks)
+ {
+ EphyBookmarksPrivate *priv = bookmarks->priv;
+- EphyNode *node;
+- GValue value = { 0, };
+- gboolean new_node = FALSE;
+- GaServiceResolver *resolver = NULL;
+ ResolveData *data;
+ char *node_id;
++ GError *error = NULL;
+
+ node_id = get_id_for_response (type, domain, name);
+- node = get_node_for_id (bookmarks, node_id);
+
+ LOG ("0conf ADD: type=%s domain=%s name=%s\n",
+ type, domain, name);
+
+- if (node != NULL &&
+- g_hash_table_lookup (priv->resolve_handles, node) != NULL) return;
+-
+- if (node == NULL)
++ if (g_hash_table_lookup (priv->resolve_handles, node_id) != NULL)
+ {
+- gboolean was_immutable;
+-
+- was_immutable = ephy_node_db_is_immutable (priv->db);
+- ephy_node_db_set_immutable (priv->db, FALSE);
+-
+- node = ephy_node_new (priv->db);
+- g_assert (node != NULL);
+-
+- new_node = TRUE;
+-
+- /* don't allow dragging this node */
+- ephy_node_set_is_drag_source (node, FALSE);
+-
+- g_value_init (&value, G_TYPE_STRING);
+- g_value_take_string (&value, get_id_for_response (type, domain, name));
+- ephy_node_set_property (node, EPHY_NODE_BMK_PROP_SERVICE_ID, &value);
+- g_value_unset (&value);
+-
+- /* FIXME: limit length! */
+- ephy_node_set_property_string (node,
+- EPHY_NODE_BMK_PROP_TITLE,
+- name);
+-
+- ephy_node_set_property_boolean (node,
+- EPHY_NODE_BMK_PROP_IMMUTABLE,
+- TRUE);
+-
+- ephy_node_db_set_immutable (priv->db, was_immutable);
++ g_free (node_id);
++ return;
+ }
+
+ data = g_slice_new0 (ResolveData);
+ data->bookmarks = bookmarks;
+- data->node = node;
+- data->new_node = new_node;
+-
+- resolver = ga_service_resolver_new (AVAHI_IF_UNSPEC,
+- AVAHI_PROTO_UNSPEC,
+- name, type, domain,
+- AVAHI_PROTO_UNSPEC,
+- GA_LOOKUP_USE_MULTICAST);
+- g_signal_connect_data (resolver, "found",
+- G_CALLBACK (resolver_found_cb), data,
+- (GClosureNotify) free_resolve_cb_data, 0);
+- g_signal_connect_data (resolver, "failure",
+- G_CALLBACK (resolver_failure_cb), data,
+- (GClosureNotify) free_resolve_cb_data, 0);
+- if (!ga_service_resolver_attach (resolver,
++ data->node = NULL;
++ data->type = g_strdup (type);
++ data->name = g_strdup (name);
++ data->domain = g_strdup (domain);
++
++ data->resolver = ga_service_resolver_new (AVAHI_IF_UNSPEC,
++ AVAHI_PROTO_UNSPEC,
++ name, type, domain,
++ AVAHI_PROTO_UNSPEC,
++ GA_LOOKUP_USE_MULTICAST);
++ g_signal_connect (data->resolver, "found",
++ G_CALLBACK (resolver_found_cb), data);
++ g_signal_connect (data->resolver, "failure",
++ G_CALLBACK (resolver_failure_cb), data);
++ if (!ga_service_resolver_attach (data->resolver,
+ priv->ga_client,
+- NULL))
++ &error))
+ {
+- g_warning ("Unable to resolve Zeroconf service %s", name);
+- ephy_node_unref (node);
+- free_resolve_cb_data (data);
++ g_warning ("Unable to resolve Zeroconf service %s: %s", name, error ? error->message : "(null)");
++ g_clear_error (&error);
++ resolve_data_free (data);
++ g_free (node_id);
+ return;
+ }
++
+ g_hash_table_insert (priv->resolve_handles,
+- node, resolver);
++ node_id /* transfer ownership */, data);
++}
++
++static void
++browser_removed_service_cb (GaServiceBrowser *browser,
++ int interface,
++ GaProtocol protocol,
++ const char *name,
++ const char *type,
++ const char *domain,
++ glong flags,
++ EphyBookmarks *bookmarks)
++{
++ EphyBookmarksPrivate *priv = bookmarks->priv;
++ char *node_id;
++ ResolveData *data;
++
++ node_id = get_id_for_response (type, domain, name);
++ data = g_hash_table_lookup (priv->resolve_handles, node_id);
++ /* shouldn't really happen, but let's play safe */
++ if (!data)
++ {
++ g_free (node_id);
++ return;
++ }
++
++ if (data->node != NULL)
++ {
++ gboolean was_immutable;
++
++ was_immutable = ephy_node_db_is_immutable (priv->db);
++ ephy_node_db_set_immutable (priv->db, FALSE);
++ ephy_node_unref (data->node);
++ data->node = NULL;
++ ephy_node_db_set_immutable (priv->db, was_immutable);
++ }
++
++ g_hash_table_remove (priv->resolve_handles, node_id);
++ g_free (node_id);
+ }
+
+ static void
+@@ -1150,9 +1116,10 @@
+ NULL))
+ {
+ g_warning ("Unable to start Zeroconf subsystem");
++ g_object_unref (browser);
+ return;
+ }
+-
++
+ priv->browse_handles[i] = browser;
+ }
+ }
+@@ -1166,6 +1133,7 @@
+ {
+ if (avahi_client_errno (ga_client->avahi_client) == AVAHI_ERR_DISCONNECTED)
+ {
++ /* FIXMEchpe: is this correct */
+ /* Destroy and reconnect */
+ avahi_client_free (ga_client->avahi_client);
+ ga_client->avahi_client = NULL;
+@@ -1197,7 +1165,9 @@
+ return;
+ }
+ priv->ga_client = ga_client;
+- priv->resolve_handles = g_hash_table_new (g_direct_hash, g_direct_equal);
++ priv->resolve_handles = g_hash_table_new_full (g_str_hash, g_str_equal,
++ g_free,
++ (GDestroyNotify) resolve_data_free);
+ }
+
+ static void
+@@ -1210,6 +1180,7 @@
+ {
+ if (priv->browse_handles[i] != NULL)
+ {
++ g_object_unref (priv->browse_handles[i]);
+ priv->browse_handles[i] = NULL;
+ }
+ }
+@@ -1222,7 +1193,8 @@
+
+ if (priv->local != NULL)
+ {
+- ephy_node_remove_child (priv->keywords, priv->local);
++ ephy_node_unref (priv->local);
++ priv->local = NULL;
+ }
+
+ if (priv->ga_client != NULL)
+@@ -1431,7 +1403,7 @@
+
+ LOG ("Bookmarks finalized");
+
+- G_OBJECT_CLASS (parent_class)->finalize (object);
++ G_OBJECT_CLASS (ephy_bookmarks_parent_class)->finalize (object);
+ }
+
+ EphyBookmarks *
diff --git a/www/epiphany/pkg-descr b/www/epiphany/pkg-descr
new file mode 100644
index 000000000..51066f8d5
--- /dev/null
+++ b/www/epiphany/pkg-descr
@@ -0,0 +1,5 @@
+Epiphany is a web browser designed to be as lightweight and fast as
+possible, at the expense of many of the features found in other
+browsers.
+
+WWW: http://www.gnome.org/projects/epiphany/
diff --git a/www/epiphany/pkg-plist b/www/epiphany/pkg-plist
new file mode 100644
index 000000000..0166b1e29
--- /dev/null
+++ b/www/epiphany/pkg-plist
@@ -0,0 +1,425 @@
+bin/epiphany
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-adblock-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-adblock.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-base-embed.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-bookmarks-type-builtins.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-bookmarks.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-command-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-cookie-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-dbus.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-dialog.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-container.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-event.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-factory.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-persist.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-prefs.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-shell.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-single.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-type-builtins.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed-utils.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-embed.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-extension.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-extensions-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-history-item.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-history.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-lib-type-builtins.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-link.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-loader.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-node-db.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-node.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-notebook.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-password-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-permission-manager.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-session.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-shell.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-state.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-statusbar.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-type-builtins.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-version.h
+include/epiphany/%%EPHY_VERSION%%/epiphany/ephy-window.h
+%%GECKO%%lib/epiphany/%%EPHY_VERSION%%/plugins/libdesktopfileplugin.la
+%%GECKO%%lib/epiphany/%%EPHY_VERSION%%/plugins/libdesktopfileplugin.so
+libdata/pkgconfig/epiphany-%%EPHY_VERSION%%.pc
+share/aclocal/epiphany.m4
+share/applications/bme.desktop
+share/applications/epiphany.desktop
+share/dbus-1/services/org.gnome.Epiphany.service
+%%DOCSDIR%%/EphyCommandManager.html
+%%DOCSDIR%%/EphyEmbed.html
+%%DOCSDIR%%/EphyNodeDb.html
+%%DOCSDIR%%/EphyWindow.html
+%%DOCSDIR%%/ch01.html
+%%DOCSDIR%%/ch02.html
+%%DOCSDIR%%/epiphany-EphyEmbedFactory.html
+%%DOCSDIR%%/epiphany-EphyEmbedPersist.html
+%%DOCSDIR%%/epiphany-EphyEmbedSingle.html
+%%DOCSDIR%%/epiphany-EphyExtensionsManager.html
+%%DOCSDIR%%/epiphany-EphyGlade.html
+%%DOCSDIR%%/epiphany-EphyPermissionManager.html
+%%DOCSDIR%%/epiphany-ephy-cookie-manager.html
+%%DOCSDIR%%/epiphany-ephy-password-manager.html
+%%DOCSDIR%%/epiphany-ephy-session.html
+%%DOCSDIR%%/epiphany-ephy-shell.html
+%%DOCSDIR%%/epiphany.devhelp
+%%DOCSDIR%%/epiphany.devhelp2
+%%DOCSDIR%%/home.png
+%%DOCSDIR%%/index.html
+%%DOCSDIR%%/index.sgml
+%%DOCSDIR%%/left.png
+%%DOCSDIR%%/right.png
+%%DOCSDIR%%/style.css
+%%DOCSDIR%%/up.png
+%%DATADIR%%/about.ini
+%%DATADIR%%/chrome/branding/brand.dtd
+%%DATADIR%%/chrome/branding/brand.properties
+%%DATADIR%%/chrome/epiphany.manifest
+%%DATADIR%%/chrome/global/about.xhtml
+%%DATADIR%%/default-prefs.js
+%%DATADIR%%/ephy-xml2ini.xsl
+%%DATADIR%%/epiphany-bookmark-editor-ui.xml
+%%DATADIR%%/epiphany-bookmarks-html.xsl
+%%DATADIR%%/epiphany-bookmarksbar.xml
+%%DATADIR%%/epiphany-fs-toolbar.xml
+%%DATADIR%%/epiphany-history-window-ui.xml
+%%DATADIR%%/epiphany-toolbar.xml
+%%DATADIR%%/epiphany-ui.xml
+%%DATADIR%%/epiphany.xhtml
+%%DATADIR%%/glade/certificate-dialogs.glade
+%%DATADIR%%/glade/epiphany.glade
+%%DATADIR%%/glade/form-signing-dialog.glade
+%%DATADIR%%/glade/prefs-dialog.glade
+%%DATADIR%%/glade/print.glade
+%%DATADIR%%/icons/hicolor/16x16/actions/bookmark-view.png
+%%DATADIR%%/icons/hicolor/16x16/actions/history-view.png
+%%DATADIR%%/icons/hicolor/16x16/actions/location-entry.png
+%%DATADIR%%/icons/hicolor/16x16/places/bookmark-web.png
+%%DATADIR%%/icons/hicolor/16x16/status/lock-broken.png
+%%DATADIR%%/icons/hicolor/16x16/status/lock-insecure.png
+%%DATADIR%%/icons/hicolor/16x16/status/lock-secure-checked.png
+%%DATADIR%%/icons/hicolor/16x16/status/lock-secure.png
+%%DATADIR%%/icons/hicolor/16x16/status/popup-hidden.png
+%%DATADIR%%/icons/hicolor/22x22/actions/bookmark-view.png
+%%DATADIR%%/icons/hicolor/22x22/actions/history-view.png
+%%DATADIR%%/icons/hicolor/22x22/actions/location-entry.png
+%%DATADIR%%/icons/hicolor/22x22/places/bookmark-web.png
+%%DATADIR%%/icons/hicolor/22x22/status/popup-hidden.png
+%%DATADIR%%/icons/hicolor/24x24/actions/bookmark-view.png
+%%DATADIR%%/icons/hicolor/24x24/actions/history-view.png
+%%DATADIR%%/icons/hicolor/24x24/actions/location-entry.png
+%%DATADIR%%/icons/hicolor/24x24/places/bookmark-web.png
+%%DATADIR%%/icons/hicolor/24x24/status/lock-broken.png
+%%DATADIR%%/icons/hicolor/24x24/status/lock-insecure.png
+%%DATADIR%%/icons/hicolor/24x24/status/lock-secure-checked.png
+%%DATADIR%%/icons/hicolor/24x24/status/lock-secure.png
+%%DATADIR%%/icons/hicolor/24x24/status/popup-hidden.png
+%%DATADIR%%/icons/hicolor/32x32/actions/bookmark-view.png
+%%DATADIR%%/icons/hicolor/32x32/actions/history-view.png
+%%DATADIR%%/icons/hicolor/32x32/actions/location-entry.png
+%%DATADIR%%/icons/hicolor/32x32/actions/location-entry.svg
+%%DATADIR%%/icons/hicolor/32x32/status/popup-hidden.png
+%%DATADIR%%/icons/hicolor/48x48/status/lock-broken.png
+%%DATADIR%%/icons/hicolor/48x48/status/lock-insecure.png
+%%DATADIR%%/icons/hicolor/48x48/status/lock-secure-checked.png
+%%DATADIR%%/icons/hicolor/48x48/status/lock-secure.png
+%%DATADIR%%/icons/hicolor/scalable/actions/bookmark-view.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/history-view.svg
+%%DATADIR%%/icons/hicolor/scalable/actions/location-entry.svg
+%%DATADIR%%/icons/hicolor/scalable/status/popup-hidden.svg
+%%DATADIR%%/mime-types-permissions.xml
+share/gnome/help/epiphany/C/epiphany.xml
+share/gnome/help/epiphany/C/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/C/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/C/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/C/figures/ephy-screenshot.png
+share/gnome/help/epiphany/C/legal.xml
+share/gnome/help/epiphany/bg/epiphany.xml
+share/gnome/help/epiphany/bg/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/bg/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/bg/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/bg/figures/ephy-screenshot.png
+share/gnome/help/epiphany/ca/epiphany.xml
+share/gnome/help/epiphany/ca/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ca/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ca/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/ca/figures/ephy-screenshot.png
+share/gnome/help/epiphany/de/epiphany.xml
+share/gnome/help/epiphany/de/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/de/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/de/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/de/figures/ephy-screenshot.png
+share/gnome/help/epiphany/el/epiphany.xml
+share/gnome/help/epiphany/el/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/el/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/el/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/el/figures/ephy-screenshot.png
+share/gnome/help/epiphany/en_GB/epiphany.xml
+share/gnome/help/epiphany/en_GB/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/en_GB/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/en_GB/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/en_GB/figures/ephy-screenshot.png
+share/gnome/help/epiphany/es/epiphany.xml
+share/gnome/help/epiphany/es/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/es/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/es/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/es/figures/ephy-screenshot.png
+share/gnome/help/epiphany/eu/epiphany.xml
+share/gnome/help/epiphany/eu/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/eu/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/eu/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/eu/figures/ephy-screenshot.png
+share/gnome/help/epiphany/fi/epiphany.xml
+share/gnome/help/epiphany/fi/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/fi/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/fi/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/fi/figures/ephy-screenshot.png
+share/gnome/help/epiphany/fr/epiphany.xml
+share/gnome/help/epiphany/fr/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/fr/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/fr/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/fr/figures/ephy-screenshot.png
+share/gnome/help/epiphany/it/epiphany.xml
+share/gnome/help/epiphany/it/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/it/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/it/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/it/figures/ephy-screenshot.png
+share/gnome/help/epiphany/ja/epiphany.xml
+share/gnome/help/epiphany/ja/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ja/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ja/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/ja/figures/ephy-screenshot.png
+share/gnome/help/epiphany/nl/epiphany.xml
+share/gnome/help/epiphany/nl/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/nl/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/nl/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/nl/figures/ephy-screenshot.png
+share/gnome/help/epiphany/oc/epiphany.xml
+share/gnome/help/epiphany/oc/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/oc/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/oc/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/oc/figures/ephy-screenshot.png
+share/gnome/help/epiphany/ru/epiphany.xml
+share/gnome/help/epiphany/ru/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ru/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/ru/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/ru/figures/ephy-screenshot.png
+share/gnome/help/epiphany/sv/epiphany.xml
+share/gnome/help/epiphany/sv/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/sv/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/sv/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/sv/figures/ephy-screenshot.png
+share/gnome/help/epiphany/uk/epiphany.xml
+share/gnome/help/epiphany/uk/figures/ephy-addressbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/uk/figures/ephy-bookmarkbar-smartbookmark-screenshot.png
+share/gnome/help/epiphany/uk/figures/ephy-history-window-screenshot.png
+share/gnome/help/epiphany/uk/figures/ephy-screenshot.png
+share/icons/HighContrastLargePrint/48x48/apps/gnome-web-browser.png
+share/icons/HighContrastLargePrintInverse/48x48/apps/gnome-web-browser.png
+share/icons/LowContrastLargePrint/48x48/apps/gnome-web-browser.png
+share/icons/hicolor/16x16/apps/gnome-web-browser.png
+share/icons/hicolor/22x22/apps/gnome-web-browser.png
+share/icons/hicolor/24x24/apps/gnome-web-browser.png
+share/icons/hicolor/32x32/apps/gnome-web-browser.png
+share/icons/hicolor/48x48/apps/epiphany-bookmarks.png
+share/icons/hicolor/scalable/apps/gnome-web-browser.svg
+share/locale/am/LC_MESSAGES/epiphany.mo
+share/locale/ar/LC_MESSAGES/epiphany.mo
+share/locale/as/LC_MESSAGES/epiphany.mo
+share/locale/az/LC_MESSAGES/epiphany.mo
+share/locale/be/LC_MESSAGES/epiphany.mo
+share/locale/be@latin/LC_MESSAGES/epiphany.mo
+share/locale/bg/LC_MESSAGES/epiphany.mo
+share/locale/bn/LC_MESSAGES/epiphany.mo
+share/locale/bn_IN/LC_MESSAGES/epiphany.mo
+share/locale/bs/LC_MESSAGES/epiphany.mo
+share/locale/ca/LC_MESSAGES/epiphany.mo
+share/locale/cs/LC_MESSAGES/epiphany.mo
+share/locale/cy/LC_MESSAGES/epiphany.mo
+share/locale/da/LC_MESSAGES/epiphany.mo
+share/locale/de/LC_MESSAGES/epiphany.mo
+share/locale/dz/LC_MESSAGES/epiphany.mo
+share/locale/el/LC_MESSAGES/epiphany.mo
+share/locale/en_CA/LC_MESSAGES/epiphany.mo
+share/locale/en_GB/LC_MESSAGES/epiphany.mo
+share/locale/es/LC_MESSAGES/epiphany.mo
+share/locale/et/LC_MESSAGES/epiphany.mo
+share/locale/eu/LC_MESSAGES/epiphany.mo
+share/locale/fa/LC_MESSAGES/epiphany.mo
+share/locale/fi/LC_MESSAGES/epiphany.mo
+share/locale/fr/LC_MESSAGES/epiphany.mo
+share/locale/ga/LC_MESSAGES/epiphany.mo
+share/locale/gl/LC_MESSAGES/epiphany.mo
+share/locale/gu/LC_MESSAGES/epiphany.mo
+share/locale/he/LC_MESSAGES/epiphany.mo
+share/locale/hi/LC_MESSAGES/epiphany.mo
+share/locale/hr/LC_MESSAGES/epiphany.mo
+share/locale/hu/LC_MESSAGES/epiphany.mo
+share/locale/id/LC_MESSAGES/epiphany.mo
+share/locale/is/LC_MESSAGES/epiphany.mo
+share/locale/it/LC_MESSAGES/epiphany.mo
+share/locale/ja/LC_MESSAGES/epiphany.mo
+share/locale/ka/LC_MESSAGES/epiphany.mo
+share/locale/kn/LC_MESSAGES/epiphany.mo
+share/locale/ko/LC_MESSAGES/epiphany.mo
+share/locale/ku/LC_MESSAGES/epiphany.mo
+share/locale/li/LC_MESSAGES/epiphany.mo
+share/locale/lt/LC_MESSAGES/epiphany.mo
+share/locale/lv/LC_MESSAGES/epiphany.mo
+share/locale/mg/LC_MESSAGES/epiphany.mo
+share/locale/mi/LC_MESSAGES/epiphany.mo
+share/locale/mk/LC_MESSAGES/epiphany.mo
+share/locale/ml/LC_MESSAGES/epiphany.mo
+share/locale/mn/LC_MESSAGES/epiphany.mo
+share/locale/mr/LC_MESSAGES/epiphany.mo
+share/locale/ms/LC_MESSAGES/epiphany.mo
+share/locale/nb/LC_MESSAGES/epiphany.mo
+share/locale/ne/LC_MESSAGES/epiphany.mo
+share/locale/nl/LC_MESSAGES/epiphany.mo
+share/locale/nn/LC_MESSAGES/epiphany.mo
+share/locale/oc/LC_MESSAGES/epiphany.mo
+share/locale/or/LC_MESSAGES/epiphany.mo
+share/locale/pa/LC_MESSAGES/epiphany.mo
+share/locale/pl/LC_MESSAGES/epiphany.mo
+share/locale/pt/LC_MESSAGES/epiphany.mo
+share/locale/pt_BR/LC_MESSAGES/epiphany.mo
+share/locale/ro/LC_MESSAGES/epiphany.mo
+share/locale/ru/LC_MESSAGES/epiphany.mo
+share/locale/rw/LC_MESSAGES/epiphany.mo
+share/locale/si/LC_MESSAGES/epiphany.mo
+share/locale/sk/LC_MESSAGES/epiphany.mo
+share/locale/sl/LC_MESSAGES/epiphany.mo
+share/locale/sq/LC_MESSAGES/epiphany.mo
+share/locale/sr/LC_MESSAGES/epiphany.mo
+share/locale/sr@Latn/LC_MESSAGES/epiphany.mo
+share/locale/sv/LC_MESSAGES/epiphany.mo
+share/locale/ta/LC_MESSAGES/epiphany.mo
+share/locale/te/LC_MESSAGES/epiphany.mo
+share/locale/th/LC_MESSAGES/epiphany.mo
+share/locale/tk/LC_MESSAGES/epiphany.mo
+share/locale/tr/LC_MESSAGES/epiphany.mo
+share/locale/uk/LC_MESSAGES/epiphany.mo
+share/locale/vi/LC_MESSAGES/epiphany.mo
+share/locale/wa/LC_MESSAGES/epiphany.mo
+share/locale/zh_CN/LC_MESSAGES/epiphany.mo
+share/locale/zh_HK/LC_MESSAGES/epiphany.mo
+share/locale/zh_TW/LC_MESSAGES/epiphany.mo
+share/omf/epiphany/epiphany-C.omf
+share/omf/epiphany/epiphany-bg.omf
+share/omf/epiphany/epiphany-ca.omf
+share/omf/epiphany/epiphany-de.omf
+share/omf/epiphany/epiphany-el.omf
+share/omf/epiphany/epiphany-en_GB.omf
+share/omf/epiphany/epiphany-es.omf
+share/omf/epiphany/epiphany-eu.omf
+share/omf/epiphany/epiphany-fi.omf
+share/omf/epiphany/epiphany-fr.omf
+share/omf/epiphany/epiphany-it.omf
+share/omf/epiphany/epiphany-ja.omf
+share/omf/epiphany/epiphany-nl.omf
+share/omf/epiphany/epiphany-oc.omf
+share/omf/epiphany/epiphany-ru.omf
+share/omf/epiphany/epiphany-sv.omf
+share/omf/epiphany/epiphany-uk.omf
+share/pygtk/2.0/defs/epiphany.defs
+@dirrm share/omf/epiphany
+@dirrmtry share/icons/LowContrastLargePrint/48x48/apps
+@dirrmtry share/icons/LowContrastLargePrint/48x48
+@dirrmtry share/icons/LowContrastLargePrint
+@dirrm share/gnome/help/epiphany/uk/figures
+@dirrm share/gnome/help/epiphany/uk
+@dirrm share/gnome/help/epiphany/sv/figures
+@dirrm share/gnome/help/epiphany/sv
+@dirrm share/gnome/help/epiphany/ru/figures
+@dirrm share/gnome/help/epiphany/ru
+@dirrm share/gnome/help/epiphany/oc/figures
+@dirrm share/gnome/help/epiphany/oc
+@dirrm share/gnome/help/epiphany/nl/figures
+@dirrm share/gnome/help/epiphany/nl
+@dirrm share/gnome/help/epiphany/ja/figures
+@dirrm share/gnome/help/epiphany/ja
+@dirrm share/gnome/help/epiphany/it/figures
+@dirrm share/gnome/help/epiphany/it
+@dirrm share/gnome/help/epiphany/fr/figures
+@dirrm share/gnome/help/epiphany/fr
+@dirrm share/gnome/help/epiphany/fi/figures
+@dirrm share/gnome/help/epiphany/fi
+@dirrm share/gnome/help/epiphany/eu/figures
+@dirrm share/gnome/help/epiphany/eu
+@dirrm share/gnome/help/epiphany/es/figures
+@dirrm share/gnome/help/epiphany/es
+@dirrm share/gnome/help/epiphany/en_GB/figures
+@dirrm share/gnome/help/epiphany/en_GB
+@dirrm share/gnome/help/epiphany/el/figures
+@dirrm share/gnome/help/epiphany/el
+@dirrm share/gnome/help/epiphany/de/figures
+@dirrm share/gnome/help/epiphany/de
+@dirrm share/gnome/help/epiphany/ca/figures
+@dirrm share/gnome/help/epiphany/ca
+@dirrm share/gnome/help/epiphany/bg/figures
+@dirrm share/gnome/help/epiphany/bg
+@dirrm share/gnome/help/epiphany/C/figures
+@dirrm share/gnome/help/epiphany/C
+@dirrm share/gnome/help/epiphany
+@dirrmtry %%DATADIR%%/icons/hicolor/scalable/status
+@dirrmtry %%DATADIR%%/icons/hicolor/scalable/actions
+@dirrmtry %%DATADIR%%/icons/hicolor/scalable
+@dirrmtry %%DATADIR%%/icons/hicolor/48x48/status
+@dirrmtry %%DATADIR%%/icons/hicolor/48x48
+@dirrmtry %%DATADIR%%/icons/hicolor/32x32/status
+@dirrmtry %%DATADIR%%/icons/hicolor/32x32/actions
+@dirrmtry %%DATADIR%%/icons/hicolor/32x32
+@dirrmtry %%DATADIR%%/icons/hicolor/24x24/status
+@dirrmtry %%DATADIR%%/icons/hicolor/24x24/places
+@dirrmtry %%DATADIR%%/icons/hicolor/24x24/actions
+@dirrmtry %%DATADIR%%/icons/hicolor/24x24
+@dirrmtry %%DATADIR%%/icons/hicolor/22x22/status
+@dirrmtry %%DATADIR%%/icons/hicolor/22x22/places
+@dirrmtry %%DATADIR%%/icons/hicolor/22x22/actions
+@dirrmtry %%DATADIR%%/icons/hicolor/22x22
+@dirrmtry %%DATADIR%%/icons/hicolor/16x16/status
+@dirrmtry %%DATADIR%%/icons/hicolor/16x16/places
+@dirrmtry %%DATADIR%%/icons/hicolor/16x16/actions
+@dirrmtry %%DATADIR%%/icons/hicolor/16x16
+@dirrmtry %%DATADIR%%/icons/hicolor
+@dirrmtry %%DATADIR%%/icons
+@dirrm %%DATADIR%%/glade
+@dirrm %%DATADIR%%/chrome/global
+@dirrm %%DATADIR%%/chrome/branding
+@dirrm %%DATADIR%%/chrome
+@dirrm %%DATADIR%%/art
+@dirrmtry %%DATADIR%%
+@dirrm %%DOCSDIR%%
+@dirrmtry share/applications
+@dirrmtry lib/epiphany/%%EPHY_VERSION%%/plugins
+@dirrmtry lib/epiphany/%%EPHY_VERSION%%
+@dirrmtry lib/epiphany
+@dirrm include/epiphany/%%EPHY_VERSION%%/epiphany
+@dirrm include/epiphany/%%EPHY_VERSION%%
+@dirrm include/epiphany
+@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
+@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
+@dirrmtry share/locale/zh_HK/LC_MESSAGES
+@dirrmtry share/locale/zh_HK
+@dirrmtry share/locale/te/LC_MESSAGES
+@dirrmtry share/locale/te
+@dirrmtry share/locale/si/LC_MESSAGES
+@dirrmtry share/locale/si
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/oc/LC_MESSAGES
+@dirrmtry share/locale/oc
+@dirrmtry share/locale/mr/LC_MESSAGES
+@dirrmtry share/locale/mr
+@dirrmtry share/locale/mi/LC_MESSAGES
+@dirrmtry share/locale/mi
+@dirrmtry share/locale/mg/LC_MESSAGES
+@dirrmtry share/locale/mg
+@dirrmtry share/locale/ku/LC_MESSAGES
+@dirrmtry share/locale/ku
+@dirrmtry share/locale/dz/LC_MESSAGES
+@dirrmtry share/locale/dz
+@dirrmtry share/locale/bn_IN/LC_MESSAGES
+@dirrmtry share/locale/bn_IN
+@dirrmtry share/locale/be@latin/LC_MESSAGES
+@dirrmtry share/locale/be@latin
+@dirrmtry share/locale/as/LC_MESSAGES
+@dirrmtry share/locale/as
diff --git a/www/midori/Makefile b/www/midori/Makefile
new file mode 100644
index 000000000..43dca275b
--- /dev/null
+++ b/www/midori/Makefile
@@ -0,0 +1,27 @@
+# New ports collection makefile for: midori
+# Date created: 2007-10-21
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD: ports/www/midori/Makefile,v 1.1 2008/03/24 03:50:49 marcus Exp $
+# $MCom: ports/www/midori/Makefile,v 1.3 2008/03/21 18:31:39 ahze Exp $
+
+PORTNAME= midori
+PORTVERSION= 0.0.17
+CATEGORIES= www
+MASTER_SITES= http://software.twotoasts.de/media/${PORTNAME}/
+
+MAINTAINER= ahze@FreeBSD.org
+COMMENT= Lightweight web browser using WebKit browser engine
+
+LIB_DEPENDS= webkit-1.0.1:${PORTSDIR}/www/webkit-gtk2 \
+ sexy.2:${PORTSDIR}/x11-toolkits/libsexy
+
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include/WebKit/webkit -I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+GNU_CONFIGURE= yes
+USE_GMAKE= yes
+
+pre-install:
+ ${CHMOD} +x ${WRKSRC}/install-sh
+
+.include <bsd.port.mk>
diff --git a/www/midori/distinfo b/www/midori/distinfo
new file mode 100644
index 000000000..7cd5c3c5e
--- /dev/null
+++ b/www/midori/distinfo
@@ -0,0 +1,3 @@
+MD5 (midori-0.0.17.tar.gz) = 58d1b7ed282540030eb1b5803b760865
+SHA256 (midori-0.0.17.tar.gz) = affeddb78d9342e961e868270872c166ac2eba7d43e5f629d91f03219d6e0df8
+SIZE (midori-0.0.17.tar.gz) = 385711
diff --git a/www/midori/pkg-descr b/www/midori/pkg-descr
new file mode 100644
index 000000000..fa4e7314b
--- /dev/null
+++ b/www/midori/pkg-descr
@@ -0,0 +1,12 @@
+Midori is a lightweight web browser.
+
+* Full integration with GTK+2.
+* Fast rendering with WebKit.
+* Tabs, windows and session management.
+* Bookmarks are stored with XBEL.
+* Searchbox based on OpenSearch.
+* Custom context menu actions.
+* User scripts and user styles support.
+* Extensible via Lua scripts.
+
+WWW: http://software.twotoasts.de/?page=midori
diff --git a/www/midori/pkg-plist b/www/midori/pkg-plist
new file mode 100644
index 000000000..6ec31b1d3
--- /dev/null
+++ b/www/midori/pkg-plist
@@ -0,0 +1,5 @@
+bin/midori
+share/applications/midori.desktop
+@dirrmtry share/applications
+@exec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
+@unexec %%LOCALBASE%%/bin/update-desktop-database > /dev/null || /usr/bin/true
diff --git a/www/webkit-gtk2/Makefile b/www/webkit-gtk2/Makefile
new file mode 100644
index 000000000..dee74556c
--- /dev/null
+++ b/www/webkit-gtk2/Makefile
@@ -0,0 +1,68 @@
+# New ports collection makefile for: webkit
+# Date created: 2007-10-21
+# Whom: Michael Johnson <ahze@FreeBSD.org>
+#
+# $FreeBSD: ports/www/webkit-gtk2/Makefile,v 1.2 2008/03/31 10:33:05 ahze Exp $
+# $MCom: ports/www/webkit-gtk2/Makefile,v 1.5 2008/03/24 01:51:52 mezz Exp $
+#
+
+PORTNAME= webkit
+PORTVERSION= 0.0.31436
+CATEGORIES= www
+MASTER_SITES= http://nightly.webkit.org/files/trunk/src/
+PKGNAMESUFFIX= -gtk2
+DISTNAME= WebKit-r${PORTVERSION:S/0.0.//}
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= An opensource browser engine
+
+LIB_DEPENDS= icutu.38:${PORTSDIR}/devel/icu \
+ curl.4:${PORTSDIR}/ftp/curl \
+ sqlite3.8:${PORTSDIR}/databases/sqlite3
+
+USE_BISON= build
+USE_BZIP2= yes
+USE_GMAKE= yes
+USE_GNOME= gnometarget gtk20 libxslt
+USE_PERL5= yes
+USE_LDCONFIG= yes
+USE_AUTOTOOLS= autoconf:261 automake:110 libtool:15
+USE_GSTREAMER= gnomevfs
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+CONFIGURE_ARGS= --with-webkit-target=x11 \
+ --enable-icon-database \
+ --enable-video
+# --enable-svg
+MAKEFILE= GNUmakefile
+
+BROWSER_PLUGINS_DIR?= ${LOCALBASE}/lib/browser_plugins
+_BROWSER_PLUGINS_DIR= ${BROWSER_PLUGINS_DIR:S|/|"|:S|/|", "|g}",
+
+.include <bsd.port.pre.mk>
+
+.if ${OSVERSION} < 600000
+IGNORE= Does not build
+.endif
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|%%_BROWSER_PLUGINS_DIR%%|${_BROWSER_PLUGINS_DIR}|' \
+ ${WRKSRC}/WebCore/plugins/gtk/PluginDatabaseGtk.cpp
+ @${REINPLACE_CMD} -e 's|autoconf|${AUTOCONF}|g ; \
+ s|automake|${AUTOMAKE}|g ; s|aclocal|${ACLOCAL}|g ; \
+ s|autoheader|${AUTOHEADER}|g ; \
+ s|LIBTOOLIZE=libtoolize|LIBTOOLIZE=${LIBTOOLIZE}|g ; \
+ s|$$srcdir/configure|#$$srcdir/configure|g' \
+ ${WRKSRC}/autogen.sh
+ @${FIND} ${WRKSRC} -name GNUmakefile.am | ${XARGS} ${REINPLACE_CMD} -e \
+ 's|[(]libdir[)]/pkgconfig|(prefix)/libdata/pkgconfig|g'
+
+pre-configure:
+ @(cd ${WRKSRC} && ${SH} autogen.sh)
+
+post-install:
+# Install compat pkg-config file so we don't have to patch ports
+ ${CP} ${PREFIX}/libdata/pkgconfig/webkit-1.0.pc \
+ ${PREFIX}/libdata/pkgconfig/WebKitGtk.pc
+
+.include <bsd.port.post.mk>
diff --git a/www/webkit-gtk2/distinfo b/www/webkit-gtk2/distinfo
new file mode 100644
index 000000000..d1840b7c9
--- /dev/null
+++ b/www/webkit-gtk2/distinfo
@@ -0,0 +1,3 @@
+MD5 (WebKit-r31436.tar.bz2) = f4696f7e3517c51c1a6e1731ecece6d2
+SHA256 (WebKit-r31436.tar.bz2) = e78082192f2aa44bc26302b3c4d1e88af7698ba48640528ff92e27b78abea2d4
+SIZE (WebKit-r31436.tar.bz2) = 9234967
diff --git a/www/webkit-gtk2/files/patch-WebCore_plugins_gtk_PluginDatabaseGtk.cpp b/www/webkit-gtk2/files/patch-WebCore_plugins_gtk_PluginDatabaseGtk.cpp
new file mode 100644
index 000000000..c57bc9ca2
--- /dev/null
+++ b/www/webkit-gtk2/files/patch-WebCore_plugins_gtk_PluginDatabaseGtk.cpp
@@ -0,0 +1,11 @@
+--- WebCore/plugins/gtk/PluginDatabaseGtk.cpp.orig 2008-04-01 11:14:13.073176655 -0400
++++ WebCore/plugins/gtk/PluginDatabaseGtk.cpp 2008-04-01 11:15:02.191591705 -0400
+@@ -80,7 +80,7 @@
+ g_strfreev(pluginPaths);
+ }
+
+- path = g_build_filename(G_DIR_SEPARATOR_S "usr", "lib", "browser", "plugins", 0);
++ path = g_build_filename(G_DIR_SEPARATOR_S %%_BROWSER_PLUGINS_DIR%% 0);
+ paths.append(path);
+ g_free(path);
+ path = g_build_filename(G_DIR_SEPARATOR_S "usr", "local", "lib", "mozilla", "plugins", 0);
diff --git a/www/webkit-gtk2/pkg-descr b/www/webkit-gtk2/pkg-descr
new file mode 100644
index 000000000..40ef1e3ef
--- /dev/null
+++ b/www/webkit-gtk2/pkg-descr
@@ -0,0 +1,5 @@
+WebKit is an open source web browser engine. It is able to display content
+such as HTML, SVG, XML, and others. It also supports DOM, XMLHttpRequest,
+XSLT, CSS, Javascript/ECMAscript and more.
+
+WWW: http://webkit.org/
diff --git a/www/webkit-gtk2/pkg-plist b/www/webkit-gtk2/pkg-plist
new file mode 100644
index 000000000..dcaabfaeb
--- /dev/null
+++ b/www/webkit-gtk2/pkg-plist
@@ -0,0 +1,26 @@
+include/webkit-1.0/JavaScriptCore/JSBase.h
+include/webkit-1.0/JavaScriptCore/JSContextRef.h
+include/webkit-1.0/JavaScriptCore/JSObjectRef.h
+include/webkit-1.0/JavaScriptCore/JSStringRef.h
+include/webkit-1.0/JavaScriptCore/JSStringRefBSTR.h
+include/webkit-1.0/JavaScriptCore/JSStringRefCF.h
+include/webkit-1.0/JavaScriptCore/JSValueRef.h
+include/webkit-1.0/JavaScriptCore/JavaScript.h
+include/webkit-1.0/JavaScriptCore/JavaScriptCore.h
+include/webkit-1.0/webkit/webkit.h
+include/webkit-1.0/webkit/webkitdefines.h
+include/webkit-1.0/webkit/webkitnetworkrequest.h
+include/webkit-1.0/webkit/webkitwebbackforwardlist.h
+include/webkit-1.0/webkit/webkitwebframe.h
+include/webkit-1.0/webkit/webkitwebhistoryitem.h
+include/webkit-1.0/webkit/webkitwebsettings.h
+include/webkit-1.0/webkit/webkitwebview.h
+lib/libwebkit-1.0.a
+lib/libwebkit-1.0.la
+lib/libwebkit-1.0.so
+lib/libwebkit-1.0.so.1
+libdata/pkgconfig/WebKitGtk.pc
+libdata/pkgconfig/webkit-1.0.pc
+@dirrm include/webkit-1.0/webkit
+@dirrm include/webkit-1.0/JavaScriptCore
+@dirrm include/webkit-1.0