]> git.pld-linux.org Git - packages/TiMidity++.git/blob - TiMidity++.spec
- fixed config/libs search path, rel. 3
[packages/TiMidity++.git] / TiMidity++.spec
1 #
2 # Conditional build:
3 %bcond_without  X       # without X based interfaces (implies libX11 deps)
4 %bcond_without  alsa    # without ALSA support
5 %bcond_with     arts    # enable ARTS support (implies also glib(2) deps)
6 %bcond_with     esd     # enable ESD support
7 %bcond_with     jack    # enable JACK support
8 %bcond_with     nas     # enable NAS support
9 %bcond_with     vorbis  # enable Ogg Vorbis support
10 #
11 Summary:        TiMidity++ - MIDI to WAV converter and player
12 Summary(pl.UTF-8):      TiMidity++ - konwerter do WAV oraz odtwarzacz plików MIDI
13 Summary(pt_BR.UTF-8):   Sintetizador MIDI por software
14 Summary(ru.UTF-8):      Проигрыватель MIDI файлов и конвертор их в WAV формат
15 Summary(uk.UTF-8):      Програвач MIDI-файлів та конвертор їх в WAV формат
16 Name:           TiMidity++
17 Version:        2.13.2
18 Release:        3
19 License:        GPL
20 Group:          Applications/Sound
21 Source0:        http://dl.sourceforge.net/timidity/%{name}-%{version}.tar.bz2
22 # Source0-md5:  a82ceeb2245e22f4de2b41da21eaee32
23 Source1:        http://archive.cs.umbc.edu/pub/midia/instruments.tar.gz
24 # Source1-md5:  4959787a78ee39d44a36185bd303cf20
25 Source2:        britepno.pat.bz2
26 # Source2-md5:  324e265362f812883024b58cf3470d1a
27 Source3:        pistol.pat.bz2
28 # Source3-md5:  f961325db679de6e0ea402ebe6a268f9
29 Source4:        timidity.cfg
30 Source5:        timidity.init
31 Source6:        timidity.sysconfig
32 Patch0:         %{name}-detach.patch
33 Patch1:         %{name}-gcc4.patch
34 Patch2:         %{name}-configure.patch
35 URL:            http://timidity.sourceforge.net/
36 %{?with_alsa:BuildRequires:     alsa-lib-devel}
37 %{?with_arts:BuildRequires:     arts-devel}
38 BuildRequires:  autoconf
39 %{?with_esd:BuildRequires:      esound-devel}
40 %{?with_X:BuildRequires:        gtk+-devel}
41 %{?with_jack:BuildRequires:     jack-audio-connection-kit-devel}
42 %{?with_vorbis:BuildRequires:   libvorbis-devel}
43 %{?with_X:BuildRequires:        motif-devel}
44 %{?with_nas:BuildRequires:      nas-devel}
45 BuildRequires:  ncurses-devel
46 BuildRequires:  rpmbuild(macros) >= 1.268
47 BuildRequires:  slang-devel >= 2.0.0
48 %{?with_X:BuildRequires:        tk-devel >= 8.3.2}
49 %{?with_X:Provides:     %{name}(X) = %{version}-%{release}}
50 Obsoletes:      timidity
51 Obsoletes:      timidity++
52 Obsoletes:      timidity++-X11
53 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
54
55 %description
56 TiMidity++ is a converter that converts some of MIDI files ( formats :
57 Standard MIDI file (MID), Recomposer files (RCP, R36, G18, G36) and
58 Module file (mod) ) into formatted audio file (ex. RIFF WAVE).
59 TiMidity uses Gravis Ultrasound-compatible patch files or Soundfonts
60 (sfx, sf2) to generate digital audio data from MIDI files. The digital
61 audio data generated by TiMidity can be stored in a file for
62 processing, or played in real time through an audio device. In real
63 time playing, TiMidity if able to show the lyric contained in KAR file
64 or WRD file.
65
66 %description -l pl.UTF-8
67 TiMidity++ jest konwerterem z niektórych plików MIDI (formaty:
68 Standard MIDI (MID), Recomposer (RCP, R36, G18, G36), Module (mod)) do
69 plików audio (np. RIFF WAVE). Do generowania danych z plików MIDI
70 TiMidity używa patchy takich jak Gravis Ultrasound albo Soundfontów
71 (sfx, sf2). Cyfrowe dane audio mogą być zapisane do pliku albo
72 odtwarzane w czasie rzeczywistym. Przy odtwarzaniu TiMidity może
73 pokazywać słowa zawarte w pliku KAR lub WRD.
74
75 %description -l pt_BR.UTF-8
76 O TiMidity++ é um sintetizador MIDI por software. Este pacote permite
77 ouvir arquivos do tipo MIDI com a mesma qualidade de som que as placas
78 que utilizam o recurso de "wavetable" via hardware (como a AWE32),
79 mesmo que esta não possua o recurso de "wavetable" (a SB16 por
80 exemplo).
81
82 %description -l ru.UTF-8
83 Проигрыватель MIDI файлов, не требующий поддержки инструментов MIDI
84 звуковой платой. Использует файлы инструментов в формате GUS/patch,
85 может также использовать данные в формате SoundFont. Обеспечивает
86 отличное качество звука MIDI за счет интенсивного использования
87 процессора.
88
89 %description -l uk.UTF-8
90 Програвач MIDI файлів, якому не потрібна підтримка інструментів MIDI
91 звуковою платою. Використовує файли інструментів у форматі GUS/patch,
92 розуміє також формат SoundFont. Забезпечує відмінну якість звуку MIDI
93 за рахунок інтенсивного використання процесора.
94
95 %package gspdir
96 Summary:        Directory for TiMidity++ instruments
97 Summary(pl.UTF-8):      Katalog na instrumenty TiMidity++
98 Group:          Applications/Sound
99
100 %description gspdir
101 Directory where TiMidity++ instruments should be placed in.
102
103 %description gspdir -l pl.UTF-8
104 Katalog, w którym powinny być instalowane instrumenty dla TiMidity++.
105
106 %package instruments
107 Summary:        Instruments for TiMidity++
108 Summary(pl.UTF-8):      Instrumenty dla TiMidity++
109 Summary(pt_BR.UTF-8):   Instrumentos básicos para o TiMidity++
110 Group:          Applications/Sound
111 Requires:       %{name}-gspdir = %{version}-%{release}
112 Obsoletes:      timidity-patches
113
114 %description instruments
115 Instruments for TiMidity++.
116
117 %description instruments -l pl.UTF-8
118 Instrumenty dla TiMidity++.
119
120 %description instruments -l pt_BR.UTF-8
121 Este pacote inclui um conjunto básico de instrumentos (chamados de
122 patches no meio musical) para o TiMidity++.
123
124 %package gtk
125 Summary:        GTK+ interface for TiMidity++
126 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę GTK+
127 Group:          Applications/Sound
128 Requires:       %{name}(X) = %{version}-%{release}
129
130 %description gtk
131 gtkmidi - GTK+ interface for TiMidity++.
132
133 %description gtk -l pl.UTF-8
134 gtkmidi - interfejs do TiMidity++ oparty o bibliotekę GTK+.
135
136 %package motif
137 Summary:        Motif interface for TiMidity++
138 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Motif
139 Group:          Applications/Sound
140 Requires:       %{name}(X) = %{version}-%{release}
141
142 %description motif
143 xmmidi - Motif interface for TiMidity++.
144
145 %description motif -l pl.UTF-8
146 xmmidi - interfejs do TiMidity++ oparty o bibliotekę Motif.
147
148 %package slang
149 Summary:        Slang interface for TiMidity++
150 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o bibliotekę Slang
151 Group:          Applications/Sound
152 Requires:       %{name} = %{version}-%{release}
153
154 %description slang
155 Slang interface for TiMidity++.
156
157 %description slang -l pl.UTF-8
158 Interfejs do TiMidity++ oparty o bibliotekę Slang.
159
160 %package tcltk
161 Summary:        Tcl/Tk interface for TiMidity++
162 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Tcl/Tk
163 Group:          Applications/Sound
164 Requires:       %{name}(X) = %{version}-%{release}
165
166 %description tcltk
167 tkmidi - Tcl/Tk interface for TiMidity++.
168
169 %description tcltk -l pl.UTF-8
170 tkmidi - interfejs do TiMidity++ oparty o Tcl/Tk.
171
172 %package vt100
173 Summary:        VT100 interface for TiMidity++
174 Summary(pl.UTF-8):      Interfejs TiMidity++ działający na terminalu VT100
175 Group:          Applications/Sound
176 Requires:       %{name} = %{version}-%{release}
177
178 %description vt100
179 VT100 interface for TiMidity++.
180
181 %description vt100 -l pl.UTF-8
182 Interfejs do TiMidity++ mogący działać na terminalu VT100.
183
184 %package xaw
185 Summary:        Athena interface for TiMidity++
186 Summary(pl.UTF-8):      Interfejs TiMidity++ oparty o Athena Widgets
187 Group:          Applications/Sound
188 Requires:       %{name}(X) = %{version}-%{release}
189
190 %description xaw
191 xawmidi - Athena interface for TiMidity++.
192
193 %description xaw -l pl.UTF-8
194 xawmidi - interfejs do TiMidity++ oparty o biblitekę widgetów Athena.
195
196 %package xskin
197 Summary:        "X Skin" interface for TiMidity++
198 Summary(pl.UTF-8):      Interfejs TiMidity++ "X Skin"
199 Group:          Applications/Sound
200 Requires:       %{name}(X) = %{version}-%{release}
201 Obsoletes:      TiMidity++ < 2.13.0-3
202
203 %description xskin
204 xskinmidi - "X Skin" interface for TiMidity++.
205
206 %description xskin -l pl.UTF-8
207 xskinmidi - interfejs do TiMidity++ "X Skin".
208
209 %package alsaseq
210 Summary:        TiMidity++ ALSA sequencer interface
211 Summary(pl.UTF-8):      TiMidity++ jako interfejs sekwencera ALSA
212 Group:          Applications/Sound
213 Requires(post,preun):   /sbin/chkconfig
214 Requires:       %{name} = %{version}-%{release}
215 Requires:       rc-scripts
216
217 %description alsaseq
218 The ALSA sequencer interface communicates between ALSA sequencer core
219 and timidity. The interface receives events from sequencer and plays
220 it in (quasi-)real-time. In this mode, TiMidity works purely as the
221 software real-time MIDI render, that is as a software MIDI synth
222 engine on ALSA.
223
224 %description alsaseq -l pl.UTF-8
225 Interfejs sekwencera ALSA komunikuje się między rdzeniem sekwencera
226 ALSA a timidity. Interfejs odbiera zdarzenia od sekwencera od odtwarza
227 je w czasie (prawie) rzeczywistym. W tym trybie TiMidity działa
228 wyłącznie jako programowy odtwarzacz MIDI czasu rzeczywistego, czyli
229 jako silnik syntezatora MIDI w architekturze ALSA.
230
231 %prep
232 %setup -q
233 %patch0 -p1
234 %patch1 -p1
235 %patch2 -p0
236
237 for f in doc/ja_JP.eucJP/README*; do
238         mv -f $f ${f}.ja
239 done
240
241 %build
242 cp -f /usr/share/automake/config.sub autoconf
243 %{__autoconf}
244
245 AUDIO=oss%{?with_alsa:,alsa}%{?with_arts:,arts}%{?with_esd:,esd}\
246 %{?with_jack:,jack}%{?with_nas:,nas}%{?with_vorbis:,vorbis}
247
248 %configure \
249         %{?with_alsa:--enable-alsaseq} \
250         --enable-audio=$AUDIO \
251         --enable-dynamic \
252         %{?with_X:--enable-gtk=dynamic} \
253         --enable-emacs=dynamic \
254         %{?with_X:--enable-motif=dynamic} \
255         --enable-ncurses=dynamic \
256         --enable-network \
257         --enable-server \
258         --enable-slang=dynamic \
259         %{?with_X:--enable-spectrogram} \
260         %{?with_X:--enable-tcltk=dynamic} \
261         --enable-vt100=dynamic \
262         %{?with_X:--enable-xaw=dynamic} \
263         %{?with_X:--enable-xskin=dynamic} \
264         --with-default-path=%{_sysconfdir} \
265         --with-elf \
266         %{!?with_X:--without-x}
267
268 %{__make} \
269         SHLIB_DIR=%{_libdir}/timidity
270
271 %install
272 rm -rf $RPM_BUILD_ROOT
273 install -d $RPM_BUILD_ROOT{%{_sysconfdir},%{_datadir}/GUSpatches,/etc/{rc.d/init.d,sysconfig}}
274
275 %{__make} install \
276         DESTDIR=$RPM_BUILD_ROOT \
277         SHLIB_DIR=%{_libdir}/timidity
278
279 ## based on timidity/timidity.c
280 ##ln -s timidity $RPM_BUILD_ROOT%{_bindir}/kmidi # does it work?
281 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/gtkmidi
282 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/tkmidi
283 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xmmidi
284 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xawmidi
285 ln -sf timidity $RPM_BUILD_ROOT%{_bindir}/xskinmidi
286
287 install -d $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5}
288 install doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1
289 install doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man5
290
291 install %{SOURCE4} $RPM_BUILD_ROOT%{_sysconfdir}
292
293 cd $RPM_BUILD_ROOT%{_datadir}/GUSpatches
294 tar xzf %{SOURCE1}
295 mv -f instruments/* .
296 rmdir instruments
297 bzip2 -cd %{SOURCE2} > britepno.pat
298 bzip2 -cd %{SOURCE3} > pistol.pat
299
300 install %{SOURCE5} $RPM_BUILD_ROOT/etc/rc.d/init.d/timidity
301 install %{SOURCE6} $RPM_BUILD_ROOT/etc/sysconfig/timidity
302
303 %clean
304 rm -rf $RPM_BUILD_ROOT
305
306 %post alsaseq
307 /sbin/chkconfig --add timidity
308 %service timidity restart "TiMidity++ ALSA sequencer interface"
309
310 %preun alsaseq
311 if [ "$1" = "0" ]; then
312         %service timidity stop
313         /sbin/chkconfig --del timidity
314 fi
315
316 %files
317 %defattr(644,root,root,755)
318 %doc AUTHORS ChangeLog* NEWS README TODO doc/C/{CHANGES*,FAQ,README.[!tx]*}
319 %lang(ja) %doc README.ja doc/ja_JP.eucJP/README.[!tx]*.ja
320 %attr(755,root,root) %{_bindir}/timidity
321 %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/timidity.cfg
322 %dir %{_libdir}/timidity
323 %attr(755,root,root) %{_libdir}/timidity/interface_e.so
324 %attr(755,root,root) %{_libdir}/timidity/interface_n.so
325 %{_libdir}/timidity/interface_e.txt
326 %{_libdir}/timidity/interface_n.txt
327 %if "%{_lib}" != "lib"
328 %dir %{_prefix}/lib/timidity
329 %endif
330 %{?with_X:%{_prefix}/lib/timidity/bitmaps}
331 %{_mandir}/man1/timidity.1*
332 %{_mandir}/man5/timidity.cfg.5*
333 %lang(ja) %{_mandir}/ja/man1/timidity.1*
334 %lang(ja) %{_mandir}/ja/man5/timidity.cfg.5*
335
336 %files gspdir
337 %defattr(644,root,root,755)
338 %dir %{_datadir}/GUSpatches
339
340 %files instruments
341 %defattr(644,root,root,755)
342 %{_datadir}/GUSpatches/*
343
344 %if %{with X}
345 %files gtk
346 %defattr(644,root,root,755)
347 %attr(755,root,root) %{_bindir}/gtkmidi
348 %attr(755,root,root) %{_libdir}/timidity/interface_g.so
349 %{_libdir}/timidity/interface_g.txt
350 %endif
351
352 %if %{with X}
353 %files motif
354 %defattr(644,root,root,755)
355 %attr(755,root,root) %{_bindir}/xmmidi
356 %attr(755,root,root) %{_libdir}/timidity/interface_m.so
357 %{_libdir}/timidity/interface_m.txt
358 %endif
359
360 %files slang
361 %defattr(644,root,root,755)
362 %attr(755,root,root) %{_libdir}/timidity/interface_s.so
363 %{_libdir}/timidity/interface_s.txt
364
365 %if %{with X}
366 %files tcltk
367 %defattr(644,root,root,755)
368 %doc doc/C/README.tk
369 %lang(ja) %doc doc/ja_JP.eucJP/README.tk.ja
370 %attr(755,root,root) %{_bindir}/tkmidi
371 %attr(755,root,root) %{_libdir}/timidity/interface_k.so
372 %{_libdir}/timidity/interface_k.txt
373 %{_prefix}/lib/timidity/tclIndex
374 %{_prefix}/lib/timidity/*.tcl
375 %endif
376
377 %files vt100
378 %defattr(644,root,root,755)
379 %attr(755,root,root) %{_libdir}/timidity/interface_T.so
380 %{_libdir}/timidity/interface_T.txt
381
382 %if %{with X}
383 %files xaw
384 %defattr(644,root,root,755)
385 %doc doc/C/README.xaw
386 %lang(ja) %doc doc/ja_JP.eucJP/README.xaw.ja
387 %attr(755,root,root) %{_bindir}/xawmidi
388 %attr(755,root,root) %{_libdir}/timidity/interface_a.so
389 %{_libdir}/timidity/interface_a.txt
390
391 %files xskin
392 %defattr(644,root,root,755)
393 %doc doc/C/README.xskin
394 %lang(ja) %doc doc/ja_JP.eucJP/README.xskin.ja
395 %attr(755,root,root) %{_bindir}/xskinmidi
396 %attr(755,root,root) %{_libdir}/timidity/interface_i.so
397 %{_libdir}/timidity/interface_i.txt
398 %endif
399
400 %if %{with alsa}
401 %files alsaseq
402 %defattr(644,root,root,755)
403 %attr(754,root,root) /etc/rc.d/init.d/timidity
404 %attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/timidity
405 %endif
This page took 0.072826 seconds and 3 git commands to generate.