%define name TiMidity++ %define version 2.13.2 %define release %mkrel 10 # Stick to /usr/lib/timidity on any platform # XXX probably better in /usr/share/timidity for arch independent data # but it's not worth splitting that much %define timiditydir %{_prefix}/lib/timidity # # When big change is involved (e.g. timidity.cfg change location), # so that new timidity binray and old patch RPM won't work together, # increment this number by 1 for all timidity related RPMs # %define patch_pkg_version 2 # # NOTE: When updating config for midia patch set, please refresh both # config file included here and the one in patch pkg # Summary: MIDI to WAVE converter and player Name: %{name} Version: %{version} Release: %{release} URL: http://timidity.sourceforge.net/ License: GPL Group: Sound BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-buildroot Source0: %{name}-%{version}.tar.bz2 Source1: http://www.timidity.jp/dist/cfg/timidity.cfg.bz2 Source2: timidity-emacs-mode.el.bz2 Source3: timidity.README.mdk.bz2 Source11: %{name}48.png Source12: %{name}32.png Source13: %{name}16.png # (Abel) change default config path to /etc/timidity/timidity.cfg Patch0: timidity-2.13.2-default-config-path.patch.bz2 # (Abel) it checked for speex.h, not speex/speex.h Patch1: timidity-2.13.2-speex-header-path.patch.bz2 # (Abel) fix timidity path in .el file and install .el file when # enabling dynamic module Patch2: timidity-2.13.2-emacs.patch.bz2 # (Abel) fix wishx path in tcl scripts Patch3: timidity-2.13.2-tcl.patch.bz2 # (Abel) CVS fixes for 2.13.2 Patch4: timidity-2.13.2-cvs-fixes.patch.bz2 Patch5: TiMidity++-2.13.2-gcc4.patch.bz2 Requires: timidity-instruments = %{patch_pkg_version} #Requires: libportaudio0 BuildRequires: alsa-lib-devel BuildRequires: arts-devel BuildRequires: emacs-bin BuildRequires: esound-devel BuildRequires: gtk2-devel BuildRequires: jackit-devel BuildRequires: lesstif-devel BuildRequires: libao-devel BuildRequires: libflac-devel BuildRequires: liboggflac-devel BuildRequires: nas-devel BuildRequires: ncurses-devel BuildRequires: oggvorbis-devel BuildRequires: portaudio-devel BuildRequires: speex-devel BuildRequires: tcl tk BuildRequires: Xaw3d-devel BuildRequires: slang-devel # (Abel) slang Doesn't need termcap-devel %description TiMidity is a MIDI to WAVE converter and player that uses Gravis Ultrasound(tm) or SoundFont(tm) patch files to generate digital audio data from general MIDI files. The audio data can be played through any sound device or stored on disk. %package interfaces-extra Summary: Extra GUI/text mode interfaces for TiMidity Group: Sound Requires: %{name} = %{version}-%{release} Requires: emacs-bin Requires: tclx %description interfaces-extra TiMidity is a MIDI to WAVE converter and player that uses Gravis Ultrasound(tm) or SoundFont(tm) patch files to generate digital audio data from general MIDI files. The audio data can be played through any sound device or stored on disk. Install this if you want to use TiMidity under other interfaces, such as Motif(or Lesstif), Tcl/Tk, emacs etc. %prep %setup -q %patch0 -p1 -b .default-path %patch1 -p1 -b .speex-header %patch2 -p1 -b .emacs %patch3 -p1 %patch4 -p1 -b .cvs %patch5 -p1 -b .gcc4 autoconf # little ugly trick to force install of tclIndex, running wish requires # X display touch interface/tclIndex %build # (Abel) options are very confusing: interface names after --enable-dynamic are # dynamically loaded, while those after --enable-interface are built-in # alsa sequencer interface must be static, otherwise it can't be daemonized, # nor can it use sched_setscheduler() to set real time priority %configure2_5x \ --enable-audio=oss,alsa,nas,arts,esd,portaudio,jack,ao,vorbis,flac,speex \ --enable-dynamic=dynamic,ncurses,slang,motif,tcltk,emacs,xaw,xskin,gtk \ --enable-interface=alsaseq \ --with-nas-includes=%{_prefix}/X11R6/includes \ --with-nas-library=%{_prefix}/X11R6/%{_lib}/libaudio.so \ --enable-network \ --enable-server %make %install rm -rf $RPM_BUILD_ROOT %makeinstall_std mkdir -p $RPM_BUILD_ROOT%{_datadir}/timidity $RPM_BUILD_ROOT%{_sysconfdir}/timidity bzip2 -dc %{SOURCE1} > $RPM_BUILD_ROOT%{_sysconfdir}/timidity/timidity-custom.cfg #menu mkdir -p $RPM_BUILD_ROOT%{_menudir} cat << EOF > $RPM_BUILD_ROOT%{_menudir}/%{name} ?package(%{name}): \ command="%{_bindir}/timidity -ig" \ icon="%{name}.png" \ needs="x11" \ title="TiMidity++" \ longtitle="MIDI file player" \ section="Multimedia/Sound" EOF #icons install -D -m 644 %{SOURCE11} $RPM_BUILD_ROOT%{_miconsdir}/%{name}.png install -D -m 644 %{SOURCE12} $RPM_BUILD_ROOT%{_iconsdir}/%{name}.png install -D -m 644 %{SOURCE13} $RPM_BUILD_ROOT%{_liconsdir}/%{name}.png # emacs mode mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d bzip2 -dc %{SOURCE2} > $RPM_BUILD_ROOT%{_sysconfdir}/emacs/site-start.d/timidity.el # japanese manpages mkdir -p $RPM_BUILD_ROOT%{_mandir}/ja/man{1,5} install -D -m 644 doc/ja_JP.eucJP/timidity.1 $RPM_BUILD_ROOT%{_mandir}/ja/man1/timidity.1 install -D -m 644 doc/ja_JP.eucJP/timidity.cfg.5 $RPM_BUILD_ROOT%{_mandir}/ja/man1/timidity.cfg.5 %clean rm -rf $RPM_BUILD_ROOT %post %update_menus %{_sbindir}/update-alternatives --install %{_sysconfdir}/timidity/timidity.cfg timidity.cfg %{_sysconfdir}/timidity/timidity-custom.cfg 10 %postun %clean_menus if [ "$?" = "0" ]; then %{_sbindir}/update-alternatives --remove timidity.cfg %{_sysconfdir}/timidity/timidity-custom.cfg fi %triggerpostun -- %{name} <= 2.13.2-1mdk %{_sbindir}/update-alternatives --install %{_sysconfdir}/timidity/timidity.cfg timidity.cfg %{_sysconfdir}/timidity/timidity-custom.cfg 10 %files %defattr(-,root,root) %doc AUTHORS ChangeLog COPYING INSTALL NEWS README doc/C/FAQ %doc doc/C/README.{alsaseq,dl,sf,m2m,mts} %config(noreplace) %{_sysconfdir}/timidity %{_bindir}/timidity %{_mandir}/man?/timidity* %lang(ja) %{_mandir}/ja/man?/* %{_datadir}/timidity %dir %{timiditydir} %{timiditydir}/interface_[gn].* %{_menudir}/%{name} %{_liconsdir}/%{name}.png %{_iconsdir}/%{name}.png %{_miconsdir}/%{name}.png %files interfaces-extra %defattr(-,root,root) %doc doc/C/README.{tk,xaw,xskin} %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*.el %{timiditydir}/interface_[aeikms].* %{_datadir}/emacs/site-lisp/*.el %{timiditydir}/*.tcl %{timiditydir}/tclIndex %{timiditydir}/bitmaps %changelog * Thu Sep 01 2005 Nicolas Lécureuil <neoclust@mandriva.org> 2.13.2-10mdk - Removing Requires as it is still done ( but i have not found yet how to really fix this! any ideas ?) - close ticket #18121 * Tue Aug 30 2005 Nicolas Lécureuil <neoclust@mandriva.org> 2.13.2-9mdk - Fix Requires * Thu Aug 04 2005 Nicolas Lécureuil <neoclust@mandriva.org> 2.13.2-8mdk - Fix Build for gcc4 * Sat Apr 30 2005 Christiaan Welvaart <cjw@daneel.dyndns.org> 2.13.2-7mdk - add BuildRequires: tcl liboggflac-devel * Fri Apr 29 2005 Stew Benedict <sbenedict@mandriva.com> 2.13.2-6mdk - rebuild for new libFLAC * Thu Mar 10 2005 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.13.2-5mdk - stick to timidity data in /usr/lib/timidity * Tue Feb 22 2005 Abel Cheung <deaddog@mandrake.org> 2.13.2-4mdk - assorted CVS fixes * Sun Feb 20 2005 Abel Cheung <deaddog@mandrake.org> 2.13.2-3mdk - Rebuild to fix changelog * Sun Feb 20 2005 Abel Cheung <deaddog@mandrake.org> 2.13.2-2mdk - *NOTE: Please only modify /etc/timidity/timidity-custom.cfg in the future and use update-alternatives to set it to manual mode, if you want to use your own patches and soundfonts - Tidy up this poor forgotten child - P0: Use /etc/timidity/timidity.cfg as default config location - P1: Fix speex header detection - P2: Fix default program path for emacs inteface and install emacs file when dynamic module is enabled - P3: Fix wishx path in tcl scripts - S2: Add emacs mode file - Make GUI interface modular - Split some interfaces into subpackage to reduce dependency - Include freepats config as a template into TiMidity, so that people can use it as basis, and modify it to suite their own taste * Fri Dec 03 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 2.13.2-1mdk - 2.13.2 - from UTUMI Hirosi <utuhiro78@yahoo.co.jp>: o new release o add --enable-xaw, --enable-audio=vorbis o (try $ timidity -iat) o modify BuildRequires for --enable-xaw and --enable-audio=vorbis o modify timidity.cfg (Source1) to reduce cpu usage o (disable chorus, resample, reverb) * Thu Jul 22 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 2.13.1-0.cvs20040722.1mdk - update to cvs to have gtk+ interface working * Sat May 22 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 2.13.0-2mdk - fix buildrequires * Wed Apr 21 2004 Per Ãyvind Karlsen <peroyvind@linux-mandrake.com> 2.13.0-1mdk - 2.13.0 - drop all patches (fixed upstream) - fix buildrequires (lib64..) - fix non-conffile-in-etc * Mon Jul 7 2003 Austin Acton <aacton@yorku.ca> 2.12.0-0.pre1.4mdk - update patch5 for better arts detection (David Walser <luigiwalser@yahoo.com>) * Thu May 29 2003 David Walser <luigiwalser@yahoo.com> 2.12.0-0.pre1.3mdk - from David Walser <luigiwalser@yahoo.com> : - adopt patches from RedHat (esd, arts, nas, dlopen) * Fri May 23 2003 Austin Acton <aacton@yorku.ca> 2.12.0-0.pre1.2mdk - from David Walser <luigiwalser@yahoo.com> : - fix buildrequires - bzip and include proper config file - requires instruments - enable network support and nas * Fri May 23 2003 Austin Acton <aacton@yorku.ca> 2.12.0-0.pre1.1mdk - add alsa support - add menu and icons - update description - buildrequires libalsa-devel, autoconf2.5, and libgtk+1.2-devel * Mon Jan 6 2003 Stew Benedict <sbenedict@mandrakesoft.com> 2.11.3-3mdk - rebuild for new glibc/rpm, installed but not packaged files * Mon Oct 14 2002 Thierry Vignaud <tvignaud@mandrakesoft.com> 2.11.3-2mdk - fix midi playing (Sylvain Vignaud) * Thu May 09 2002 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.11.3-1mdk - Bump up version. - Mark timidity.cfg as noreplace. - Add warning tht you _need_ some sort of sound samples for this to work. For Mandrake users you can install timidity-instruments. * Sat Apr 27 2002 Gwenole Beauchesne <gbeauchesne@mandrakesoft.com> 2.10.4-4mdk - Patch1: Fix build with gcc-3.1+. Don't include /usr/local/* in include and lib search path. That would have caused the configury to fail for some checks. * Tue Nov 27 2001 Yves Duret <yduret@mandrakesoft.com> 2.10.4-3mdk - fix rpmlint hints - add a timidity.cfg * Wed Jul 11 2001 Yves Duret <yduret@mandrakesoft.com> 2.10.4-2mdk - rebuild * Sun Apr 08 2001 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.10.4-1mdk - Roll out 2.10.4 for everyone. * Sat Apr 07 2001 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.10.3-2mdk - Touch /usr/share/timidity/timidity.cfg to make it work (Andrew Lee). - Make use of %%configure and %%makeinstall. * Sun Mar 11 2001 Yves Duret <yduret@mandrakesoft.com> 2.10.3-1mdk - version 2.10.3 (bug fixes) - changed Summary and %%description to something comprehensible - added a -q option to %%setup - spec clean up * Sun Dec 17 2000 Yves Duret <yduret@mandrakesoft.com> 2.10.2-2mdk - macroization - fix the rpmlint warnings * Fri Nov 03 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.10.2-1mdk - new and shiny vesrion. - reenable gtk (why was it ever disabled?!) - cleanup of stale patches. * Wed Oct 18 2000 Geoffrey Lee <snailtalk@mandrakesoft.com> 2.10.1-1mdk - shiny new version. - remove the strip and bzip2 code. - get a new source instead of using patches. * Wed Aug 09 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> 2.10.0-1mdk - Version 2.10.0 - Fixed man location for FHS * Mon Aug 07 2000 Frederic Lepied <flepied@mandrakesoft.com> 2.9.5-2mdk - automatically added BuildRequires * Tue Jun 20 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> 2.9.5-1mdk - Version 2.9.5 * Tue Jun 20 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> - Version 2.9.4 * Tue Apr 11 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> - Fixed Distribution name * Thu Mar 16 2000 Maurizio De Cecco <maurizio@mandrakesoft.com> - Adapted to the new Group structure * Mon Mar 06 2000 Geoffrey Lee <snailtalk@linux-mandrake.com> - 2.9.0 - change license: it's majorly wrong - change the buildroot * Tue Feb 08 2000 Geoffrey Lee <snailtalk@linux-mandrake.com> 2.8.2-1mdk - 2.8.2 * Fri Dec 3 1999 Maurizio De Cecco <maurizio@mandrakesoft.com> - 2.8.1 * Tue Oct 26 1999 Maurizio De Cecco <maurizio@mandrakesoft.com> - 2.7.0: Note that 2.7.0 change the place where data and config files are, so old patches do not work anymore; i removed the patches, and timidity.cgf is now in /usr/share/timidity with the other files; you need timidity-instruments-1.0-4mdk with this package. * Fri Aug 6 1999 Bernhard Rosenkränzer <bero@mandrakesoft.com> - 2.3.0 - fix download URL * Fri Jul 16 1999 Bernhard Rosenkränzer <bero@mandrakesoft.com> - 2.1.1 * Mon May 10 1999 Bernhard Rosenkränzer <bero@mandrakesoft.com> - Change paths to match the timidity-instruments package * Wed Apr 28 1999 Chmouel Boudjnah <chmouel@mandrakesoft.com> - Mandrake adaptations. - handle RPM_OPT_FLAGS.