Installing Emacs 29.1

Hey! I’m trying to figure out how to install the latest version of emacs that was recently released. sudo dnf install emacs installs the previous version which isn’t what I want :frowning: .

Welcome to Fedora @marcc

Unfortunately within 3 days we do not get new packages for such a recent version.

If you really want to use the newest version you might want to install it manually:

GNU Emacs download - GNU Project

Here you can see the status of the newest packages:


Seems that’s the way to go then. However, I’m not sure how to install it with the native GTK support. I’ll browse around and see if I find something.

I’ve been using this script. Change the prefix to install where you want it.

#!/usr/bin/env bash

set -euo pipefail

# Build emacs 29 similarly to the current emacs 28 installed via flatpack in Fedora
# Don't forget to byte-recompile-directory all packages if you're moving to a
# new emacs executable, or the packages will hallucinate when loaded. A failsafe
# way to do that is either delete your elpaca or straight directory (if you use
# these) or if you have your configuration in version control, nuke your local
# emacs.d and clone it again (although you would lose all history and things
# that are not under version control).
# This script is designed to run from inside of a local emacs git checkout.

sudo dnf builddep -y emacs
sudo dnf install -y libtree-sitter-devel wxBase-devel wxGTK3-devel libwebp-devel

CC='CFLAGS=-DMAIL_USE_LOCKF -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-U_FORTIFY_SOURCE,-D_FORTIFY_SOURCE=3 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64  -mtune=generic -fasynchronous-unwind-tables -fstack-clash-protection -fcf-protection -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer
LDFLAGS=-Wl,-z,relro gcc'

make distclean
make uninstall

git checkout emacs-29
git pull
git reset --hard HEAD # Remove all local changes to tracked files

./configure \
  --prefix=$HOME/.local \
  --without-pop \
  --with-mailutils \
  --with-pgtk \
  --without-x \
  --with-xwidgets \
  --with-cairo \
  --without-compress-install \
  --with-native-compilation \
  --with-json \
  --with-dbus \
  --with-gif \
  --with-jpeg \
  --with-png \
  --with-rsvg \
  --with-tiff \
  --with-webp \
  --with-gpm \
  --with-modules \
  --with-harfbuzz \
  build_alias=x86_64-redhat-linux-gnu \

make -j8
make install

@marcc Do you have an estimate for when emacs 29 will be available on fedora 38?

Not so sure if it will be available on F38. For F39 there is apparently a package created.

Is it possible to install this Fedora 39 package on Fedora 38?

On flat-hub the desired flat-pak is available also for F38 (v 29.1). You can choose it from Software app in Gnome or on the terminal like:

flatpak install flathub org.gnu.emacs