File emacs28.spec of Package emacs28
#
# spec file for package emacs
#
# Copyright (c) 2022 SUSE LLC
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.
# Please submit bugfixes or comments via https://bugs.opensuse.org/
#
%bcond_without autoconf
%if 0%{?suse_version} > 1600
%bcond_without mailutils
%bcond_without nativecomp
%else
%bcond_with mailutils
%bcond_with nativecomp
%endif
%bcond_without cairo
%bcond_with tex4pdf
%bcond_with memmmap
%define src_version 28.2
%define emacs_version 28.2
%define _name emacs
%define _major 28
Name: %{_name}%{_major}
%if %{with autoconf}
BuildRequires: autoconf
BuildRequires: automake
%endif
BuildRequires: pkgconfig(alsa)
%if %{with cairo}
BuildRequires: cairo-devel
%endif
BuildRequires: fdupes
BuildRequires: fontconfig-devel
%if 0%{?suse_version}
BuildRequires: fonts-config
BuildRequires: glibc-locale
BuildRequires: makeinfo
Requires(post): update-alternatives
Requires(postun): update-alternatives
BuildRequires: update-alternatives
BuildRequires: update-desktop-files
BuildRequires: pkgconfig(json)
%endif
%if 0%{?fedora} || 0%{?rhel_version} || 0%{?centos_version}
BuildRequires: texinfo
Requires(post): alternatives
Requires(postun): alternatives
BuildRequires: alternatives
BuildRequires: json-c-devel
%endif
BuildRequires: pkgconfig(freetype2)
BuildRequires: gettext-devel
BuildRequires: giflib-devel
BuildRequires: git
BuildRequires: gpm-devel
BuildRequires: gtk3-devel
# Used for installtion of info pages as well as to
# detect if the page info.info is part of that package
BuildRequires: info
BuildRequires: krb5-devel
BuildRequires: libacl-devel
BuildRequires: pkgconfig(gnutls)
BuildRequires: libjpeg-devel
BuildRequires: libotf-devel
BuildRequires: libpng-devel
BuildRequires: pkgconfig(librsvg-2.0)
BuildRequires: libselinux-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: m17n-lib-devel
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(libwebpdemux)
%if %{with mailutils}
BuildRequires: mailutils
BuildRequires: mailutils-devel
%endif
BuildRequires: ncurses-devel
%if 0%{?suse_version} >= 1500
BuildRequires: user(games)
%endif
BuildRequires: systemd-rpm-macros
%if %{with tex4pdf}
BuildRequires: texlive-collection-basic
BuildRequires: texlive-collection-langcyrillic
BuildRequires: texlive-collection-langczechslovak
BuildRequires: texlive-collection-langpolish
BuildRequires: texlive-lh
%endif
BuildRequires: procps
BuildRequires: xz
BuildRequires: zlib-devel
BuildRequires: pkgconfig(com_err)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(gsettings-desktop-schemas)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(valgrind)
%if %{with tex4pdf}
BuildRequires: tex(babel.sty)
BuildRequires: tex(fontenc.sty)
BuildRequires: tex(geometry.sty)
BuildRequires: tex(german.sty)
BuildRequires: tex(graphicx.sty)
BuildRequires: tex(ifpdf.sty)
BuildRequires: tex(inputenc.sty)
BuildRequires: tex(multicol.sty)
BuildRequires: tex(supertabular.sty)
BuildRequires: tex(t2aenc.def)
BuildRequires: tex(tabularx.sty)
BuildRequires: tex(verbatim.sty)
%endif
BuildRequires: pkgconfig(libacl)
BuildRequires: libacl-devel
BuildRequires: pkgconfig(libattr)
%if %{with nativecomp}
BuildRequires: libgccjit-devel
%endif
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(webkit2gtk-4.0) >= 2.12
BuildRequires: pkgconfig(xpm)
URL: http://www.gnu.org/software/emacs/
Version: %{src_version}
Release: 0
Summary: GNU Emacs Base Package
License: GPL-3.0-or-later
Group: Productivity/Text/Editors
Provides: emacs = %{emacs_version}
Provides: etags = %{emacs_version}
Obsoletes: etags < %{emacs_version}
Provides: emacs-el = %{emacs_version}
Obsoletes: emacs-el < %{emacs_version}
Provides: emacs-eln = %{emacs_version}
Obsoletes: emacs-eln < %{emacs_version}
Provides: emacs-info = %{emacs_version}
Obsoletes: emacs-info < %{emacs_version}
Provides: emacs-x11 = %{emacs_version}
Obsoletes: emacs-x11 < %{emacs_version}
Provides: emacs-nox = %{emacs_version}
Obsoletes: emacs-nox < %{emacs_version}
Provides: nxml-mode = 20041004
Obsoletes: nxml-mode < 20041004
Provides: epg = 1.0.0
Obsoletes: epg < 1.0.0
Requires: emacs-info = %{emacs_version}
Requires: emacs_program = %{emacs_version}-%{release}
Requires: etags
Provides: emacs_program = %{emacs_version}-%{release}
#Requires: gnu-unifont-bitmap-fonts
#Requires: ifnteuro
Requires: emacs-games
Requires: emacs-site-lisp
Requires: emacs-doc
%if %{with mailutils}
Requires: mailutils
%endif
Requires(pre): coreutils
%if 0%{?suse_version} >= 1500
Requires(pre): group(games)
Requires(pre): user(games)
%endif
Source: emacs-%{src_version}.tar.gz
Source2: site-lisp.tar.bz2
Source4: %{name}-rpmlintrc
# https://ftp.gnu.org/gnu/gnu-keyring.gpg
Source7: %{name}.keyring
Source8: emacs-28.1-pdf.tar.xz
# Currently disabled
Patch2: emacs-24.4-glibc.patch
Patch7: emacs-24.1-ps-mule.patch
Patch15: emacs-24.3-iconic.patch
Patch16: emacs-24.4-flyspell.patch
Patch22: pdump.patch
%{expand: %%global include_info %(test -s /usr/share/info/info.info* && echo 0 || echo 1)}
%if %{undefined ext_el}
%define ext_el .gz
%endif
%define info_files emacs eintr elisp auth autotype bovine calc ccmode cl dbus dired-x ebrowse ede ediff edt eieio emacs-mime epa erc ert eshell eudc efaq eww flymake forms gnus emacs-gnutls htmlfontify idlwave ido info.info mairix-el message mh-e modus-themes newsticker nxml-mode octave-mode org pcl-cvs pgg rcirc remember reftex sasl sc semantic ses sieve smtpmail speedbar srecode todo-mode transient tramp url vhdl-mode vip viper widget wisent woman
%description
Basic package for the GNU Emacs editor. For a documentation see https://www.emacsdocs.org/.
This package requires emacs-x11 and/or emacs-nox to have the GNU Emacs editor its self.
%package devel
Summary: Development files for %{name}
Group: Development/Libraries
Requires: %{name} = %{emacs_version}-%{release}
BuildArch: noarch
%description devel
%{summary}.
%files devel
%defattr(-,root,root,-)
%{_includedir}/emacs-module.h
%if 0%{?suse_version}
%debug_package
%endif
%prep
%setup -q -n %{_name}-%{src_version} -b 2
%if %{with memmmap}
%patch -P 2 -p0 -b .glibc
%endif
%patch -P 7 -p0 -b .psmu
%patch -P 15 -p0 -b .iconic
%patch -P 16 -p0 -b .flyspell
%patch -P 22 -p0 -b .pd
#patch -p0 -b .0
%if %{without tex4pdf}
pushd etc/refcards/
tar --use-compress-program=xz -xf %{S:8}
popd
%endif
find -name '*.elc' -exec rm -f '{}' \;
%build
./autogen.sh
VERSION=%{emacs_version}
CFLAGS="${RPM_OPT_FLAGS} -D_GNU_SOURCE -DGDK_DISABLE_DEPRECATION_WARNINGS -DGLIB_DISABLE_DEPRECATION_WARNINGS"
LANG=POSIX; LC_CTYPE=en_US.UTF-8
export CC CFLAGS LANG LC_CTYPE LDFLAGS
PREFIX="--prefix=%{_prefix} \
--mandir=%{_mandir} \
--infodir=%{_infodir} \
--datadir=%{_datadir} \
--localstatedir=%{_localstatedir} \
--sharedstatedir=%{_localstatedir}/lib \
--libexecdir=%{_libexecdir} \
--with-file-notification=yes \
--enable-locallisppath=%{_datadir}/emacs/%{emacs_version}/site-lisp:%{_datadir}/emacs/site-lisp
"
DESKTOP="--with-x \
--with-json \
--without-xim \
--with-sound \
--with-xpm \
--with-jpeg \
--with-tiff \
--with-gif \
--with-png \
--with-rsvg \
--with-dbus \
--without-xft \
--without-gpm \
--with-toolkit-scroll-bars \
--with-libotf \
--with-m17n-flt \
--with-cairo \
--with-xwidgets \
"
COMP="--disable-build-details \
%if %{with mailutils}
--without-pop
--with-mailutils
%else
--with-pop \
%endif
%if %{without nativecomp}
--without-native-compilation \
%else
--with-native-compilation=aot \
%endif
--without-hesiod \
--with-gameuser=:games \
--with-kerberos \
--with-kerberos5 \
--with-file-notification=inotify \
--with-modules \
--enable-autodepend \
"
if (($(getconf LONG_BIT) < 62))
then
COMP="${COMP} --with-wide-int"
fi
%configure ${COMP} ${PREFIX} ${DESKTOP} --with-dumping=pdumper --program-suffix=%{_major}
%make_build %{?_smp_mflags}
%if %{with tex4pdf}
make -C etc/refcards/ %{?_smp_mflags}
%endif
#
%install
PATH=/sbin:$PATH
##
VERSION=%{emacs_version}
eval $(sed -rn "/^configuration=/p" config.log)
make install DESTDIR=%{buildroot} systemdunitdir=%{_userunitdir} %{?_smp_mflags}
#
pushd ../
mkdir -p %{buildroot}%{_datadir}/emacs/site-lisp/site-start.d
chmod -R a+r %{buildroot}%{_datadir}/emacs/site-lisp/
popd
tar --use-compress-program=bzip2 -xf %{S:2} -C %{buildroot}%{_datadir}/emacs/
#EMACSLOADPATH='' ../emacs-%{emacs_version}/emacs-nox -batch -q --no-site -f batch-byte-compile *.el
#rm -vf site-start.elc
#rm -vf site-start.el.orig
%fdupes %{buildroot}%{_datadir}
%fdupes %{buildroot}%{_libdir}/emacs/%{emacs_version}
rm -f %{buildroot}%{_datadir}/emacs/%{emacs_version}/etc/org.gnu.emacs.defaults.gschema.valid
mkdir -p %{buildroot}%{_sysconfdir}/alternatives
for bin in ctags ebrowse emacs emacsclient etags; do
ln -s -f %{_sysconfdir}/alternatives/${bin} %{buildroot}%{_bindir}/${bin}
done
rm -f %{buildroot}/usr/share/info/dir
%post
if test -e usr/share/emacs/site-lisp/auctex/font-latex.elc ; then
owd=$(pwd)
cd usr/share/emacs/site-lisp/auctex || exit 1
emacs -batch -no-site-file -no-init-file --eval '(setq load-path (cons "." load-path)
byte-compile-warnings nil
TeX-lisp-directory "<none>"
TeX-auto-global "<none>")' -f batch-byte-compile font-latex.el > /dev/null 2>&1
cd $owd
fi
update-alternatives --install %{_bindir}/ctags ctags %{_bindir}/ctags%{_major} 10
update-alternatives --install %{_bindir}/ebrowse ebrowse %{_bindir}/ebrowse%{_major} 10
update-alternatives --install %{_bindir}/emacs emacs %{_bindir}/emacs%{_major} 10
update-alternatives --install %{_bindir}/emacsclient emacsclient %{_bindir}/emacsclient%{_major} 10
update-alternatives --install %{_bindir}/etags etags %{_bindir}/etags%{_major} 10
%postun
if [ ! -f %{_bindir}/ctags%{_major} ]; then
update-alternatives --remove ctags %{_bindir}/ctags%{_major}
fi
if [ ! -f %{_bindir}/ebrowse%{_major} ]; then
update-alternatives --remove ebrowse %{_bindir}/ebrowse%{_major}
fi
if [ ! -f %{_bindir}/emacs%{_major} ]; then
update-alternatives --remove emacs %{_bindir}/emacs%{_major}
fi
if [ ! -f %{_bindir}/emacsclient%{_major} ]; then
update-alternatives --remove emacsclient %{_bindir}/emacsclient%{_major}
fi
if [ ! -f %{_bindir}/etags%{_major} ]; then
update-alternatives --remove etags %{_bindir}/etags%{_major}
fi
%package doc
Summary: Documentation for emacs
Group: Productivity/Text/Editors
Provides: emacs-doc
BuildArch: noarch
%description doc
Documentation for emacs. Note that currently only one version can be installed.
%files doc
%defattr(-, root, root)
%{_infodir}/*.gz
%package games
Summary: Games for emacs
Group: Productivity/Text/Editors
Provides: emacs-games
BuildArch: noarch
%description games
Game metadata for emacs
%files games
%defattr(-, root, root)
%attr(660,games,games) %{_localstatedir}/games/emacs/snake-scores
%attr(660,games,games) %{_localstatedir}/games/emacs/tetris-scores
%dir %{_localstatedir}/games/emacs
%package site-lisp
Summary: Site lisp for emacs
Group: Productivity/Text/Editors
Provides: emacs-site-lisp
BuildArch: noarch
%description site-lisp
Additional potentially useful lisp packages
%files site-lisp
%defattr(-, root, root)
%{_datadir}/emacs/site-lisp/*.el
%files
%defattr(-, root, root)
%ghost %{_sysconfdir}/alternatives/ctags
%ghost %{_sysconfdir}/alternatives/ebrowse
%ghost %{_sysconfdir}/alternatives/emacs
%ghost %{_sysconfdir}/alternatives/emacsclient
%ghost %{_sysconfdir}/alternatives/etags
%{_datadir}/applications/emacs%{_major}.desktop
%{_datadir}/applications/emacs%{_major}-mail.desktop
%{_datadir}/applications/emacsclient%{_major}.desktop
%{_datadir}/applications/emacsclient%{_major}-mail.desktop
%{_datadir}/metainfo/emacs%{_major}.metainfo.xml
%{_bindir}/ctags
%{_bindir}/ebrowse
%{_bindir}/emacs
%{_bindir}/emacsclient
%{_bindir}/etags
%{_bindir}/ctags%{_major}
%{_bindir}/ebrowse%{_major}
%{_bindir}/emacs%{_major}
%{_bindir}/emacs-%{emacs_version}%{_major}
%{_bindir}/emacsclient%{_major}
%{_bindir}/etags%{_major}
%doc %{_datadir}/emacs/%{emacs_version}/lisp/COPYING
%doc %{_datadir}/emacs/%{emacs_version}/lisp/README
%doc %{_datadir}/emacs/%{emacs_version}/lisp/term/README
%{_mandir}/man1/*.gz
%{_userunitdir}/emacs%{_major}.service
%{_datadir}/icons/hicolor/128x128/apps/emacs%{_major}.png
%{_datadir}/icons/hicolor/16x16/apps/emacs%{_major}.png
%{_datadir}/icons/hicolor/24x24/apps/emacs%{_major}.png
%{_datadir}/icons/hicolor/32x32/apps/emacs%{_major}.png
%{_datadir}/icons/hicolor/48x48/apps/emacs%{_major}.png
%{_datadir}/icons/hicolor/scalable/apps/emacs%{_major}.ico
%{_datadir}/icons/hicolor/scalable/apps/emacs%{_major}.svg
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document%{_major}.svg
%{_datadir}/icons/hicolor/scalable/mimetypes/emacs-document23%{_major}.svg
%{_datadir}/emacs/%{emacs_version}/etc/*
%{_datadir}/emacs/%{emacs_version}/etc/charsets/*.map
%{_datadir}/emacs/%{emacs_version}/etc/images/*.{xpm,pbm}
%{_datadir}/emacs/%{emacs_version}/etc/images/ezimage/*.{xpm,pbm}
%{_datadir}/emacs/%{emacs_version}/etc/images/gnus/*.{xpm,pbm}
%{_datadir}/emacs/%{emacs_version}/etc/images/gud/*.{xpm,pbm}
%{_datadir}/emacs/%{emacs_version}/etc/images/icons/allout-widgets/dark-bg/*.{xpm,png}
%{_datadir}/emacs/%{emacs_version}/lisp/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/calc/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/calendar/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/ede/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/analyze/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/bovine/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/decorate/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/symref/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/wisent/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/cedet/srecode/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/emacs-lisp/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/emulation/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/erc/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/eshell/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/gnus/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/international/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/language/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/mail/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/mh-e/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/net/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/nxml/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/obsolete/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/org/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/play/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/progmodes/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/image/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/international/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/leim/*.el
%{_datadir}/emacs/%{emacs_version}/lisp/leim/quail/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/leim/ja-dic/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/term/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/textmodes/*.{el,elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/url/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/vc/*.{elc,gz}
%{_datadir}/emacs/%{emacs_version}/lisp/ps-mule.el.psmu
%{_datadir}/emacs/%{emacs_version}/lisp/startup.el.iconic
%{_datadir}/emacs/%{emacs_version}/lisp/textmodes/flyspell.el.flyspell
%{_datadir}/emacs/%{emacs_version}/lisp/textmodes/ispell.el.psmu
%{_datadir}/emacs/%{emacs_version}/site-lisp/*.el
%if %{with nativecomp}
%{_libdir}/emacs/%{emacs_version}/native-lisp/*/*.eln
%{_libdir}/emacs/%{emacs_version}/native-lisp/*/preloaded/*.eln
%endif
%{_libexecdir}/emacs/%{emacs_version}/*
%dir %{_libexecdir}/emacs
%dir %{_libexecdir}/emacs/%{emacs_version}
%dir %{_datadir}/emacs/%{emacs_version}
%dir %{_datadir}/emacs/%{emacs_version}/etc
%dir %{_datadir}/emacs/%{emacs_version}/lisp
%dir %{_datadir}/emacs/%{emacs_version}/lisp/calc
%dir %{_datadir}/emacs/%{emacs_version}/lisp/calendar
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/ede
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/analyze
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/bovine
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/decorate
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/symref
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/semantic/wisent
%dir %{_datadir}/emacs/%{emacs_version}/lisp/cedet/srecode
%dir %{_datadir}/emacs/%{emacs_version}/lisp/emacs-lisp
%dir %{_datadir}/emacs/%{emacs_version}/lisp/emulation
%dir %{_datadir}/emacs/%{emacs_version}/lisp/erc
%dir %{_datadir}/emacs/%{emacs_version}/lisp/eshell
%dir %{_datadir}/emacs/%{emacs_version}/lisp/gnus
%dir %{_datadir}/emacs/%{emacs_version}/lisp/image
%dir %{_datadir}/emacs/%{emacs_version}/lisp/international
%dir %{_datadir}/emacs/%{emacs_version}/lisp/language
%dir %{_datadir}/emacs/%{emacs_version}/lisp/leim
%dir %{_datadir}/emacs/%{emacs_version}/lisp/leim/ja-dic
%dir %{_datadir}/emacs/%{emacs_version}/lisp/leim/quail
%dir %{_datadir}/emacs/%{emacs_version}/lisp/mail
%dir %{_datadir}/emacs/%{emacs_version}/lisp/mh-e
%dir %{_datadir}/emacs/%{emacs_version}/lisp/net
%dir %{_datadir}/emacs/%{emacs_version}/lisp/nxml
%dir %{_datadir}/emacs/%{emacs_version}/lisp/obsolete
%dir %{_datadir}/emacs/%{emacs_version}/lisp/org
%dir %{_datadir}/emacs/%{emacs_version}/lisp/play
%dir %{_datadir}/emacs/%{emacs_version}/lisp/progmodes
%dir %{_datadir}/emacs/%{emacs_version}/lisp/term
%dir %{_datadir}/emacs/%{emacs_version}/lisp/textmodes
%dir %{_datadir}/emacs/%{emacs_version}/lisp/url
%dir %{_datadir}/emacs/%{emacs_version}/lisp/vc
%dir %{_datadir}/emacs/%{emacs_version}/site-lisp
%if %{with nativecomp}
%dir %{_libdir}/emacs
%dir %{_libdir}/emacs/%{emacs_version}
%dir %{_libdir}/emacs/%{emacs_version}/native-lisp
%dir %{_libdir}/emacs/%{emacs_version}/native-lisp/*/
%dir %{_libdir}/emacs/%{emacs_version}/native-lisp/*/preloaded
%endif