%define version 21.1.12 %define rversion 21.1.12 %define mversion 21.1 %define sumodate 2000-05-24 Summary: An X Window System based version of GNU Emacs. Name: xemacs Version: %{version} Release: 2mdk Copyright: GPL Group: Editors Source0: ftp://ftp.xemacs.org/pub/xemacs/xemacs-%{mversion}/xemacs-%{rversion}.tar.bz2 Source1: ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-mule-sumo-%{sumodate}.tar.bz2 Source2: ftp://ftp.xemacs.org/pub/xemacs/packages/xemacs-sumo-%{sumodate}.tar.bz2 Source3: ftp.cs.tu-berlin.de/pub/X/afterstep/mods/XEmacs/NeXT.XEmacs.tar.bz2 #Source4: ftp://ftp.mandrakesoft.com/pub/chmou/rpm-spec-mode-mdk.el Source5: site-start-mdk.el Source6: xemacs-comint-security.patch.bz2 Patch0: xemacs-21.1.9-infobz2.patch.bz2 Patch1: xemacs-21.1.9-mmencode.patch.bz2 Patch2: xemacs-21.1.9-kanjixawfix.patch.bz2 Patch3: xemacs-21.1.9-metamod.patch.bz2 Patch4: xemacs-21.1.9-rpmspecmode.patch.bz2 Patch5: xemacs-21.1.9-minignuxpm.patch.bz2 #Patch6: xemacs-21.1.9-21.1.10.patch.bz2 #Patch7: xemacs-21.1.10-21.1.11.patch.bz2 Provides: xemacs-noX xemacs-static xemacs-X11 Obsoletes: xemacs-noX xemacs-static xemacs-X11 Url: http://www.xemacs.org/ Buildroot: %{_tmppath}/xemacs-root Requires: ctags BuildRequires: faces-devel %ifarch alpha BuildConflicts: compat-Tru64 %endif %description XEmacs (and regular GNU Emacs, too) is a self-documenting, customizable, extensible, real-time display editor. XEmacs is self-documenting because at any time you can type in control-h to find out what your options are or to find out what a command does. XEmacs is customizable because you can change the definitions of XEmacs commands to anything you want. XEmacs is extensible because you can write entirely new commands--programs in the Lisp language to be run by Emacs' own Lisp interpreter. XEmacs includes a real-time display, which means that the text being edited is visible on the screen and is updated very frequently (usually after every character or pair of characters) as you type. To use XEmacs, you'll need to install the XEmacs binary. The xemacs package includes the standard XEmacs binary that most people will use. The XEmacs binary is dynamically linked, with both X11 and TTY (ncurses) support, but without mule (MUlti-Lingual Emacs, the Asian character set) support. %package el Summary: The .el source files for XEmacs. Group: Editors Requires: xemacs = %{version} %description el Xemacs-el is not necessary to run XEmacs. You'll only need to install it if you're planning on incorporating some Lisp programming into your XEmacs experience. %package info Summary: Information files for XEmacs. Group: Editors Requires: xemacs = %{version} %description info Install this package if you want the information files that are distributed with the XEmacs text editor. %package extras Summary: Files that XEmacs has in common with GNU Emacs. Group: Editors Requires: xemacs = %{version} %description extras Xemacs-extras includes files which are used by both GNU Emacs and XEmacs. If you don't have GNU Emacs installed, be sure to also install this package when you install the XEmacs text editor. %package mule Summary: The XEmacs binary with mule (MUlti-Lingual Emacs) support. Group: Editors Requires: xemacs = %{version} %description mule Xemacs-mule includes an XEmacs binary with support for MUlti-Lingual Emacs and the Asian character set. Install xemacs-mule (instead of xemacs) if you need to use Asian characters. Xemacs-mule is compiled with X11 support only, so you won't be able to use it in a TTY (ncurses) mode. %prep %setup -n xemacs-%{rversion} %patch0 -p1 %patch1 -p1 %patch2 -p1 %patch3 -p1 %patch4 -p1 %patch5 -p1 #%patch6 -p1 #%patch7 -p1 %build libtoolize --force for flag in $RPM_ARCH-mandrake-linux \ --with-gnu-make \ --with-gpm=no \ --with-sound=none \ --with-pop --mail-locking=flock \ --with-clash-detection \ --debug=no --error-checking=none \ --prefix=/usr --lockdir=/var/lock/xemacs \ ; do XEMACS_CONFIG="$XEMACS_CONFIG $flag" done CFLAGS="$RPM_OPT_FLAGS" export CFLAGS rm -rf building && mkdir -p building && cd building # standard: X11 and console support. No mule, though. { rm -rf $RPM_ARCH-linux mkdir $RPM_ARCH-linux cd $RPM_ARCH-linux ../../configure $XEMACS_CONFIG --with-x11 \ --with-dialogs=athena3d \ --with-scrollbars=lucid --with-menubars=lucid \ --with-xpm --with-xface \ --mandir=$RPM_BUILD_ROOT/%{_mandir}/man1 \ --with-mule=no --dynamic=yes \ --with-tty=yes --with-ncurses cd .. } # X11 and mule support. Mule in console is extremely lame, so we leave the # console out { rm -rf $RPM_ARCH-linux-mule mkdir -p $RPM_ARCH-linux-mule cd $RPM_ARCH-linux-mule ../../configure $XEMACS_CONFIG --with-x11 --with-tty=no \ --with-dialogs=athena3d \ --with-scrollbars=lucid --with-menubars=lucid \ --with-xpm --with-xface --dynamic=yes \ --mandir=$RPM_BUILD_ROOT/%{_mandir}/man1 \ --with-mule=yes cat >> Makefile <<EOF variant: \${GENERATED_HEADERS} \${MAKE_SUBDIR} EOF cd .. } # Now we build everything. Don't you *love* fast build machines ? { pushd $RPM_ARCH-linux make ldflags="-L/usr/X11R6/lib" popd } make -C $RPM_ARCH-linux-mule variant ldflags="-L/usr/X11R6/lib" #make -j $NRPROC -C $RPM_ARCH-linux-mule variant ldflags="-L/usr/X11R6/lib" ||\ #make -C $RPM_ARCH-linux-mule variant ldflags="-L/usr/X11R6/lib" %install rm -rf $RPM_BUILD_ROOT cd building #mkdir $RPM_BUILD_ROOT/usr/{share,share/man,share/man/man1} make install \ prefix=$RPM_BUILD_ROOT/usr \ lockdir=$RPM_BUILD_ROOT/var/lock/xemacs -C $RPM_ARCH-linux \ infodir=$RPM_BUILD_ROOT/%{_infodir}/xemacs install -m 755 $RPM_ARCH-linux-mule/src/xemacs $RPM_BUILD_ROOT%{_bindir}/xemacs-mule cd .. mkdir -p $RPM_BUILD_ROOT/usr/lib/xemacs tar -xyf %{SOURCE1} -C $RPM_BUILD_ROOT/usr/lib/xemacs tar -xyf %{SOURCE2} -C $RPM_BUILD_ROOT/usr/lib/xemacs #patch by hand pushd $RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages/lisp/xemacs-base/ bzcat %{SOURCE6}|patch -p0 ../../../../../bin/xemacs -batch -q -no-site-file -f batch-byte-compile comint.el passwd.el popd # now in rpm packages #Install rpm-spec-mode #pushd $RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages/lisp/prog-modes/ #install -m 644 %{SOURCE4} ./ ##../../../../../bin/xemacs -batch -q -no-site-file -f batch-byte-compile $(basename %{SOURCE4}) # #../../../../../bin/xemacs -batch -q -no-site-file -f batch-byte-compile auto-autoloads.el #popd find $RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages -name \*.pl -exec \ perl -pi -e "s|/usr/local/bin/perl5|%{_bindir}/perl|g; \ s|/usr/local/bin/perl|%{_bindir}/perl|g;" {} \; pushd $RPM_BUILD_DIR/%{name}-%{version}/ && { bzcat %{SOURCE3}|tar xvf - cp -avf NeXT.XEmacs/xemacs-icons/*xpm $RPM_BUILD_ROOT/usr/lib/xemacs-%{version}/etc/toolbar/ cp -f NeXT.XEmacs/README.NeXT.XEmacs . } && popd mv $RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages/info/* $RPM_BUILD_ROOT/%{_infodir}/xemacs/ rmdir $RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages/info/ # Build file listings. (and make movemail setgid mail on RHL) DIR="$RPM_BUILD_ROOT/usr/lib/xemacs-%{version}" PACKAGES=$RPM_BUILD_ROOT/usr/lib/xemacs/xemacs-packages MULEDIR=$RPM_BUILD_ROOT/usr/lib/xemacs/mule-packages INFO="*.info*" EL="*.el" find $DIR -type d | sed -e "s#^$RPM_BUILD_ROOT#%dir #g" > rpm-files find $DIR $PACKAGES -name $INFO -type f | sed -e "s#^$RPM_BUILD_ROOT##g" > rpm-info-files find $DIR $PACKAGES $MULEDIR -not -name $INFO -name $EL -type f | sed -e "s#^$RPM_BUILD_ROOT##g" > rpm-el-files find $DIR $PACKAGES -not -name $INFO -not -name $EL -type f | sed -e " s#^$RPM_BUILD_ROOT\(.*movemail\)#%attr(2755, root, mail) \1#g s#^$RPM_BUILD_ROOT##g " >> rpm-files find $MULEDIR -not -name $EL -type f | sed -e "s#^$RPM_BUILD_ROOT#%attr(-, root, root) #g" > rpm-mule-files ## mkdir -p $RPM_BUILD_ROOT/etc/emacs/ install -m644 %{SOURCE5} $RPM_BUILD_ROOT/etc/emacs/site-start-xemacs.el pushd $RPM_BUILD_ROOT/usr/lib/xemacs-%{version}/lisp/ && \ ln -s ../../../../etc/emacs/site-start-xemacs.el site-start.el && popd mkdir -p $RPM_BUILD_ROOT/%{_miconsdir} mkdir -p $RPM_BUILD_ROOT/%{_liconsdir} cp xemacs-mini.xpm $RPM_BUILD_ROOT/%{_miconsdir}/xemacs-menuicon.xpm cp etc/xemacs-icon.xpm $RPM_BUILD_ROOT/%{_liconsdir}/xemacs-menuicon.xpm mkdir -p $RPM_BUILD_ROOT/usr/lib/menu/ cat << "EOF" > $RPM_BUILD_ROOT/usr/lib/menu/xemacs ?package(xemacs):\ needs=X11\ section=Applications/Editors\ title="XEmacs"\ command="%{_bindir}/xemacs-%{version}"\ icon="xemacs-menuicon.xpm" EOF mkdir $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d %define info_files xemacs new-users-guide xemacs-faq internals cl custom external-widget standards term termcap texinfo widget %post %{update_menus} %postun %{clean_menus} %post info for f in %{info_files}; do /sbin/install-info %{_infodir}/xemacs/$f.info.bz2 %{_infodir}/dir --section="XEmacs" done %preun info if [ "$1" = 0 ]; then for f in %{info_files}; do /sbin/install-info --delete %{_infodir}/xemacs/$f.info.bz2 %{_infodir}/dir \ --section="XEmacs" done fi #%post extras #if [ ! -x %{_bindir}/etags ];then # ln -sf %{_bindir}/xetags %{_bindir}/etags #fi # #%preun extras #if [ -L /usr/bin/etags ];then # rm -f /usr/bin/etags #fi %files -f rpm-files %defattr(-,root, root) %doc BUGS CHANGES-beta ChangeLog README README.packages %config(noreplace) /etc/emacs/site-start-xemacs.el %{_miconsdir}/*.xpm %{_liconsdir}/*.xpm /usr/lib/menu/xemacs /usr/lib/xemacs-%{version}/lisp/site-start.el %{_bindir}/xemacs %{_bindir}/xemacs-%{version} %{_bindir}/gnuclient %{_bindir}/gnuattach %{_bindir}/gnudoit %{_mandir}/man1/xemacs.1* %{_mandir}/man1/gnuserv.1* %{_mandir}/man1/gnuclient.1* %{_mandir}/man1/gnuattach.1* %{_mandir}/man1/gnudoit.1* %dir /var/lock/xemacs %dir %{_sysconfdir}/emacs/site-start.d %files el -f rpm-el-files %defattr(-,root, root) %files info %defattr(-,root, root) %{_infodir}/xemacs/ %files extras %defattr(-,root, root) %{_bindir}/b2m %{_bindir}/etags %{_bindir}/ootags %{_bindir}/rcs-checkin %{_mandir}/man1/etags.1* %files mule -f rpm-mule-files %defattr(-, root, root) %{_bindir}/xemacs-mule %dir /usr/lib/xemacs/mule-packages %clean rm -rf $RPM_BUILD_ROOT %changelog * Fri Sep 8 2000 Warly <warly@mandrakesoft.com> 21.1.12-2mdk - remove X copy paste from site-start (already in xemacs it seems) * Tue Aug 29 2000 Warly <warly@mandrakesoft.com> 21.1.12-1mdk - new release * Wed Jul 19 2000 Warly <warly@mandrakesoft.com> 21.1.11-1mdk - new version - BM * Thu May 25 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-8mdk - On alpha BuildConflicts: with compat-Tru64 since we will get very wrong stuff. * Mon May 22 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-7mdk - Fix security bugs with comint.el mode when typing password (Credits go to Caldera). * Fri May 5 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 21.1.9-6mdk - remove nasty Chmouel's % stuff * Fri May 5 2000 Guillaume Cottenceau <gc@mandrakesoft.com> 21.1.9-5mdk - remove full path of icon in menu entry * Wed Apr 26 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-4mdk - Correct typo in site-start.el. * Mon Apr 3 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-3mdk - Remove emacs conflicts with xemacs-extras and add a workaround. - Corrected menu entry for icons. * Mon Mar 27 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-2mdk - Fix menu. - Move menu icon to /usr/share/icons/mini/. * Fri Mar 24 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.9-1mdk - Add site-spec-xemacs.el. - Add mini-gnu.xpm for menu. - Add menu-entry. - Move info to /usr/info/ and %post/%pre the installation. - Autoload rpm-spec-mode and associate it. - Fix meta like LordFredl want. - By default decompress bzip2 info files. - Add kanji display fix (debian). - Make safe mmencode (debian). - Add ootags in %files. - Fix groups. - Various change in rpm-spec-mode (flepied/pixel/me). - Upgrade descriptions. - 21.1.9. - Last sumo packages. - Remove xemacs-X11 package. * Wed Jan 19 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.8-6mdk - last Sumo package. - BuildRequires faces-devel. * Thu Jan 13 2000 Chmouel Boudjnah <chmouel@mandrakesoft.com> 21.1.8-5mdk - Fix build as non-root. * Thu Nov 18 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - Strip binary. - rBzip2 infopages. - last sumo package. * Tue Nov 9 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - 21.1.8. - Upgrade of sumo package. - Add rpm-spec-mode. - Remove xemacs-noX. - Remove xemacs-static. * Tue Sep 28 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - Last updated sumo package. - Readd Next.Icons - 21.1.7 * Tue Sep 07 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - 21.1.6 * Mon Jun 21 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - Mandrake adaptations.