diff options
author | kwm <kwm@FreeBSD.org> | 2013-04-23 06:03:24 +0800 |
---|---|---|
committer | kwm <kwm@FreeBSD.org> | 2013-04-23 06:03:24 +0800 |
commit | 5830fec6e369b2cf776439e3dd14b7e740c3fed5 (patch) | |
tree | 59ff72ba857064247c69fe60d77f3fe3ab55ae7a /devel | |
parent | bd6c4eb4db5e940c6bb6ec22ceb2418a91d2193a (diff) | |
download | freebsd-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/Makefile | 1 | ||||
-rw-r--r-- | devel/seed3/Makefile | 64 | ||||
-rw-r--r-- | devel/seed3/distinfo | 2 | ||||
-rw-r--r-- | devel/seed3/files/Seed.js | 203 | ||||
-rw-r--r-- | devel/seed3/files/patch-modules_gettext_seed-gettext.c | 27 | ||||
-rw-r--r-- | devel/seed3/pkg-descr | 7 | ||||
-rw-r--r-- | devel/seed3/pkg-plist | 110 |
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%% |