2006/01/05

Como compilar / instalar Enlightenment 17 CVS en Mandriva 2006

Enlightenment DR17

La libreracion del Administrador de Ventanas (Window Manager) DR17 (Development Release) representa una evolución en la siguiente generación de ambientes de escritorio: El Desktop shell. DR17 proporcionará la integración entre los archivos y su ambiente de una manera inconsútil mientras que abarca una arquitectura gráficamente rica y flexible. No competirá con GNOME o KDE, sino sea totalmente una nueva manera de visualizar el escritorio, basada alrededor de las EFL sobre las que fue construido desde el inicio de esta tarea.

Aún en pesado desarrollo, varias aplicaciones que serán parte de DR17 y ejemplos de lo que es posible con Enlightenment, ya están disponible en CVS, Entice, Entrance, Evidence, Erss, y Eplayer. El Desktop Shell mismo es solo un basico Framework y no esta listo para CVS, pero emergerá durante el curso de este año. Como la fundación de DR17, el EFL es actualmente la primera y primera prioridad para el desarrollo.

EFL

En el desarrollo de Enlightenment DR17 fue claro que se necesitaba un nuevo grupo de librerias y herramientas de desarrollo, Rasterman tuvo la vision de lo que era posible y hacia donde se queria que la siguiente version se dirigiera, comenzando con Imlib2 y EVAS eventualmente se creceria en nuevas librerias altamente basadas en o creadas al rededor de EVAS. Se volvio claro que la utilidad de estas librerias y herramientas iba mas alla del DR17 asi como sucedio con Imlib en DR16.

Fue por esto que el colectivo de Librerias de DR17 recibio el nombre independiente de Enlightenment Foundation Libraries o EFL. Las EFL contienen soluciones para casi cualquier tarea en una interfaz grafica mucho mas lejos que solo renderizado de imagenes. EVAS provee una altamente optimizada libreria canvas. ECORE provee una simple y modular interfaz de abstraccion y una avanzada administracion de eventos incluyendo temporizadores. ETOX provee una compleja y completa libreria de disposición de texto con capacidad de usar temas en  la estilizacion del texto (previamente Estyle). EDB proporciona un formato compacto de base de datos para una administracion facil e intuitiva, incluyendo almacenar de binarios. EET proporciona un contenedor integrado y flexible que termina con la tradicion de proporcionar temas en tarballs. Edje proporciona un sistema revolucionario de libreria y de herramienta para una total abstraccion del uso de su código, incluyendo un complejo y flexible metodo de diseñar interfaces. EWL proporciona una libreria widget completa construida en el resto de componentes del EFL.

http://enlightenment.org/
http://enlightenment.freedesktop.org/
http://get-e.org/

Videos de Muestra

http://www.rasterman.com/files/e17_movie-00.avi
http://www.rasterman.com/files/e17_movie-01.avi
http://www.rasterman.com/files/e17_movie-02.avi
http://www.rasterman.com/files/e17_movie-03.avi
http://www.rasterman.com/files/eem-live.avi
http://www.rasterman.com/files/eem.avi
http://www.rasterman.com/files/evoak.avi


Dependencias


gettext
ftp://Mandriva/official/2006.0/i586/media/main/gettext-0.14.5-2mdk.i586.rpm

gettext-devel
ftp://Mandriva/official/2006.0/i586/media/main/gettext-devel-0.14.5-2mdk.i586.rpm

autoconf
ftp://Mandriva/official/2006.0/i586/media/main/autoconf2.5-2.59-6mdk.noarch.rpm
automake

ftp://Mandriva/official/2006.0/i586/media/main/automake1.8-1.9.4-3mdk.noarch.rpm

libmesagl1
ftp://Mandriva/official/2006.0/i586/media/main/libMesaGL1-5.0.2-11mdk.i586.rpm

libMesaGLU1
ftp://Mandriva/official/2006.0/i586/media/main/libMesaGLU1-5.0.2-11mdk.i586.rpm

libmesaglu1-devel
ftp://Mandriva/official/2006.0/i586/media/main/libMesaGLU1-devel-5.0.2-11mdk.i586.rpm

taglib
ftp://Mandriva/official/2006.0/i586/media/main/taglib-1.4-1mdk.i586.rpm

libtaglib0
ftp://Mandriva/official/2006.0/i586/media/main/libtaglib0-1.4-1mdk.i586.rpm

