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