Sophie

Sophie

distrib > Mandriva > 7.2 > i586 > media > main-src > by-pkgid > f193fc01ce1b99cd556d19ce5c722425 > files > 13

xemacs-21.1.12-2mdk.src.rpm

%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.