From 9c5e49b7f049ef3bb09ee033eaacec39278d90e9 Mon Sep 17 00:00:00 2001 From: Peter Oliver Date: Sun, 6 Aug 2023 00:45:31 +0100 Subject: [PATCH] Enable new features in Emacs 29: SQLite, Tree-sitter, WEBP, XInput 2. --- emacs.spec | 31 ++++++++++++++++++++++++------- 1 file changed, 24 insertions(+), 7 deletions(-) diff --git a/emacs.spec b/emacs.spec index b8ee194..da27dac 100644 --- a/emacs.spec +++ b/emacs.spec @@ -5,7 +5,7 @@ Summary: GNU Emacs text editor Name: emacs Epoch: 1 Version: 29.1 -Release: 1%{?dist} +Release: 2%{?dist} License: GPL-3.0-or-later AND CC0-1.0 URL: http://www.gnu.org/software/emacs/ Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz @@ -68,6 +68,9 @@ BuildRequires: harfbuzz-devel BuildRequires: jansson-devel BuildRequires: systemd-devel BuildRequires: libgccjit-devel +BuildRequires: libtree-sitter-devel +BuildRequires: libsqlite3x-devel +BuildRequires: libwebp-devel BuildRequires: gtk3-devel BuildRequires: webkit2gtk4.1-devel @@ -162,6 +165,14 @@ Provides: emacs-transient = 0.3.7 # version as of the release of emacs 28.1 is obsoleted Obsoletes: emacs-transient < 0.3.0-4 +# Ideally, we'd package all tree-sitter parsers as RPMs, but, in the +# meantime, we need the following packages for +# treesit-install-language-grammar to be able to build the parsers for +# us at runtime: +Suggests: ((gcc and gcc-c++) or clang) +Suggests: git + + %description common Emacs is a powerful, customizable, self-documenting, modeless text editor. Emacs contains special code editing features, a scripting @@ -236,16 +247,18 @@ LDFLAGS=-Wl,-z,relro; export LDFLAGS; %configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \ --with-tiff --with-xft --with-xpm --with-x-toolkit=lucid --with-gpm=no \ --with-modules --with-harfbuzz --with-cairo --with-json \ - --with-native-compilation -%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1 + --with-native-compilation=aot --with-tree-sitter --with-sqlite3 \ + --with-webp --with-xinput2 +%{setarch} %make_build bootstrap %{setarch} %make_build cd .. # Build binary without X support mkdir build-nox && cd build-nox ln -s ../configure . -%configure --with-x=no --with-modules --with-json --with-native-compilation -%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1 +%configure --with-x=no --with-modules --with-json \ + --with-native-compilation=aot --with-tree-sitter --with-sqlite3 +%{setarch} %make_build bootstrap %{setarch} %make_build cd .. @@ -258,8 +271,9 @@ LDFLAGS=-Wl,-z,relro; export LDFLAGS; %configure --with-dbus --with-gif --with-jpeg --with-png --with-rsvg \ --with-tiff --with-xpm --with-x-toolkit=gtk3 --with-gpm=no \ --with-xwidgets --with-modules --with-harfbuzz --with-cairo --with-json \ - --with-native-compilation -%{setarch} %make_build bootstrap NATIVE_FULL_AOT=1 + --with-native-compilation=aot --with-tree-sitter --with-sqlite3 \ + --with-webp --with-xinput2 +%{setarch} %make_build bootstrap %{setarch} %make_build cd .. @@ -525,6 +539,9 @@ desktop-file-validate %{buildroot}/%{_datadir}/applications/*.desktop %{_includedir}/emacs-module.h %changelog +* Sun Aug 6 2023 Peter Oliver - 1:29.1-2 +- Enable new features in Emacs 29: SQLite, Tree-sitter, WEBP, XInput 2. + * Mon Jul 31 2023 Dan Čermák - 1:29.1-1 - New upstream release 29.1, fixes rhbz#2227492