File emacs.spec of Package emacs
#
# spec file for package emacs-wayland
#
# Copyright (c) 2024 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/
#
Name: emacs
Version: 29.2
Release: 0
Summary: Text Editor
License: GPL-3.0
URL: https://ftp.gnu.org/gnu/emacs/
Source0: https://ftp.gnu.org/gnu/emacs/emacs-%{version}.tar.xz
Provides: emacs_program = %{version}-%{release}
Provides: emacs-devel = %{version}-%{release}
Provides: nxml-mode = 20041004
Provides: ctags:/usr/bin/etags
Group: Productivity/Text/Editors
BuildRequires: gmp-devel
Requires: etags
BuildRequires: alsa-devel
BuildRequires: libgnutls-devel
BuildRequires: libacl-devel
BuildRequires: alsa-devel
BuildRequires: fontconfig-devel
BuildRequires: fonts-config
BuildRequires: freetype2-devel
BuildRequires: gettext-devel
BuildRequires: giflib-devel
BuildRequires: git
BuildRequires: glibc-locale
BuildRequires: gpm-devel
BuildRequires: gtk3-devel
BuildRequires: libgccjit-devel
BuildRequires: xz
BuildRequires: makeinfo
BuildRequires: fdupes
BuildRequires: ncurses-devel
BuildRequires: zlib-devel
BuildRequires: info
BuildRequires: krb5-devel
BuildRequires: libgnutls-devel
BuildRequires: libjpeg-devel
BuildRequires: libotf-devel
BuildRequires: libpng-devel
BuildRequires: librsvg-devel
BuildRequires: libselinux-devel
BuildRequires: libtiff-devel
BuildRequires: libxml2-devel
BuildRequires: m17n-lib-devel
BuildRequires: autoconf
BuildRequires: automake
BuildRequires: cairo-devel
BuildRequires: pkgconfig(libudev)
BuildRequires: pkgconfig(atspi-2)
BuildRequires: pkgconfig(json)
BuildRequires: pkgconfig(lcms2)
BuildRequires: pkgconfig(fontconfig)
BuildRequires: pkgconfig(libsystemd)
BuildRequires: pkgconfig(pango)
BuildRequires: pkgconfig(xpm)
BuildRequires: pkgconfig(sm)
BuildRequires: pkgconfig(tree-sitter)
BuildRequires: pkgconfig(webkit2gtk-4.0) >= 2.12
BuildRequires: pkgconfig(gio-2.0)
BuildRequires: pkgconfig(glib-2.0)
BuildRequires: pkgconfig(dbus-1)
BuildRequires: pkgconfig(jansson)
BuildRequires: pkgconfig(gsettings-desktop-schemas)
BuildRequires: pkgconfig(harfbuzz)
BuildRequires: pkgconfig(ice)
BuildRequires: pkgconfig(libseccomp)
BuildRequires: pkgconfig(libwebp)
BuildRequires: pkgconfig(libacl)
BuildRequires: pkgconfig(ImageMagick)
%description
Basic package for the GNU Emacs editor. For a documentation see https://www.emacsdocs.org/.
%prep
%autosetup
%build
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 \
--libdir=%{_libdir} \
--enable-locallisppath=%{_datadir}/emacs/%{version}/site-lisp:%{_datadir}/emacs/site-lisp
"
WAYLAND="--with-pgtk \
--without-x \
--with-treesiter \
--with-native-compilation=aot \
--disable-build-details \
--with-audio \
--with-cairo \
--with-harfbuzz \
--with-modules \
--with-gnutls \
--without-gpm \
"
./configure ${PREFIX} ${WAYLAND}
%make_build
%install
%make_install
rm -vf %{buildroot}%{_infodir}/dir
rm -vf %{buildroot}/usr/share/emacs/29.2/etc/org.gnu.emacs.defaults.gschema.valid
mv %{buildroot}/usr/bin/{ctags,ctags.emacs}
mv %{buildroot}/usr/bin/{etags,etags.emacs}
mv %{buildroot}/usr/share/man/man1/{ctags.1.gz,ctags.emacs.1.gz}
mv %{buildroot}/usr/share/man/man1/{etags.1.gz,etags.emacs.1.gz}
%fdupes -s %{buildroot}/%{_mandir}
%fdupes %{buildroot}/%{_prefix}
%files
%defattr(-, root, root)
%_bindir/ctags.emacs
%_bindir/ebrowse
%_bindir/emacs
%_bindir/emacs-29.2
%_bindir/emacsclient
%_bindir/etags.emacs
%_libdir/emacs
%_libdir/systemd
%_libexecdir/emacs
%_includedir/emacs-module.h
%_datadir/applications
%_datadir/emacs
%_datadir/glib-2.0
%_datadir/icons/hicolor/128x128/apps/emacs.png
%_datadir/icons/hicolor/48x48/apps/emacs.png
%_datadir/icons/hicolor/32x32/apps/emacs.png
%_datadir/icons/hicolor/24x24/apps/emacs.png
%_datadir/icons/hicolor/16x16/apps/emacs.png
%_datadir/icons/hicolor/scalable/apps/emacs.ico
%_datadir/icons/hicolor/scalable/apps/emacs.svg
%_datadir/icons/hicolor/scalable/mimetypes/emacs-document23.svg
%_datadir/icons/hicolor/scalable/mimetypes/emacs-document.svg
%doc %{_datadir}/man/man1/ctags.emacs.1.gz
%doc %{_datadir}/man/man1/ebrowse.1.gz
%doc %{_datadir}/man/man1/emacs.1.gz
%doc %{_datadir}/man/man1/emacsclient.1.gz
%doc %{_datadir}/man/man1/etags.emacs.1.gz
%doc %{_infodir}/auth.info.gz
%doc %{_infodir}/eglot.info.gz
%doc %{_infodir}/epa.info.gz
%doc %{_infodir}/forms.info.gz
%doc %{_infodir}/message.info.gz
%doc %{_infodir}/pcl-cvs.info.gz
%doc %{_infodir}/semantic.info.gz
%doc %{_infodir}/tramp.info.gz
%doc %{_infodir}/vtable.info.gz
%doc %{_infodir}/autotype.info.gz
%doc %{_infodir}/dired-x.info.gz
%doc %{_infodir}/eieio.info.gz
%doc %{_infodir}/erc.info.gz
%doc %{_infodir}/gnus.info.gz
%doc %{_infodir}/mh-e.info.gz
%doc %{_infodir}/pgg.info.gz
%doc %{_infodir}/ses.info.gz
%doc %{_infodir}/transient.info.gz
%doc %{_infodir}/widget.info.gz
%doc %{_infodir}/bovine.info.gz
%doc %{_infodir}/ebrowse.info.gz
%doc %{_infodir}/eintr.info.gz
%doc %{_infodir}/ert.info.gz
%doc %{_infodir}/htmlfontify.info.gz
%doc %{_infodir}/modus-themes.info.gz
%doc %{_infodir}/rcirc.info.gz
%doc %{_infodir}/sieve.info.gz
%doc %{_infodir}/url.info.gz
%doc %{_infodir}/wisent.info.gz
%doc %{_infodir}/calc.info.gz
%doc %{_infodir}/ede.info.gz
%doc %{_infodir}/elisp.info.gz
%doc %{_infodir}/eshell.info.gz
%doc %{_infodir}/idlwave.info.gz
%doc %{_infodir}/newsticker.info.gz
%doc %{_infodir}/reftex.info.gz
%doc %{_infodir}/smtpmail.info.gz
%doc %{_infodir}/use-package.info.gz
%doc %{_infodir}/woman.info.gz
%doc %{_infodir}/ccmode.info.gz
%doc %{_infodir}/ediff.info.gz
%doc %{_infodir}/emacs-gnutls.info.gz
%doc %{_infodir}/eudc.info.gz
%doc %{_infodir}/ido.info.gz
%doc %{_infodir}/nxml-mode.info.gz
%doc %{_infodir}/remember.info.gz
%doc %{_infodir}/speedbar.info.gz
%doc %{_infodir}/vhdl-mode.info.gz
%doc %{_infodir}/cl.info.gz
%doc %{_infodir}/edt.info.gz
%doc %{_infodir}/emacs.info.gz
%doc %{_infodir}/eww.info.gz
%doc %{_infodir}/info.info.gz
%doc %{_infodir}/octave-mode.info.gz
%doc %{_infodir}/sasl.info.gz
%doc %{_infodir}/srecode.info.gz
%doc %{_infodir}/viper.info.gz
%doc %{_infodir}/dbus.info.gz
%doc %{_infodir}/efaq.info.gz
%doc %{_infodir}/emacs-mime.info.gz
%doc %{_infodir}/flymake.info.gz
%doc %{_infodir}/mairix-el.info.gz
%doc %{_infodir}/org.info.gz
%doc %{_infodir}/sc.info.gz
%doc %{_infodir}/todo-mode.info.gz
%doc %{_infodir}/vip.info.gz
%_datadir/metainfo
%changelog