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