]> git.donarmstrong.com Git - lilypond.git/blob - make/lilypond.mandrake.spec.in
5404a1e035600b48a6fa2b4075ef83545002f160
[lilypond.git] / make / lilypond.mandrake.spec.in
1 %define info yes
2
3 %define name lilypond
4 %define version @TOPLEVEL_VERSION@
5 %define release 4mdk
6
7 Summary:        A program for printing sheet music.
8 Name:           %{name}
9 Version:        %{version}
10 Release:        %{release}
11 License:        GPL
12 Group:          Publishing
13 URL:            http://www.lilypond.org/
14 Source0:        ftp.lilypond.org:/pub/LilyPond/development/lilypond-%{version}.tar.bz2
15 BuildRoot:      %{_tmppath}/%{name}-buildroot
16 BuildRequires:  t1utils bison texinfo t1lib1-devel libstdc++5-devel libguile12-devel >= 1.6.4
17 BuildRequires:  gcc-c++ glibc-devel flex >= 2.5.4a-22mdk groff netpbm autotrace
18 BuildRequires:  ImageMagick >= 5.5.4.4 libMagick5.5.4-devel >= 5.5.4.4
19 BuildRequires:  ghostscript >= 7.05-53.2mdk mftrace >= 1.0.19 pfaedit >= 030822
20 Requires:       tetex tetex-latex chkfontpath XFree86 info-install
21 PreReq:         chkfontpath
22  
23
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.
27  
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-documentation" 
31 provides the full documentation, example .ly files for various features and 
32 the Mutopia project files (musical equivalent of the Gutenberg project - see
33 http://www.mutopiaproject.org for details).
34  
35 If you are new to lilypond, you will almost certainly want to install the
36 "lilypond-documentation" package in addition to the "lilypond" package.
37
38 %package -n liblilypond
39 Summary: LilyPond libraries.
40 License: GPL
41 Group: System/Libraries
42 Requires: lilypond >= %{version}
43
44 %description -n liblilypond
45 LilyPond libs
46  
47 %package documentation
48 Summary: LilyPond documentation, examples and Mutopia files.
49 Group: Publishing
50 Requires: %{name}
51
52 %description documentation
53 The documentation of LilyPond, both in HTML and PostScript, along with
54 example input files and the files from the Mutopia project.
55
56 %prep
57 rm -rf $RPM_BUILD_ROOT
58
59 %setup
60
61 %build
62 # DO NOT use % { configure } , it hardcodes all paths, runs libtool,
63 # so we can't do make prefix=/tmp/ install.
64 # -- not sure what this comment means; it's a relic from the PPC spec file -- mbrown@fensystems.co.uk
65 ##./configure --disable-checking --disable-debugging --enable-printing --prefix=%{_prefix} --disable-optimising --enable-shared
66 ## Add options if needed
67
68 #Fix conflicting php variable out=/dev/vc/
69 unset out
70
71 ./configure --disable-checking --prefix=%{_prefix} --libdir=%{_libdir} --enable-optimising
72
73 %make MAKE_PFA_FILES=1 all
74 make -C mf/ pfa
75
76 # make info
77 make -C Documentation
78
79 # make  html
80 make web
81 make -C Documentation/user omf
82
83 %install
84
85 #Fix conflicting php variable out=/dev/vc/
86 unset out
87
88 # Create installation root folders
89 rm -rf $RPM_BUILD_ROOT
90 RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
91 rm -rf $RPM_DOC_ROOT
92 mkdir -p $RPM_DOC_ROOT
93
94 strip lily/out/lilypond 
95 %makeinstall MAKE_PFA_FILES=1
96 local_lilypond_libdir=$RPM_BUILD_ROOT/%{_libdir}/%{name}/%{version}
97
98 %if %{info}
99   rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
100   bzip2 $RPM_BUILD_ROOT%{_infodir}/*
101 %endif
102
103 mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
104 install -m 644 elisp/lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
105
106 bzip2 $RPM_BUILD_ROOT%{_mandir}/man1/*
107
108 mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
109 cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
110 cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
111
112 make prefix="$RPM_BUILD_ROOT%{_prefix}" webdir="$RPM_BUILD_ROOT%{_prefix}/share/doc/%{name}-documentation-%{version}/" out=www web-install
113
114 # Menu
115 # Every entry must be changed according package specifications
116 # Pay attention to "section" "command" and "longtitle"
117
118 mkdir -p $RPM_BUILD_ROOT%{_menudir}
119 cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
120 ?package(%name):\
121   command="info %{name}"\
122   needs="text"\
123   icon="%{name}.png"\
124   section="Documentation"\
125   title="%{name}-info"\
126   longtitle="%{name} Info"
127 EOF
128   
129 cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-documentation <<EOF
130 ?package(%name):\
131   command="\$BROWSER %{_docdir}/%{name}-documentation-%{version}/index.html"\
132   needs="X11"\
133   icon="%{name}.png"\
134   section="Documentation"\
135   title="%{name}-documentation"\
136   longtitle="%{name} Documentation"
137 EOF
138
139 # icon
140 install -d $RPM_BUILD_ROOT/%{_iconsdir}
141 install -m 644 Documentation/pictures/out-www/lelie-logo.png $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.png
142
143 %{find_lang} %{name}
144
145 %post
146 %{update_menus}
147
148 touch /tmp/.lilypond-install
149 rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install
150
151 %if %{info}
152   /sbin/install-info --quiet %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
153 %endif
154
155 /usr/X11R6/bin/mkfontdir %{_datadir}/lilypond/%{version}/fonts/type1/
156 chkfontpath --add=%{_datadir}/lilypond/%{version}/fonts/type1/
157
158 %post documentation
159 %{update_menus}
160 scrollkeeper-update
161
162 %preun
163
164 %if %{info}
165   if [ $1 = 0 ]; then
166     /sbin/install-info --quiet --delete %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
167   fi
168 %endif
169
170 rm -f %{_datadir}/lilypond/%{version}/fonts/type1/fonts.dir
171 chkfontpath --remove=%{_datadir}/lilypond/%{version}/fonts/type1/
172
173 %postun
174 %{clean_menus}
175
176 %postun documentation
177 %{clean_menus}
178 scrollkeeper-update
179
180 %clean
181 rm -rf $RPM_BUILD_ROOT
182
183 %files -f %{name}.lang
184 %defattr(-, root, root)
185 %doc COPYING README.txt INSTALL.txt DEDICATION NEWS.txt AUTHORS.txt THANKS
186
187 %{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
188 %{_datadir}/emacs/site-lisp/lilypond*
189
190 %if %{info}
191   %{_infodir}/*
192 %endif
193
194 %{_datadir}/%{name}/%{version}/
195 %{_datadir}/locale/*/LC_MESSAGES/lilypond.mo
196 %{_prefix}/../etc/profile.d/lilypond.*
197 %_bindir/*
198 %_mandir/*
199 %_menudir/*
200 %_iconsdir/%{name}.*
201
202 %files -n liblilypond
203 %defattr(-,root,root)
204 %{_libdir}/%{name}/%{version}/python/*.so
205
206 %files documentation
207 %defattr(-, root, root)
208
209 %{_docdir}/*
210 %{_datadir}/omf/lilypond/%{version}
211 %{_menudir}/%{name}-documentation
212
213 %changelog
214 * Thu Sep 01 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.4-4mdk
215 - add target lilypond.words.
216
217 * Sun Aug 25 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-3mdk
218 - Fixed doc-path in menu.
219
220 * Thu Aug 23 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.1-1mdk
221 * Sun Aug 24 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.8.1-2mdk
222 - Added Heikki Johannes Junes fix for confilcting PHP variable
223   out=/dev/vc/ by adding unset out before compiling
224 - Compiled with recent guile = 1.6.4 and mftrace = 1.0.19
225 - Changed icon to lilypond.png
226 - Added menu and icons again
227
228 * Thu Aug 07 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.8.0-1mdk
229 - removed menu and icons, sync with redhat-spec
230
231 * Thu Jun 12 2003 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.23-1mdk
232 - refreshed dependencies and file list.
233
234 * Sat Feb 01 2003 Torbjorn Turpeinen <tobbe@nyvalls.se> 1.7.12-1mdk
235 - Built for Mandrake 9.1
236
237 * Fri Dec 01 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.9-1mdk
238 - set menu-items to lilypond-info and lilypond-documentation.
239
240 * Fri Nov 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.8-4mdk
241 - add pre/post-dependencies and menus with icon from source.
242
243 * Fri Oct 28 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.4-1mdk
244 - info, commented menu
245
246 * Fri Aug 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.6.0-1mdk
247 - Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs.
248 - TODO: info (?) and dependencies.
249
250 * Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk
251 - updated by Michael Brown <mbrown@linux-mandrake.com> :
252         - Upgraded to 1.4.2
253         - Changed URL
254         - Removed /etc/profile.d scripts: all TeX bits are now located properly
255         - Rearranged documentation
256         - Tidied spec file
257         - Updated README.first
258
259 * Mon Feb 26 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.3.129-1mdk
260 - added in contribs by Michael Brown <mbrown@fensystems.co.uk> :
261         - Removed info files completely (couldn't get info reader to read them)
262         - TODO: Get this to work at some point (in the meantime, use documentation in lilypond-extras)
263
264 * Sat Feb 17 2001 Michael Brown <mbrown@fensystems.co.uk>
265 - Moved TeX font folders into the system TeX tree (this ensures that the /var/lib/texmf font cache is used instead of current folder)
266 - Added mktexlsr to post-install and post-uninstall scripts
267 - Patched scripts in /etc/profile.d to reflect changes to font locations
268 - Added QuickStart guide and Points to note sections to README.first (well worth reading)
269 - Fixed install-info and uninstall-info sections to use Mandrake's RPM macros :-)
270
271 * Tue Feb 13 2001 Michael Brown <mbrown@fensystems.co.uk>
272 - First Mandrake package
273 - spec file heavily adapted from PowerPC contribs.
274 - Note HTML documentation may contain duff links and may be incomplete.  Lots of warnings appear when building HTML docs.
275 - PostScript documentation is duplicated (how do you get an rpm package to contain a symlink?)
276 - Created README.first file