summaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-07-05 19:34:49 +0800
committerkwm <kwm@df743ca5-7f9a-e211-a948-0013205c9059>2010-07-05 19:34:49 +0800
commitbde500a3f7cf00b9c196f3393e21c440b318b03f (patch)
treeb107009a045c5f5fad5d442bbd34f58d031772cb /devel
parent910ed5f4ecfca362ba908a3f74a888b6e78022ff (diff)
downloadmarcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar.gz
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar.bz2
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar.lz
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar.xz
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.tar.zst
marcuscom-ports-bde500a3f7cf00b9c196f3393e21c440b318b03f.zip
webkit-gtk2 shlib changed its name. Chase all users. also update some
depend lines to include a version because there is now a webkitgtk-1.0 and webkitgtk-3.0. So webkitgtk matches both. While here reset epiphany back to the 2.30 version. git-svn-id: svn://creme-brulee.marcuscom.com/ports/trunk@14295 df743ca5-7f9a-e211-a948-0013205c9059
Diffstat (limited to 'devel')
-rw-r--r--devel/devhelp/Makefile59
-rw-r--r--devel/devhelp/distinfo3
-rw-r--r--devel/devhelp/files/patch-src_dh-base.c14
-rw-r--r--devel/devhelp/pkg-descr8
-rw-r--r--devel/devhelp/pkg-plist145
-rw-r--r--devel/seed/Makefile69
-rw-r--r--devel/seed/distinfo3
-rw-r--r--devel/seed/files/Seed.js203
-rw-r--r--devel/seed/files/patch-libseed_seed-importer.c49
-rw-r--r--devel/seed/files/patch-modules_gettext_seed-gettext.c27
-rw-r--r--devel/seed/files/patch-modules_os_seed-os.c95
-rw-r--r--devel/seed/pkg-descr7
-rw-r--r--devel/seed/pkg-plist107
13 files changed, 789 insertions, 0 deletions
diff --git a/devel/devhelp/Makefile b/devel/devhelp/Makefile
new file mode 100644
index 000000000..0c163380f
--- /dev/null
+++ b/devel/devhelp/Makefile
@@ -0,0 +1,59 @@
+# New ports collection makefile for: devhelp
+# Date created: 29 May 2003
+# Whom: Adam Weinberger <adamw@FreeBSD.org>
+#
+# $FreeBSD$
+# $MCom: ports-stable/devel/devhelp/Makefile,v 1.1 2010/06/23 12:12:25 kwm Exp $
+
+PORTNAME= devhelp
+PORTVERSION= 2.30.1
+PORTREVISION= 1
+PORTEPOCH= 1
+CATEGORIES= devel gnome
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= Developer help browser for GNOME 2
+
+LIB_DEPENDS= webkitgtk-1.0.13:${PORTSDIR}/www/webkit-gtk2 \
+ unique-1.0.2:${PORTSDIR}/x11-toolkits/unique
+
+USE_BZIP2= yes
+USE_XORG= x11
+USE_GETTEXT= yes
+USE_GMAKE= yes
+USE_GNOME= gnomehack intlhack gnomeprefix libgnomeui libwnck
+USE_AUTOTOOLS= libtool:22
+GNU_CONFIGURE= yes
+INSTALLS_ICONS= yes
+USE_LDCONFIG= yes
+GCONF_SCHEMAS= devhelp.schemas
+CONFIGURE_ENV= CPPFLAGS="${PTHREAD_CFLAGS} -I${LOCALBASE}/include" \
+ LDFLAGS="${PTHREAD_LIBS} -L${LOCALBASE}/lib"
+
+OPTIONS= GEDIT "Enable GEdit plug-in support" off
+
+.include <bsd.port.pre.mk>
+
+.if defined(WITH_GEDIT)
+BUILD_DEPENDS+= gedit:${PORTSDIR}/editors/gedit
+RUN_DEPENDS+= gedit:${PORTSDIR}/editors/gedit
+PLIST_SUB+= GEDIT=""
+.else
+PLIST_SUB+= GEDIT="@comment "
+.endif
+
+post-patch:
+.if defined(WITHOUT_GEDIT)
+ @${REINPLACE_CMD} -e 's|gedit-plugin||' \
+ ${WRKSRC}/misc/Makefile.in
+ @${REINPLACE_CMD} -e 's|-DGTK_DISABLE_SINGLE_INCLUDES||g' \
+ ${WRKSRC}/src/Makefile.in
+.endif
+
+post-install:
+ @${MKDIR} ${PREFIX}/etc/gconf/schemas
+ @${CP} ${WRKSRC}/data/devhelp.schemas ${PREFIX}/etc/gconf/schemas
+
+.include <bsd.port.post.mk>
diff --git a/devel/devhelp/distinfo b/devel/devhelp/distinfo
new file mode 100644
index 000000000..00752246c
--- /dev/null
+++ b/devel/devhelp/distinfo
@@ -0,0 +1,3 @@
+MD5 (gnome2/devhelp-2.30.1.tar.bz2) = 447413a54d3bec2480e9a290e261703d
+SHA256 (gnome2/devhelp-2.30.1.tar.bz2) = a72d75fae489bc957f15ef203a6bf8fc9cf80f2730444912dc568476018d5335
+SIZE (gnome2/devhelp-2.30.1.tar.bz2) = 489222
diff --git a/devel/devhelp/files/patch-src_dh-base.c b/devel/devhelp/files/patch-src_dh-base.c
new file mode 100644
index 000000000..3dbf1c71c
--- /dev/null
+++ b/devel/devhelp/files/patch-src_dh-base.c
@@ -0,0 +1,14 @@
+--- src/dh-base.c.orig 2008-10-11 00:00:18.000000000 +0200
++++ src/dh-base.c 2009-01-09 23:10:12.000000000 +0100
+@@ -214,6 +214,11 @@ base_add_books_in_data_dir (DhBase
+ dir = g_build_filename (data_dir, "devhelp", "books", NULL);
+ base_add_books (base, dir);
+ g_free (dir);
++
++ dir = g_build_filename (data_dir, "doc", NULL);
++ base_add_books (base, dir);
++ g_free (dir);
++
+ }
+
+ static void
diff --git a/devel/devhelp/pkg-descr b/devel/devhelp/pkg-descr
new file mode 100644
index 000000000..2d617b391
--- /dev/null
+++ b/devel/devhelp/pkg-descr
@@ -0,0 +1,8 @@
+devhelp is a developer's help browser for GNOME 2. It is a GUI
+frontend to books about GNOME development, providing cross-referenced,
+easily searchable information. Many books are available, and can
+be found through the project's website.
+
+WWW: http://www.imendio.com/projects/devhelp/
+
+-Adam Weinberger <adamw@FreeBSD.org>
diff --git a/devel/devhelp/pkg-plist b/devel/devhelp/pkg-plist
new file mode 100644
index 000000000..963290b7a
--- /dev/null
+++ b/devel/devhelp/pkg-plist
@@ -0,0 +1,145 @@
+bin/devhelp
+include/devhelp-1.0/devhelp/dh-assistant-view.h
+include/devhelp-1.0/devhelp/dh-assistant.h
+include/devhelp-1.0/devhelp/dh-base.h
+include/devhelp-1.0/devhelp/dh-book-tree.h
+include/devhelp-1.0/devhelp/dh-error.h
+include/devhelp-1.0/devhelp/dh-keyword-model.h
+include/devhelp-1.0/devhelp/dh-link.h
+include/devhelp-1.0/devhelp/dh-search.h
+include/devhelp-1.0/devhelp/dh-window.h
+%%GEDIT%%lib/gedit-2/plugins/devhelp.gedit-plugin
+%%GEDIT%%lib/gedit-2/plugins/devhelp/__init__.py
+%%GEDIT%%lib/gedit-2/plugins/devhelp/__init__.pyc
+%%GEDIT%%lib/gedit-2/plugins/devhelp/__init__.pyo
+%%GEDIT%%lib/gedit-2/plugins/devhelp/devhelp.py
+%%GEDIT%%lib/gedit-2/plugins/devhelp/devhelp.pyc
+%%GEDIT%%lib/gedit-2/plugins/devhelp/devhelp.pyo
+lib/libdevhelp-1.a
+lib/libdevhelp-1.la
+lib/libdevhelp-1.so
+lib/libdevhelp-1.so.1
+libdata/pkgconfig/libdevhelp-1.0.pc
+share/applications/devhelp.desktop
+share/devhelp/assistant/assistant.css
+share/devhelp/assistant/assistant.js
+share/devhelp/devhelp.defaults
+share/devhelp/dtd/devhelp-1.dtd
+share/devhelp/ui/devhelp.builder
+share/devhelp/ui/window.ui
+share/icons/hicolor/16x16/apps/devhelp.png
+share/icons/hicolor/22x22/apps/devhelp.png
+share/icons/hicolor/24x24/apps/devhelp.png
+share/icons/hicolor/32x32/apps/devhelp.png
+share/icons/hicolor/48x48/apps/devhelp.png
+share/icons/hicolor/scalable/apps/devhelp.svg
+share/locale/am/LC_MESSAGES/devhelp.mo
+share/locale/ar/LC_MESSAGES/devhelp.mo
+share/locale/ast/LC_MESSAGES/devhelp.mo
+share/locale/az/LC_MESSAGES/devhelp.mo
+share/locale/be/LC_MESSAGES/devhelp.mo
+share/locale/be@latin/LC_MESSAGES/devhelp.mo
+share/locale/bg/LC_MESSAGES/devhelp.mo
+share/locale/bn/LC_MESSAGES/devhelp.mo
+share/locale/bn_IN/LC_MESSAGES/devhelp.mo
+share/locale/ca/LC_MESSAGES/devhelp.mo
+share/locale/ca@valencia/LC_MESSAGES/devhelp.mo
+share/locale/cs/LC_MESSAGES/devhelp.mo
+share/locale/da/LC_MESSAGES/devhelp.mo
+share/locale/de/LC_MESSAGES/devhelp.mo
+share/locale/dz/LC_MESSAGES/devhelp.mo
+share/locale/el/LC_MESSAGES/devhelp.mo
+share/locale/en_CA/LC_MESSAGES/devhelp.mo
+share/locale/en_GB/LC_MESSAGES/devhelp.mo
+share/locale/en@shaw/LC_MESSAGES/devhelp.mo
+share/locale/eo/LC_MESSAGES/devhelp.mo
+share/locale/es/LC_MESSAGES/devhelp.mo
+share/locale/et/LC_MESSAGES/devhelp.mo
+share/locale/fi/LC_MESSAGES/devhelp.mo
+share/locale/fr/LC_MESSAGES/devhelp.mo
+share/locale/gl/LC_MESSAGES/devhelp.mo
+share/locale/gu/LC_MESSAGES/devhelp.mo
+share/locale/he/LC_MESSAGES/devhelp.mo
+share/locale/hi/LC_MESSAGES/devhelp.mo
+share/locale/hr/LC_MESSAGES/devhelp.mo
+share/locale/hu/LC_MESSAGES/devhelp.mo
+share/locale/hy/LC_MESSAGES/devhelp.mo
+share/locale/id/LC_MESSAGES/devhelp.mo
+share/locale/is/LC_MESSAGES/devhelp.mo
+share/locale/it/LC_MESSAGES/devhelp.mo
+share/locale/ja/LC_MESSAGES/devhelp.mo
+share/locale/kn/LC_MESSAGES/devhelp.mo
+share/locale/ko/LC_MESSAGES/devhelp.mo
+share/locale/lt/LC_MESSAGES/devhelp.mo
+share/locale/lv/LC_MESSAGES/devhelp.mo
+share/locale/mai/LC_MESSAGES/devhelp.mo
+share/locale/mk/LC_MESSAGES/devhelp.mo
+share/locale/ml/LC_MESSAGES/devhelp.mo
+share/locale/ms/LC_MESSAGES/devhelp.mo
+share/locale/nb/LC_MESSAGES/devhelp.mo
+share/locale/ne/LC_MESSAGES/devhelp.mo
+share/locale/nl/LC_MESSAGES/devhelp.mo
+share/locale/nn/LC_MESSAGES/devhelp.mo
+share/locale/oc/LC_MESSAGES/devhelp.mo
+share/locale/or/LC_MESSAGES/devhelp.mo
+share/locale/pa/LC_MESSAGES/devhelp.mo
+share/locale/pl/LC_MESSAGES/devhelp.mo
+share/locale/ps/LC_MESSAGES/devhelp.mo
+share/locale/pt/LC_MESSAGES/devhelp.mo
+share/locale/pt_BR/LC_MESSAGES/devhelp.mo
+share/locale/ro/LC_MESSAGES/devhelp.mo
+share/locale/ru/LC_MESSAGES/devhelp.mo
+share/locale/rw/LC_MESSAGES/devhelp.mo
+share/locale/sk/LC_MESSAGES/devhelp.mo
+share/locale/sl/LC_MESSAGES/devhelp.mo
+share/locale/sq/LC_MESSAGES/devhelp.mo
+share/locale/sr/LC_MESSAGES/devhelp.mo
+share/locale/sr@latin/LC_MESSAGES/devhelp.mo
+share/locale/sv/LC_MESSAGES/devhelp.mo
+share/locale/ta/LC_MESSAGES/devhelp.mo
+share/locale/te/LC_MESSAGES/devhelp.mo
+share/locale/th/LC_MESSAGES/devhelp.mo
+share/locale/tr/LC_MESSAGES/devhelp.mo
+share/locale/ug/LC_MESSAGES/devhelp.mo
+share/locale/uk/LC_MESSAGES/devhelp.mo
+share/locale/vi/LC_MESSAGES/devhelp.mo
+share/locale/zh_CN/LC_MESSAGES/devhelp.mo
+share/locale/zh_HK/LC_MESSAGES/devhelp.mo
+share/locale/zh_TW/LC_MESSAGES/devhelp.mo
+@dirrm share/devhelp/ui
+@dirrm share/devhelp/dtd
+@dirrm share/devhelp/assistant
+@dirrm share/devhelp
+@dirrm include/devhelp-1.0/devhelp
+@dirrm include/devhelp-1.0
+@dirrmtry share/applications
+@dirrmtry share/locale/zh_HK/LC_MESSAGES
+@dirrmtry share/locale/zh_HK
+@dirrmtry share/locale/ug/LC_MESSAGES
+@dirrmtry share/locale/ug
+@dirrmtry share/locale/te/LC_MESSAGES
+@dirrmtry share/locale/te
+@dirrmtry share/locale/sr@latin/LC_MESSAGES
+@dirrmtry share/locale/sr@latin
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/ps/LC_MESSAGES
+@dirrmtry share/locale/ps
+@dirrmtry share/locale/oc/LC_MESSAGES
+@dirrmtry share/locale/oc
+@dirrmtry share/locale/mai/LC_MESSAGES
+@dirrmtry share/locale/mai
+@dirrmtry share/locale/eo/LC_MESSAGES
+@dirrmtry share/locale/eo
+@dirrmtry share/locale/en@shaw/LC_MESSAGES
+@dirrmtry share/locale/en@shaw
+@dirrmtry share/locale/dz/LC_MESSAGES
+@dirrmtry share/locale/dz
+@dirrmtry share/locale/ca@valencia/LC_MESSAGES
+@dirrmtry share/locale/ca@valencia
+@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/ast/LC_MESSAGES
+@dirrmtry share/locale/ast
diff --git a/devel/seed/Makefile b/devel/seed/Makefile
new file mode 100644
index 000000000..4bf7632d1
--- /dev/null
+++ b/devel/seed/Makefile
@@ -0,0 +1,69 @@
+# New ports collection makefile for: seed
+# Date created: 19 July 2009
+# Whom: Alexander Logvinov <avl@FreeBSD.org>
+#
+# $FreeBSD: ports/devel/seed/Makefile,v 1.9 2010/06/11 15:09:42 ale Exp $
+# $MCom: ports/devel/seed/Makefile,v 1.19 2010/05/08 17:04:45 marcus Exp $
+#
+# NOTE: It may be necessary to update ${FILESDIR}/Seed.js on each release.
+# To do that, just replace imports.searchPaths with "." and ".." elements.
+#
+
+PORTNAME= seed
+PORTVERSION= 2.30.0
+PORTREVISION= 3
+CATEGORIES= devel gnome
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome2
+
+MAINTAINER= gnome@FreeBSD.org
+COMMENT= GObject JavaScriptCore bridge
+
+BUILD_DEPENDS= ${LOCALBASE}/libdata/pkgconfig/gnome-js-common.pc:${PORTSDIR}/devel/gnome-js-common
+LIB_DEPENDS= ffi.5:${PORTSDIR}/devel/libffi \
+ webkitgtk-1.0.13:${PORTSDIR}/www/webkit-gtk2 \
+ girepository-1.0.0:${PORTSDIR}/devel/gobject-introspection \
+ dbus-glib-1.2:${PORTSDIR}/devel/dbus-glib \
+ sqlite3.8:${PORTSDIR}/databases/sqlite3 \
+ mpfr.4:${PORTSDIR}/math/mpfr
+
+USE_BZIP2= yes
+GNU_CONFIGURE= yes
+USE_GETTEXT= yes
+USE_GNOME= gnomehack gtk20 intltool libxml2
+USE_LDCONFIG= yes
+USE_AUTOTOOLS= libtool:22
+USE_GMAKE= yes
+CONFIGURE_ENV= CPPFLAGS="-I${LOCALBASE}/include" \
+ LDFLAGS="-L${LOCALBASE}/lib"
+CONFIGURE_ARGS+=--enable-gtk-doc=no
+
+MAN1= seed.1
+
+.include <bsd.port.pre.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|== x|= x|g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|reference||g' ${WRKSRC}/doc/Makefile.in
+# @${FIND} ${WRKSRC}/examples -name Makefile.in -type f | ${XARGS} ${REINPLACE_CMD} -e \
+# 's|$$(datadir)/doc/seed/examples|${EXAMPLESDIR}|g'
+#.if defined(NOPORTEXAMPLES)
+# @${REINPLACE_CMD} -e 's|examples||g' \
+# ${WRKSRC}/Makefile.in
+#.endif
+.if defined(NOPORTDOCS)
+ @${REINPLACE_CMD} -e 's| install-seeddocDATA||g ; s|doc$$||g' \
+ ${WRKSRC}/Makefile.in
+.endif
+
+pre-build:
+ cd ${WRKSRC}/extensions && ${SETENV} ${MAKE_ENV} ${GMAKE} \
+ ${MAKE_FLAGS} Makefile ${MAKE_ARGS} all
+ ${CP} ${WRKSRC}/extensions/Seed.js ${WRKSRC}/extensions/Seed.js.sav
+ ${CP} ${FILESDIR}/Seed.js ${WRKSRC}/extensions/Seed.js
+
+post-build:
+ ${CP} ${WRKSRC}/extensions/Seed.js.sav ${WRKSRC}/extensions/Seed.js
+
+.include <bsd.port.post.mk>
diff --git a/devel/seed/distinfo b/devel/seed/distinfo
new file mode 100644
index 000000000..6bee1233b
--- /dev/null
+++ b/devel/seed/distinfo
@@ -0,0 +1,3 @@
+MD5 (gnome2/seed-2.30.0.tar.bz2) = dd09d22c6a06b4bbef7320bb6a715c0f
+SHA256 (gnome2/seed-2.30.0.tar.bz2) = 3b5e7babd1e14793829c9d521319cbf2af9a66bea604c5dc80a9885558f00361
+SIZE (gnome2/seed-2.30.0.tar.bz2) = 770032
diff --git a/devel/seed/files/Seed.js b/devel/seed/files/Seed.js
new file mode 100644
index 000000000..9edb12c87
--- /dev/null
+++ b/devel/seed/files/Seed.js
@@ -0,0 +1,203 @@
+GLib = imports.gi.GLib;
+
+Seed.sprintf = function ()
+{
+ if (typeof arguments == "undefined") { return null; }
+ if (arguments.length < 1) { return null; }
+ if (typeof arguments[0] != "string") { return null; }
+ if (typeof RegExp == "undefined") { return null; }
+
+ var string = arguments[0];
+ var exp = new RegExp(/(%([%]|(\-)?(\+|\x20)?(0)?(\d+)?(\.(\d)?)?([bcdfosxX])))/g);
+ var matches = new Array();
+ var strings = new Array();
+ var convCount = 0;
+ var stringPosStart = 0;
+ var stringPosEnd = 0;
+ var matchPosEnd = 0;
+ var newString = '';
+ var match = null;
+
+ while (match = exp.exec(string)) {
+ if (match[9]) { convCount += 1; }
+
+ stringPosStart = matchPosEnd;
+ stringPosEnd = exp.lastIndex - match[0].length;
+ strings[strings.length] = string.substring(stringPosStart, stringPosEnd);
+
+ matchPosEnd = exp.lastIndex;
+ matches[matches.length] = {
+ match: match[0],
+ left: match[3] ? true : false,
+ sign: match[4] || '',
+ pad: match[5] || ' ',
+ min: match[6] || 0,
+ precision: match[8],
+ code: match[9] || '%',
+ negative: parseInt(arguments[convCount]) < 0 ? true : false,
+ argument: String(arguments[convCount])
+ };
+ }
+ strings[strings.length] = string.substring(matchPosEnd);
+
+ if (matches.length == 0) { return string; }
+ if ((arguments.length - 1) < convCount) { return null; }
+
+ var code = null;
+ var match = null;
+ var i = null;
+
+ for (i=0; i<matches.length; i++) {
+
+ if (matches[i].code == '%') { substitution = '%' }
+ else if (matches[i].code == 'b') {
+ matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(2));
+ substitution = Seed.sprintf.convert(matches[i], true);
+ }
+ else if (matches[i].code == 'c') {
+ matches[i].argument = String(String.fromCharCode(parseInt(Math.abs(parseInt(matches[i].argument)))));
+ substitution = Seed.sprintf.convert(matches[i], true);
+ }
+ else if (matches[i].code == 'd') {
+ matches[i].argument = String(Math.abs(parseInt(matches[i].argument)));
+ substitution = Seed.sprintf.convert(matches[i]);
+ }
+ else if (matches[i].code == 'f') {
+ matches[i].argument = String(Math.abs(parseFloat(matches[i].argument)).toFixed(matches[i].precision ? matches[i].precision : 6));
+ substitution = Seed.sprintf.convert(matches[i]);
+ }
+ else if (matches[i].code == 'o') {
+ matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(8));
+ substitution = Seed.sprintf.convert(matches[i]);
+ }
+ else if (matches[i].code == 's') {
+ matches[i].argument = matches[i].argument.substring(0, matches[i].precision ? matches[i].precision : matches[i].argument.length)
+ substitution = Seed.sprintf.convert(matches[i], true);
+ }
+ else if (matches[i].code == 'x') {
+ matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
+ substitution = Seed.sprintf.convert(matches[i]);
+ }
+ else if (matches[i].code == 'X') {
+ matches[i].argument = String(Math.abs(parseInt(matches[i].argument)).toString(16));
+ substitution = Seed.sprintf.convert(matches[i]).toUpperCase();
+ }
+ else {
+ substitution = matches[i].match;
+ }
+
+ newString += strings[i];
+ newString += substitution;
+
+ }
+ newString += strings[i];
+
+ return newString;
+
+};
+
+Seed.sprintf.convert = function(match, nosign)
+{
+ if (nosign) {
+ match.sign = '';
+ } else {
+ match.sign = match.negative ? '-' : match.sign;
+ }
+ var l = match.min - match.argument.length + 1 - match.sign.length;
+ var pad = new Array(l < 0 ? 0 : l).join(match.pad);
+ if (!match.left) {
+ if (match.pad == "0" || nosign) {
+ return match.sign + pad + match.argument;
+ } else {
+ return pad + match.sign + match.argument;
+ }
+ } else {
+ if (match.pad == "0" || nosign) {
+ return match.sign + match.argument + pad.replace(/0/g, ' ');
+ } else {
+ return match.sign + match.argument + pad;
+ }
+ }
+};
+
+
+Seed.repl = function()
+{
+ try
+ {
+ if(readline)
+ {
+ // readline is loaded
+ }
+ }
+ catch (e)
+ {
+ try
+ {
+ readline = imports.readline;
+ }
+ catch (e)
+ {
+ print(e.name + " " + e.message);
+ return true;
+ }
+ }
+
+ try
+ {
+ item = readline.readline("> ");
+ if (item == "continue")
+ return false;
+ print(eval(item));
+ }
+ catch (e)
+ {
+ print(e.name + " " + e.message);
+ }
+ return true;
+}
+
+
+Seed.glib_repl = function()
+{
+ GLib.idle_add(Seed.repl, null);
+}
+
+Seed.thread_repl = function()
+{
+ GLib.thread_create_full(function() { while(Seed.repl()){} },
+ null, 0, true);
+}
+
+Seed.printf = function () { print(Seed.sprintf.apply(this, arguments)) };
+
+if(!imports.searchPath || (imports.searchPath.length == 0))
+{
+ imports.searchPath = [ ".",
+ ".." ];
+
+ if(Seed.argv.length > 1)
+ {
+ __script_path__ = GLib.path_get_dirname(Seed.argv[1]);
+
+ try
+ {
+ if(!GLib.path_is_absolute(__script_path__))
+ {
+ __script_path__ = GLib.build_filenamev([GLib.get_current_dir(),
+ __script_path__]);
+ }
+
+ __script_path__ = imports.os.realpath(__script_path__);
+
+ if(__script_path__ && __script_path__ != "")
+ imports.searchPath.push(__script_path__);
+ }
+ catch(e)
+ {
+ print(imports.JSON.stringify(e));
+ }
+ }
+
+ imports.searchPath.push(".");
+}
diff --git a/devel/seed/files/patch-libseed_seed-importer.c b/devel/seed/files/patch-libseed_seed-importer.c
new file mode 100644
index 000000000..ffce27254
--- /dev/null
+++ b/devel/seed/files/patch-libseed_seed-importer.c
@@ -0,0 +1,49 @@
+--- libseed/seed-importer.c.orig 2009-12-31 11:42:51.000000000 +0100
++++ libseed/seed-importer.c 2010-01-02 02:12:09.000000000 +0100
+@@ -19,6 +19,8 @@
+
+ #include <gio/gio.h>
+ #include <string.h>
++#include <stdlib.h>
++#include <unistd.h>
+
+ #include "seed-private.h"
+
+@@ -636,8 +638,9 @@ seed_importer_handle_file (JSContextRef
+ JSValueRef js_file_dirname;
+ JSObjectRef global, c_global;
+ JSStringRef file_contents, file_name;
+- gchar *contents, *walk, *file_path, *canonical, *absolute_path;
++ gchar *contents, *walk, *file_path, *canonical, *absolute_path, *normalp;
+ gchar *normalized_path;
++ gsize path_max;
+
+ file_path = g_build_filename (dir, file, NULL);
+ canonical = seed_importer_canonicalize_path (file_path);
+@@ -691,15 +694,24 @@ seed_importer_handle_file (JSContextRef
+ g_path_get_dirname (file_path), NULL);
+ }
+
+- normalized_path = realpath (absolute_path, NULL);
++#ifdef PATH_MAX
++ path_max = PATH_MAX;
++#else
++ path_max = pathconf (absolute_path, _PC_PATH_MAX);
++ if (path_max <= 0)
++ path_max = 4096;
++#endif
++ normalized_path = (gchar *) g_malloc (path_max);
++ normalp = realpath (absolute_path, normalized_path);
+
+- js_file_dirname = seed_value_from_string (ctx, normalized_path, NULL);
++ js_file_dirname = seed_value_from_string (ctx, normalp, NULL);
+
+ seed_object_set_property (nctx, global, "__script_path__", js_file_dirname);
+
+ g_hash_table_insert (file_imports, canonical, global);
+ g_free (file_path);
+ g_free (absolute_path);
++ g_free (normalized_path);
+
+ JSEvaluateScript (nctx, file_contents, NULL, file_name, 0, exception);
+
diff --git a/devel/seed/files/patch-modules_gettext_seed-gettext.c b/devel/seed/files/patch-modules_gettext_seed-gettext.c
new file mode 100644
index 000000000..71aa3b224
--- /dev/null
+++ b/devel/seed/files/patch-modules_gettext_seed-gettext.c
@@ -0,0 +1,27 @@
+--- modules/gettext/seed-gettext.c.orig 2009-12-31 05:42:51.000000000 -0500
++++ modules/gettext/seed-gettext.c 2010-01-07 19:07:10.000000000 -0500
+@@ -312,12 +313,24 @@ seed_module_init(SeedEngine *local_eng)
+ DEFINE_ENUM_MEMBER(ns_ref, LC_MONETARY);
+ DEFINE_ENUM_MEMBER(ns_ref, LC_MESSAGES);
+ DEFINE_ENUM_MEMBER(ns_ref, LC_ALL);
++#ifdef LC_PAPER
+ DEFINE_ENUM_MEMBER(ns_ref, LC_PAPER);
++#endif
++#ifdef LC_NAME
+ DEFINE_ENUM_MEMBER(ns_ref, LC_NAME);
++#endif
++#ifdef LC_ADDRESS
+ DEFINE_ENUM_MEMBER(ns_ref, LC_ADDRESS);
++#endif
++#ifdef LC_TELEPHONE
+ DEFINE_ENUM_MEMBER(ns_ref, LC_TELEPHONE);
++#endif
++#ifdef LC_MEASUREMENT
+ DEFINE_ENUM_MEMBER(ns_ref, LC_MEASUREMENT);
++#endif
++#ifdef LC_IDENTIFICATION
+ DEFINE_ENUM_MEMBER(ns_ref, LC_IDENTIFICATION);
++#endif
+ DEFINE_ENUM_MEMBER(ns_ref, LC_CTYPE);
+
+ return ns_ref;
diff --git a/devel/seed/files/patch-modules_os_seed-os.c b/devel/seed/files/patch-modules_os_seed-os.c
new file mode 100644
index 000000000..6d96d1478
--- /dev/null
+++ b/devel/seed/files/patch-modules_os_seed-os.c
@@ -0,0 +1,95 @@
+--- modules/os/seed-os.c.orig 2009-12-31 05:44:49.000000000 -0500
++++ modules/os/seed-os.c 2010-01-07 19:01:05.000000000 -0500
+@@ -29,8 +29,15 @@
+
+ #include <sys/stat.h>
+ #include <sys/utsname.h>
++#if defined(__FreeBSD__)
++#include <sys/param.h>
++#endif
+
+ #include <sys/types.h>
++#include <sys/ioctl.h>
++#include <termios.h>
++#include <libutil.h>
++#include <unistd.h>
+
+ #include <fcntl.h>
+
+@@ -54,18 +61,32 @@ seed_os_realpath (SeedContext ctx,
+ const SeedValue arguments[],
+ SeedException * exception)
+ {
++ SeedValue sv;
+ gchar *arg;
++ gchar *resolved_path;
+ gchar *ret;
++ gsize path_max;
+
+ if (argument_count != 1)
+ {
+ EXPECTED_EXCEPTION("os.realpath", "1 argument");
+ }
+ arg = seed_value_to_string (ctx, arguments[0], exception);
+- ret = realpath(arg, NULL);
++#ifdef PATH_MAX
++ path_max = PATH_MAX;
++#else
++ path_max = pathconf (arg, _PC_PATH_MAX);
++ if (path_max <= 0)
++ path_max = 4096;
++#endif
++ resolved_path = (gchar *) g_malloc (path_max);
++ ret = realpath(arg, resolved_path);
+ g_free (arg);
+
+- return seed_value_from_string (ctx, ret, exception);
++ sv = seed_value_from_string (ctx, ret, exception);
++ g_free (resolved_path);
++
++ return sv;
+ }
+
+ SeedValue
+@@ -559,7 +580,12 @@ seed_os_unsetenv (SeedContext ctx,
+ }
+
+ arg = seed_value_to_string (ctx, arguments[0], exception);
++#if __FreeBSD_version < 700000
++ ret = 0;
++ unsetenv (arg);
++#else
+ ret = unsetenv (arg);
++#endif
+ g_free (arg);
+
+ return seed_value_from_int (ctx, ret, exception);
+@@ -702,6 +728,7 @@ seed_os_fdatasync (SeedContext ctx,
+ const SeedValue arguments[],
+ SeedException * exception)
+ {
++#if !defined(__FreeBSD__)
+ gint fd;
+
+ if (argument_count != 1)
+@@ -711,6 +738,10 @@ seed_os_fdatasync (SeedContext ctx,
+ fd = seed_value_to_int (ctx, arguments[0], exception);
+
+ return seed_value_from_int (ctx, fdatasync (fd), exception);
++#else
++ errno = ENOSYS;
++ return seed_value_from_int (ctx, -1, exception);
++#endif
+ }
+
+ SeedValue
+@@ -1112,7 +1144,9 @@ seed_module_init(SeedEngine * eng)
+ #if defined (O_DIRECT)
+ OS_DEFINE_QUICK_ENUM (O_DIRECT);
+ #endif
++#if defined (O_DIRECTORY)
+ OS_DEFINE_QUICK_ENUM (O_DIRECTORY);
++#endif
+ OS_DEFINE_QUICK_ENUM (O_NOFOLLOW);
+ #if defined (O_NOATIME)
+ OS_DEFINE_QUICK_ENUM (O_NOATIME);
diff --git a/devel/seed/pkg-descr b/devel/seed/pkg-descr
new file mode 100644
index 000000000..ffc081bb3
--- /dev/null
+++ b/devel/seed/pkg-descr
@@ -0,0 +1,7 @@
+Seed is a library and interpreter, dynamically bridging (through
+GObjectIntrospection) the WebKit JavaScriptCore engine, with the GNOME
+platform. Seed serves as something which enables you to write standalone
+applications in JavaScript, or easily enable your application to be extensible
+in JavaScript.
+
+WWW: http://live.gnome.org/Seed
diff --git a/devel/seed/pkg-plist b/devel/seed/pkg-plist
new file mode 100644
index 000000000..b91412a68
--- /dev/null
+++ b/devel/seed/pkg-plist
@@ -0,0 +1,107 @@
+bin/seed
+include/seed/seed-debug.h
+include/seed/seed-module.h
+include/seed/seed.h
+lib/libseed.a
+lib/libseed.la
+lib/libseed.so
+lib/libseed.so.0
+lib/seed/libseed_cairo.a
+lib/seed/libseed_cairo.la
+lib/seed/libseed_cairo.so
+lib/seed/libseed_canvas.a
+lib/seed/libseed_canvas.la
+lib/seed/libseed_canvas.so
+lib/seed/libseed_dbusnative.a
+lib/seed/libseed_dbusnative.la
+lib/seed/libseed_dbusnative.so
+lib/seed/libseed_example.a
+lib/seed/libseed_example.la
+lib/seed/libseed_example.so
+lib/seed/libseed_ffi.a
+lib/seed/libseed_ffi.la
+lib/seed/libseed_ffi.so
+lib/seed/libseed_gettext.a
+lib/seed/libseed_gettext.la
+lib/seed/libseed_gettext.so
+lib/seed/libseed_gtkbuilder.a
+lib/seed/libseed_gtkbuilder.la
+lib/seed/libseed_gtkbuilder.so
+lib/seed/libseed_libxml.a
+lib/seed/libseed_libxml.la
+lib/seed/libseed_libxml.so
+lib/seed/libseed_mpfr.a
+lib/seed/libseed_mpfr.la
+lib/seed/libseed_mpfr.so
+lib/seed/libseed_multiprocessing.a
+lib/seed/libseed_multiprocessing.la
+lib/seed/libseed_multiprocessing.so
+lib/seed/libseed_os.a
+lib/seed/libseed_os.la
+lib/seed/libseed_os.so
+lib/seed/libseed_readline.a
+lib/seed/libseed_readline.la
+lib/seed/libseed_readline.so
+lib/seed/libseed_sandbox.a
+lib/seed/libseed_sandbox.la
+lib/seed/libseed_sandbox.so
+lib/seed/libseed_sqlite.a
+lib/seed/libseed_sqlite.la
+lib/seed/libseed_sqlite.so
+libdata/pkgconfig/seed.pc
+%%DATADIR%%/dbus.js
+%%DATADIR%%/extensions/Clutter.js
+%%DATADIR%%/extensions/GObject.js
+%%DATADIR%%/extensions/Gio.js
+%%DATADIR%%/extensions/Gst.js
+%%DATADIR%%/extensions/Gtk.js
+%%DATADIR%%/extensions/Seed.js
+%%DATADIR%%/extensions/xml.js
+%%DATADIR%%/lang.js
+%%DATADIR%%/repl.js
+%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
+%%PORTDOCS%%%%DOCSDIR%%/COPYING
+%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
+%%PORTDOCS%%%%DOCSDIR%%/INSTALL
+%%PORTDOCS%%%%DOCSDIR%%/README
+%%PORTDOCS%%%%DOCSDIR%%/conventions.html
+%%PORTDOCS%%%%DOCSDIR%%/index.html
+%%PORTDOCS%%%%DOCSDIR%%/mapping/enum-mapping.png
+%%PORTDOCS%%%%DOCSDIR%%/mapping/mapping.html
+%%PORTDOCS%%%%DOCSDIR%%/modules/canvas.html
+%%PORTDOCS%%%%DOCSDIR%%/modules/gtkbuilder/html/gtkbuilder-funcs.xml
+%%PORTDOCS%%%%DOCSDIR%%/modules/multiprocessing.html
+%%PORTDOCS%%%%DOCSDIR%%/modules/readline/html/readline-funcs.xml
+%%PORTDOCS%%%%DOCSDIR%%/modules/sandbox/html/sandbox-funcs.xml
+%%PORTDOCS%%%%DOCSDIR%%/modules/sqlite/html/sqlite-funcs.xml
+%%PORTDOCS%%%%DOCSDIR%%/runtime.html
+%%PORTDOCS%%%%DOCSDIR%%/sh.css
+%%PORTDOCS%%%%DOCSDIR%%/sh.js
+%%PORTDOCS%%%%DOCSDIR%%/sh_js.js
+%%PORTDOCS%%%%DOCSDIR%%/style.css
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/1.js
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/1.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/2.js
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/2.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/3.js
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/3.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/4.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/packing.png
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/packing.svg
+%%PORTDOCS%%%%DOCSDIR%%/tutorial/tutorial.html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/mapping
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/gtkbuilder/html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/gtkbuilder
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/readline/html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/readline
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/sandbox/html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/sandbox
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/sqlite/html
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules/sqlite
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/modules
+%%PORTDOCS%%@dirrm %%DOCSDIR%%/tutorial
+%%PORTDOCS%%@dirrm %%DOCSDIR%%
+@dirrm include/seed
+@dirrm lib/seed
+@dirrm %%DATADIR%%/extensions
+@dirrm %%DATADIR%%