# 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: TiMidity++ Version: 2.14.0 %define subrel 1 Release: %mkrel 9 URL: http://timidity.sourceforge.net/ License: GPLv2+ Group: Sound/Midi Source0: http://download.sourceforge.net/timidity/%{name}-%{version}.tar.xz Source1: http://www.timidity.jp/dist/cfg/timidity.cfg Source2: timidity-emacs-mode.el Source3: timidity.README.mga # (Abel) change default config path to /etc/timidity/timidity.cfg Patch0: timidity-2.13.2-default-config-path.patch Patch1: timidity-2.13.2-tcl-legacy.patch Patch2: timidity-2.14.0-opensuse-zero-division-fix.patch Patch3: timidity-2.14.0-opensuse-out-of-bound-access-fix.patch Requires: timidity-instruments = %{patch_pkg_version} BuildRequires: alsa-lib-devel BuildRequires: autoconf BuildRequires: emacs-bin BuildRequires: gtk2-devel BuildRequires: jackit-devel BuildRequires: lesstif-devel BuildRequires: libao-devel BuildRequires: libflac-devel >= 1.1.3 BuildRequires: liboggflac-devel BuildRequires: ncurses-devel BuildRequires: oggvorbis-devel BuildRequires: portaudio-devel BuildRequires: speex-devel BuildRequires: tcl-devel BuildRequires: tk-devel BuildRequires: libxaw-devel BuildRequires: slang-devel BuildRequires: imagemagick BuildConflicts: Xaw3d-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/Midi Requires: %{name} = %{version}-%{release} Requires: emacs-bin %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 -p0 -b .tcl_legacy # Apply 2 ad-hoc patches from openSUSE to fix # CVE-2017-11546 and CVE-2017-11547 %patch2 -p1 -b .CVE-2017-11546 %patch3 -p1 -b .CVE-2017-11547 %build autoconf # little ugly trick to force install of tclIndex, running wish requires # X display touch interface/tclIndex export SHLDFLAGS=`echo '%{ldflags}'|sed -e 's/-Wl,--no-undefined//'` %configure2_5x \ --enable-audio=oss,alsa,portaudio,jack,ao,vorbis,flac,speex \ --enable-dynamic=dynamic,ncurses,slang,motif,tcltk,emacs,xaw,xskin,gtk \ --enable-interface=alsaseq \ --enable-network \ --enable-server %make LDFLAGS="-lFLAC" %install %makeinstall_std install -d %{buildroot}%{_datadir}/timidity install -m644 %{SOURCE1} -D %{buildroot}%{_sysconfdir}/timidity/timidity-custom.cfg install -d %{buildroot}%{_datadir}/applications cat <<EOF > %{buildroot}%{_datadir}/applications/%{name}.desktop [Desktop Entry] Name=TiMidity++ GenericName=MIDI file player GenericName[ar]=٠شغ٠٠ÙÙات MIDI GenericName[az]=MIDI fayl çalÄıcısı GenericName[bg]=MIDI плеÑÑ GenericName[bn]=মিডি ফাà¦à¦² বাদঠGenericName[br]=Ur soner a restr MIDI GenericName[bs]=SviraÄ MIDI datoteka GenericName[ca]=Reproductor de fitxers MIDI GenericName[cs]=PÅehrávaÄ hudebnÃch souborů MIDI GenericName[cy]=Chwaraewr ffeil MIDI GenericName[da]=MIDI-musikafspiller GenericName[de]=MIDI Dateienspieler GenericName[el]=Î ÏÏγÏαμμα αναÏαÏαγÏÎ³Î®Ï MIDI GenericName[es]=Reproductor de archivos MIDI GenericName[et]=MIDI failide mängija GenericName[eu]=MIDI fitxategi-erreproduzigailua GenericName[fa]=پخشگر پرÙÙد٠MIDI GenericName[fi]=MIDI-soitin GenericName[fr]=Lecteur de fichiers MIDI GenericName[gl]=Reproductor de ficheiros MIDI GenericName[he]=× ×× ×§××¦× ×××× GenericName[hi]=मà¥à¤¡à¥ à¥à¤¾à¤à¤² पà¥à¤²à¥à¤¯à¤° GenericName[hu]=MIDI-fájllejátszó GenericName[id]=Pemutar file MIDI GenericName[is]=MIDI skráa spilari GenericName[it]=Riproduttore di file MIDI GenericName[ja]=MIDI ãã¬ã¼ã¤ã¼ GenericName[ky]=MIDI ÑайлÑн ойноÑкÑÑÑ GenericName[mk]=ÐÐ»ÐµÐµÑ Ð½Ð° âMIDIâ даÑоÑеки GenericName[mt]=Programm biex iddoqq mużika MIDI GenericName[nb]=MIDI-fil avspiller GenericName[nl]=MIDI bestandsspeler GenericName[nn]=MIDI-filspelar GenericName[pl]=Odtwarzacz plików MIDI GenericName[pt]=Leitor de ficheiros MIDI GenericName[pt_BR]=Player de arquivos MIDI GenericName[ro]=Lector de fiÈiere MIDI GenericName[ru]=ÐÑоигÑÑваÑÐµÐ»Ñ MIDI-Ñайлов GenericName[sc]=Sonadori de file MIDI GenericName[sk]=PrehrávaÄ MIDI hudby GenericName[sl]=Predvajalnik MIDI datotek GenericName[sq]=Lexues skedaresh MIDI GenericName[sv]=Spelar MIDI-filer GenericName[tg]=ÐозигаÑи MIDI Ñайл GenericName[th]=à¹à¸à¸£à¹à¸à¸£à¸¡à¹à¸¥à¹à¸à¹à¸à¸¥à¹ MIDI GenericName[tl]=Tagapagpatugtog ng MIDI file GenericName[tr]=MIDI dosya çalıcı GenericName[uk]=ÐÑогÑÐ°Ð²Ð°Ñ ÑайлÑв MIDI GenericName[uz]=MIDI fayl pleyer GenericName[uz@cyrillic]=MIDI Ñайл Ð¿Ð»ÐµÐ¹ÐµÑ GenericName[vi]=Trình chÆ¡i táºp tin MIDI GenericName[wa]=Djouweu di fitchîs MIDI GenericName[zh_CN]=MIDI æ件ææ¾æº GenericName[zh_TW]=MIDI é³æ¨ææ¾ç¨å¼ Comment=A midi to wav converter and midi file player Comment[de]=Ein Midi-zu-Wav-Konverter und Midi-Player Comment[ru]=ÐÐ»ÐµÐ¹ÐµÑ MIDI-Ñайлов и конвеÑÑÐ¾Ñ Ð² WAV Exec=timidity -ig Icon=%{name} Terminal=false Type=Application StartupNotify=true Categories=Audio;Midi; EOF mkdir -p %{buildroot}%{_iconsdir}/hicolor/48x48/apps convert interface/pixmaps/timidity.xpm %{buildroot}%{_iconsdir}/hicolor/48x48/apps/%{name}.png # emacs mode install -m644 %{SOURCE2} -D %{buildroot}%{_sysconfdir}/emacs/site-start.d/timidity.el # japanese manpages install -m644 doc/ja_JP.eucJP/timidity.1 -D %{buildroot}%{_mandir}/ja/man1/timidity.1 install -m644 doc/ja_JP.eucJP/timidity.cfg.5 %{buildroot}%{_mandir}/ja/man1/timidity.cfg.5 %postun if [ "$1" = "0" ]; then %{_sbindir}/update-alternatives --remove timidity.cfg %{_sysconfdir}/timidity/timidity-custom.cfg fi %triggerpostun -- %{name} <= 2.13.2-22 %{_sbindir}/update-alternatives --install %{_sysconfdir}/timidity/timidity.cfg timidity.cfg %{_sysconfdir}/timidity/timidity-custom.cfg 10 %files %doc AUTHORS ChangeLog 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}/if_gtk.so %{timiditydir}/if_ncurses.so %{_datadir}/applications/%{name}.desktop %{_iconsdir}/hicolor/*/apps/%{name}.png %files interfaces-extra %doc doc/C/README.{tk,xaw,xskin} %config(noreplace) %{_sysconfdir}/emacs/site-start.d/*.el %{timiditydir}/if_emacs.so %{timiditydir}/if_motif.so %{timiditydir}/if_slang.so %{timiditydir}/if_tcltk.so %{timiditydir}/if_xaw.so %{timiditydir}/if_xskin.so %{_datadir}/emacs/site-lisp/*.el %{timiditydir}/*.tcl %{timiditydir}/tclIndex %{timiditydir}/bitmaps %changelog * Sun Feb 25 2018 kekepower <kekepower> 2.14.0-9.1.mga6 + Revision: 1204996 - Added 2 ad-hoc patches from openSUSE to fix CVE-2017-11546 and CVE-2017-11547 (mga#22651) * Wed Feb 17 2016 umeabot <umeabot> 2.14.0-9.mga6 + Revision: 963068 - Mageia 6 Mass Rebuild * Sat Oct 03 2015 shlomif <shlomif> 2.14.0-8.mga6 + Revision: 885926 - Rebuild for the new Tcl * Sat Oct 03 2015 sander85 <sander85> 2.14.0-7.mga6 + Revision: 885901 - Rebuild for tcl 8.6.4 * Thu Nov 27 2014 alexl <alexl> 2.14.0-6.mga5 + Revision: 799494 - added GenericName and new Comment - translated desktop file * Wed Oct 15 2014 umeabot <umeabot> 2.14.0-5.mga5 + Revision: 741074 - Second Mageia 5 Mass Rebuild * Tue Sep 16 2014 umeabot <umeabot> 2.14.0-4.mga5 + Revision: 677662 - Mageia 5 Mass Rebuild * Sat Oct 19 2013 umeabot <umeabot> 2.14.0-3.mga4 + Revision: 528434 - Mageia 4 Mass Rebuild * Wed Jun 19 2013 dams <dams> 2.14.0-2.mga4 + Revision: 445039 - clean specfile - remove icons as sources and use convert on the xpm file - now tarball is .tar.xz * Sun Jun 16 2013 luigiwalser <luigiwalser> 2.14.0-1.mga4 + Revision: 443561 - 2.14.0 - remove patches 1, 2, 3, 4, 5, 6, 7, and 9 (fixed upstream) * Fri Jan 11 2013 umeabot <umeabot> 2.13.2-35.mga3 + Revision: 345138 - Mass Rebuild - https://wiki.mageia.org/en/Feature:Mageia3MassRebuild * Tue Nov 20 2012 barjac <barjac> 2.13.2-34.mga3 + Revision: 319889 - Changed group to new policy - minor spec clean * Fri Nov 04 2011 fwang <fwang> 2.13.2-32.mga2 + Revision: 162630 - drop empty post - build with correct ldflags * Sat Jul 02 2011 fwang <fwang> 2.13.2-31.mga2 + Revision: 117319 - rebuild for new tcl * Thu Mar 03 2011 ahmad <ahmad> 2.13.2-30.mga1 + Revision: 62756 - drop esound-devel (phasing out esound from the distro) - drop nas-devel (does any one still use nas sound?) - rename the .desktop file, and the README file * Mon Jan 24 2011 ennael <ennael> 2.13.2-29.mga1 + Revision: 36774 - remove mdkversion - imported package TiMidity++