-
-%bcond_without pdump # portable dumper
-%bcond_with postgresql # enable postgresql support
-%bcond_with gtk # gtk enabled version
-
-%define ver 21.4
-%define basepkgver 1.81
+#
+# Conditional build:
+%bcond_without pdump # portable dumper
+%bcond_with postgresql # enable PostgreSQL support
+%bcond_with gtk # GTK+ enabled version
+#
+%define ver 21.5
+%define sver 27
+%define xver %{ver}-b%{sver}
+%define basepkgver 2.08
Summary: The XEmacs -- Emacs: The Next Generation
Summary(es): El editor XEmacs
Summary(ja): XEmacs ¥¨¥Ç¥£¥¿
Summary(ru): ÷ÅÒÓÉÑ GNU Emacs ÄÌÑ X Window System
Summary(uk): ÷ÅÒÓ¦Ñ GNU Emacs ÄÌÑ X Window System
Name: xemacs
-Version: %{ver}.14
-Release: 4
+Version: %{ver}.%{sver}
+Release: 1
License: GPL
Group: Applications/Editors/Emacs
-Source0: ftp://ftp.xemacs.org/xemacs/%{name}-%{ver}/%{name}-%{version}.tar.gz
-# Source0-md5: d3f0b4e26810de179e31100a83ee2e1d
-Source1: ftp://ftp.xemacs.org/xemacs/%{name}-%{ver}/%{name}-%{version}-elc.tar.gz
-# Source1-md5: 05408e9bb2c0a199528fa463c766a890
-Source2: ftp://ftp.xemacs.org/xemacs/packages/%{name}-base-%{basepkgver}-pkg.tar.gz
-# Source2-md5: da5dd98ad1163954f26abb8ce6d3b6fa
+Source0: http://ftp.xemacs.org/xemacs/xemacs-%{ver}/%{name}-%{version}.tar.gz
+# Source0-md5: c415348d58eb18a9f4ed57d97e2acc62
+Source2: http://ftp.xemacs.org/xemacs/packages/%{name}-base-%{basepkgver}-pkg.tar.gz
+# Source2-md5: 0cb5bfa17dab40ab16c4e7aec19ce2d4
Source3: %{name}.desktop
Source4: %{name}.ad-pl
Source5: %{name}-default.el
Source8: %{name}.png
Patch0: %{name}-info.patch
Patch1: %{name}-fix_ldflafs.patch
-Patch2: %{name}-ldscript.patch
Patch3: %{name}-no-memory-warnings.patch
+Patch4: %{name}-dump-paths-lispdir.patch
+Patch5: %{name}-destdir.patch
+Patch6: %{name}-do-not-create-backups-in-temp-directories.patch
+Patch7: %{name}-level3.patch
+Patch8: %{name}-ptmx.patch
+Patch9: %{name}-set-locale-to-c-when-not-supported-by-x.patch
+Patch10: %{name}-vendor.patch
URL: http://www.xemacs.org/
-BuildRequires: XFree86-devel
+# for X11/bitmaps/gray
BuildRequires: automake
-BuildRequires: motif-devel
-BuildRequires: zlib-devel
-BuildRequires: libtiff-devel
-BuildRequires: libjpeg-devel
-BuildRequires: libpng >= 1.0.8
-%if %{with postgresql}
-BuildRequires: postgresql-devel >= 7.1
-%endif
BuildRequires: gpm-devel
+%{?with_gtk:BuildRequires: gtk+-devel >= 1.2.10}
+BuildRequires: libjpeg-devel
+BuildRequires: libpng-devel >= 1.0.8
+BuildRequires: libtiff-devel
+BuildRequires: motif-devel
BuildRequires: ncurses-devel >= 5.0
-BuildRequires: gpm-devel
-%if %{with gtk}
-BuildRequires: gtk+-devel >= 1.2.10
-BuildRequires: glib-devel
-%endif
+%{?with_postgresql:BuildRequires: postgresql-devel >= 7.1}
+BuildRequires: sed >= 4.0
+BuildRequires: texinfo
+BuildRequires: xorg-data-xbitmaps
+BuildRequires: xorg-lib-libX11-devel
+BuildRequires: zlib-devel
+Requires: %{name}-common = %{version}-%{release}
Requires: ctags
-Requires: %{name}-common = %{version}
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
-%define _ulibdir /usr/lib
+%define _ulibdir /usr/lib
+%define _appdefsdir /usr/X11R6/lib/X11/app-defaults
%description
XEmacs is a highly customizable open source text editor and
Foundation. Wywodzi siê z wczesnych odmian GNU Emacs 19, wprowadza
wiele mi³ych ulepszeñ nie trac±c jednak wiêzi z oryginaln± wersj±.
-Ta dystrubucja XEmacsa zosta³a podzielona na wiele pakietów binarnych:
+Ta dystrybucja XEmacsa zosta³a podzielona na wiele pakietów binarnych:
xemacs-common - pakiet zawieraj±cy pliki wspó³dzielone przez pakiety
xemacs i xemacs-nox xemacs - XEmacs skompilowany ze wsparciem dla X11
Summary: Common part of XEmacs distribution
Summary(pl): Wspólne czê¶ci XEmacsa
Group: Applications/Editors/Emacs
-Provides: xemacs-base-pkg
Requires: emacscommon
+Provides: xemacs-base-pkg
%description common
Common files of XEmacs distribution. This package does not contain
Summary: XEmacs binary compiled without X11 support
Summary(pl): XEmacs skompilowany bez wsparcia dla X11
Group: Applications/Editors/Emacs
-Requires: %{name}-common = %{version}
-Provides: %{name} = %{version}
+Requires: %{name}-common = %{version}-%{release}
+Provides: %{name} = %{version}-%{release}
%description nox
XEmacs binary compiled with TTY support only, without X11 support.
Emacsa, to koniecznie zainstaluj ten pakiet.
%prep
-%setup -q -b1 -a2
+%setup -q -a2
%patch0 -p1
%patch1 -p1
-%patch2 -p1
-%ifarch alpha
+%ifarch alpha ia64
# disable memory_warnings() - it doesn't support memory model used on alpha
%patch3 -p1
%endif
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+rm lisp/startup.elc
+sed -i -e "s#@srcdir@#$PWD#" lisp/startup.el
%build
cp /usr/share/automake/config.sub .
export CFLAGS CPPFLAGS LDFLAGS sitelispdir
# no X
-./configure %{_target_platform} \
+%configure %{_target_platform} \
--prefix=%{_prefix} \
--infodir=%{_infodir} \
--mandir=%{_mandir}/man1 \
--datadir=%{_datadir} \
- --package_path="~/.xemacs::%{_datadir}/%{name}-packages" \
- --with-mule \
+ --with-package_path="~/.xemacs::%{_datadir}/%{name}-packages" \
+ --enable-mule \
--with-site-lisp \
%if %{with postgreql}
--with-postgresql \
%else
--without-postgresql \
%endif
- --without-sound \
+ --disable-sound \
--without-x11 \
--without-jpeg \
--without-png \
--without-xpm \
--with-gpm \
--with-ncurses \
- --with-database=no \
+ --enable-database=no \
+%if %{with pdump}
+ --enable-pdump=yes \
+%else
+ --enable-pdump=no \
+%endif
--without-tiff \
--without-dnet \
--without-ldap \
--without-dragndrop \
- --without-msw \
-%if %{without pdump}
- --pdump=no
-%endif
+ --without-msw
sitelispdir=%{_ulibdir}/%{name}/site-lisp \
-%{__make} \
+%{__make} -j1 \
CC="%{__cc}"
cp src/xemacs src/xemacs-nox
%if %{with pdump}
cp src/xemacs.dmp src/xemacs-nox.dmp
%endif
cp lib-src/gnuserv lib-src/gnuserv-nox
-%{__make} distclean
+%{__make} -j1 distclean
# X
./configure %{_target_platform} \
--infodir=%{_infodir} \
--mandir=%{_mandir}/man1 \
--datadir=%{_datadir} \
- --package_path="~/.xemacs::%{_datadir}/%{name}-packages" \
- --with-mule \
+ --with-package_path="~/.xemacs::%{_datadir}/%{name}-packages" \
+ --enable-mule \
--with-site-lisp \
%if %{with postgresql}
--with-postgresql \
%else
--without-postgresql \
%endif
- --without-sound \
+ --disable-sound \
--with-jpeg \
--with-png \
--with-xpm \
%else
--without-gtk \
%endif
-%if %{undefined gtk}
- --with-x11 --with-menubars=lucid --with-scrollbars=motif \
- --with-dialogs=motif --with-widgets=motif \
+%if %{undefined gtk}
+ --with-x11 --enable-menubars=lucid --enable-scrollbars=motif \
+ --enable-dialogs=motif --enable-widgets=motif \
%endif
- --with-database=no \
- --with-gnome=no \
+ --enable-database=no \
+ --enable-gnome=no \
--without-tiff \
--without-dnet \
--without-ldap \
--without-dragndrop \
--without-msw \
-%if %{without pdump}
- --pdump=no
-%endif
+%if !%{with pdump}
+ --pdump=no
+%endif
# if you want to xemacs sings and plays sounds add option
-# --with-sound=native
+# --enable-sound=native
# --lispdir=%{_datadir}/%{name}/lisp \
# --pkgdir=%{_datadir}/%{name}/lisp \
# --with-session=yes \
sitelispdir=%{_ulibdir}/%{name}/site-lisp \
-%{__make} \
+%{__make} -j1 \
CC="%{__cc}"
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_applnkdir}/Editors,%{_pixmapsdir},/var/lock/xemacs} \
- $RPM_BUILD_ROOT{%{_mandir}/{ja/man1,man1},%{_prefix}/X11R6/lib/X11/app-defaults/pl} \
+install -d $RPM_BUILD_ROOT{%{_desktopdir},%{_pixmapsdir},/var/lock/xemacs} \
+ $RPM_BUILD_ROOT{%{_mandir}/{ja/man1,man1},%{_appdefsdir}/pl} \
$RPM_BUILD_ROOT%{_datadir}/%{name}/lisp \
$RPM_BUILD_ROOT%{_ulibdir}/%{name} \
$RPM_BUILD_ROOT%{_datadir}/%{name}-packages/{etc,lib-src}
%{__make} install-arch-dep install-arch-indep \
- prefix=$RPM_BUILD_ROOT%{_prefix} \
- infodir=$RPM_BUILD_ROOT%{_infodir} \
- mandir=$RPM_BUILD_ROOT%{_mandir}/man1 \
- datadir=$RPM_BUILD_ROOT%{_datadir} \
+ DESTDIR=$RPM_BUILD_ROOT \
+ prefix=%{_prefix} \
+ infodir=%{_infodir} \
+ mandir=%{_mandir}/man1 \
+ datadir=%{_datadir} \
-install %{SOURCE3} $RPM_BUILD_ROOT%{_applnkdir}/Editors/xemacs.desktop
+install %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
( cd $RPM_BUILD_ROOT%{_datadir}/%{name}-packages; gzip -dc %{SOURCE2} | tar xf - )
install %{SOURCE7} $RPM_BUILD_ROOT%{_datadir}/%{name}-packages/lisp/ogony-nomule.el
install %{SOURCE8} $RPM_BUILD_ROOT%{_pixmapsdir}
-#mv $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{version}/%{_target_platform}/config.values $RPM_BUILD_ROOT%{_ulibdir}/%{name}
+#mv $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{version}/*-linux/config.values $RPM_BUILD_ROOT%{_ulibdir}/%{name}
[ -d $RPM_BUILD_ROOT%{_datadir}/%{name}/site-lisp ] || \
install -d $RPM_BUILD_ROOT%{_datadir}/%{name}/site-lisp
ln -s %{_datadir}/%{name}/site-lisp $RPM_BUILD_ROOT%{_ulibdir}/%{name}/site-lisp
-install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}%{_sysconfdir}/Emacs.ad \
- $RPM_BUILD_ROOT%{_prefix}/X11R6/lib/X11/app-defaults/Emacs
-install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}%{_sysconfdir}/Emacs.ad \
- $RPM_BUILD_ROOT%{_prefix}/X11R6/lib/X11/app-defaults/pl/Emacs
-cat %{SOURCE4} >>$RPM_BUILD_ROOT%{_prefix}/X11R6/lib/X11/app-defaults/pl/Emacs
+install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{xver}%{_sysconfdir}/Emacs.ad \
+ $RPM_BUILD_ROOT%{_appdefsdir}/Emacs
+install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{xver}%{_sysconfdir}/Emacs.ad \
+ $RPM_BUILD_ROOT%{_appdefsdir}/pl/Emacs
+cat %{SOURCE4} >>$RPM_BUILD_ROOT%{_appdefsdir}/pl/Emacs
-mv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}%{_sysconfdir}/xemacs-ja.1 \
- $RPM_BUILD_ROOT%{_mandir}/ja/man1/xemacs.1
+#mv $RPM_BUILD_ROOT%{_datadir}/%{name}-%{xver}%{_sysconfdir}/xemacs-ja.1 \
+# $RPM_BUILD_ROOT%{_mandir}/ja/man1/xemacs.1
-mv -f $RPM_BUILD_ROOT%{_bindir}/xemacs-%{version} \
+mv -f $RPM_BUILD_ROOT%{_bindir}/xemacs-%{xver} \
$RPM_BUILD_ROOT%{_bindir}/xemacs
%if %{with pdump}
-install src/xemacs.dmp $RPM_BUILD_ROOT/%{_bindir}
-%endif
+install src/xemacs.dmp $RPM_BUILD_ROOT%{_bindir}
+%endif
-find $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}/* -type f -name "ChangeLog*" | xargs gzip -9nf
+find $RPM_BUILD_ROOT%{_datadir}/%{name}-%{xver}/* -type f -name "ChangeLog*" | xargs gzip -9nf
install src/xemacs-nox $RPM_BUILD_ROOT%{_bindir}
%if %{with pdump}
install src/xemacs-nox.dmp $RPM_BUILD_ROOT%{_bindir}
-%endif
+%endif
# hack...
install lib-src/gnuserv-nox $RPM_BUILD_ROOT%{_bindir}
-mv -f $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{version}/%{_target_platform}/gnuserv $RPM_BUILD_ROOT%{_bindir}
+mv -f $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{xver}/*-linux*/gnuserv $RPM_BUILD_ROOT%{_bindir}
+
+# remove some .elc files
+find $RPM_BUILD_ROOT -name '_pkg.elc' -exec rm "{}" ";"
# remove .el file if corresponding .elc file exists
find $RPM_BUILD_ROOT -type f -name "*.el" | while read i; do test ! -f ${i}c || rm -f $i; done
rm -f $RPM_BUILD_ROOT%{_bindir}/{c,e}tags
# hmm, maybe xemacs-devel is necessary?
-rm -rf $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{version}/%{_target_platform}/include \
+rm -rf $RPM_BUILD_ROOT%{_ulibdir}/%{name}-%{xver}/*-linux/include \
$RPM_BUILD_ROOT%{_infodir}/dir* \
$RPM_BUILD_ROOT%{_infodir}/{info,standards,texinfo}.info*
%files
%defattr(644,root,root,755)
-%{_prefix}/X11R6/lib/X11/app-defaults/Emacs
-%lang(pl) %{_prefix}/X11R6/lib/X11/app-defaults/pl/Emacs
%attr(755,root,root) %{_bindir}/gnuattach
%attr(755,root,root) %{_bindir}/gnuclient
%attr(755,root,root) %{_bindir}/gnudoit
%attr(755,root,root) %{_bindir}/gnuserv
%attr(755,root,root) %{_bindir}/xemacs
%if %{with pdump}
-%attr(644,root,root) %{_bindir}/xemacs.dmp
+%{_bindir}/xemacs.dmp
%endif
%attr(755,root,root) %{_bindir}/ootags
%attr(755,root,root) %{_bindir}/ellcc
-%{_applnkdir}/Editors/xemacs.desktop
+%{_datadir}/%{name}-%{xver}/etc/custom
+%{_datadir}/%{name}-%{xver}/etc/eos
+%{_datadir}/%{name}-%{xver}/etc/toolbar
+%{_datadir}/%{name}-%{xver}/etc/*.png
+%{_datadir}/%{name}-%{xver}/etc/*.xbm
+%{_datadir}/%{name}-%{xver}/etc/*.xpm
+%{_appdefsdir}/Emacs
+%lang(pl) %{_appdefsdir}/pl/Emacs
+%{_desktopdir}/*.desktop
%{_pixmapsdir}/*
%{_mandir}/man1/gnuattach.1*
%{_mandir}/man1/gnuclient.1*
%{_mandir}/man1/gnudoit.1*
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/custom
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/eos
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/toolbar
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/*.png
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/*.xbm
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/*.xpm
+%{_mandir}/man1/gnuserv.1*
%files common
%defattr(644,root,root,755)
-%doc README GETTING.GNU.SOFTWARE PROBLEMS BUGS etc/{NEWS,MAILINGLISTS,TERMS,SERVICE}
-%dir %{_datadir}/%{name}-%{version}%{_sysconfdir}
-%{_datadir}/%{name}-%{version}%{_sysconfdir}/package-index.LATEST.pgp
-%doc %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL
-%doc %lang(de) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.de
-%doc %lang(fr) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.fr
-%doc %lang(hr) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.hr
-%doc %lang(ja) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.ja
-%doc %lang(ko) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.ko
-%doc %lang(nb) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.no
-%doc %lang(pl) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.pl
-%doc %lang(ro) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.ro
-%doc %lang(ru) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.ru
-%doc %lang(th) %{_datadir}/%{name}-%{version}%{_sysconfdir}/TUTORIAL.th
-%doc %{_datadir}/%{name}-%{version}%{_sysconfdir}/[A-SU-Z]*
-%doc %{_datadir}/%{name}-%{version}%{_sysconfdir}/refcard.ps.gz
-%doc %{_datadir}/%{name}-%{version}%{_sysconfdir}/refcard.tex
-%doc %{_datadir}/%{name}-%{version}%{_sysconfdir}/sample.*
+%doc README etc/NEWS
+%dir %{_datadir}/%{name}-%{xver}
+%dir %{_datadir}/%{name}-%{xver}/etc
+%{_datadir}/%{name}-%{xver}/etc/package-index.LATEST.gpg
+%doc %{_datadir}/%{name}-%{xver}/etc/TUTORIAL
+%doc %lang(de) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.de
+%doc %lang(fr) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.fr
+%doc %lang(hr) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.hr
+%doc %lang(ja) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.ja
+%doc %lang(ko) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.ko
+%doc %lang(nb) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.no
+%doc %lang(pl) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.pl
+%doc %lang(ro) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.ro
+%doc %lang(ru) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.ru
+%doc %lang(th) %{_datadir}/%{name}-%{xver}/etc/TUTORIAL.th
+%doc %{_datadir}/%{name}-%{xver}/etc/[A-SU-Z]*
+%doc %{_datadir}/%{name}-%{xver}/etc/refcard.ps.gz
+%doc %{_datadir}/%{name}-%{xver}/etc/refcard.tex
+%doc %{_datadir}/%{name}-%{xver}/etc/sample.*
+
+%{_datadir}/%{name}-%{xver}/etc/unicode
%{_ulibdir}/%{name}
%{_datadir}/%{name}
-%dir %{_datadir}/%{name}-%{version}
# do not know it is necessary
-%{_ulibdir}/%{name}-%{version}/%{_target_platform}/modules
-%attr(755,root,root) %{_ulibdir}/%{name}-%{version}/%{_target_platform}/[Dacdfghprsvwy]*
-%attr(755,root,root) %{_ulibdir}/%{name}-%{version}/%{_target_platform}/m[am]*
-%attr(755,root,root) %{_ulibdir}/%{name}-%{version}/%{_target_platform}/mov*
+%dir %{_ulibdir}/%{name}-%{xver}
+%dir %{_ulibdir}/%{name}-%{xver}/*-linux*
+%{_ulibdir}/%{name}-%{xver}/*-linux/modules
+%attr(755,root,root) %{_ulibdir}/%{name}-%{xver}/*-linux/[Dacdfghprsvwy]*
+%attr(755,root,root) %{_ulibdir}/%{name}-%{xver}/*-linux/m[am]*
+%attr(755,root,root) %{_ulibdir}/%{name}-%{xver}/*-linux/mov*
-%{_datadir}/%{name}-%{version}/lisp/
+%{_datadir}/%{name}-%{xver}/lisp
%dir %{_datadir}/%{name}-packages
-%{_datadir}/%{name}-packages%{_sysconfdir}
+%{_datadir}/%{name}-packages/etc
%{_datadir}/%{name}-packages/lisp
%{_datadir}/%{name}-packages/lib-src
%{_mandir}/man1/xemacs.1*
-%lang(ja) %{_mandir}/ja/man1/*
+#%lang(ja) %{_mandir}/ja/man1/*
-%{_infodir}/*
+%{_infodir}/*.info*
/var/lock/xemacs
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/xemacs-nox
%if %{with pdump}
-%attr(644,root,root) %{_bindir}/xemacs-nox.dmp
-%endif
+%{_bindir}/xemacs-nox.dmp
+%endif
%attr(755,root,root) %{_bindir}/gnuserv-nox
%files extras