From 32d5f5fa60cfc83e1e4290cd4705b26b292bdb13 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sergio=20Alvari=C3=B1o?= Date: Mon, 18 Aug 2025 20:43:00 +0200 Subject: [PATCH] dev: Update 'pil_emacs_build.md' --- content/posts/pills/pil_emacs_build.md | 78 +++++++++++++++++++++++--- 1 file changed, 71 insertions(+), 7 deletions(-) diff --git a/content/posts/pills/pil_emacs_build.md b/content/posts/pills/pil_emacs_build.md index 15150c2..0db5666 100644 --- a/content/posts/pills/pil_emacs_build.md +++ b/content/posts/pills/pil_emacs_build.md @@ -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. - +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`