libtaglib0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libtaglib0-devel-1.4-1mdk.i586.rpm

xine-ui
ftp://Mandriva/official/2006.0/i586/media/main/xine-ui-0.99.4-1mdk.i586.rpm

libxine1
ftp://Mandriva/official/2006.0/i586/media/main/libxine1-1.1.0-8mdk.i586.rpm

libxine1-devel
ftp://Mandriva/official/2006.0/i586/media/main/libxine1-devel-1.1.0-8mdk.i586.rpm

libsqlite3_0
ftp://Mandriva/official/2006.0/i586/media/main/libsqlite3_0-3.2.2-2mdk.i586.rpm

libsqlite3_0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libsqlite3_0-devel-3.2.2-2mdk.i586.rpm

libxorg-x11-devel
ftp://Mandriva/official/2006.0/i586/media/main/libxorg-x11-devel-6.9-1.cvs20050915.2mdk.i586.rpm

libcurl3
ftp://Mandriva/official/2006.0/i586/media/main/libcurl3-7.14.0-2mdk.i586.rpm

libcurl3-devel
ftp://Mandriva/official/2006.0/i586/media/main/libcurl3-devel-7.14.0-2mdk.i586.rpm

flex
ftp://Mandriva/official/2006.0/i586/media/main/flex-2.5.4a-22mdk.i586.rpm

bison
ftp://Mandriva/official/2006.0/i586/media/main/bison-2.0-3mdk.i586.rpm

libgtk+2.0_0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libgtk+2.0_0-devel-2.8.3-4mdk.i586.rpm

libtool
ftp://Mandriva/official/2006.0/i586/media/main/libtool-1.5.18-1mdk.i586.rpm

libdirectfb0.9_22
ftp://Mandriva/official/2006.0/i586/media/main/libdirectfb0.9_22-0.9.22-5mdk.i586.rpm

libdirectfb0.9_22-devel
ftp://Mandriva/official/2006.0/i586/media/main/libdirectfb0.9_22-devel-0.9.22-5mdk.i586.rpm

libltdl3
ftp://Mandriva/official/2006.0/i586/media/main/libltdl3-1.5.18-1mdk.i586.rpm

libltdl3-devel
ftp://Mandriva/official/2006.0/i586/media/main/libltdl3-devel-1.5.18-1mdk.i586.rpm

libfreetype6-static-devel
ftp://Mandriva/official/2006.0/i586/media/main/libfreetype6-static-devel-2.1.10-8mdk.i586.rpm

pkgconfig
ftp://Mandriva/official/2006.0/i586/media/main/pkgconfig-0.19-2mdk.i586.rpm

texinfo
ftp://Mandriva/official/2006.0/i586/media/main/texinfo-4.8-1mdk.i586.rpm

m4
ftp://Mandriva/official/2006.0/i586/media/main/m4-1.4.3-1mdk.i586.rpm

libopenssl
ftp://Mandriva/official/2006.0/i586/media/main/libopenssl0.9.7-devel-0.9.7g-2mdk.i586.rpm

libatk1.0_0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libatk1.0_0-devel-1.10.1-1mdk.i586.rpm

libcairo2-devel
ftp://Mandriva/official/2006.0/i586/media/main/libcairo2-devel-1.0.0-8mdk.i586.rpm

libgdk_pixbuf2.0_0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libgdk_pixbuf2.0_0-devel-2.8.3-4mdk.i586.rpm

libpango1.0_0-devel
ftp://Mandriva/2006.0/i586/media/main/libpango1.0_0-devel-1.10.0-3mdk.i586.rpm

--------------------imlib2--------------------


libjpeg62-6b-37
ftp://Mandriva/official/2006.0/i586/media/main/libjpeg62-6b-37mdk.i586.rpm

libjpeg62-devel-6b-37
ftp://Mandriva/official/2006.0/i586/media/main/libjpeg62-devel-6b-37mdk.i586.rpm

libjpeg62-static-devel
ftp://Mandriva/official/2006.0/i586/media/main/libjpeg62-static-devel-6b-37mdk.i586.rpm

libpng3
ftp://Mandriva/official/2006.0/i586/media/main/libpng3-1.2.8-1mdk.i586.rpm

libpng3-devel
ftp://Mandriva/official/2006.0/i586/media/main/libpng3-devel-1.2.8-1mdk.i586.rpm

