-# -*- rpm-spec-mode -*-
+# -*-rpm-spec-mode-*-
%define info yes
+%define docdir %{_docdir}/lilypond/
Name: lilypond
Version: @TOPLEVEL_VERSION@
Release: 1
License: GPL
Group: Applications/Publishing
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
+Source0: ftp.lilypond.org:/pub/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz
Summary: Create and print music notation
URL: http://www.lilypond.org/
-BuildRoot: /tmp/lilypond-install
+BuildRoot: %{_tmppath}/%{name}-%{version}-root
-Buildrequires: t1utils bison flex mftrace texinfo
-Requires: tetex tetex-latex libstdc++ python
+
+Buildrequires: t1utils bison flex mftrace ImageMagick
+Buildrequires: texinfo >= 4.6
+Buildrequires: guile-devel >= 1.6.4-8
+Requires: tetex tetex-latex libstdc++ python tetex-dvips tetex-latex
+Requires: guile >= 1.6.4-8
%description
LilyPond lets you create music notation. It produces
beautiful sheet music from a high-level description file.
%package documentation
-Summary: Prebuilt website containing all LilyPond documentation.
+Summary: All LilyPond documentation, in HTML
Group: Applications/Publishing
# BuildArchitectures: noarch
%description documentation
-
-The documentation of LilyPond, both in HTML and PostScript.
+Documentation and example files of LilyPond. An index is available at
+%{docdir}/web/Documentation/out-www/index.html
%prep
%setup
%build
# DO NOT use % { configure } , it hardcodes all paths, runs libtool,
-# so we can't do make prefix=/tmp/ install.
+# so we can't do make prefixix=/tmp/ install.
# In fact, do not take out the spaces between % and { in the above comment,
# because RPM will gladly do a substitution anyway.
-./configure --disable-checking --prefix=%{_prefix} --enable-optimise
+./configure --disable-checking --prefix=%{_prefix} --enable-optimising
+
-make MAKE_PFA_FILES=1 all
+make all
# make info
make -C Documentation
# make html
-make web-doc top-web
+make web
+make -C Documentation/user local_package_docdir=%{docdir} omf
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc
-strip lily/out/lilypond
-make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 install
+make prefix="$RPM_BUILD_ROOT%{_prefix}" \
+ infodir="$RPM_BUILD_ROOT%{_infodir}" \
+ mandir="$RPM_BUILD_ROOT%{_mandir}" install
-%if info=="yes"
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
-%endif
+#emacs
+mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
+install -m 644 elisp/lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
+
+#manual pages
+gzip -9fn $RPM_BUILD_ROOT%{_mandir}/man1/*
-mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
-install -m 644 lilypond-mode.el lilypond-font-lock.el lilypond-indent.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
-install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/*
+# profile scripts.
+mkdir -p $RPM_BUILD_ROOT/etc/profile.d
+cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT/etc/profile.d/lilypond.sh
+cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT/etc/profile.d/lilypond.csh
-mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
-cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
-cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
+# web doc
+make prefix="$RPM_BUILD_ROOT%{_prefix}" \
+ infodir="$RPM_BUILD_ROOT%{_infodir}" \
+ webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/lilypond/" web-install
+# info
+%if %{info}
+rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
+gzip -9fn `find $RPM_BUILD_ROOT%{_infodir}/ -name '*.info'`
+%endif
-# again, make sure that main package installs even if doco fails
-mkdir -p web/out
-tar -C web -xzf out/web.tar.gz
%post
touch /tmp/.lilypond-install
rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install
-%if info=="yes"
-/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
+%if %{info}
+/sbin/install-info %{_infodir}/lilypond.info.gz %{_infodir}/dir
+/sbin/install-info %{_infodir}/music-glossary.info.gz %{_infodir}/dir
%endif
-
-/usr/X11R6/bin/mkfontdir /usr/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1/
-chkfontpath --add=/usr/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1/
+# chkfontpath --add=%{_datadir}/lilypond/@TOPLEVEL_VERSION@/fonts/type1/
echo 'Please logout first before using LilyPond.'
%preun
-
-%if info=="yes"
-if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
+if [ -f /usr/share/lilypond/%{version}/ls-R ]; then
+ rm -f /usr/share/lilypond/%{version}/ls-R
fi
+
+
+%if %{info}
+ /sbin/install-info --delete %{_infodir}/lilypond.info.gz %{_infodir}/dir
+ /sbin/install-info --delete %{_infodir}/music-glossary.info.gz %{_infodir}/dir
%endif
-rm -f /usr/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1/fonts.dir
-chkfontpath --remove=/usr/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1/
+# chkfontpath --remove=%{_datadir}/share/lilypond/@TOPLEVEL_VERSION@/fonts/type1n/
+
+%postun
+
+%post documentation
+scrollkeeper-update
+
+%postun documentation
+scrollkeeper-update
+
+
%files
%defattr(-, root, root)
-%{_datadir}/emacs/site-lisp/lilypond-*
-%{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
-
-%{_prefix}/bin/abc2ly
-%{_prefix}/bin/as2text
-%{_prefix}/bin/convert-ly
-%{_prefix}/bin/etf2ly
-%{_prefix}/bin/lilypond
-%{_prefix}/bin/ly2dvi
-%{_prefix}/bin/midi2ly
-%{_prefix}/bin/lilypond-book
-%{_prefix}/bin/mup2ly
-%{_prefix}/bin/musedata2ly
-%{_prefix}/bin/pmx2ly
-
-%if info=="yes"
-%{_prefix}/info/lilypond.info.gz
-%{_prefix}/info/lilypond-internals.info.gz
+%{_datadir}/emacs/site-lisp/lilypond*
+%{_datadir}/emacs/site-lisp/site-start.d/lilypond*
+
+%{_bindir}/abc2ly
+%{_bindir}/convert-ly
+%{_bindir}/etf2ly
+%{_bindir}/lilypond
+%{_bindir}/lilypond-bin
+%{_bindir}/midi2ly
+%{_bindir}/lilypond-book
+%{_bindir}/mup2ly
+%{_bindir}/musedata2ly
+
+%doc THANKS
+%doc COPYING
+%doc DEDICATION
+%doc README.txt
+%doc AUTHORS.txt
+%doc INSTALL.txt
+%doc NEWS.txt
+
+%if %{info}
+%{_infodir}/lilypond/
%endif
-%{_prefix}/man/man1/abc2ly.1.gz
-%{_prefix}/man/man1/as2text.1.gz
-%{_prefix}/man/man1/convert-ly.1.gz
-%{_prefix}/man/man1/etf2ly.1.gz
-%{_prefix}/man/man1/lilypond.1.gz
-%{_prefix}/man/man1/ly2dvi.1.gz
-%{_prefix}/man/man1/midi2ly.1.gz
-%{_prefix}/man/man1/lilypond-book.1.gz
-%{_prefix}/man/man1/musedata2ly.1.gz
-%{_prefix}/man/man1/mup2ly.1.gz
-%{_prefix}/man/man1/pmx2ly.1.gz
-
-%{_prefix}/share/lilypond/@TOPLEVEL_VERSION@/
-%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo
-%{_prefix}/../etc/profile.d/lilypond.*
+%{_mandir}/man1/abc2ly.1.gz
+%{_mandir}/man1/convert-ly.1.gz
+%{_mandir}/man1/etf2ly.1.gz
+%{_mandir}/man1/lilypond-bin.1.gz
+%{_mandir}/man1/lilypond.1.gz
+%{_mandir}/man1/midi2ly.1.gz
+%{_mandir}/man1/lilypond-book.1.gz
+%{_mandir}/man1/musedata2ly.1.gz
+%{_mandir}/man1/mup2ly.1.gz
+
+%{_datadir}/lilypond/@TOPLEVEL_VERSION@/
+%{_datadir}/locale/*/LC_MESSAGES/lilypond.mo
+
+%{_libdir}/lilypond/
+
+/etc/profile.d/lilypond.*
+
%files documentation
-%doc web/
-%doc input/
+%defattr(-, root, root)
+
+%{docdir}
+%{_datadir}/omf/lilypond/@TOPLEVEL_VERSION@
+