{"id":68,"date":"2009-11-30T04:25:47","date_gmt":"2009-11-30T02:25:47","guid":{"rendered":"http:\/\/www.blackhats.es\/wordpress\/?p=68"},"modified":"2022-08-20T18:26:12","modified_gmt":"2022-08-20T16:26:12","slug":"instalando-emacs-del-cvs-git","status":"publish","type":"post","link":"https:\/\/www.blackhats.es\/wordpress\/?p=68","title":{"rendered":"Instalando Emacs del CVS \/ GIT"},"content":{"rendered":"<p>Para descargar la ultima version de Emacs en desarrollo, podemos usar o bien <strong>CVS<\/strong> o bien <strong>GIT<\/strong>. Tengamos en cuenta antes de nada que a veces el build puede no funcionar, debido a que la version descargada es la ultima, aunque deberia haber sido probada y compilada en repositorios locales antes de hacer el commit en el servidor. En cualquier caso para descargar el source usando <strong>GIT<\/strong> haremos (requiere tener instalado git, por ejemplo en debian seria <strong>apt-get install git<\/strong>):<\/p>\n<p>$ <strong>git clone git:\/\/git.sv.gnu.org\/emacs.git<\/strong><\/p>\n<p>O bien usando <strong>CVS<\/strong> mediante (requiere tener instalado cvs, por ej. en debian seria <strong>apt-get install cvs<\/strong>):<\/p>\n<p>$<strong> cvs -z3 -d:pserver:anonymous@cvs.savannah.gnu.org:\/cvsroot\/emacs co emacs<\/strong><\/p>\n<p>Una vez descargado los fuentes, entramos en el directorio creado donde se encuentren:<\/p>\n<p>$<strong> cd emacs<\/strong><\/p>\n<p>Ya tenemos nuestro emacs ultima version en codigo fuente, ahora debemos hacer un<strong> .\/configure<\/strong> con los parametros deseados para preparar el <strong>Makefile <\/strong>que contendra las opciones con las cuales se vaya a compilar, este proceso tambien se asegurara de que las bibliotecas fundamentales requeridas por emacs, asi como algunas necesarias requeridas por features de los parametros anadidas a emacs, esten instaladas antes de comenzar con el proceso de compilacion.<\/p>\n<p>En algunos sistemas por defecto no se tienen algunas bibliotecas instaladas por defecto necesarias para ciertos parametros por defecto incluido en el <strong>.\/configure<\/strong>):<\/p>\n<ul>\n<li>Features fundamentales:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">xpm<\/span> (soporte para formato XPM) requiere <span style=\"color: #0000ff;\">libxpm<\/span> mediante <strong>apt-get install libxpm-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">jpeg<\/span> (soporte para formato JPG) requiere <span style=\"color: #0000ff;\">libjpeg<\/span> mediante <strong>apt-get install libjpeg7-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">png<\/span> (soporte para formato PNG) requiere <span style=\"color: #0000ff;\">libpng<\/span> mediante <strong>apt-get install libpng12-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">gif<\/span> (soporte para formato GIF) requiere<span style=\"color: #0000ff;\"> li<\/span><span style=\"color: #0000ff;\">bgif y libungif<\/span> mediante <strong>apt-get install libgif4-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">tiff<\/span> (soporte para formato TIFF) requiere <span style=\"color: #0000ff;\">libtiff<\/span> mediante <strong>apt-get install libtiff4-dev<\/strong><\/p>\n<ul>\n<li>Otras features:<\/li>\n<\/ul>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">gpm<\/span> (manejo de peticiones del mouse) requiere <span style=\"color: #0000ff;\">libgpm-dev <\/span>mediante <strong>apt-get install libgpm-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">dbus<\/span> (message bus, empleado para mensajes entre aplicaciones) requiere<span style=\"color: #0000ff;\"> libdbus<\/span> mediante <strong>apt-get install libdbus-1-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">xaw<\/span> (Athena toolkit que anade apariencia 3D) requiere <span style=\"color: #0000ff;\">libXaw3d <\/span>mediante <strong>apt-get install libxaw7-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">svg<\/span> (soporte para formato SVG) requiere <span style=\"color: #0000ff;\">librsvg <\/span>mediante <strong>apt-get install librsvg2-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">m17n-flt<\/span> (manejo de procesamiento de texto multilenguaje) requiere<span style=\"color: #0000ff;\"> libm17n <\/span>mediante <strong>apt-get install libm17n-dev<\/strong><\/p>\n<p style=\"padding-left: 60px;\">feature <span style=\"color: #ff6600;\">otf<\/span> (soporte de fuente opentype) requiere <span style=\"color: #0000ff;\">libotf<\/span> mediante <strong>apt-get install libotf-dev<\/strong><\/p>\n<p>Una vez hecho el configure con exito, tenemos un paso adicional que no se suele necesitar en los ficheros tarball, esta es la de ejecutar el <strong>.\/bootstrap <\/strong>que no es mas que un proceso donde se compilan los ficheros <strong>elisp<\/strong> con extension <strong>.el<\/strong> a <strong>byte-compiled<\/strong> que generara ficheros con extension\u00a0<strong>.elc<\/strong>. Por lo que si emacs dispone de ambos (<strong>.el<\/strong> y <strong>.elc<\/strong>) siempre cargara los ficheros <strong>.elc<\/strong> para acelerar el proceso de carga, ya que es mas rapido que interpretar los ficheros <strong>elisp<\/strong>.<\/p>\n<p>Una vez terminado este proceso, podemos proceder a compilar nuestro emacs mediante <strong>make<\/strong>, si todo ha salido bien (cruzad los dedos) tendremos nuestro fichero <strong>binario<\/strong> resultante en <strong>src\/emacs<\/strong> (generalmente <strong>~\/emacs\/src\/emacs<\/strong> si se ha seguido este proceso comenzando en el <strong>$HOME<\/strong> de cada usuario).<\/p>\n<p>Asi que podemos hacer un alias en nuestro <strong>.bashrc<\/strong> de tal forma en la que tengamos una linea algo asi:<\/p>\n<p>$<strong> alias emacs=&#8217;~\/emacs\/src\/emacs&#8217;<\/strong><\/p>\n<p>Podemos emplear el comando <strong>source .bashrc<\/strong> para la recarga de dicho script, sin necesidad de hacer <strong>logout<\/strong> y <strong>login<\/strong> de nuevo.<\/p>\n<p>Tambien podemos realizar la instalacion de emacs (que no es mas que la copia de los ficheros <strong>binarios<\/strong> en parte de nuestro <strong>$PATH<\/strong> y la copia de algunos otros ficheros adicionales en parte de nuestro disco duro) mediante <strong>make install<\/strong> como <strong>root<\/strong>.<\/p>\n<p>Usar la version de desarrollo de Emacs es bastante interesante, donde se pueden ver features que no se pueden ver en los paquetes precompilados del sistema o en la ultima version stable, como por ejemplo el soporte de <strong>Xft<\/strong>.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Para descargar la ultima version de Emacs en desarrollo, podemos usar o bien CVS o bien GIT. Tengamos en cuenta antes de nada que a veces el build puede no funcionar, debido a que la version descargada es la ultima, aunque deberia haber sido probada y compilada en repositorios locales antes de hacer el commit [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[17],"tags":[130,131,129,128,67,8,87],"class_list":["post-68","post","type-post","status-publish","format-standard","hentry","category-basic","tag-el","tag-elc","tag-bootstrap","tag-cvs","tag-elisp","tag-emacs","tag-git"],"_links":{"self":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/68"}],"collection":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=68"}],"version-history":[{"count":1,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/68\/revisions"}],"predecessor-version":[{"id":776,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=\/wp\/v2\/posts\/68\/revisions\/776"}],"wp:attachment":[{"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=68"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=68"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.blackhats.es\/wordpress\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=68"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}