libtiff3
ftp://Mandriva/official/2006.0/i586/media/main/libtiff3-3.6.1-12mdk.i586.rpm

libtiff3-devel
ftp://Mandriva/2006.0/i586/media/main/libtiff3-devel-3.6.1-12mdk.i586.rpm

libungif4
ftp://Mandriva/official/2006.0/i586/media/main/libungif4-4.1.3-1mdk.i586.rpm

blibungif4-devel
ftp://Mandriva/official/2006.0/i586/media/main/libungif4-devel-4.1.3-1mdk.i586.rpm

zlib1
ftp://Mandriva/official/2006.0/i586/media/main/zlib1-1.2.3-1mdk.i586.rpm

zlib1-devel
ftp://Mandriva/official/2006.0/i586/media/main/zlib1-devel-1.2.3-1mdk.i586.rpm

libbzip2_1
ftp://Mandriva/official/2006.0/i586/media/main/libbzip2_1-1.0.3-1mdk.i586.rpm

libbzip2_1-devel
ftp://Mandriva/official/2006.0/i586/media/main/libbzip2_1-devel-1.0.3-1mdk.i586.rpm

libid3_3.8_3
ftp://Mandriva/official/2006.0/i586/media/main/libid3_3.8_3-3.8.3-8mdk.i586.rpm

libid3_3.8_3-devel
ftp://Mandriva/official/2006.0/i586/media/main/libid3_3.8_3-devel-3.8.3-8mdk.i586.rpm

libid3tag0
ftp://Mandriva/official/2006.0/i586/media/main/libid3tag0-0.15.1b-4mdk.i586.rpm

libid3tag0-devel
ftp://Mandriva/official/2006.0/i586/media/main/libid3tag0-devel-0.15.1b-4mdk.i586.rpm

Los enlaces demuestran que los paquetes estan en los repositorios de Mandriva el uso de rpms de otra distro puede dañar o desordenar el sistema, lo mejor para instalar estas librerias es configurando su base de datos urpmi con http://easyurpmi.zarb.org/es ya que con ello seran capaces de bajar las dependencias, decuerdo al estado de su sistema. para mayor informacion de urpmi revisar estos enlaces:


Experiencias con APT y URPMI
http://blogdrake.net/node/1875

¿Urpmi no funciona o es así de malo?
http://blogdrake.net/node/261

Mini-howto Usar las ISO's, nunca un CD
http://blogdrake.net/node/297

Todo lo que siempre quisiste saber sobre urpmi pero nunca te atreviste a preguntarlo
http://www.llermania.com/listas/urpmi_lista_rapida.html

Manual: Como crear tus propios cds de RPMS
http://blogdrake.net/node/2221


Construccion de Enlightenment


Para iniciar la construccion del sistema se deb bajar el codigo fuente del cvs de Enlightenment si se desea revisar se puede hacer desde un navegador atraves de esta direccion:

http://cvs.sourceforge.net/viewcvs.py/ enlightenment

Para descargar el codigo se ejecuta este comando:

cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co e17


El cual creara un directorio e17 en el directorio donde se ejecuto el comando, esto descarga la parte principal del projecto pero tambien hay otros programas que no son necesarios pero son de utilidad, para descargarlos se ejcuta este comando:

$ cvs -z3 -d:pserver:anonymous@cvs.sourceforge.net:/cvsroot/enlightenment co misc


Esto creara un directorio misc en el directorio donde se ejecuto el comando. Para comprender mejor la forma en que dependen las librerias y programas unos entre otros aqui esta un esquema que explica sus relaciones:




Autor: Morten Nilsen


Notas antes de compilar


1. Se puede o no usar imlib2 de cvs pero al usar la que viene con mandriva podrian haber problemas en la compilacion, el manual compila imlib2, si no lo quiere cambiar solo debe saltarse esa parte.

2. Hay algunos autogen.sh que no pasan correctamente los parametros al configure y en lugar de colocar las cosas en /usr/lib o /usr/bin las colocan en /usr/local/lib o en /usrl/local/bin. Lo que ocasiona que durante la instalacion no se encuentren los archivos, hay varias formas de enfrentar eso:

- moviendo el contenido de /usr/local/lib a lib y luego borrarlo para crear un enlace en su lugar lo mismo con /usr/lib/bin, para crear los enlaces:


ln -s /usr/bin /usr/local/

ln -s /usr/lib /usr/local/


