dev: Update 'pil_emacs_build.md'

main
Sergio Alvariño 2 weeks ago
parent 1278dcee36
commit 32d5f5fa60

@ -2,8 +2,8 @@
weight: 4
title: "Emacs: Compilar Emacs en Linux Mint Vanessa"
date: 2023-07-26T11:24:41+0200
draft:
summary: "Apuntes para compilar Emacs 28 y Emacs 29 en Linux Mint Vanessa. Debería funcionar sin muchos cambios para cualquier versión de Emacs en cualquier linux de la familia Debian"
draft: false
summary: "Apuntes para compilar Emacs 28, Emacs 29 y Emacs 30 en Linux Mint Vanessa. Debería funcionar sin muchos cambios para cualquier versión de Emacs en cualquier linux de la familia Debian"
categories:
- pildoras
tags:
@ -199,7 +199,7 @@ $ ls -lha /usr/share/applications/*emacs*
Tendremos que crear nuevas versiones de esos ficheros que apunten al Emacs recién instalado (o editar los existentes), por poner un ejemplo este es el fichero `emacs-28.2.desktop` resultado de modificar el `emacs28.desktop`:
```ini
```toml
[Desktop Entry]
Name=Emacs-28.2
GenericName=Text Editor
@ -216,12 +216,33 @@ StartupWMClass=Emacs
Hay que ver el resto de ficheros desktop y comprobar si necesitan modificaciones para funcionar sin problemas.
## ACTUALIZACIÓN: Compilando emacs 30 en Linux Mint Xia (equivale a Ubuntu 24.04 Noble)
## ACTUALIZACIÓN: Compilando emacs 29
```bash
cd emacs30
git pull
export CC=/usr/bin/gcc-13 && export CXX=/usr/bin/gcc-13
./autogen.sh
./configure --without-compress-install \
--with-x-toolkit=gtk \
--with-tree-sitter \
--with-native-compilation=aot \
--with-imagemagick \
--with-mailutils \
--prefix=/opt/emacs-30
make -j6
src/emacs -q
```
## ACTUALIZACIÓN: Compilando emacs 29 en Linux Mint Xia (equivale a Ubuntu 24.04 Noble)
Unas notas rápidas de los pasos seguidos para compilar Emacs 29.
<!-- # Dependencias para doc-view ¿solo?
<!--
# Dependencias para doc-view ¿solo?
sudo apt install libgtk-3-dev libxpm-dev libjpeg-dev \
libgif-dev libtiff5-dev libgnutls28-dev libncurses-dev \
libxml2-dev libgpm-dev libdbus-1-dev libgtk2.0-dev \
@ -229,7 +250,15 @@ libpng-dev libotf-dev libm17n-dev librsvg2-dev \
libmagickcore-dev libmagickwand-dev libglib2.0-dev \
libgirepository1.0-dev
sudo apt install mupdf mupdf-tools -->
sudo apt install mupdf mupdf-tools
# Dependencias para xwidgets
sudo apt install libwebkit2gtk-4
# Dependencias para soporte de Imagemagick
sudo apt install libmagickcore-dev libmagickwand-dev
-->
```bash
@ -322,7 +351,42 @@ make check
sudo make install
```
# Update alternatives
```bash
sudo update-alternatives --install /usr/bin/emacs emacs /opt/emacs-29/bin/emacs-29.4.50 29 \
--slave /usr/share/man/man1/emacs.1.gz emacs.1.gz /opt/emacs-29/share/man/man1/emacs.1.gz
sudo update-alternatives --install /usr/bin/emacsclient emacsclient /opt/emacs-29/bin/emacsclient 29 \
--slave /usr/share/man/man1/emacsclient.1.gz emacsclient.1.gz /opt/emacs-29/share/man/man1/emacsclient.1.gz
sudo update-alternatives --install /usr/bin/ctags ctags /opt/emacs-29/bin/ctags 29 \
--slave /usr/share/man/man1/ctags.1.gz ctags.1.gz /opt/emacs-29/share/man/man1/ctags.1.gz
sudo update-alternatives --install /usr/bin/etags etags /opt/emacs-29/bin/etags 29 \
--slave /usr/share/man/man1/etags.1.gz etags.1.gz /opt/emacs-29/share/man/man1/etags.1.gz
sudo update-alternatives --install /usr/bin/ebrowse ebrowse /opt/emacs-29/bin/ebrowse 29 \
--slave /usr/share/man/man1/ebrowse.1.gz ebrose.1.gz /opt/emacs-29/share/man/man1/ebrowse.1.gz
```
```toml
[Desktop Entry]
Name=Emacs-29
GenericName=Text Editor
Comment=Edit text
MimeType=text/english;text/plain;text/x-makefile;text/x-c++hdr;text/x-c++src;text/x-chdr;text/x-csrc;text/x-java;text/x-moc;text/x-pascal;text/x->
Exec=/opt/emacs-29/bin/emacs-29.4.50 %F
Icon=emacs
Type=Application
Terminal=false
Categories=Development;TextEditor;
StartupNotify=true
StartupWMClass=Emacs
```
Podemos hacer `git tag --list` para ver todas las versiones disponibles, y con `git checkout` nos cambiamos a la versión que nos interese para compilarla.
Tanto si hemos clonado una rama específica como todo el repo para actualizar las fuentes basta con `git pull`
Tanto si hemos clonado una rama específica como todo el repo para
actualizar las fuentes basta con `git pull`

Loading…
Cancel
Save