Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:owinebar:Staging:emacs-28
emacs
project.diff
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File project.diff of Package emacs
--- emacs.spec.orig +++ emacs.spec @@ -1,7 +1,7 @@ # # spec file for package emacs # -# Copyright (c) 2022 SUSE LLC +# Copyright (c) 2023 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -19,11 +19,12 @@ %bcond_without autoconf %if 0%{?suse_version} >= 1550 %bcond_without mailutils -%bcond_without nativecomp %else %bcond_with mailutils -%bcond_with nativecomp %endif +# default is without nativecomp always +%bcond_with nativecomp +%bcond_with nativecompaot %bcond_without cairo %bcond_with tex4pdf %bcond_with memmmap @@ -47,6 +48,7 @@ BuildRequires: git BuildRequires: glibc-locale BuildRequires: gpm-devel BuildRequires: gtk3-devel +BuildRequires: repocc # Used for installtion of info pages as well as to # detect if the page info.info is part of that package BuildRequires: info @@ -114,6 +116,7 @@ BuildRequires: pkgconfig(libacl) BuildRequires: libacl-devel %endif %if %{with nativecomp} +BuildRequires: libgccjit BuildRequires: libgccjit-devel %endif BuildRequires: pkgconfig(jansson) @@ -147,7 +150,7 @@ Provides: nxml-mode = 20041004 Obsoletes: nxml-mode < 20041004 Provides: epg = 1.0.0 Obsoletes: epg < 1.0.0 -Requires: emacs-info = %{version} +Requires: emacs-info%{customcc_pkg_suffix} = %{version} Requires: emacs_program = %{version}-%{release} Requires: etags %if %{with mailutils} @@ -216,28 +219,28 @@ BuildRoot: %{_tmppath}/%{name}-%{ve 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 -n emacs-nox +%package -n emacs-nox%{customcc_pkg_suffix} Requires(post): fileutils -Requires: emacs = %{version}-%{release} +Requires: emacs%{customcc_pkg_suffix} = %{version}-%{release} %if %{with nativecomp} -Requires: emacs-eln = %{version} +Requires: emacs-eln%{customcc_pkg_suffix} = %{version} %endif Provides: emacs_program = %{version}-%{release} Summary: GNU Emacs-nox: An Emacs Binary without X Window System Support Group: Productivity/Text/Editors -%description -n emacs-nox +%description -n emacs-nox%{customcc_pkg_suffix} Eight Megabytes And Constantly Swapping. Call it emacs-nox Love it or leave it. -%package -n emacs-x11 +%package -n emacs-x11%{customcc_pkg_suffix} Requires(post): fileutils -Requires: emacs = %{version}-%{release} +Requires: emacs%{customcc_pkg_suffix} = %{version}-%{release} %if %{with nativecomp} -Requires: emacs-eln = %{version} +Requires: emacs-eln%{customcc_pkg_suffix} = %{version} %endif Provides: emacs_program = %{version}-%{release} Requires: gnu-unifont-bitmap-fonts @@ -248,7 +251,7 @@ Enhances: libX11-6 Summary: GNU Emacs: Emacs binary with X Window System Support Group: Productivity/Text/Editors -%description -n emacs-x11 +%description -n emacs-x11%{customcc_pkg_suffix} Call it Emacs @@ -257,19 +260,19 @@ Love it or leave it. This is the Emacs b Support. %if %{with nativecomp} -%package -n emacs-eln +%package -n emacs-eln%{customcc_pkg_suffix} # Without the el.gz files a starting emacs with support of native compiled # lisp code will show an error # >> Symbol's value as variable is void: auto-save-list-file-prefix << # and exceeds the limit for open files as it opens warnings.elc several # times up to the set open file limit -Requires: emacs-el = %{version} +Requires: emacs-el%{customcc_pkg_suffix} = %{version} Summary: GNU Emacs-nox: Emacs Lisp native compiled binary files Group: Productivity/Text/Editors %define _libeln %{_prefix}/lib -%description -n emacs-eln +%description -n emacs-eln%{customcc_pkg_suffix} Emacs Lisp (Elisp) is the Lisp dialect used by the Emacs text editor family. GNU Emacs can currently execute Elisp code either interpreted or byte-interpreted after it has been compiled to byte-code. @@ -279,18 +282,18 @@ Compiler Collection (GCC) infrastructure as binary files and can be loaded and unloaded dynamically. %endif -%package -n emacs-el +%package -n emacs-el%{customcc_pkg_suffix} Requires: emacs = %{version}-%{release} Provides: emacs-devel = %{version}-%{release} Summary: Several Lisp Files for GNU Emacs Group: Development/Libraries/Other BuildArch: noarch -%description -n emacs-el +%description -n emacs-el%{customcc_pkg_suffix} Several Lisp files not needed for running GNU Emacs. Most of these files are pre-byte compiled and therefore not necessary. -%package -n emacs-info +%package -n emacs-info%{customcc_pkg_suffix} Summary: Info files for GNU Emacs Group: Documentation/Other %if 0%{?suse_version} <= 1500 @@ -299,19 +302,19 @@ Requires(preun):%install_info_prereq %endif BuildArch: noarch -%description -n emacs-info +%description -n emacs-info%{customcc_pkg_suffix} This package contains all the Info files for GNU Emacs. These files can be read online with GNU Emacs. They describe Emacs and some of its modes. -%package -n etags +%package -n etags%{customcc_pkg_suffix} Summary: Generate Tag Files for Use with Emacs Group: Development/Tools/Navigators Requires(post): coreutils update-alternatives Requires(preun):coreutils update-alternatives Provides: ctags:/usr/bin/etags -%description -n etags +%description -n etags%{customcc_pkg_suffix} ETags generates tag files from source code in Pascal, Cobol, Ada, Perl, LaTeX, Scheme, Emacs Lisp/Common Lisp, Postscript, Erlang, Python, Prolog, and most assembler-like syntaxes. @@ -343,6 +346,19 @@ popd %endif %build +%if %{?repo_cc:1} +export CC=%{repo_cc} +%endif +%if %{with nativecomp} +%if %{with nativecompaot} +NATIVECOMP_AOT="NATIVE_COMPILATION_AOT=yes" +%else +NATIVECOMP_AOT="NATIVE_COMPILATION_AOT=no" +%endif +%else +NATIVECOMP_AOT= +%endif + %if %{without autoconf} # We don't want to run autoconf if test configure.ac -nt aclocal.m4 -o m4/gnulib-comp.m4 -nt aclocal.m4 ; then @@ -516,7 +532,7 @@ fi ac_cv_lib_gif_EGifPutExtensionLast=yes export ac_cv_lib_gif_EGifPutExtensionLast -CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-nox\"'" ./configure ${COMP} ${PREFIX} ${NOX11} ${SYS} --with-dumping=pdumper +CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-nox\"'" ./configure ${NATIVECOMP_AOT} ${COMP} ${PREFIX} ${NOX11} ${SYS} --with-dumping=pdumper %make_build V=1 make -C lisp/ updates compile V=1 for i in $(find site-lisp/ -name '*.el'); do @@ -527,14 +543,14 @@ cp src/emacs.pdmp emacs-nox.pdmp find -name '*.eln' make distclean # -CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-gtk\"'" ./configure ${COMP} ${PREFIX} ${GTK} ${SYS} --with-dumping=pdumper +CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-gtk\"'" ./configure ${NATIVECOMP_AOT} ${COMP} ${PREFIX} ${GTK} ${SYS} --with-dumping=pdumper %make_build cp src/emacs emacs-gtk cp src/emacs.pdmp emacs-gtk.pdmp find -name '*.eln' make distclean # -CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-x11\"'" ./configure ${COMP} ${PREFIX} ${X11} ${SYS} --with-dumping=pdumper +CFLAGS="$CFLAGS -DPDMP_BASE='\"emacs-x11\"'" ./configure ${NATIVECOMP_AOT} ${COMP} ${PREFIX} ${X11} ${SYS} --with-dumping=pdumper %make_build cp src/emacs emacs-x11 cp src/emacs.pdmp emacs-x11.pdmp @@ -721,7 +737,7 @@ done %pre test -L usr/bin/emacs && rm -f usr/bin/emacs || true -%post -n emacs-nox +%post -n emacs-nox%{customcc_pkg_suffix} if test -e usr/share/emacs/site-lisp/auctex/font-latex.elc ; then owd=$(pwd) cd usr/share/emacs/site-lisp/auctex || exit 1 @@ -732,7 +748,7 @@ if test -e usr/share/emacs/site-lisp/auc cd $owd fi -%post -n emacs-x11 +%post -n emacs-x11%{customcc_pkg_suffix} if test -e usr/share/emacs/site-lisp/auctex/font-latex.elc ; then owd=$(pwd) cd usr/share/emacs/site-lisp/auctex || exit 1 @@ -744,14 +760,14 @@ if test -e usr/share/emacs/site-lisp/auc fi %if 0%{?suse_version} <= 1500 -%post info +%post -n emacs-info%{customcc_pkg_suffix} for f in %info_files; do test "$f" = "info.info" && continue test -e "$f" || f="${f}.info" %install_info --info-dir=%{_infodir} "%{_infodir}/$f.%{%ext_info}" done -%preun info +%preun -n emacs-info%{customcc_pkg_suffix} for f in %info_files; do test "$f" = "info.info" && continue test -e "$f" || f="${f}.info" @@ -759,14 +775,14 @@ for f in %info_files; do done %endif -%post -n etags +%post -n etags%{customcc_pkg_suffix} test -L %{_bindir}/ctags || rm -f %{_bindir}/ctags %{_sbindir}/update-alternatives --quiet --force --install \ %{_bindir}/ctags ctags %{_bindir}/gnuctags 10 \ --slave %{_mandir}/man1/ctags.1%{ext_man} ctags.1 %{_mandir}/man1/gnuctags.1%{ext_man} %{_sbindir}/update-alternatives --auto ctags -%postun -n etags +%postun -n etags%{customcc_pkg_suffix} if test ! -f %{_bindir}/gnuctags ; then %{_sbindir}/update-alternatives --quiet --remove ctags %{_bindir}/gnuctags fi @@ -3367,12 +3383,12 @@ fi %attr(660,games,games) %{_localstatedir}/games/emacs/snake-scores %attr(660,games,games) %{_localstatedir}/games/emacs/tetris-scores -%files -n emacs-nox +%files -n emacs-nox%{customcc_pkg_suffix} %defattr(-, root, root) %{_bindir}/emacs-nox %{_libexecdir}/emacs/%{version}/*-suse-linux*/emacs-nox.pdmp -%files -n emacs-x11 +%files -n emacs-x11%{customcc_pkg_suffix} %defattr(-, root, root) %{_bindir}/emacs-x11 %{_bindir}/emacs-gtk @@ -3397,7 +3413,7 @@ fi %{_datadir}/pixmaps/emacs.png %if %{with nativecomp} -%files -n emacs-eln -f eln.list +%files -n emacs-eln%{customcc_pkg_suffix} -f eln.list %defattr(-, root, root) %dir %{_libeln}/emacs/ %dir %{_libeln}/emacs/%{version}/ @@ -3406,14 +3422,14 @@ fi %dir %{_libeln}/emacs/%{version}/native-lisp/%{version}-*/preloaded/ %endif -%files -n emacs-info +%files -n emacs-info%{customcc_pkg_suffix} %defattr(-, root, root) %doc %{_infodir}/*%{ext_info} %if 0%{?include_info} == 0 %exclude %{_infodir}/info.info%{ext_info} %endif -%files -n emacs-el +%files -n emacs-el%{customcc_pkg_suffix} %defattr(-, root, root) %{_x11inc}/emacs-module.h %{_datadir}/emacs/%{version}/lisp/abbrev.el%{ext_el} @@ -4917,7 +4933,7 @@ fi %{_datadir}/emacs/%{version}/lisp/xt-mouse.el%{ext_el} %{_datadir}/emacs/%{version}/lisp/xwidget.el%{ext_el} -%files -n etags +%files -n etags%{customcc_pkg_suffix} %defattr(-,root,root) %doc etc/ETAGS.EBNF %doc etc/ETAGS.README
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor