X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=make%2Flilypond.spec.in;h=7e653fef0392b5cd67abea1e1c91d4571f5eddee;hb=4a8e0de294608542396e58761b305cdcd7fd6055;hp=2f04d5d6a537746b641200179d960ce5a81a14ec;hpb=95246e47228482fbd2a99ec2d7f5d52b35cb545a;p=lilypond.git diff --git a/make/lilypond.spec.in b/make/lilypond.spec.in index 2f04d5d6a5..7e653fef03 100644 --- a/make/lilypond.spec.in +++ b/make/lilypond.spec.in @@ -1,48 +1,159 @@ +%define info yes + Name: lilypond Version: @TOPLEVEL_VERSION@ Release: 1 -Copyright: GPL +License: GPL Group: Applications/Publishing -Source0: pcnov095.win.tue.nl:/pub/lilypond/lilypond-@TOPLEVEL_VERSION@.tar.gz -Summary: A preprocessor to make TeX typeset music. -URL: http://www.stack.nl/~hanwen/lilypond -Packager: Han-Wen Nienhuys -Icon: lelie_icon.gif -Buildroot: /tmp/lilypond-install - -%description -LilyPond is the GNU Project music typesetter. This program converts -music definition files into visual or auditive output: it can typeset -formatted sheet music to a TeX file and and (mechanical) performances -to MIDI files. Features include multiple staffs, meters, clefs, keys, -lyrics, versatile input-language, cadenzas beams, slurs, triplets. +Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-@TOPLEVEL_VERSION@.tar.gz +Summary: A program for printing sheet music. +URL: http://www.cs.uu.nl/~hanwen/lilypond +# Icon: @package@-icon.gif +BuildRoot: /tmp/lilypond-install +Prereq: tetex + +%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. + +%package documentation +Summary: Prebuilt website containing all LilyPond documentation. +Group: Applications/Publishing +# BuildArchitectures: noarch + +%description documentation + +The documentation of LilyPond, both in HTML and PostScript. %prep %setup + %build -./configure --enable-checking --disable-debugging --enable-printing --prefix=/usr --enable-optimise --enable-shared + +# + +# DO NOT use % { configure } , it hardcodes all paths, runs libtool, +# so we can't do make prefix=/tmp/ install. + +# In fact, do not take out the spaces between % and { , because RPM will gladly +# do a substitution anyway. + +./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared + make all + +# urg +# %build documentation +# line 42: second %build +# ok, now make sure that lilypond package will succeed, +# even if documentation fails to build + +make -C Documentation || true +make htmldoc || true + %install + + + rm -rf $RPM_BUILD_ROOT -strip lily/out/lilypond mi2mu/out/mi2mu -make -C Documentation gifs -make prefix="$RPM_BUILD_ROOT/usr" install -%files -%doc @TEXT_DOCS@ -%doc @EXAMPLE_LYS@ -%doc Documentation/out/lelie_logo.gif -/usr/bin/convert-mudela -/usr/bin/mudela-book -/usr/bin/lilypond -/usr/lib/libflower.so -/usr/bin/mi2mu -/usr/man/man1/mi2mu.1 -/usr/man/man1/lilypond.1 -/usr/man/man1/mudela-book.1 -/usr/man/man1/convert-mudela.1 -/usr/lib/texmf/texmf/tex/lilypond/ -/usr/share/lilypond/ +mkdir -p $RPM_BUILD_ROOT/tmp/lilypond-rpm-doc + +strip lily/out/lilypond midi2ly/out/midi2ly +make prefix="$RPM_BUILD_ROOT%{_prefix}" install +%if info=="yes" +gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/* || true +%endif + + + +gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/* || true + + + + +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 + +# urg +#%install documentation +#line 63: second %install +# again, make sure that main package installs even if doco fails +mkdir -p htmldocs/out +tar -C htmldocs -xzf out/htmldoc.tar.gz || true +mkdir -p out/examples/ +tar -cf - input/ | tar -C out/examples/ -xf- || true + +%ifos cygwin +# urg, this symlink doesn't come through on cygwin +# this is the way symlinks work over there, let's fake one +rm -f $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm +echo '!c:\\texmf\\fonts\\tfm\\public\\cm' > $RPM_BUILD_ROOT%{_prefix}/share/lilypond/cmtfm +%{fix_suffixes} +%endif + %post -texhash # takes some time... +touch /tmp/.lilypond-install +rm `find /var/lib/texmf -name 'feta*pk -print' -or -name 'feta*tfm -print'` /tmp/.lilypond-install +%if info=="yes" +/sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true +%endif + +%preun +%if info=="yes" +if [ $1 = 0 ]; then + /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir || true +fi +%endif + + +%files +# hairy to hook it in (possibly non-existing) emacs +%doc lilypond-mode.el +%doc lilypond-font-lock.el + +%ifnos cygwin +%{_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/musedata2ly +%{_prefix}/bin/pmx2ly +%else +%{_prefix}/bin +%endif + +%if info=="yes" +%{_prefix}/info/lilypond.info.gz +%{_prefix}/info/lilypond-internals.info.gz +%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/pmx2ly.1.gz + +%{_prefix}/share/lilypond/ +%{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo +# urg? +%{_prefix}/../etc/profile.d/lilypond.* +%files documentation +# this gets too messy... +# %doc input/*.ly +# verbatim include of input: list the directory without issuing a %dir +%doc htmldocs/ +%doc out/examples/ +%doc mutopia/