]> git.donarmstrong.com Git - lilypond.git/blob - make/lilypond.mandrake.spec.in
install-info quietly
[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 make -C mf/ pfa
56
57 # make info
58 make -C Documentation
59
60 # make  html
61 make web-doc top-web 
62
63 %install
64
65 # Create installation root folders
66 rm -rf $RPM_BUILD_ROOT
67 RPM_DOC_ROOT=$RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}
68 rm -rf $RPM_DOC_ROOT
69 mkdir -p $RPM_DOC_ROOT
70
71 strip lily/out/lilypond 
72 %makeinstall MAKE_PFA_FILES=1
73
74 %if %{info}
75   rm -f $RPM_BUILD_ROOT/%{_infodir}/dir
76   bzip2 $RPM_BUILD_ROOT%{_infodir}/*
77 %endif
78
79 mkdir -p $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
80 install -m 644 lilypond-mode.el lilypond-font-lock.el lilypond-indent.el lilypond.words $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/
81 install -m 644 lilypond-init.el $RPM_BUILD_ROOT%{_datadir}/emacs/site-lisp/site-start.d
82
83 bzip2 $RPM_BUILD_ROOT%{_mandir}/man1/*
84
85 mkdir -p $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d
86 cp buildscripts/out/lilypond-profile $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.sh
87 cp buildscripts/out/lilypond-login $RPM_BUILD_ROOT%{_prefix}/../etc/profile.d/lilypond.csh
88
89
90 # again, make sure that main package installs even if doco fails
91 mkdir -p web/out
92 tar -C web -xzf out/web.tar.gz 
93
94 # Menu
95 # Every entry must be changed according package specifications
96 # Pay attention to "section" "command" and "longtitle"
97
98 mkdir -p $RPM_BUILD_ROOT%{_menudir}
99 cat >$RPM_BUILD_ROOT%{_menudir}/%{name} <<EOF
100 ?package(%name):\
101   command="info %{name}"\
102   needs="text"\
103   icon="%{name}.xpm"\
104   section="Documentation"\
105   title="%{name}-info"\
106   longtitle="%{name} Info"
107 EOF
108   
109 cat >$RPM_BUILD_ROOT%{_menudir}/%{name}-documentation <<EOF
110 ?package(%name):\
111   command="\$BROWSER %{_docdir}/%{name}-documentation-%{version}/web/index.html"\
112   needs="X11"\
113   icon="%{name}.xpm"\
114   section="Documentation"\
115   title="%{name}-documentation"\
116   longtitle="%{name} Documentation"
117 EOF
118
119 # icon
120 install -d $RPM_BUILD_ROOT/%{_miconsdir}
121 install -d $RPM_BUILD_ROOT/%{_iconsdir}
122 install -d $RPM_BUILD_ROOT/%{_liconsdir}
123 install -m 644 Documentation/pictures/%{name}-16x16.xpm $RPM_BUILD_ROOT/%{_miconsdir}/%{name}.xpm
124 install -m 644 Documentation/pictures/%{name}-32x32.xpm $RPM_BUILD_ROOT/%{_iconsdir}/%{name}.xpm
125 install -m 644 Documentation/pictures/%{name}-48x48.xpm $RPM_BUILD_ROOT/%{_liconsdir}/%{name}.xpm
126
127 %post
128 %{update_menus}
129
130 touch /tmp/.lilypond-install
131 rm `find /var/lib/texmf -name 'feta*pk' -or -name 'feta*tfm' -or -name 'parmesan*pk' -or -name 'parmesan*tfm' -print` /tmp/.lilypond-install
132
133 %if %{info}
134   /sbin/install-info --quiet %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
135 %endif
136
137 /usr/X11R6/bin/mkfontdir %{_datadir}/lilypond/%{version}/fonts/type1/
138 chkfontpath --add=%{_datadir}/lilypond/%{version}/fonts/type1/
139
140 %preun
141
142 %if %{info}
143   if [ $1 = 0 ]; then
144     /sbin/install-info --quiet --delete %{_infodir}/lilypond.info.bz2 %{_infodir}/dir 
145   fi
146 %endif
147
148 rm -f %{_datadir}/lilypond/%{version}/fonts/type1/fonts.dir
149 chkfontpath --remove=%{_datadir}/lilypond/%{version}/fonts/type1/
150
151 %postun
152 %{clean_menus}
153
154 %clean
155 rm -rf $RPM_BUILD_ROOT
156
157 %files
158 %defattr(-, root, root)
159 %doc COPYING README.txt INSTALL.txt DEDICATION NEWS AUTHORS.txt THANKS
160
161 %{_datadir}/emacs/site-lisp/site-start.d/lilypond-*
162 %{_datadir}/emacs/site-lisp/lilypond*
163
164 %if %{info}
165   %{_infodir}/*
166 %endif
167
168 %{_datadir}/%{name}/%{version}/
169 %{_datadir}/locale/*/LC_MESSAGES/lilypond.mo
170 %{_prefix}/../etc/profile.d/lilypond.*
171 %_bindir/*
172 %_mandir/*
173 %_menudir/*
174 %_miconsdir/*
175 %_iconsdir/*
176 %_liconsdir/*
177
178 %files documentation
179 %defattr(-, root, root)
180
181 %doc web/
182
183 %changelog
184 * Fri Dec 01 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.9-1mdk
185 - set menu-items to lilypond-info and lilypond-documentation.
186
187 * Fri Nov 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.8-4mdk
188 - add pre/post-dependencies and menus with icon from source.
189
190 * Fri Oct 28 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.7.4-1mdk
191 - info, commented menu
192
193 * Fri Aug 30 2002 Heikki Johannes Junes <hjunes@cc.hut.fi> 1.6.0-1mdk
194 - Adapted from lilypond.redhat.skel and skeleton found in Mandrake's RPM-docs.
195 - TODO: info (?) and dependencies.
196
197 * Fri Jun 01 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.4.2-1mdk
198 - updated by Michael Brown <mbrown@linux-mandrake.com> :
199         - Upgraded to 1.4.2
200         - Changed URL
201         - Removed /etc/profile.d scripts: all TeX bits are now located properly
202         - Rearranged documentation
203         - Tidied spec file
204         - Updated README.first
205
206 * Mon Feb 26 2001 Lenny Cartier <lenny@mandrakesoft.com> 1.3.129-1mdk
207 - added in contribs by Michael Brown <mbrown@fensystems.co.uk> :
208         - Removed info files completely (couldn't get info reader to read them)
209         - TODO: Get this to work at some point (in the meantime, use documentation in lilypond-extras)
210
211 * Sat Feb 17 2001 Michael Brown <mbrown@fensystems.co.uk>
212 - Moved TeX font folders into the system TeX tree (this ensures that the /var/lib/texmf font cache is used instead of current folder)
213 - Added mktexlsr to post-install and post-uninstall scripts
214 - Patched scripts in /etc/profile.d to reflect changes to font locations
215 - Added QuickStart guide and Points to note sections to README.first (well worth reading)
216 - Fixed install-info and uninstall-info sections to use Mandrake's RPM macros :-)
217
218 * Tue Feb 13 2001 Michael Brown <mbrown@fensystems.co.uk>
219 - First Mandrake package
220 - spec file heavily adapted from PowerPC contribs.
221 - Note HTML documentation may contain duff links and may be incomplete.  Lots of warnings appear when building HTML docs.
222 - PostScript documentation is duplicated (how do you get an rpm package to contain a symlink?)
223 - Created README.first file