The new option -W to %_emacs_bytecompile causes the byte-compilation
to fail on warnings. Also, the amendment of load-path is simplified
and the macro %bytecompargs that is no longer used is removed.
libsqlite3x is a library with C++ bindings for SQLite which emacs does not use
at all which transitively pulled in the necessary sqlite-devel. Due to that
dependency, the libsqlite3x package was also brought into ELN which is unwanted.
Fixes: 9c5e49b7f0 ("Enable new features in Emacs 29: SQLite, Tree-sitter, WEBP, XInput 2.")
The name “no X” doesn’t make sense any more, now that use of the default `emacs` binary is discouraged on the X Window System. Let’s call it `emacs-nw` instead (which matches the `-nw` command-line option for `emacs`).
- remove emacs-pdmp-fingerprint.patch, it was cherry picked from emacs 29.1
- remove emacs-configure-c99-2.patch, already part of emacs-29
- remove fixed-ctags-local-command-execute-vulnerability.patch
- remove fix-searching-for-end-of-string-in-python-nav-end-of.patch
- remove native-compile-with_-Q.patch
- remove webkit2gtk-4.1.patch, has been implemented in emacs-29 via
7287b7b53a17f9b2d1b474466106806a9d57af47
We need to remove the exec permission on the eln files to prevent them from
having the same build-id and thereby failing the debuginfo extraction, while at
the same time they must be executable for emacs to use them.
We use filelists for that where we use attr to set their executable bits *after*
the build.
The shell snippet comparing %info_files and ls info was not working anyway and
the check itself was not serving any purpose. Also, not all the contents of that
directory are actually installed as info pages.
emacs-libdir-vs-systemd.patch relies on the systemd package config files being
in the buildroot, which stopped being the case in Fedora >= 37. Thus we need to
depend on systemd explicitly
It should be deprecated now by Cairo rendering with the new native pgtk in 28
See current build.log
eg https://koji.fedoraproject.org/koji/buildinfo?buildID=2001145:
Does Emacs use cairo? yes
:
Does Emacs use -lfreetype? yes
Does Emacs use HarfBuzz? yes
Does Emacs use -lm17n-flt? yes
Does Emacs use -lotf? yes
Does Emacs use -lxft? no
- Enables native compilation which requires libgccjit
- Use upstream AppStream metainfo
- Add %{setarch} to make bootstrap as it builds architecture specific
.eln files.
- Move the GTK+ build at the end to avoid rebuilding during make
install in the %install section.
This rebuild does not compile .eln files as the .elc files from nox
build are present and we don't run make bootstrap here. The
resulting .pdmp file does not load .eln files, so Emacs fails to
find exact path to the .eln files at the run time after
installation. See https://debbugs.gnu.org/52376#89
- Use pdmp files with fingerprints
Keeping the .pdmp files alongside the binaries is not recommended. See
https://debbugs.gnu.org/52488
Applying the patch which creates and loads pdmp files with binary
specific fingerprints
https://git.savannah.gnu.org/cgit/emacs.git/commit/?id=e81f1faca4 This
allows us to put these files into their correct location in libexec.
Signed-off-by: Bhavin Gandhi <bhavin7392@gmail.com>