]> git.donarmstrong.com Git - lilypond.git/blob - make/lilypond.mandrake.spec.in
* VERSION (MY_PATCH_LEVEL): make 1.7.0
[lilypond.git] / make / lilypond.mandrake.spec.in
1 # Does info really work?
2 %define info yes
3
4 %define name lilypond
5 %define version @TOPLEVEL_VERSION@
6 %define release 1mdk
7
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
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-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).
34  
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.
37  
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.
42
43 %package documentation
44 Summary: LilyPond documentation, examples and Mutopia files.
45 Group: Publishing
46 Requires: lilypond
47
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.
51
52 %prep
53 rm -rf $RPM_BUILD_ROOT
54
55 %setup -a 1
56 ## % patch0 -b .orig
57
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-optimising --enable-shared
63 ## Add options if needed
64 ./configure --disable-checking --prefix=%{_prefix} --enable-optimising
65 make MAKE_PFA_FILES=1 all
66
67 # make info
68 make -C Documentation
69
70 # make  html
71 make web-doc top-web 
72
73 %install
74
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
80
81 strip lily/out/lilypond 
82 make prefix="$RPM_BUILD_ROOT%{_prefix}" MAKE_PFA_FILES=1 all install
83 # %{find_lang} %{name}
84
85 %if info=="yes"
86 gzip -9fn $RPM_BUILD_ROOT%{_prefix}/info/*
87 %endif
88
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}
92
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
96
97 gzip -9fn $RPM_BUILD_ROOT%{_prefix}/man/man1/*
98
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
102
103
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 
107
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
113
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
118
119 # Menu
120 # Every entry must be changed according package specifications
121 # Pay attention to "section" "command" and "longtitle"
122
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}"
128 EOF
129   
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
137
138 %post
139 %{update_menus}
140
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
143
144 %if info=="yes"
145 /sbin/install-info %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir 
146 %endif
147
148 %preun
149
150 %if info=="yes"
151 if [ $1 = 0 ]; then
152     /sbin/install-info --delete %{_prefix}/info/lilypond.info.gz %{_prefix}/info/dir 
153 fi
154 %endif
155
156 rm -f /usr/share/lilypond/%{version}/fonts/type1/fonts.dir
157 chkfontpath --remove=/usr/share/lilypond/%{version}/fonts/type1/
158
159 %postun
160 %{clean_menus}
161
162 %clean
163 ## This section is meant to clean the build directory tree, $RPM_BUILD_ROOT
164 rm -rf $RPM_BUILD_ROOT
165
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-*
174
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
186
187 %if info=="yes"
188 %{_prefix}/info/lilypond.info.gz
189 %{_prefix}/info/lilypond-internals.info.gz
190 %endif
191
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
203
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/*
212
213 %files documentation
214
215 %doc web/
216
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.
221
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
231
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)
236
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 :-)
243
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