esto no es la mejor solucion pero si no se es muy delicado con el orden del sistema no habra problema.

- colocar los nuevos paths:

agregar /usr/local/lib en /etc/ld.so.conf con /usr/local/bin no hay problema ya que esta presente en la variable $PATH, para revisar se debe ejecutar:

echo $PATH


3. Desintalar imlib2 que viene con mandriva de esta forma:

rpm -e -v --nodeps libimlib2_1
rpm -e -v --nodeps libimlib2_1-filters
rpm -e -v --nodeps libimlib2_1-loaders


estos son los archivos que se desinstalaran:

libimlib2_1-filters-1.2.1-1mdk.i586
libimlib2_1-loaders-1.2.1-1mdk.i586
libimlib2_1-1.2.1-1mdk.i586

no importa que no esten ya que compilaremos el imlib2 de cvs y se colocaran los archivos en el lugar de los anteriores (cuando se hace esto se adquiere una mejor calidad en las imagenes y las aplicaciones que usan imlib son mas rapidas)

Orden de compilacion


Librerias

1. e17/libs/imlib2
2. e17/libs/edb
3. e17/libs/eet
4. e17/libs/imlib2_loaders
5. e17/libs/evas
6. e17/libs/ecore
7. e17/libs/epeg
8. e17/libs/embryo
9. e17/libs/edje
10. e17/libs/epsilon
11. e17/libs/esmart
12. e17/libs/etox
13. e17/libs/ewl
14. e17/libs/engrave
15. e17/libs/emotion

Aplicaciones

e17/apps/entice
Visualizador de Imagenes

e17/apps/entrance
Administrador de Sesiones

e17/apps/eclair
Reproductor de Musica

e17/apps/e
Administrador de Ventanas

misc/engage
Modulo E17 de Barra

misc/erss
Lector de RSS

e17/apps/e_utils
Aplicaciones para Administrar "amigablemente" E17

e17/apps/e_modules
Modulos E17

e17/apps/elicit
Recolector de colores y Amplificador

misc/embrace
Modulo E17 para Revisar el Correo

descripcion de los comandos de compilacion:

./autogen --libdir=/usr/lib --bindir=/usr/bin


Genera los archivos de configuracion necesarios para compila los archivos, libdir y bindir son opciones para que los archivos vayan al lugar correcto en Mandriva.

make


Compila los archivos de acuerdo a las especificacion de los archivos de configuracion.

make install


Copia los archivos compilados a sus lugares respectivos en el sistema (instalacion).

en Mandriva los paquetes deben compilarse con estas opciones en el configure / autogen:

./autogen.sh --bindir=/usr/bin --libdir=/usr/lib/


Agregar Enlightement al administrador de sesiones


1. Crear un archivo starte17 en /usr/bin/ y hacerlo ejecutable:


[root@MDV2006 Sessions]# echo "exec enlightenment" > /usr/bin/starte17

[root@MDV2006 Sessions]# chmod 755 /usr/bin/starte17


2.En /etc/X11/dm/Sessions se encuentran los archivos de configuracion para los administradores de session (KDM, GDM, MDKKDM)


[dalfa@MDV2006 Sessions]$ pwd
/etc/X11/dm/Sessions

[dalfa@MDV2006 Sessions]$ ls
01KDE.desktop 02GNOME.desktop


Se debe crear el archivo 15E17.destop con la siguiente informacion:


[Desktop Entry]
Encoding=UTF-8
Name=E17
Comment=E17
TryExec=/usr/bin/starte17
Exec=/etc/X11/xdm/Xsession E17
Icon=
Type=Application


luego en:

/etc/X11/wmsession.d/

Crear el archivo 15E17.desktop con la siguiente info:


NAME=E17
ICON=
DESC=Enlightenment DR17
EXEC=/usr/bin/starte17
SCRIPT:
exec /usr/bin/starte17

1 comentario:

Dalfa dijo...

gstreamer-avi-0.8.11-4.1.20060mdk.i586
gstreamer-colorspace-0.8.11-4.1.20060mdk.i586
gstreamer-ffmpeg-0.8.6-1.1.20060mdk.i586
gstreamer-x11-0.8.11-4.1.20060mdk.i586
libgstreamer-plugins0.8-devel-0.8.11-4.1.20060mdk.i586
libgstreamer0.8-devel-0.8.11-2mdk.i586