%bcond_with postgresql # enable PostgreSQL support
%bcond_with gtk # GTK+ enabled version
#
-%define ver 21.4
-%define basepkgver 1.96
+%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}.17
+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: 835d539709fbbe8e30cd5de8b3541aa1
-Source1: ftp://ftp.xemacs.org/xemacs/%{name}-%{ver}/%{name}-%{version}-elc.tar.gz
-# Source1-md5: 8f678003cc78cd0faecc5ab9e3b8818f
-Source2: ftp://ftp.xemacs.org/xemacs/packages/%{name}-base-%{basepkgver}-pkg.tar.gz
-# Source2-md5: e6abbd4e2a18006e23d830b404e8e93e
+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
Patch1: %{name}-fix_ldflafs.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: gpm-devel
+%{?with_gtk:BuildRequires: gtk+-devel >= 1.2.10}
BuildRequires: libjpeg-devel
BuildRequires: libpng-devel >= 1.0.8
BuildRequires: libtiff-devel
-BuildRequires: gpm-devel
-%{?with_gtk:BuildRequires: gtk+-devel >= 1.2.10}
BuildRequires: motif-devel
BuildRequires: ncurses-devel >= 5.0
%{?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: ctags
Requires: %{name}-common = %{version}-%{release}
+Requires: ctags
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
%define _ulibdir /usr/lib
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
Emacsa, to koniecznie zainstaluj ten pakiet.
%prep
-%setup -q -b1 -a2
+%setup -q -a2
%patch0 -p1
%patch1 -p1
%ifarch alpha ia64
%patch3 -p1
%endif
%patch4 -p1
-rm lisp/dump-paths.elc
-sed -i -e "s#@srcdir@#$PWD#" lisp/dump-paths.el
+%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}
- --pdump=yes \
+ --enable-pdump=yes \
%else
- --pdump=no \
+ --enable-pdump=no \
%endif
--without-tiff \
--without-dnet \
--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 \
--without-gtk \
%endif
%if %{undefined gtk}
- --with-x11 --with-menubars=lucid --with-scrollbars=motif \
- --with-dialogs=motif --with-widgets=motif \
+ --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}
+%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 \
$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%{_desktopdir}
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 \
+install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{xver}%{_sysconfdir}/Emacs.ad \
$RPM_BUILD_ROOT%{_appdefsdir}/Emacs
-install $RPM_BUILD_ROOT%{_datadir}/%{name}-%{version}%{_sysconfdir}/Emacs.ad \
+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}
+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}
# 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*
%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
-%{_datadir}/%{name}-%{version}/etc/custom
-%{_datadir}/%{name}-%{version}/etc/eos
-%{_datadir}/%{name}-%{version}/etc/toolbar
-%{_datadir}/%{name}-%{version}/etc/*.png
-%{_datadir}/%{name}-%{version}/etc/*.xbm
-%{_datadir}/%{name}-%{version}/etc/*.xpm
+%{_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}/*
+%{_desktopdir}/*.desktop
%{_pixmapsdir}/*
%{_mandir}/man1/gnuattach.1*
%{_mandir}/man1/gnuclient.1*
%{_mandir}/man1/gnudoit.1*
+%{_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}
-%dir %{_datadir}/%{name}-%{version}/etc
-%{_datadir}/%{name}-%{version}/etc/package-index.LATEST.gpg
-%doc %{_datadir}/%{name}-%{version}/etc/TUTORIAL
-%doc %lang(de) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.de
-%doc %lang(fr) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.fr
-%doc %lang(hr) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.hr
-%doc %lang(ja) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.ja
-%doc %lang(ko) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.ko
-%doc %lang(nb) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.no
-%doc %lang(pl) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.pl
-%doc %lang(ro) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.ro
-%doc %lang(ru) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.ru
-%doc %lang(th) %{_datadir}/%{name}-%{version}/etc/TUTORIAL.th
-%doc %{_datadir}/%{name}-%{version}/etc/[A-SU-Z]*
-%doc %{_datadir}/%{name}-%{version}/etc/refcard.ps.gz
-%doc %{_datadir}/%{name}-%{version}/etc/refcard.tex
-%doc %{_datadir}/%{name}-%{version}/etc/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}
# do not know it is necessary
-%dir %{_ulibdir}/%{name}-%{version}
-%dir %{_ulibdir}/%{name}-%{version}/%{_target_platform}
-%{_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/etc
%{_datadir}/%{name}-packages/lib-src
%{_mandir}/man1/xemacs.1*
-%lang(ja) %{_mandir}/ja/man1/*
+#%lang(ja) %{_mandir}/ja/man1/*
%{_infodir}/*.info*
%defattr(644,root,root,755)
%attr(755,root,root) %{_bindir}/xemacs-nox
%if %{with pdump}
-%attr(644,root,root) %{_bindir}/xemacs-nox.dmp
+%{_bindir}/xemacs-nox.dmp
%endif
%attr(755,root,root) %{_bindir}/gnuserv-nox