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