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.
This commit is contained in:
Koop Mast 2013-04-22 22:03:24 +00:00
parent 6caaa26769
commit 84c2e81c33
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=316279
7 changed files with 414 additions and 0 deletions

View file

@ -4200,6 +4200,7 @@
SUBDIR += sdts++
SUBDIR += sedsed
SUBDIR += seed
SUBDIR += seed3
SUBDIR += semantic
SUBDIR += serdisplib
SUBDIR += sfio

64
devel/seed3/Makefile Normal file
View file

@ -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>

2
devel/seed3/distinfo Normal file
View file

@ -0,0 +1,2 @@
SHA256 (gnome3/seed-3.2.0.tar.xz) = 3d1eca40834b72a5730ddaf8a5f46b8df20ddb2b3b39687d1a84ef966d3d37c0
SIZE (gnome3/seed-3.2.0.tar.xz) = 682096

203
devel/seed3/files/Seed.js Normal file
View file

@ -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(".");
}

View file

@ -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;

7
devel/seed3/pkg-descr Normal file
View file

@ -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

110
devel/seed3/pkg-plist Normal file
View file

@ -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%%