aboutsummaryrefslogtreecommitdiffstats
path: root/devel
diff options
context:
space:
mode:
authorkwm <kwm@FreeBSD.org>2013-04-23 06:03:24 +0800
committerkwm <kwm@FreeBSD.org>2013-04-23 06:03:24 +0800
commit5830fec6e369b2cf776439e3dd14b7e740c3fed5 (patch)
tree59ff72ba857064247c69fe60d77f3fe3ab55ae7a /devel
parentbd6c4eb4db5e940c6bb6ec22ceb2418a91d2193a (diff)
downloadfreebsd-ports-gnome-5830fec6e369b2cf776439e3dd14b7e740c3fed5.tar.gz
freebsd-ports-gnome-5830fec6e369b2cf776439e3dd14b7e740c3fed5.tar.zst
freebsd-ports-gnome-5830fec6e369b2cf776439e3dd14b7e740c3fed5.zip
Add seed 3.2.0.
Seed is a library and interpreter, dynamically bridging (through GObjectIntrospection) the WebKit JavaScriptCore engine This version uses the webkit-gtk3 port. Obtained from: GNOME team repo.
Diffstat (limited to 'devel')
-rw-r--r--devel/Makefile1
-rw-r--r--devel/seed3/Makefile64
-rw-r--r--devel/seed3/distinfo2
-rw-r--r--devel/seed3/files/Seed.js203
-rw-r--r--devel/seed3/files/patch-modules_gettext_seed-gettext.c27
-rw-r--r--devel/seed3/pkg-descr7
-rw-r--r--devel/seed3/pkg-plist110
7 files changed, 414 insertions, 0 deletions
diff --git a/devel/Makefile b/devel/Makefile
index be747f412a71..9c97d2fb1e78 100644
--- a/devel/Makefile
+++ b/devel/Makefile
@@ -4200,6 +4200,7 @@
SUBDIR += sdts++
SUBDIR += sedsed
SUBDIR += seed
+ SUBDIR += seed3
SUBDIR += semantic
SUBDIR += serdisplib
SUBDIR += sfio
diff --git a/devel/seed3/Makefile b/devel/seed3/Makefile
new file mode 100644
index 000000000000..984a12411522
--- /dev/null
+++ b/devel/seed3/Makefile
@@ -0,0 +1,64 @@
+# Created by: Alexander Logvinov <avl@FreeBSD.org>
+# $FreeBSD$
+# $MCom: ports/trunk/devel/seed3/Makefile 17268 2013-04-01 05:13:11Z marcus $
+# 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= 3.2.0
+CATEGORIES= devel gnome
+MASTER_SITES= GNOME
+DIST_SUBDIR= gnome3
+
+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:${PORTSDIR}/devel/libffi \
+ webkitgtk-3.0:${PORTSDIR}/www/webkit-gtk3 \
+ girepository-1:${PORTSDIR}/devel/gobject-introspection \
+ dbus-glib-1:${PORTSDIR}/devel/dbus-glib \
+ mpfr:${PORTSDIR}/math/mpfr
+
+CONFLICTS= seed-2.[0-9]*
+
+LATEST_LINK= seed3
+USE_XZ= yes
+GNU_CONFIGURE= yes
+USE_GETTEXT= yes
+USES= pathfix
+USE_GNOME= gtk30 intltool libxml2
+USE_LDCONFIG= yes
+USE_AUTOTOOLS= libtool
+USE_SQLITE= yes
+USE_GMAKE= yes
+CPPFLAGS+= -I${LOCALBASE}/include
+LDFLAGS+= -L${LOCALBASE}/lib
+CONFIGURE_ARGS+=--enable-gtk-doc=no --with-webkit=3.0
+DATADIR= share/seed-gtk3
+
+MAN1= seed.1
+
+.include <bsd.port.options.mk>
+
+post-patch:
+ @${REINPLACE_CMD} -e 's|== x|= x|g' \
+ ${WRKSRC}/configure
+ @${REINPLACE_CMD} -e 's|-ldl||g' \
+ ${WRKSRC}/libseed/Makefile.in
+ @${REINPLACE_CMD} -e 's|reference||g' ${WRKSRC}/doc/Makefile.in
+.if ! ${PORT_OPTIONS:MDOCS}
+ @${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/seed3/distinfo b/devel/seed3/distinfo
new file mode 100644
index 000000000000..f3ba0a4f7672
--- /dev/null
+++ b/devel/seed3/distinfo
@@ -0,0 +1,2 @@
+SHA256 (gnome3/seed-3.2.0.tar.xz) = 3d1eca40834b72a5730ddaf8a5f46b8df20ddb2b3b39687d1a84ef966d3d37c0
+SIZE (gnome3/seed-3.2.0.tar.xz) = 682096
diff --git a/devel/seed3/files/Seed.js b/devel/seed3/files/Seed.js
new file mode 100644
index 000000000000..9edb12c87564
--- /dev/null
+++ b/devel/seed3/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/seed3/files/patch-modules_gettext_seed-gettext.c b/devel/seed3/files/patch-modules_gettext_seed-gettext.c
new file mode 100644
index 000000000000..71aa3b2242f1
--- /dev/null
+++ b/devel/seed3/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/seed3/pkg-descr b/devel/seed3/pkg-descr
new file mode 100644
index 000000000000..ffc081bb3543
--- /dev/null
+++ b/devel/seed3/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/seed3/pkg-plist b/devel/seed3/pkg-plist
new file mode 100644
index 000000000000..314e83843525
--- /dev/null
+++ b/devel/seed3/pkg-plist
@@ -0,0 +1,110 @@
+bin/seed
+include/seed-gtk3/seed-debug.h
+include/seed-gtk3/seed-module.h
+include/seed-gtk3/seed.h
+lib/libseed-gtk3.a
+lib/libseed-gtk3.la
+lib/libseed-gtk3.so
+lib/libseed-gtk3.so.0
+lib/seed-gtk3/libseed_DynamicObject.a
+lib/seed-gtk3/libseed_DynamicObject.la
+lib/seed-gtk3/libseed_DynamicObject.so
+lib/seed-gtk3/libseed_cairo.a
+lib/seed-gtk3/libseed_cairo.la
+lib/seed-gtk3/libseed_cairo.so
+lib/seed-gtk3/libseed_canvas.a
+lib/seed-gtk3/libseed_canvas.la
+lib/seed-gtk3/libseed_canvas.so
+lib/seed-gtk3/libseed_dbusnative.a
+lib/seed-gtk3/libseed_dbusnative.la
+lib/seed-gtk3/libseed_dbusnative.so
+lib/seed-gtk3/libseed_example.a
+lib/seed-gtk3/libseed_example.la
+lib/seed-gtk3/libseed_example.so
+lib/seed-gtk3/libseed_ffi.a
+lib/seed-gtk3/libseed_ffi.la
+lib/seed-gtk3/libseed_ffi.so
+lib/seed-gtk3/libseed_gettext.a
+lib/seed-gtk3/libseed_gettext.la
+lib/seed-gtk3/libseed_gettext.so
+lib/seed-gtk3/libseed_gtkbuilder.a
+lib/seed-gtk3/libseed_gtkbuilder.la
+lib/seed-gtk3/libseed_gtkbuilder.so
+lib/seed-gtk3/libseed_libxml.a
+lib/seed-gtk3/libseed_libxml.la
+lib/seed-gtk3/libseed_libxml.so
+lib/seed-gtk3/libseed_mpfr.a
+lib/seed-gtk3/libseed_mpfr.la
+lib/seed-gtk3/libseed_mpfr.so
+lib/seed-gtk3/libseed_multiprocessing.a
+lib/seed-gtk3/libseed_multiprocessing.la
+lib/seed-gtk3/libseed_multiprocessing.so
+lib/seed-gtk3/libseed_os.a
+lib/seed-gtk3/libseed_os.la
+lib/seed-gtk3/libseed_os.so
+lib/seed-gtk3/libseed_readline.a
+lib/seed-gtk3/libseed_readline.la
+lib/seed-gtk3/libseed_readline.so
+lib/seed-gtk3/libseed_sandbox.a
+lib/seed-gtk3/libseed_sandbox.la
+lib/seed-gtk3/libseed_sandbox.so
+lib/seed-gtk3/libseed_sqlite.a
+lib/seed-gtk3/libseed_sqlite.la
+lib/seed-gtk3/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-gtk3
+@dirrm lib/seed-gtk3
+@dirrm %%DATADIR%%/extensions
+@dirrm %%DATADIR%%