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

openSUSE Build Service is sponsored by