My favorites | Sign in
Project Home Downloads Wiki Issues Source
Search
for
InstallerElixir  
Comment installer Elixir sur sa machine.
Updated Nov 22, 2009 by moa.blue...@gmail.com

Introduction

Actuellement, 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 source

Cette 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épendances

Il vous faudra installer les paquets de développement des bibliothèques suivantes :

  • libjpeg
  • libpng
  • libfreetype
  • fontconfig
  • gnutls
  • libx11
  • libcurl
  • lua
  • libnspr

Il vous faudra aussi récupérer les derniers snapshots des EFL, de SpiderMonkey et d'Elixir.

Compilation

Ensuite, dans l'ordre suivant :

  • Eina
  • Eet
  • Evas
  • Ecore
  • Embryo
  • Edje

Il va falloir construire les différentes bibliothèques comme suit :

  1. Décompressez les différents paquets source.
  2. Allez dans le répertoire racine du paquet décompressé.
  3. Exécutez
  4.  ./configure
  5. Vérifiez qu'il a bien trouvé les dépendances
  6. Exécutez
  7. make
  8. Installez le tout avec
  9. 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 :

  1. Décompressez la dernière version de SpiderMonkey (la version utilisé pour ce tutorial est la 1.8.0-RC1).
  2. Allez dans le sous repertoire js/src.
  3. Exécutez
  4. 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).

  1. Exécutez ensuite la liste de commande suivante en étant root :
  2. 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 :

  1. Décompressez le paquet contenant les sources d'Elixir.
  2. Exécuter :
  3. ./configure
    make
    sudo make install
    sudo ldconfig

Et voilà ! Vous pouvez maintenant tester Elixir.

Comment by ici...@gmail.com, Oct 29, 2009

Où peut-on trouver les sources d'Elixir ?

Comment by ici...@gmail.com, Oct 29, 2009

Le dépôt SVN contient 2 exemples d'utilisation :

  • ecore_con_url: application démontrant l'utilisation d'une connexion réseau (téléchargement depuis une URL).
  • ecore_avas: animation de déplacement d'un rectangle (voir EcoreEvasTutorial ).

Pour récupérer le code de ces exemples il faut utiliser un client Subversion (=client SVN).

Exemple sous Windows vec TortoiseSVN:

  1. installer TortoiseSVN depuis http://tortoisesvn.tigris.org
  2. créer un dossier puis faire un clic droit sur ce dossier
  3. choisir "SVN Checkout"
  4. entrer l'adresse suivante : http://freebox-elixir.googlecode.com/svn/trunk/


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.

Comment by ici...@gmail.com, Oct 29, 2009

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.

Comment by manat...@gmail.com, Oct 31, 2009

j'ai vite créé une petite page sur mon wiki : http://www.manatlan.com/page/efl

pour noter mes tests

Comment by manat...@gmail.com, Oct 31, 2009

En fait il manque les sources d'elixir, non?

Comment by ici...@gmail.com, Nov 1, 2009

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

Comment by project member moa.blue...@gmail.com, Nov 6, 2009

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

Comment by ici...@gmail.com, Nov 8, 2009

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

Comment by ziga...@free.fr, Nov 21, 2009

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/

Comment by stephane...@gmail.com, Nov 22, 2009

Bien vu Zigazou... Excellent article. Marche aussi avec la 9.10.


Sign in to add a comment
Powered by Google Project Hosting