%define Name psgml %define Version 1.2.1 %define Release 5 %define emacsdir /usr/share/emacs/site-lisp Name : %{Name} Version : %{Version} Release : %{Release} group : Textprocessing/Editor Summary : PSGML emacs mode for SGML editing Copyright : Copyright (C) 1994-1998 Lennart Staflin, GPL Packager : Eric Bischoff , Mark Galassi Requires : sgml-common >= 0.2, emacs BuildRoot : /tmp/%{Name}-%{Version} Source0 : %{Name}.tgz # source: ftp://ftp.lysator.liu.se/pub/sgml/psgml-1.0.1.tar.gz Source1 : psgml-init.el.in %Description PSGML is an emacs mode that parses SGML DTDs and lets you edit SGML files with context sensitive tag completion and automatic generation of mandatory elements. %Prep %setup -c cp %{SOURCE1} %{Name} %Build cd %{Name} ./configure cat psgml-init.el.in | sed -e 's:@EMACSDIR@:%{emacsdir}:; s:@NAME@:%{Name}:' > psgml-init.el %Install DESTDIR=$RPM_BUILD_ROOT cd %{Name} mkdir -p $DESTDIR/%{emacsdir}/%{Name} mkdir -p $DESTDIR/usr/share/info if [ -s /usr/share/info/dir ] then cp /usr/share/info/dir $DESTDIR/usr/share/info/dir elif [ -s /usr/info/dir ] then cp /usr/info/dir $DESTDIR/usr/share/info/dir else touch $DESTDIR/usr/share/info/dir fi make install prefix=$DESTDIR/usr infodir=$DESTDIR/usr/share/info psgmldir=$DESTDIR/%{emacsdir}/%{Name} lispdir=$DESTDIR/%{emacsdir}/%{Name} cp psgml-init.el $DESTDIR/%{emacsdir} make install-info prefix=$DESTDIR/usr infodir=$DESTDIR/usr/share/info rm $DESTDIR/usr/share/info/dir %Post install-info --info-dir=/usr/share/info /usr/share/info/psgml.info install-info --info-dir=/usr/share/info /usr/share/info/psgml-api.info SS=%{emacsdir}/site-start.el # must version the load since the old postun runs *after* the new post... V=%{Version}-%{Release} if [ ! -e $SS ]; then touch $SS; fi if grep -q psgml-auto-setup-$V $SS then echo "psgml already in $SS" else echo "adding psgml hook to $SS" echo '(load "psgml-init") ;; psgml-auto-setup-'$V >> $SS fi %Postun install-info --info-dir=/usr/share/info --delete /usr/share/info/psgml.info install-info --info-dir=/usr/share/info --delete /usr/share/info/psgml-api.info SS=%{emacsdir}/site-start.el V=%{Version}-%{Release} if [ -e $SS ] then if grep -q psgml-auto-setup-$V $SS then echo "clearing psgml-init reference from $SS" grep -v psgml-auto-setup-$V $SS > $SS.new mv $SS.new $SS fi fi %Files %doc %{Name}/psgml.ps %{Name}/README.psgml %{emacsdir}/%{Name}/* %{emacsdir}/psgml-init.el /usr/share/info/psgml*