|
InstallerElixir
Comment installer Elixir sur sa machine.
IntroductionActuellement, le seul environnement de développement officiellement supporté est Linux ; mais un port Windows ne devrait pas poser trop de difficultés puisque les EFL et SpiderMonkey fonctionnent sous Windows. Depuis les paquets sourceCette partie du tutoriel décrit le processus d'installation depuis le dernier snapshot des EFL et d'Elixir. Vous pouvez les télécharger ici. DépendancesIl vous faudra installer les paquets de développement des bibliothèques suivantes :
Il vous faudra aussi récupérer les derniers snapshots des EFL, de SpiderMonkey et d'Elixir. CompilationEnsuite, dans l'ordre suivant :
Il va falloir construire les différentes bibliothèques comme suit :
./configure make sudo make install Maintenant que les EFL sont installées, passons à SpiderMonkey. Il se peut que SpiderMonkey soit deja installé (C'est la bibliothèque JavaScript de Firefox tout de même), auquel cas le répertoire /usr/include/mozjs/ doit être rempli de divers headers. Si ce n'est pas le cas, il faut donc compiler et installer SpiderMonkey :
make JS_THREADSAFE=1 JS_DIST=/usr -f Makefile.ref (Assurez-vous avant de bien disposer d'un répertoire /usr/include/nspr/ installé par la libnspr).
mkdir /usr/include/smjs cp *.h /usr/include/smjs cp *.tbl /usr/include/smjs cp Linux_All_DBG.OBJ/libjs.so /usr/lib/libsmjs.so cp Linux_All_DBG.OBJ/jsautocfg.h /usr/include/smjs/jsautocfg.h Cette procédure évite que vous n'écrasiez une future installation de SpiderMonkey. Maintenant que SpiderMonkey est installé, nous pouvons passer à Elixir. Le processus est plutôt simple :
./configure make sudo make install sudo ldconfig Et voilà ! Vous pouvez maintenant tester Elixir. |
Où peut-on trouver les sources d'Elixir ?
Le dépôt SVN contient 2 exemples d'utilisation :
Pour récupérer le code de ces exemples il faut utiliser un client Subversion (=client SVN).
Exemple sous Windows vec TortoiseSVN:
Le dépôt SVN contient également 3 exemples de thèmes Enlightenment.
Ces thèmes doivent compilés dans un fichier ".eet" grâce aux outils de la plateforme Enlightenment.
Ils pourront ensuite être utilisés dans une aplication freebox-elixir via la commande ax.include("<chemin_du_fichier.eet>").
Voir EdjeTutorial1, EdjeTutorial2 et EdjeTutorial3 pour plus de détails sur Edje et le contenu d'un thème Enlightenment.
Il existe des paquetages précompilés pour les Enlightenment Fundation Classes : http://packages.enlightenment.org/
Il y a notamment un installateur pour Windows, mais aussi des dépôts pour Debian, Fedora et Ubuntu.
j'ai vite créé une petite page sur mon wiki : http://www.manatlan.com/page/efl
pour noter mes tests
En fait il manque les sources d'elixir, non?
@manatlan:
D'après la doc le binding Javascript est équivalent au binding Python, donc on doit pouvoir transposer les exemples Python en Javascript (le code Python ne fonctionnera pas tel quel sur la Freebox).
Par contre les commandes de l'ecore permettant la lecture et l'écriture de fichiers ne sont pas intégrées à freebox-elixir. Heureusement cette limitation n'en est pas vraiment une pour les jeux puisque le binding intègre un module pour SQLlite.
Merci pour ta contribution ... et vivement l'arrivée sur le dépôt SVN des sources d'Elixir ! Au fait je n'ai rien vu sur la licence du projet Elixir. peut-être n'est-il pas open source ? (L'indication "GPL v2" pour le code sur la page du projet peut tout à fait ne concerner que les exemples).
@icidel:
Peux-tu me dire ou tu as trouve cette remarque concernant Python ? Car c'est errone. L'API est la meme qu'en C (http://code.google.com/p/freebox-elixir/wiki/ElixirAPI)
@moa.bluebugs Simple déduction : si le binding Python était disponible sur la Freebox, il faudrait recommencer tout le travail effectué sur le binding Javascript pour retirer certaines fonctions comme l'accès aux fichiers qui peuvent compromettre la sécurité de la Freebox HD.
De plus le python n'est pas aussi "fermé" que le Javascript car il intègre d'office des fonctions système plus poussées (console, accès aux fichiers, exécution de programmes) que le Javscript ne contient pas.
Je pars donc du principe que la Freebox sera incapable d'exécuter autre chose que du code Javascript, et donc que les exemples codés en Python devront être réécrits en Javascript... en tenant compte des APIs accessibles (http://code.google.com/p/freebox-elixir/wiki/ElixirAPI) et des limitations données sur http://code.google.com/p/freebox-elixir/wiki/EFLIntro, les APIs étant équivalentes mais pas identiques à 100%.
Exemple de limitation : "Ecore
Cette bibliothèque gère toute la partie événementielle des EFL avec notamment des timers, la gestion du réseau, l'accès aux systèmes de fichiers, mais aussi la création de fenêtres.
Le binding JavaScript? expose partiellement l'API C d'Ecore. Ainsi seuls les timers, la gestion réseau et la gestion de fenêtres sont exposés."
J’ai renconté quelques soucis lors de l’installation d’Elixir sur ma machine, je pense que ça pourra toujours aider quelqu’un :
http://zigazou.wordpress.com/2009/11/21/installer-freebox-elixir-sous-ubuntu-9-04/
Bien vu Zigazou... Excellent article. Marche aussi avec la 9.10.