Free a lancé le projet elixir poru développer des jeux pour freebox. Ce toolkit se base sur enlightenment mon window manager par défaut quand je retourne sur la banquise.
Pour éviter d'installer Elixir n'importe où sur ma babasse en suivant le tutorial de noob plein de ./configure && make && make install, j'ai préféré utiliser la méthode gentoo en utilisant l'overlay officiel d'enlightenment. De l'aide supplémentaire est disponible sur le wiki gentoo.
Quelques notes :
- Installation de portage-2.2 (mise à jour nécessaire de package.keywords et package.unmask)
- Pour chaque package du set, ajout d'une ligne =category/package-9999 ** dans package.keywords pour éviter l'erreur missing keyword.
package.use : dev-lang/spidermonkey threadsafe
Last version of SpiderMonkey in current portage tree is 1.7.0-r1. This version does not support JSVERSION_1_8. We need to create our own ebuild for version 1.8.0.
Create a local overlay to host this ebuild :
mkdir -p /usr/local/portage/profiles/
echo "local_overlay" > /usr/local/portage/profiles/repo_name
Add at the end of /etc/make.conf :
PORTDIR_OVERLAY="${PORTDIR_OVERLAY} /usr/local/portage/"
Create spidermonkey ebuild :
mkdir -p /usr/local/portage/dev-lang/spidermonkey
cp /usr/portage/dev-lang/spidermonkey/spidermonkey-1.7.0-r1.ebuild /usr/local/portage/dev-lang/spidermonkey/spidermonkey-1.8.0.ebuild
cp -R /usr/portage/dev-lang/spidermonkey/files /usr/local/portage/dev-lang/spidermonkey/files
Edit ebuild :
SRC_URI="ftp://ftp.mozilla.org/pub/mozilla.org/js/${MY_P}-rc1.tar.gz"spidermonkey-1.8.0-build.patch :
...
#epatch "${FILESDIR}/${PN}-1.5-build.patch"
epatch "${FILESDIR}/${P}-build.patch"
#epatch "${FILESDIR}/${PN}-1.6-header.patch"
epatch "${FILESDIR}/${P}-threadsafe.diff"
diff -rupN js.ref/js/src/Makefile.ref js.new/js/src/Makefile.refebuild spidermonkey-1.8.0.ebuild digest
--- js.ref/js/src/Makefile.ref 2009-02-25 14:24:29.000000000 +0100
+++ js.new/js/src/Makefile.ref 2010-05-09 00:02:50.000000000 +0200
@@ -363,3 +363,16 @@ TARFILES = files `cat files`
SUFFIXES: .i
%.i: %.c
$(CC) -C -E $(CFLAGS) $< > $*.i
+
+DESTDIR :=
+PREFIX := /usr
+BINDIR := $(PREFIX)/bin
+MY_LIBDIR := $(PREFIX)/$(LIBDIR)
+INCLUDEDIR := $(PREFIX)/include/js
+INSTALL := install -g 0 -o root
+install:
+ $(INSTALL) -m 755 -d $(DESTDIR)$(INCLUDEDIR) $(DESTDIR)$(MY_LIBDIR) $(DESTDIR)$(BINDIR)
+ $(INSTALL) -m 755 $(SHARED_LIBRARY) $(DESTDIR)$(MY_LIBDIR)
+ $(INSTALL) -m 644 $(LIBRARY) $(DESTDIR)$(MY_LIBDIR)
+ $(INSTALL) -m 755 $(OBJDIR)/js $(OBJDIR)/jscpucfg $(DESTDIR)$(BINDIR)
+ $(INSTALL) -m 644 $(HFILES) $(DESTDIR)$(INCLUDEDIR)
package.keywords : ~dev-lang/spidermonkey-1.8.0 **
emerge -va spidermonkey
Elixir setup :
Appliquer le patch basé sur les indications du blog de zigazou :
diff -rupN elixir-0.1.24.ref/src/modules/bindings/ecore/ecore_module.c elixir-0.1.24.new/src/modules/bindings/ecore/ecore_module.cSetup elixir :
--- elixir-0.1.24.ref/src/modules/bindings/ecore/ecore_module.c 2010-05-09 00:36:48.000000000 +0200
+++ elixir-0.1.24.new/src/modules/bindings/ecore/ecore_module.c 2010-05-09 00:37:37.000000000 +0200
@@ -905,7 +905,7 @@ elixir_ecore_thread_run(JSContext *cx, u
elixir_function_stop(cx);
- result = ecore_thread_run(_elixir_func_heavy, _elixir_func_end, new);
+ result = ecore_thread_run(_elixir_func_heavy, _elixir_func_end, new, NULL);
elixir_function_start(cx);
./configure
make
# sudo make install
# ldconfig
Il est toujours possible de supprimer elixir en faisant :
# make uninstall
# rm -rf /usr/local/lib/elixir
Tester :
elixir Simple.js
Liens / Références :
- http://elixir.freebox.fr/?section=documentation
- http://code.google.com/p/freebox-elixir/
- http://zigazou.wordpress.com/2009/11/21/installer-freebox-elixir-sous-ubuntu-9-04/
- L'overlay installe media-libs/edje-9999 qui contient edje_player (qui remplace edje_viewer)
No comments:
Post a Comment