-# Does info really work?
%define info yes
%define name lilypond
%define version @TOPLEVEL_VERSION@
-%define release 1mdk
+%define release 4mdk
Summary: A program for printing sheet music.
Name: %{name}
License: GPL
Group: Publishing
URL: http://www.lilypond.org/
-Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz
-## Patch0: lilypond-GNUmakefile.in.patch.bz2
-Source1: %name-16x16.png.tar.bz2
-Source2: %name-32x32.png.tar.bz2
-Source3: %name-48x48.png.tar.bz2
+Source0: ftp.lilypond.org:/pub/LilyPond/development/lilypond-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-buildroot
-BuildRequires: guile guile-devel
-Requires: tetex
+BuildRequires: t1utils bison texinfo t1lib1-devel libstdc++5-devel libguile12-devel >= 1.6.4
+BuildRequires: gcc-c++ glibc-devel flex >= 2.5.4a-22mdk groff netpbm autotrace
+BuildRequires: ImageMagick >= 5.5.4.4 libMagick5.5.4-devel >= 5.5.4.4
+BuildRequires: ghostscript >= 7.05-53.2mdk mftrace >= 1.0.19 pfaedit >= 030822
+Requires: tetex tetex-latex chkfontpath XFree86 info-install
+PreReq: chkfontpath
+
%description
LilyPond is a music typesetter. It produces beautiful sheet music using a
-high level description file as input. Lilypond is part of the GNU project.
+high level description file as input. LilyPond is part of the GNU project.
LilyPond is split into two packages. The package "lilypond" provides the
core package, containing the utilities for converting the music source
-(.ly) files into printable output. The package "lilypond-extras" provides
-the full documentation, example .ly files for various features and the
-Mutopia project files (musical equivalent of the Gutenberg project - see
+(.ly) files into printable output. The package "lilypond-documentation"
+provides the full documentation, example .ly files for various features and
+the Mutopia project files (musical equivalent of the Gutenberg project - see
http://www.mutopiaproject.org for details).
If you are new to lilypond, you will almost certainly want to install the
-"lilypond-extras" package in addition to the "lilypond" package.
-
-## You may also wish to investigate the "denemo" package, which provides a
-## graphical front end to lilypond.
-##
-## See the file README.first for more information.
+"lilypond-documentation" package in addition to the "lilypond" package.
+%package -n liblilypond
+Summary: LilyPond libraries.
+License: GPL
+Group: System/Libraries
+Requires: lilypond >= %{version}
+
+%description -n liblilypond
+LilyPond libs
+
%package documentation
Summary: LilyPond documentation, examples and Mutopia files.
Group: Publishing
-Requires: lilypond
+Requires: %{name}
%description documentation
The documentation of LilyPond, both in HTML and PostScript, along with
%prep
rm -rf $RPM_BUILD_ROOT
-%setup -a 1
-## % patch0 -b .orig
+%setup
%build
# DO NOT use % { configure } , it hardcodes all paths, runs libtool,
# -- not sure what this comment means; it's a relic from the PPC spec file -- mbrown@fensystems.co.uk
##./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimising --enable-shared
## Add options if needed
-./configure --disable-checking --prefix=%{_prefix} --enable-optimising
-make MAKE_PFA_FILES=1 all
+
+#Fix conflicting php variable out=/dev/vc/
+unset out
+
+./configure --disable-checking --prefix=%{_prefix} --libdir=%{_libdir} --enable-optimising
+
+%make all
# make info
make -C Documentation
# make html
-make web-doc top-web
+make web
+make -C Documentation/user omf
%install
+#Fix conflicting php variable out=/dev/vc/
+unset out
+
# Create installation root folders
rm -rf $RPM_BUILD_ROOT
RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
mkdir -p $RPM_DOC_ROOT
strip lily/out/lilypond
-make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 all install
-# %{find_lang} %{name}
+%makeinstall
+local_lilypond_libdir=$RPM_BUILD_ROOT/%{_libdir}/%{name}/%{version}
-%if info=="yes"
-gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
+%if %{info}
+ rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
+ bzip2 $RPM_BUILD_ROOT%{_infodir}/*
%endif
-# Move info and man files into correct locations
-# mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir}
-# mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir}
+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
-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/*
+bzip2 $RPM_BUILD_ROOT%{_mandir}/man1/*
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
-
-# again, make sure that main package installs even if doco fails
-mkdir -p web/out
-tar -C web -xzf out/web.tar.gz
-
-# Create documentation tree in %{_docdir}
-## mkdir -p $RPM_DOC_ROOT/HTML
-## tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz
-## ln -s HTML/input $RPM_DOC_ROOT/Examples
-## ln -s HTML/input/test $RPM_DOC_ROOT/Tricks
-
-## mkdir -p $RPM_DOC_ROOT/Printable
-## ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz $RPM_DOC_ROOT/Printable/Manual.ps.gz
-## ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz $RPM_DOC_ROOT/Printable/Glossary.ps.gz
-## cp AUTHORS.txt COPYING DEDICATION NEWS README.txt VERSION $RPM_DOC_ROOT/README.first
+make prefix="$RPM_BUILD_ROOT%{_prefix}" webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/%{name}-documentation-%{version}/" out=www web-install
# Menu
# Every entry must be changed according package specifications
mkdir -p $RPM_BUILD_ROOT%{_menudir}
cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
-?package(%name): command="%{_bindir}/%{name}" needs="X11" \
-icon="%{name}.png" section="Publishing" \
-title="%{name}" longtitle="%{name}"
+?package(%name):\
+ command="info %{name}"\
+ needs="text"\
+ icon="%{name}.png"\
+ section="Documentation"\
+ title="%{name}-info"\
+ longtitle="%{name} Info"
EOF
+cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-documentation <<EOF
+?package(%name):\
+ command="\$BROWSER %{_docdir}/%{name}-documentation-%{version}/index.html"\
+ needs="X11"\
+ icon="%{name}.png"\
+ section="Documentation"\
+ title="%{name}-documentation"\
+ longtitle="%{name} Documentation"
+EOF
+
# icon
-install -d $RPM_BUILD_ROOT/%{_miconsdir}
install -d $RPM_BUILD_ROOT/%{_iconsdir}
-install -d $RPM_BUILD_ROOT/%{_liconsdir}
-bzcat %{SOURCE1} > $RPM_BUILD_ROOT/%{_miconsdir}/%{name}.png
-bzcat %{SOURCE2} > $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png
-bzcat %{SOURCE3} > $RPM_BUILD_ROOT/%{_liconsdir}/%{name}png
+install -m 644 Documentation/pictures/out-www/lelie-logo.png $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png
+
+%{find_lang} %{name}
%post
%{update_menus}
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 --quiet %{_infodir}/lilypond.info.bz2 %{_infodir}/dir
%endif
+/usr/X11R6/bin/mkfontdir %{_datadir}/lilypond/%{version}/fonts/type1/
+chkfontpath --add=%{_datadir}/lilypond/%{version}/fonts/type1/
+
+%post documentation
+%{update_menus}
+scrollkeeper-update
+
%preun
-%if info=="yes"
-if [ $1 = 0 ]; then
- /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
-fi
+%if %{info}
+ if [ $1 = 0 ]; then
+ /sbin/install-info --quiet --delete %{_infodir}/lilypond.info.bz2 %{_infodir}/dir
+ fi
%endif
-rm -f /usr/share/lilypond/%{version}/fonts/type1/fonts.dir
-chkfontpath --remove=/usr/share/lilypond/%{version}/fonts/type1/
+rm -f %{_datadir}/lilypond/%{version}/fonts/type1/fonts.dir
+chkfontpath --remove=%{_datadir}/lilypond/%{version}/fonts/type1/
%postun
%{clean_menus}
+%postun documentation
+%{clean_menus}
+scrollkeeper-update
+
%clean
-## This section is meant to clean the build directory tree, $RPM_BUILD_ROOT
rm -rf $RPM_BUILD_ROOT
-## %files -f %{name}.lang
-%files
-# The special tag %doc designates files being part of the documentation of the
-# package. The files so-called will be placed in /usr/doc/lilypond-%{version}/
-%doc COPYING README.txt INSTALL.txt DEDICATION NEWS AUTHORS.txt
-%{_datadir}/emacs/site-lisp/lilypond-*
-# is the following really started during startup of emacs?
+%files -f %{name}.lang
+%defattr(-, root, root)
+%doc COPYING README.txt INSTALL.txt DEDICATION NEWS.txt AUTHORS.txt THANKS
+
%{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
+%{_datadir}/emacs/site-lisp/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
+%if %{info}
+ %{_infodir}/*
%endif
-%{_prefix}/man/man1/abc2ly.1.bz2
-%{_prefix}/man/man1/as2text.1.bz2
-%{_prefix}/man/man1/convert-ly.1.bz2
-%{_prefix}/man/man1/etf2ly.1.bz2
-%{_prefix}/man/man1/lilypond.1.bz2
-%{_prefix}/man/man1/ly2dvi.1.bz2
-%{_prefix}/man/man1/midi2ly.1.bz2
-%{_prefix}/man/man1/lilypond-book.1.bz2
-%{_prefix}/man/man1/musedata2ly.1.bz2
-%{_prefix}/man/man1/mup2ly.1.bz2
-%{_prefix}/man/man1/pmx2ly.1.bz2
-
-%{_prefix}/share/%{name}/%{version}/
-%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo
+%{_datadir}/%{name}/%{version}/
+%{_datadir}/locale/*/LC_MESSAGES/lilypond.mo
%{_prefix}/../etc/profile.d/lilypond.*
%_bindir/*
+%_mandir/*
%_menudir/*
-%_miconsdir/*
-%_iconsdir/*
-%_liconsdir/*
+%_iconsdir/%{name}.*
+
+%files -n liblilypond
+%defattr(-,root,root)
+%{_libdir}/%{name}/%{version}/python/*.so
%files documentation
+%defattr(-, root, root)
-%doc web/
+%{_docdir}/*
+%{_datadir}/omf/lilypond/%{version}
+%{_menudir}/%{name}-documentation
%changelog
+* Thu Sep 01 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.4-4mdk
+- add target lilypond.words.
+
+* Sun Aug 25 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-3mdk
+- Fixed doc-path in menu.
+
+* Thu Aug 23 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.1-1mdk
+* Sun Aug 24 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-2mdk
+- Added Heikki Johannes Junes fix for confilcting PHP variable
+ out=/dev/vc/ by adding unset out before compiling
+- Compiled with recent guile = 1.6.4 and mftrace = 1.0.19
+- Changed icon to lilypond.png
+- Added menu and icons again
+
+* Thu Aug 07 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.0-1mdk
+- removed menu and icons, sync with redhat-spec
+
+* Thu Jun 12 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.23-1mdk
+- refreshed dependencies and file list.
+
+* Sat Feb 01 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.7.12-1mdk
+- Built for Mandrake 9.1
+
+* Fri Dec 01 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.9-1mdk
+- set menu-items to lilypond-info and lilypond-documentation.
+
+* Fri Nov 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.8-4mdk
+- add pre/post-dependencies and menus with icon from source.
+
+* Fri Oct 28 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.4-1mdk
+- info, commented menu
+
* Fri Aug 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.6.0-1mdk
- Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs.
- TODO: info (?) and dependencies.
-%changelog
* Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk
- updated by Michael Brown <mbrown@linux-mandrake.com> :
- Upgraded to 1.4.2