* lily/music-iterator.cc (quit, do_quit): new function: break link
[lilypond.git] / make / lilypond.mandrake.spec.in
blob39e3ca4824707cc24d1621bafdb6010ea030077d
1 # Does info really work?
2 %define info yes
4 %define name lilypond
5 %define version @TOPLEVEL_VERSION@
6 %define release 1mdk
8 Summary: A program for printing sheet music.
9 Name: %{name}
10 Version: %{version}
11 Release: %{release}
12 License: GPL
13 Group: Publishing
14 URL: http://www.lilypond.org/
15 Source0: ftp.cs.uu.nl:/pub/GNU/LilyPond/development/lilypond-%{version}.tar.gz
16 ## Patch0: lilypond-GNUmakefile.in.patch.bz2
17 Source1: %name-16x16.png.tar.bz2
18 Source2: %name-32x32.png.tar.bz2
19 Source3: %name-48x48.png.tar.bz2
20 BuildRoot: %{_tmppath}/%{name}-buildroot
21 BuildRequires: guile guile-devel
22 Requires: tetex
24 %description
25 LilyPond is a music typesetter. It produces beautiful sheet music using a
26 high level description file as input. Lilypond is part of the GNU project.
28 LilyPond is split into two packages. The package "lilypond" provides the
29 core package, containing the utilities for converting the music source
30 (.ly) files into printable output. The package "lilypond-extras" provides
31 the full documentation, example .ly files for various features and the
32 Mutopia project files (musical equivalent of the Gutenberg project - see
33 http://www.mutopiaproject.org for details).
35 If you are new to lilypond, you will almost certainly want to install the
36 "lilypond-extras" package in addition to the "lilypond" package.
38 ## You may also wish to investigate the "denemo" package, which provides a
39 ## graphical front end to lilypond.
40 ##
41 ## See the file README.first for more information.
43 %package documentation
44 Summary: LilyPond documentation, examples and Mutopia files.
45 Group: Publishing
46 Requires: lilypond
48 %description documentation
49 The documentation of LilyPond, both in HTML and PostScript, along with
50 example input files and the files from the Mutopia project.
52 %prep
53 rm -rf $RPM_BUILD_ROOT
55 %setup -a 1
56 ## % patch0 -b .orig
58 %build
59 # DO NOT use % { configure } , it hardcodes all paths, runs libtool,
60 # so we can't do make prefix=/tmp/ install.
61 # -- not sure what this comment means; it's a relic from the PPC spec file -- mbrown@fensystems.co.uk
62 ##./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimise --enable-shared
63 ## Add options if needed
64 ./configure --disable-checking --prefix=%{_prefix} --enable-optimise
65 make MAKE_PFA_FILES=1 all
67 # make info
68 make -C Documentation
70 # make html
71 make web-doc top-web
73 %install
75 # Create installation root folders
76 rm -rf $RPM_BUILD_ROOT
77 RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
78 rm -rf $RPM_DOC_ROOT
79 mkdir -p $RPM_DOC_ROOT
81 strip lily/out/lilypond
82 make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 all install
83 # %{find_lang} %{name}
85 %if info=="yes"
86 gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
87 %endif
89 # Move info and man files into correct locations
90 # mv $RPM_BUILD_ROOT/usr/info $RPM_BUILD_ROOT%{_infodir}
91 # mv $RPM_BUILD_ROOT/usr/man $RPM_BUILD_ROOT%{_mandir}
93 mkdir -p $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
94 install -m 644 lilypond-mode.el lilypond-font-lock.el lilypond-indent.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/
95 install -m 644 lilypond-init.el $RPM_BUILD_ROOT/usr/share/emacs/site-lisp/site-start.d
97 gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/*
99 mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
100 cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
101 cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
104 # again, make sure that main package installs even if doco fails
105 mkdir -p web/out
106 tar -C web -xzf out/web.tar.gz
108 # Create documentation tree in %{_docdir}
109 ## mkdir -p $RPM_DOC_ROOT/HTML
110 ## tar -C $RPM_DOC_ROOT/HTML -xzf out/web.tar.gz
111 ## ln -s HTML/input $RPM_DOC_ROOT/Examples
112 ## ln -s HTML/input/test $RPM_DOC_ROOT/Tricks
114 ## mkdir -p $RPM_DOC_ROOT/Printable
115 ## ln -s ../HTML/Documentation/user/out-www/lilypond.ps.gz $RPM_DOC_ROOT/Printable/Manual.ps.gz
116 ## ln -s ../HTML/Documentation/user/out-www/glossary.ps.gz $RPM_DOC_ROOT/Printable/Glossary.ps.gz
117 ## cp AUTHORS.txt COPYING DEDICATION NEWS README.txt VERSION $RPM_DOC_ROOT/README.first
119 # Menu
120 # Every entry must be changed according package specifications
121 # Pay attention to "section" "command" and "longtitle"
123 mkdir -p $RPM_BUILD_ROOT%{_menudir}
124 cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
125 ?package(%name): command="%{_bindir}/%{name}" needs="X11" \
126 icon="%{name}.png" section="Publishing" \
127 title="%{name}" longtitle="%{name}"
130 # icon
131 install -d $RPM_BUILD_ROOT/%{_miconsdir}
132 install -d $RPM_BUILD_ROOT/%{_iconsdir}
133 install -d $RPM_BUILD_ROOT/%{_liconsdir}
134 bzcat %{SOURCE1} > $RPM_BUILD_ROOT/%{_miconsdir}/%{name}.png
135 bzcat %{SOURCE2} > $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png
136 bzcat %{SOURCE3} > $RPM_BUILD_ROOT/%{_liconsdir}/%{name}png
138 %post
139 %{update_menus}
141 touch /tmp/.lilypond-install
142 rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install
144 %if info=="yes"
145 /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
146 %endif
148 %preun
150 %if info=="yes"
151 if [ $1 = 0 ]; then
152 /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir
154 %endif
156 rm -f /usr/share/lilypond/%{version}/fonts/type1/fonts.dir
157 chkfontpath --remove=/usr/share/lilypond/%{version}/fonts/type1/
159 %postun
160 %{clean_menus}
162 %clean
163 ## This section is meant to clean the build directory tree, $RPM_BUILD_ROOT
164 rm -rf $RPM_BUILD_ROOT
166 ## %files -f %{name}.lang
167 %files
168 # The special tag %doc designates files being part of the documentation of the
169 # package. The files so-called will be placed in /usr/doc/lilypond-%{version}/
170 %doc COPYING README.txt INSTALL.txt DEDICATION NEWS AUTHORS.txt
171 %{_datadir}/emacs/site-lisp/lilypond-*
172 # is the following really started during startup of emacs?
173 %{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
175 %{_prefix}/bin/abc2ly
176 %{_prefix}/bin/as2text
177 %{_prefix}/bin/convert-ly
178 %{_prefix}/bin/etf2ly
179 %{_prefix}/bin/lilypond
180 %{_prefix}/bin/ly2dvi
181 %{_prefix}/bin/midi2ly
182 %{_prefix}/bin/lilypond-book
183 %{_prefix}/bin/mup2ly
184 %{_prefix}/bin/musedata2ly
185 %{_prefix}/bin/pmx2ly
187 %if info=="yes"
188 %{_prefix}/info/lilypond.info.gz
189 %{_prefix}/info/lilypond-internals.info.gz
190 %endif
192 %{_prefix}/man/man1/abc2ly.1.bz2
193 %{_prefix}/man/man1/as2text.1.bz2
194 %{_prefix}/man/man1/convert-ly.1.bz2
195 %{_prefix}/man/man1/etf2ly.1.bz2
196 %{_prefix}/man/man1/lilypond.1.bz2
197 %{_prefix}/man/man1/ly2dvi.1.bz2
198 %{_prefix}/man/man1/midi2ly.1.bz2
199 %{_prefix}/man/man1/lilypond-book.1.bz2
200 %{_prefix}/man/man1/musedata2ly.1.bz2
201 %{_prefix}/man/man1/mup2ly.1.bz2
202 %{_prefix}/man/man1/pmx2ly.1.bz2
204 %{_prefix}/share/%{name}/%{version}/
205 %{_prefix}/share/locale/*/LC_MESSAGES/lilypond.mo
206 %{_prefix}/../etc/profile.d/lilypond.*
207 %_bindir/*
208 %_menudir/*
209 %_miconsdir/*
210 %_iconsdir/*
211 %_liconsdir/*
213 %files documentation
215 %doc web/
217 %changelog
218 * Fri Aug 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.6.0-1mdk
219 - Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs.
220 - TODO: info (?) and dependencies.
222 %changelog
223 * Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk
224 - updated by Michael Brown <mbrown@linux-mandrake.com> :
225 - Upgraded to 1.4.2
226 - Changed URL
227 - Removed /etc/profile.d scripts: all TeX bits are now located properly
228 - Rearranged documentation
229 - Tidied spec file
230 - Updated README.first
232 * Mon Feb 26 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.3.129-1mdk
233 - added in contribs by Michael Brown <mbrown@fensystems.co.uk> :
234 - Removed info files completely (couldn't get info reader to read them)
235 - TODO: Get this to work at some point (in the meantime, use documentation in lilypond-extras)
237 * Sat Feb 17 2001 Michael Brown <mbrown@fensystems.co.uk>
238 - Moved TeX font folders into the system TeX tree (this ensures that the /var/lib/texmf font cache is used instead of current folder)
239 - Added mktexlsr to post-install and post-uninstall scripts
240 - Patched scripts in /etc/profile.d to reflect changes to font locations
241 - Added QuickStart guide and Points to note sections to README.first (well worth reading)
242 - Fixed install-info and uninstall-info sections to use Mandrake's RPM macros :-)
244 * Tue Feb 13 2001 Michael Brown <mbrown@fensystems.co.uk>
245 - First Mandrake package
246 - spec file heavily adapted from PowerPC contribs.
247 - Note HTML documentation may contain duff links and may be incomplete. Lots of warnings appear when building HTML docs.
248 - PostScript documentation is duplicated (how do you get an rpm package to contain a symlink?)
249 - Created README.first file