%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 <eric@caldera.de>, Mark Galassi <rosalia@galassi.org>

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*
