[timidity++] Upstream has not been doing new releases for years, but there have been some bugfixes in CVS -> upgr

Hans de Goede jwrdegoede at fedoraproject.org
Thu Nov 10 19:40:04 UTC 2011


commit 9801847aab19ba953e6b0bcc4bb661a37d90799e
Author: Hans de Goede <hdegoede at redhat.com>
Date:   Thu Nov 10 20:40:23 2011 +0100

    Upstream has not been doing new releases for years, but there have been
    some bugfixes in CVS -> upgrade to the latest CVS version
    Drop a bunch of patches for things which are fixed in this CVS version
    Add a patch which fixes the loading of sf2 files with stereo instrument
    samples with missing link-ids between the left and right samples (#710927)

 .gitignore                                         |    1 +
 0001-esd_a-Don-t-start-ESD.patch                   |   47 ++
 0002-libao-Add-a-detect-function.patch             |   72 +++
 0003-Change-audio-output-detection-order.patch     |   73 +++
 ...ages.patch => 0004-Various-man-page-fixes.patch |   73 ++--
 ...idity-.cfg-first-and-then-etc-timidity.cf.patch |  132 ++++++
 ...r-when-we-re-going-to-run-deamonized-in-A.patch |   81 ++++
 ...a-Fix-compiling-with-recent-flac-versions.patch |   88 ++++
 ...-of-warning-implicit-declaration-of-funct.patch |  106 +++++
 ...k-around-soundfonts-with-missing-links-be.patch |  124 +++++
 TiMidity++-2.13.0-64bit.patch                      |   12 -
 TiMidity++-2.13.0-detect.patch                     |   86 ----
 TiMidity++-2.13.0-warnings.patch                   |   30 --
 TiMidity++-2.13.2-cfgfile-name.patch               |   54 ---
 TiMidity++-2.13.2-dynlibroot.patch                 |   49 --
 TiMidity++-2.13.2-flac-detect.patch                |  245 ----------
 TiMidity++-2.13.2-flac.patch                       |  485 --------------------
 TiMidity++-2.13.2-fork-early.patch                 |   60 ---
 TiMidity++-2.13.2-ipv6.patch                       |  392 ----------------
 TiMidity++-2.13.2-libao-first.patch                |   77 ---
 TiMidity++-2.13.2-misc-fixes.patch                 |  172 -------
 TiMidity++-2.13.2-missing-protos.patch             |  121 -----
 TiMidity++-2.13.2-mlutil.patch                     |   10 -
 TiMidity++-2.13.2-noise-fix.patch                  |   12 -
 TiMidity++-2.13.2-speex.patch                      |   38 --
 sources                                            |    2 +-
 timidity++.spec                                    |   94 ++---
 27 files changed, 800 insertions(+), 1936 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index 22e810d..e1a4730 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1 +1,2 @@
 TiMidity++-2.13.2.tar.bz2
+/timidity++-cvs20111110.tar.gz
diff --git a/0001-esd_a-Don-t-start-ESD.patch b/0001-esd_a-Don-t-start-ESD.patch
new file mode 100644
index 0000000..771f2c3
--- /dev/null
+++ b/0001-esd_a-Don-t-start-ESD.patch
@@ -0,0 +1,47 @@
+From 50d412aaa58b0277303e6e215be6cc10bed6af54 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 10:53:21 +0100
+Subject: [PATCH 1/9] esd_a: Don't start ESD
+
+Don't start ESD if it is not running yet, esp. not from detect() !
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/esd_a.c |    7 +++----
+ 1 files changed, 3 insertions(+), 4 deletions(-)
+
+diff --git a/timidity/esd_a.c b/timidity/esd_a.c
+index 84f99fd..6338609 100644
+--- a/timidity/esd_a.c
++++ b/timidity/esd_a.c
+@@ -67,7 +67,7 @@ PlayMode dpm = {
+     -1,
+     {0}, /* default: get all the buffer fragments you can */
+     "Enlightened sound daemon", 'e',
+-    "/dev/dsp",
++    "esd",
+     open_output,
+     close_output,
+     output_data,
+@@ -93,7 +93,7 @@ static int try_open(void)
+     /* Open the audio device */
+     esdformat = (dpm.encoding & PE_16BIT) ? ESD_BITS16 : ESD_BITS8;
+     esdformat |= (dpm.encoding & PE_MONO) ? ESD_MONO : ESD_STEREO;
+-    return esd_play_stream_fallback(esdformat,dpm.rate,NULL,"timidity");
++    return esd_play_stream(esdformat,dpm.rate,NULL,"timidity");
+ }
+ 
+ 
+@@ -101,8 +101,7 @@ static int detect(void)
+ {
+     int fd;
+ 
+-    /* FIXME: do we need to set this? */
+-    /* setenv("ESD_NO_SPAWN", "1", 0); */
++    setenv("ESD_NO_SPAWN", "1", 0);
+     fd = try_open();
+     if (fd < 0)
+ 	return 0;
+-- 
+1.7.7.1
+
diff --git a/0002-libao-Add-a-detect-function.patch b/0002-libao-Add-a-detect-function.patch
new file mode 100644
index 0000000..8826325
--- /dev/null
+++ b/0002-libao-Add-a-detect-function.patch
@@ -0,0 +1,72 @@
+From 3dc8c5a03e9cb0d61118a0c3109b33bcbca37576 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 10:55:02 +0100
+Subject: [PATCH 2/9] libao: Add a detect() function
+
+Most Linux distros use pulseaudio by now, and libao is the best way to use
+pulseaudio from timidity. This patch adds a detect function to libao, which
+will make libao autodetect succeed only when pulse is available, so that
+we can prefer libao in the probe order to get pulse, without also getting
+libao on systems where we should be using alsa directly.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/ao_a.c |   31 ++++++++++++++++++++++++++++++-
+ 1 files changed, 30 insertions(+), 1 deletions(-)
+
+diff --git a/timidity/ao_a.c b/timidity/ao_a.c
+index 8959b36..9a012f3 100644
+--- a/timidity/ao_a.c
++++ b/timidity/ao_a.c
+@@ -44,6 +44,7 @@ static int open_output(void); /* 0=success, 1=warning, -1=fatal error */
+ static void close_output(void);
+ static int output_data(char *buf, int32 nbytes);
+ static int acntl(int request, void *arg);
++static int detect(void);
+ 
+ /* export the playback mode */
+ 
+@@ -58,7 +59,8 @@ PlayMode dpm = {
+   open_output,
+   close_output,
+   output_data,
+-  acntl
++  acntl,
++  detect
+ };
+ 
+ static ao_device *ao_device_ctx;
+@@ -196,3 +198,30 @@ static int acntl(int request, void *arg)
+   }
+   return -1;
+ }
++
++static int detect(void)
++{
++  int driver_id, result = 0;
++  ao_sample_format ao_sample_format_ctx;
++  ao_device *ao_device_ctx;
++
++  ao_initialize();
++
++  /* Only succeed in autodetect mode when pulseaudio is available! */
++  driver_id = ao_driver_id("pulse");
++
++  ao_sample_format_ctx.rate = 44100;
++  ao_sample_format_ctx.bits = 16;
++  ao_sample_format_ctx.channels = 2;
++  ao_sample_format_ctx.byte_format = AO_FMT_NATIVE;
++  ao_sample_format_ctx.matrix = NULL;
++
++  if ((ao_device_ctx = ao_open_live(driver_id, &ao_sample_format_ctx, NULL))) {
++    result = 1;
++    ao_close(ao_device_ctx);
++  }
++
++  ao_shutdown();
++
++  return result;
++}
+-- 
+1.7.7.1
+
diff --git a/0003-Change-audio-output-detection-order.patch b/0003-Change-audio-output-detection-order.patch
new file mode 100644
index 0000000..460d8f1
--- /dev/null
+++ b/0003-Change-audio-output-detection-order.patch
@@ -0,0 +1,73 @@
+From 155989d6bce9dc2b01d1b9023e4b7394a5abe8a9 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 10:58:31 +0100
+Subject: [PATCH 3/9] Change audio output detection order
+
+First try the various desktop daemons we support, and only when those
+are not available use the systems native sound system. Also try ALSA before
+the native sound system, since the native sound system on Linux is set to
+OSS, and ALSA definitely is preferable over OSS.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/output.c |   30 +++++++++++++++---------------
+ 1 files changed, 15 insertions(+), 15 deletions(-)
+
+diff --git a/timidity/output.c b/timidity/output.c
+index 69bb372..2b97bd9 100644
+--- a/timidity/output.c
++++ b/timidity/output.c
+@@ -138,17 +138,9 @@ extern PlayMode midi_play_mode;
+ extern PlayMode modmidi_play_mode;
+ 
+ PlayMode *play_mode_list[] = {
+-#ifdef DEV_PLAY_MODE
+-  DEV_PLAY_MODE,
+-#endif
+-
+-#ifdef AU_ALSA
+-  &alsa_play_mode,
+-#endif /* AU_ALSA */
+-
+-#ifdef AU_HPUX_ALIB
+-  &hpux_nplay_mode,
+-#endif /* AU_HPUX_ALIB */
++#if defined(AU_AO) /* Try libao first as that will give us pulseaudio */
++  &ao_play_mode,
++#endif /* AU_AO */
+ 
+ #if defined(AU_ARTS)
+   &arts_play_mode,
+@@ -158,6 +150,18 @@ PlayMode *play_mode_list[] = {
+   &esd_play_mode,
+ #endif /* AU_ESD */
+ 
++#ifdef AU_ALSA /* Try alsa (aka DEV_PLAY_MODE 2 on Linux) first */
++  &alsa_play_mode,
++#endif /* AU_ALSA */
++
++#ifdef DEV_PLAY_MODE /* OS dependent direct hardware access, OSS on Linux */
++  DEV_PLAY_MODE,
++#endif
++
++#ifdef AU_HPUX_ALIB
++  &hpux_nplay_mode,
++#endif /* AU_HPUX_ALIB */
++
+ #if defined(AU_PORTAUDIO)
+ #ifndef AU_PORTAUDIO_DLL
+   &portaudio_play_mode,
+@@ -180,10 +184,6 @@ PlayMode *play_mode_list[] = {
+   &nas_play_mode,
+ #endif /* AU_NAS */
+ 
+-#if defined(AU_AO)
+-  &ao_play_mode,
+-#endif /* AU_PORTAUDIO */
+-
+ #ifndef __MACOS__
+   &wave_play_mode,
+   &raw_play_mode,
+-- 
+1.7.7.1
+
diff --git a/TiMidity++-2.13.2-man-pages.patch b/0004-Various-man-page-fixes.patch
similarity index 68%
rename from TiMidity++-2.13.2-man-pages.patch
rename to 0004-Various-man-page-fixes.patch
index 4cc396b..8880b61 100644
--- a/TiMidity++-2.13.2-man-pages.patch
+++ b/0004-Various-man-page-fixes.patch
@@ -1,6 +1,20 @@
---- timidity-2.13.2.orig/doc/C/timidity.1
-+++ timidity-2.13.2/doc/C/timidity.1
-@@ -199,7 +199,7 @@
+From a19ae8c4802ef5190c8b2575d49cebdf6e5661f9 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 11:07:50 +0100
+Subject: [PATCH 4/9] Various man page fixes
+
+courtesy of Debian
+---
+ doc/C/timidity.1               |   11 +++++------
+ doc/C/timidity.cfg.5           |   14 ++++++--------
+ doc/ja_JP.eucJP/timidity.cfg.5 |    2 --
+ 3 files changed, 11 insertions(+), 16 deletions(-)
+
+diff --git a/doc/C/timidity.1 b/doc/C/timidity.1
+index 3288633..cf164b1 100644
+--- a/doc/C/timidity.1
++++ b/doc/C/timidity.1
+@@ -199,7 +199,7 @@ volume 90%, drum power 120%, compensation is on
  .RE
  .TP
  .B \-a, \-\-[no\-]anti\-alias
@@ -9,7 +23,7 @@
  before playing, which reduces aliasing noise at low resampling
  frequencies.
  .TP
-@@ -269,7 +269,7 @@
+@@ -269,7 +269,7 @@ understood as \fB41\fP, \fB43\fP and \fB7e\fP respectively.
  Sets the system manufacturer ID to \fIHH\fP (where \fIHH\fP are two
  hex\-digits).
  .br
@@ -18,7 +32,7 @@
  ID from the input file would be ignored.
  .TP
  .BI b n ", \-\-default\-bank=" n
-@@ -516,10 +516,10 @@
+@@ -533,10 +533,10 @@ Launch \fBTiMidity++\fP as MIDI server.
  Launch \fBTiMidity++\fP as ALSA sequencer client.
  .TP
  .B \-iW
@@ -31,16 +45,7 @@
  .TP
  .B \-iP
  PortMIDI synthesizer interface
-@@ -740,7 +740,7 @@
- .B \-Oj
- JACK
- .TP
--.B \-Or
-+.B \-OR
- aRts
- .TP
- .B \-OA
-@@ -1064,8 +1064,7 @@
+@@ -1081,8 +1081,7 @@ Reserved for \fBTiMidity++\fP specification purposes
  \fBTiMidity++\fP Debug
  .RE
  .SH SEE ALSO
@@ -50,9 +55,11 @@
  .SH COPYRIGHT
  Copyright (C) 1999\-2004 Masanao Izumo <iz at onicos.co.jp>
  .br
---- timidity-2.13.2.orig/doc/C/timidity.cfg.5
-+++ timidity-2.13.2/doc/C/timidity.cfg.5
-@@ -4,7 +4,7 @@
+diff --git a/doc/C/timidity.cfg.5 b/doc/C/timidity.cfg.5
+index 12c8151..b5fc59e 100644
+--- a/doc/C/timidity.cfg.5
++++ b/doc/C/timidity.cfg.5
+@@ -4,7 +4,7 @@ timidity.cfg \- configure file of TiMidity++
  .SH DESCRIPTION
  The file \fBtimidity.cfg\fP describes the runtime environments of
  timidity(1): that are the path of sound font, instruments
@@ -61,7 +68,7 @@
  .br
  \fBTiMidity++\fP looks for the configuration file \fBtimidity.cfg\fP
  at startup, before processing any options.  If it can't be accessed,
-@@ -30,7 +30,7 @@
+@@ -30,7 +30,7 @@ $variable
  ${variable} # same as $variable
  .sp
  For the moment, the command which newly defines variables is not
@@ -70,7 +77,7 @@
  .br
  The variable defined as a regular variable is the next only one.
  .TP
-@@ -89,13 +89,13 @@
+@@ -89,13 +89,13 @@ that follow are set and displayed as the numbers from \fB1\fP to
  .BI "bank " "[MapID1] number"
  Selects the tone bank to modify.  Patch mappings that follow will
  affect this tone bank.  You can indicate specific map as a target, by
@@ -86,7 +93,7 @@
  \fBsc55drum\fP, \fBsc88drum\fP, \fBsc88prodrum\fP, \fBsc8850drum\fP,
  \fBxgdrum\fP and \fBxgsfx126\fP.
  .TP
-@@ -363,7 +363,7 @@
+@@ -363,7 +363,7 @@ These comments are displayed in the indicator line when
  .TP
  .BI "#extension timeout " "program second"
  Specifies the time\-out value of the \fIprogram\fP.  If any notes
@@ -95,7 +102,7 @@
  \fIsecond\fP seconds, \fBTiMidity++\fP kills the notes.
  .TP
  .BI "#extension copydrumset " drumset
-@@ -470,9 +470,7 @@
+@@ -470,9 +470,7 @@ timidity 'cat fild.mid|'
  will read from the output of cat fild.mid.
  .SH FILES
  .TP
@@ -106,20 +113,11 @@
  .SH SEE ALSO
  timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1)
  .SH COPYRIGHT
---- timidity-2.13.2.orig/doc/ja_JP.eucJP/timidity.1
-+++ timidity-2.13.2/doc/ja_JP.eucJP/timidity.1
-@@ -745,7 +745,7 @@
- .B \-Oj
- JACK
- .TP
--.B \-Or
-+.B \-OR
- aRts
- .TP
- .B \-OA
---- timidity-2.13.2.orig/doc/ja_JP.eucJP/timidity.cfg.5
-+++ timidity-2.13.2/doc/ja_JP.eucJP/timidity.cfg.5
-@@ -466,8 +466,6 @@
+diff --git a/doc/ja_JP.eucJP/timidity.cfg.5 b/doc/ja_JP.eucJP/timidity.cfg.5
+index 6935896..010496b 100644
+--- a/doc/ja_JP.eucJP/timidity.cfg.5
++++ b/doc/ja_JP.eucJP/timidity.cfg.5
+@@ -466,8 +466,6 @@ timidity 'cat fild.mid|'
  .SH ¥Õ¥¡¥¤¥ë
  .TP
  .B /etc/timidity.cfg
@@ -128,3 +126,6 @@
  .SH ´ØÏ¢¹àÌÜ
  timidity(1), lsmidiprog(1), mididump(1), patinfo(1), sf2text(1), wav2pat(1)
  .SH Ãøºî¸¢
+-- 
+1.7.7.1
+
diff --git a/0005-Try-etc-timidity-.cfg-first-and-then-etc-timidity.cf.patch b/0005-Try-etc-timidity-.cfg-first-and-then-etc-timidity.cf.patch
new file mode 100644
index 0000000..e19b361
--- /dev/null
+++ b/0005-Try-etc-timidity-.cfg-first-and-then-etc-timidity.cf.patch
@@ -0,0 +1,132 @@
+From f393436b72b4f4d0b8dd8c9ea1039b5d84ba41f7 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 11:26:59 +0100
+Subject: [PATCH 5/9] Try /etc/timidity++.cfg first and then /etc/timidity.cfg
+
+On most Linux systems timidity is not the only user of "timidity" patches nor
+has it been for a long time. Various other softsynths, like the midi support
+build into the SDL_mixer and allegro gaming library also need instrument patches
+and they use /etc/timidity.cfg to get these patches.
+
+Unlike timidity++, they only support GUS format .pat instrument patches, just
+like the original timidity. timidity++ however also supports sf2 format
+soundfonts, which are a lot better.
+
+IOW the use of /etc/timidity.cfg has grown over time, changing its meaning
+(under most Linux distributions) from "timidity's config file" to "config file
+for apps / libs which need instrument patches for softsynth midi playback",
+that together with the fact that some of those apps now support sf2 format
+soundfonts where as most only support the old timidity.cfg syntax with GUS
+patches, leads to problems, since for timidity itself sf2 sound fonts
+are to be prefered over GUS patches, but using them in /etc/timidity.cfg
+break the use of that file by other apps / libs to get instrument patches.
+
+This patch fixes this by making timidity try /etc/timidity++.cfg first, the
+intent hereby is to slightly change the meaning of the config files to:
+
+/etc/timidity.cfg:
+"config file for apps / libs which need instrument patches in GUS format for
+softsynth midi playback"
+
+/etc/timidity.cfg++:
+"config file for apps / libs which need instrument patches for softsynth midi
+playback and preferably in sf2 format"
+
+Allowing apps which support and prefer sf2 format patches to co-exist with
+ones which only want GUS format patches.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/mac_com.h  |    6 ++++--
+ timidity/timidity.c |   10 +++++++---
+ timidity/timidity.h |   19 ++++++++++++++-----
+ 3 files changed, 25 insertions(+), 10 deletions(-)
+
+diff --git a/timidity/mac_com.h b/timidity/mac_com.h
+index cb6c4ae..cdaafee 100644
+--- a/timidity/mac_com.h
++++ b/timidity/mac_com.h
+@@ -39,8 +39,10 @@
+ #undef  JAPANESE
+ #define ANOTHER_MAIN
+ #define DEFAULT_PATH	""
+-#undef  CONFIG_FILE
+-#define CONFIG_FILE DEFAULT_PATH "timidity.cfg"
++#undef  CONFIG_FILE1
++#define CONFIG_FILE1 DEFAULT_PATH "timidity++.cfg"
++#undef  CONFIG_FILE2
++#define CONFIG_FILE2 DEFAULT_PATH "timidity.cfg"
+ #define MAC_SIGNATURE 'TIMI'
+ #define MAC_STARTUP_FOLDER_NAME "\pStartup items"
+ 
+diff --git a/timidity/timidity.c b/timidity/timidity.c
+index 2431443..fa4a729 100644
+--- a/timidity/timidity.c
++++ b/timidity/timidity.c
+@@ -5358,7 +5358,9 @@ MAIN_INTERFACE int timidity_pre_load_configuration(void)
+ 
+ #else
+     /* UNIX */
+-    if(!read_config_file(CONFIG_FILE, 0))
++    if(!read_config_file(CONFIG_FILE1, 0))
++		got_a_configuration = 1;
++    else if(!read_config_file(CONFIG_FILE2, 0))
+ 		got_a_configuration = 1;
+ #endif
+ 
+@@ -5430,7 +5432,9 @@ MAIN_INTERFACE int timidity_post_load_configuration(void)
+ 
+     if(!got_a_configuration)
+     {
+-	if(try_config_again && !read_config_file(CONFIG_FILE, 0))
++	if(try_config_again && !read_config_file(CONFIG_FILE1, 0))
++	    got_a_configuration = 1;
++	else if(try_config_again && !read_config_file(CONFIG_FILE2, 0))
+ 	    got_a_configuration = 1;
+     }
+ 
+@@ -5893,7 +5897,7 @@ int main(int argc, char **argv)
+ #else
+ 			ctl->cmsg(CMSG_FATAL, VERB_NORMAL,
+ 					"%s: Can't read any configuration file.\n"
+-					"Please check " CONFIG_FILE, program_name);
++					"Please check " CONFIG_FILE1 " or " CONFIG_FILE2, program_name);
+ #endif /* __W32__ */
+ 		} else
+ 			ctl->cmsg(CMSG_ERROR, VERB_NORMAL,
+diff --git a/timidity/timidity.h b/timidity/timidity.h
+index 3978a31..6b1a0a9 100644
+--- a/timidity/timidity.h
++++ b/timidity/timidity.h
+@@ -41,14 +41,23 @@
+ 
+ /* You could specify a complete path, e.g. "/etc/timidity.cfg", and
+    then specify the library directory in the configuration file. */
+-/* #define CONFIG_FILE "/etc/timidity.cfg" */
+-#ifndef CONFIG_FILE
++/* #define CONFIG_FILE1 "/etc/timidity++.cfg" */
++#ifndef CONFIG_FILE1
+ #  ifdef DEFAULT_PATH
+-#    define CONFIG_FILE DEFAULT_PATH "/timidity.cfg"
++#    define CONFIG_FILE1 DEFAULT_PATH "/timidity++.cfg"
+ #  else
+-#    define CONFIG_FILE PKGDATADIR "/timidity.cfg"
++#    define CONFIG_FILE1 PKGDATADIR "/timidity++.cfg"
+ #  endif /* DEFAULT_PATH */
+-#endif /* CONFIG_FILE */
++#endif /* CONFIG_FILE1 */
++
++/* #define CONFIG_FILE2 "/etc/timidity.cfg" */
++#ifndef CONFIG_FILE2
++#  ifdef DEFAULT_PATH
++#    define CONFIG_FILE2 DEFAULT_PATH "/timidity.cfg"
++#  else
++#    define CONFIG_FILE2 PKGDATADIR "/timidity.cfg"
++#  endif /* DEFAULT_PATH */
++#endif /* CONFIG_FILE2 */
+ 
+ 
+ /* Filename extension, followed by command to run decompressor so that
+-- 
+1.7.7.1
+
diff --git a/0006-Fork-earlier-when-we-re-going-to-run-deamonized-in-A.patch b/0006-Fork-earlier-when-we-re-going-to-run-deamonized-in-A.patch
new file mode 100644
index 0000000..9cd4664
--- /dev/null
+++ b/0006-Fork-earlier-when-we-re-going-to-run-deamonized-in-A.patch
@@ -0,0 +1,81 @@
+From 0be5566addaa27bb3efdd45b988ba53f6ce21ed0 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 11:48:05 +0100
+Subject: [PATCH 6/9] Fork earlier when we're going to run deamonized in ALSA
+ sequencer mode
+
+If we're going to fork for daemon mode, we need to fork earlier, as
+certain output libraries (pulseaudio) become unhappy if initialized
+before forking and then being used from the child.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ interface/alsaseq_c.c |   17 -----------------
+ timidity/timidity.c   |   23 +++++++++++++++++++++++
+ 2 files changed, 23 insertions(+), 17 deletions(-)
+
+diff --git a/interface/alsaseq_c.c b/interface/alsaseq_c.c
+index 11cda61..1785ab1 100644
+--- a/interface/alsaseq_c.c
++++ b/interface/alsaseq_c.c
+@@ -390,23 +390,6 @@ static int ctl_pass_playing_list(int n, char *args[])
+ 	j += note_key_offset, j -= floor(j / 12.0) * 12;
+ 	current_freq_table = j;
+ 
+-	if (ctl.flags & CTLF_DAEMONIZE)
+-	{
+-		int pid = fork();
+-		FILE *pidf;
+-		switch (pid)
+-		{
+-			case 0:			// child is the daemon
+-				break;
+-			case -1:		// error status return
+-				exit(7);
+-			default:		// no error, doing well
+-				if ((pidf = fopen( "/var/run/timidity.pid", "w" )) != NULL )
+-					fprintf( pidf, "%d\n", pid );
+-				exit(0);
+-		}
+-	}
+-
+ 	for (;;) {
+ 		server_reset();
+ 		doit(&alsactx);
+diff --git a/timidity/timidity.c b/timidity/timidity.c
+index fa4a729..51a749f 100644
+--- a/timidity/timidity.c
++++ b/timidity/timidity.c
+@@ -5380,6 +5380,29 @@ MAIN_INTERFACE int timidity_post_load_configuration(void)
+ {
+     int i, cmderr = 0;
+ 
++    /* If we're going to fork for daemon mode, we need to fork now, as
++       certain output libraries (pulseaudio) become unhappy if initialized
++       before forking and then being used from the child. */
++    if (ctl->id_character == 'A' && (ctl->flags & CTLF_DAEMONIZE))
++    {
++	int pid = fork();
++	FILE *pidf;
++	switch (pid)
++	{
++	    case 0:		// child is the daemon
++		break;
++	    case -1:		// error status return
++		exit(7);
++	    default:		// no error, doing well
++		if ((pidf = fopen( "/var/run/timidity.pid", "w" )) != NULL )
++		{
++		    fprintf( pidf, "%d\n", pid );
++		    fclose( pidf );
++		}
++		exit(0);
++	}
++    }
++
+     if(play_mode == &null_play_mode)
+     {
+ 	char *output_id;
+-- 
+1.7.7.1
+
diff --git a/0007-flac_a-Fix-compiling-with-recent-flac-versions.patch b/0007-flac_a-Fix-compiling-with-recent-flac-versions.patch
new file mode 100644
index 0000000..fa8e37b
--- /dev/null
+++ b/0007-flac_a-Fix-compiling-with-recent-flac-versions.patch
@@ -0,0 +1,88 @@
+From be0d048f2fc264b15d2d6fdadfd88e4e5713734a Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 12:15:41 +0100
+Subject: [PATCH 7/9] flac_a: Fix compiling with recent flac versions
+
+The LEGACY_FLAC test was only succeeding on windows since the
+FLAC/export.h was inside a windows #ifdef block.
+
+While at it also fix various compiler warnings, including atleast
+2 real bugs:
+1) The missing include for common.h meant the safe_malloc prototype was
+   missing, making the compiler assume it returns an int -> fail on
+   64 bits
+2) The | with FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA in the
+   error handling test was missing () and it is the wrong thing to do
+   in general since this is an enum not a flags field.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/flac_a.c |   11 +++++------
+ 1 files changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/timidity/flac_a.c b/timidity/flac_a.c
+index ad31251..cad02a2 100644
+--- a/timidity/flac_a.c
++++ b/timidity/flac_a.c
+@@ -33,6 +33,7 @@
+ #include <unistd.h>
+ #endif /* HAVE_UNISTD_H */
+ #include <fcntl.h>
++#include "common.h"
+ 
+ #ifdef __W32__
+ #include <io.h>
+@@ -41,13 +42,13 @@
+ 
+ #if defined(AU_FLAC_DLL) || defined(AU_OGGFLAC_DLL)
+ #include <windows.h>
+-#include <FLAC/export.h> /* need export.h to figure out API version from FLAC_API_VERSION_CURRENT */
+ #undef FLAC_API
+ #undef OggFLAC_API
+ #define FLAC_API
+ #define OggFLAC_API
+ #endif
+ 
++#include <FLAC/export.h> /* need export.h to figure out API version from FLAC_API_VERSION_CURRENT */
+ /* by LEGACY_FLAC we mean before FLAC 1.1.3 */
+ /* in FLAC 1.1.3, libOggFLAC is merged into libFLAC and all encoding layers are merged into the stream encoder */
+ #if !defined(FLAC_API_VERSION_CURRENT) || FLAC_API_VERSION_CURRENT < 8
+@@ -171,7 +172,6 @@ FLAC_options flac_options = {
+ 	0,		/* seekable */
+ };
+ 
+-static long serial_number = 0;
+ FLAC_ctx *flac_ctx = NULL;
+ 
+ #if defined(LEGACY_FLAC) && defined(AU_OGGFLAC)
+@@ -307,7 +307,7 @@ void flac_set_option_oggflac(int isogg)
+ }
+ #endif
+ 
+-static int flac_session_close()
++static void flac_session_close()
+ {
+   FLAC_ctx *ctx = flac_ctx;
+ 
+@@ -508,7 +508,7 @@ static int flac_output_open(const char *fname, const char *comment)
+       FLAC__seekable_stream_encoder_set_metadata(ctx->encoder.flac.s_stream, metadata, num_metadata);
+ 
+     /* set callback */
+-/*    FLAC__seekable_stream_encoder_set_metadata_callback(ctx->encoder.flac.s_stream, flac_seekable_stream_encoder_metadata_callback); /* */
++/*  FLAC__seekable_stream_encoder_set_metadata_callback(ctx->encoder.flac.s_stream, flac_seekable_stream_encoder_metadata_callback); */
+ #if (!defined(__BORLANDC__) && !defined(__POCC__))
+     FLAC__stream_encoder_set_metadata_callback(ctx->encoder.flac.s_stream, flac_seekable_stream_encoder_metadata_callback); /* */
+ #endif
+@@ -896,8 +896,7 @@ static int output_data(char *buf, int32 nbytes)
+ #else /* !LEGACY_FLAC */
+   ctx->state.flac = FLAC__stream_encoder_get_state(ctx->encoder.flac.stream);
+   if (ctx->state.flac != FLAC__STREAM_ENCODER_OK) {
+-    if (ctx->state.flac == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR |
+-	FLAC__STREAM_ENCODER_VERIFY_MISMATCH_IN_AUDIO_DATA) {
++    if (ctx->state.flac == FLAC__STREAM_ENCODER_VERIFY_DECODER_ERROR) {
+       ctl->cmsg(CMSG_ERROR, VERB_NORMAL, "FLAC stream verify error (%s)",
+ 		FLAC__StreamDecoderStateString[FLAC__stream_encoder_get_verify_decoder_state(ctx->encoder.flac.stream)]);
+     }
+-- 
+1.7.7.1
+
diff --git a/0008-Fix-a-bunch-of-warning-implicit-declaration-of-funct.patch b/0008-Fix-a-bunch-of-warning-implicit-declaration-of-funct.patch
new file mode 100644
index 0000000..fb88e85
--- /dev/null
+++ b/0008-Fix-a-bunch-of-warning-implicit-declaration-of-funct.patch
@@ -0,0 +1,106 @@
+From bf04367d781a62e902ff8328441a1e219ca09a85 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 12:32:10 +0100
+Subject: [PATCH 8/9] Fix a bunch of: warning: implicit declaration of
+ function ... warnings
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/controls.c |    5 +++++
+ timidity/effect.c   |    2 ++
+ timidity/oss_a.c    |    1 +
+ timidity/playmidi.h |    1 +
+ timidity/speex_a.c  |   10 ++++++++++
+ timidity/wrd.h      |    2 ++
+ 6 files changed, 21 insertions(+), 0 deletions(-)
+
+diff --git a/timidity/controls.c b/timidity/controls.c
+index 23dc35d..246f971 100644
+--- a/timidity/controls.c
++++ b/timidity/controls.c
+@@ -24,6 +24,11 @@
+ #ifdef HAVE_CONFIG_H
+ #include "config.h"
+ #endif /* HAVE_CONFIG_H */
++
++#ifdef HAVE_UNISTD_H
++#include <unistd.h>
++#endif /* HAVE_UNISTD_H */
++
+ #include "interface.h"
+ #include "timidity.h"
+ #include "controls.h"
+diff --git a/timidity/effect.c b/timidity/effect.c
+index 8b2ce77..ca32cb9 100644
+--- a/timidity/effect.c
++++ b/timidity/effect.c
+@@ -35,6 +35,8 @@
+ #include <strings.h>
+ #endif
+ 
++#include <stdlib.h>
++
+ #include "mt19937ar.h"
+ #define RAND_MAX 0xffffffff
+ 
+diff --git a/timidity/oss_a.c b/timidity/oss_a.c
+index 6809bf5..e72b74d 100644
+--- a/timidity/oss_a.c
++++ b/timidity/oss_a.c
+@@ -38,6 +38,7 @@
+ #endif
+ 
+ #if defined(HAVE_SYS_SOUNDCARD_H)
++#include <sys/ioctl.h>
+ #include <sys/soundcard.h>
+ #elif defined(linux)
+ #include <sys/ioctl.h> /* new with 1.2.0? Didn't need this under 1.1.64 */
+diff --git a/timidity/playmidi.h b/timidity/playmidi.h
+index aa5261e..f5cb0f8 100644
+--- a/timidity/playmidi.h
++++ b/timidity/playmidi.h
+@@ -593,6 +593,7 @@ extern void playmidi_output_changed(int play_state);
+ extern Instrument *play_midi_load_instrument(int dr, int bk, int prog);
+ extern void midi_program_change(int ch, int prog);
+ extern void free_voice(int v);
++extern void free_reverb_buffer(void);
+ extern void play_midi_setup_drums(int ch,int note);
+ 
+ /* For stream player */
+diff --git a/timidity/speex_a.c b/timidity/speex_a.c
+index 0dbe480..93627cf 100644
+--- a/timidity/speex_a.c
++++ b/timidity/speex_a.c
+@@ -33,6 +33,16 @@
+ #ifdef HAVE_FCNTL_H
+ #include <fcntl.h>
+ #endif
++#if TIME_WITH_SYS_TIME
++# include <sys/time.h>
++# include <time.h>
++#else
++# if HAVE_SYS_TIME_H
++#  include <sys/time.h>
++# else
++#  include <time.h>
++# endif
++#endif  /* TIME_WITH_SYS_TIME */
+ 
+ #include <speex/speex.h>
+ #include <speex/speex_header.h>
+diff --git a/timidity/wrd.h b/timidity/wrd.h
+index 23b8161..294294e 100644
+--- a/timidity/wrd.h
++++ b/timidity/wrd.h
+@@ -140,6 +140,8 @@ extern void sry_encode_bindata( char *code, const char *org, int len);
+ extern int sry_decode_bindata( char *data );
+ extern int wrd_read_sherry;
+ 
++extern void free_wrd(void);
++
+ static inline void print_ecmd(char*, int*, int);
+ #ifdef HAVE_STRINGS_H
+ #include <strings.h>
+-- 
+1.7.7.1
+
diff --git a/0009-sndfont-Work-around-soundfonts-with-missing-links-be.patch b/0009-sndfont-Work-around-soundfonts-with-missing-links-be.patch
new file mode 100644
index 0000000..e3270d8
--- /dev/null
+++ b/0009-sndfont-Work-around-soundfonts-with-missing-links-be.patch
@@ -0,0 +1,124 @@
+From b6c69d78e5ac4e7a5eeaeb59ac21e7fe613763e8 Mon Sep 17 00:00:00 2001
+From: Hans de Goede <hdegoede at redhat.com>
+Date: Thu, 10 Nov 2011 20:21:32 +0100
+Subject: [PATCH 9/9] sndfont: Work around soundfonts with missing links
+ between stereo samples
+
+Some sf2 files have all their link ids between stereo samples set to 0,
+this patch works around that, atleast for files which have 2 matching
+the matched left + right samples directly after each other in the
+instruments layers list.
+
+Signed-off-by: Hans de Goede <hdegoede at redhat.com>
+---
+ timidity/sndfont.c |   57 ++++++++++++++++++++++++++++++++++++++++++++++++---
+ 1 files changed, 53 insertions(+), 4 deletions(-)
+
+diff --git a/timidity/sndfont.c b/timidity/sndfont.c
+index ad22e7f..e971c27 100644
+--- a/timidity/sndfont.c
++++ b/timidity/sndfont.c
+@@ -200,6 +200,7 @@ static void make_info(SFInfo *sf, SampleList *vp, LayerTable *tbl);
+ static FLOAT_T calc_volume(LayerTable *tbl);
+ static void set_sample_info(SFInfo *sf, SampleList *vp, LayerTable *tbl);
+ static void set_init_info(SFInfo *sf, SampleList *vp, LayerTable *tbl);
++static void reset_last_sample_info(void);
+ static int abscent_to_Hz(int abscents);
+ static void set_rootkey(SFInfo *sf, SampleList *vp, LayerTable *tbl);
+ static void set_rootfreq(SampleList *vp);
+@@ -857,6 +858,8 @@ static int parse_layer(SFInfo *sf, int pridx, LayerTable *tbl, int level)
+ 	    (lay = inst->hdr.layer) == NULL)
+ 		return AWE_RET_SKIP;
+ 
++	reset_last_sample_info();
++
+ 	/* check global layer */
+ 	globalp = NULL;
+ 	if (is_global(lay)) {
+@@ -881,6 +884,8 @@ static int parse_layer(SFInfo *sf, int pridx, LayerTable *tbl, int level)
+ 			rc = parse_layer(sf, pridx, &ctbl, level+1);
+ 			if (rc != AWE_RET_OK && rc != AWE_RET_SKIP)
+ 				return rc;
++
++			reset_last_sample_info();
+ 		} else {
+ 			init_and_merge_table(sf, &ctbl, tbl);
+ 			if (! sanity_range(&ctbl))
+@@ -1328,6 +1333,11 @@ static void set_sample_info(SFInfo *sf, SampleList *vp, LayerTable *tbl)
+ /*----------------------------------------------------------------*/
+ 
+ /* set global information */
++static int last_sample_type;
++static int last_sample_instrument;
++static int last_sample_keyrange;
++static SampleList *last_sample_list;
++
+ static void set_init_info(SFInfo *sf, SampleList *vp, LayerTable *tbl)
+ {
+     int val;
+@@ -1366,12 +1376,41 @@ static void set_init_info(SFInfo *sf, SampleList *vp, LayerTable *tbl)
+ 
+ 	vp->v.sample_type = sample->sampletype;
+ 	vp->v.sf_sample_index = tbl->val[SF_sampleId];
+-	if (sample->sampletype == SF_SAMPLETYPE_MONO) {
+-		vp->v.sf_sample_link = -1;
+-	} else {
+-		vp->v.sf_sample_link = sample->samplelink;
++	vp->v.sf_sample_link = sample->samplelink;
++
++	/* Some sf2 files don't contain valid sample links, so see if the
++	   previous sample was a matching Left / Right sample with the
++	   link missing and add it */
++	switch (sample->sampletype) {
++	case SF_SAMPLETYPE_LEFT:
++		if (vp->v.sf_sample_link == 0 &&
++		    last_sample_type == SF_SAMPLETYPE_RIGHT &&
++		    last_sample_instrument == tbl->val[SF_instrument] &&
++		    last_sample_keyrange == tbl->val[SF_keyRange]) {
++		    	/* The previous sample was a matching right sample
++		    	   set the link */
++		    	vp->v.sf_sample_link = last_sample_list->v.sf_sample_index;
++		}
++		break;
++	case SF_SAMPLETYPE_RIGHT:
++		if (last_sample_list &&
++		    last_sample_list->v.sf_sample_link == 0 &&
++		    last_sample_type == SF_SAMPLETYPE_LEFT &&
++		    last_sample_instrument == tbl->val[SF_instrument] &&
++		    last_sample_keyrange == tbl->val[SF_keyRange]) {
++		    	/* The previous sample was a matching left sample
++		    	   set the link on the previous sample*/
++		    	last_sample_list->v.sf_sample_link = tbl->val[SF_sampleId];
++		}
++		break;
+ 	}
+ 
++	/* Remember this sample in case the next one is a match */
++	last_sample_type = sample->sampletype;;
++	last_sample_instrument = tbl->val[SF_instrument];
++	last_sample_keyrange = tbl->val[SF_keyRange];
++	last_sample_list = vp;
++
+ 	/* panning position: 0 to 127 */
+ 	val = (int)tbl->val[SF_panEffectsSend];
+     if(sample->sampletype == SF_SAMPLETYPE_MONO || val != 0) {	/* monoSample = 1 */
+@@ -1447,6 +1486,16 @@ static void set_init_info(SFInfo *sf, SampleList *vp, LayerTable *tbl)
+ #endif
+ }
+ 
++static void reset_last_sample_info(void)
++{
++    last_sample_list = NULL;
++    last_sample_type = 0;
++    /* Set last instrument and keyrange to a value which cannot be represented
++       by LayerTable.val (which is a short) */
++    last_sample_instrument = 0x80000000;
++    last_sample_keyrange   = 0x80000000;
++}
++
+ static int abscent_to_Hz(int abscents)
+ {
+ 	return (int)(8.176 * pow(2.0, (double)abscents / 1200.0));
+-- 
+1.7.7.1
+
diff --git a/sources b/sources
index 4fedf20..0669e4e 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-a82ceeb2245e22f4de2b41da21eaee32  TiMidity++-2.13.2.tar.bz2
+21578a4af612fc6fb61172177c675f8f  timidity++-cvs20111110.tar.gz
diff --git a/timidity++.spec b/timidity++.spec
index cb748d9..58faf63 100644
--- a/timidity++.spec
+++ b/timidity++.spec
@@ -1,33 +1,23 @@
+%global cvs_version cvs20111110
+
 Summary: A software wavetable MIDI synthesizer
 Name: timidity++
 Version: 2.13.2
-Release: 25%{?dist}
+Release: 26.%{cvs_version}%{?dist}
 Group: Applications/Multimedia
-Source: http://downloads.sourceforge.net/timidity/TiMidity++-%{version}.tar.bz2
+Source0: timidity++-%{cvs_version}.tar.gz
 Source1: fedora-timidity.desktop
 URL: http://timidity.sourceforge.net
-Patch3: TiMidity++-2.13.0-detect.patch
-Patch5: TiMidity++-2.13.0-64bit.patch
-Patch6: TiMidity++-2.13.0-warnings.patch
-Patch7: TiMidity++-2.13.2-flac-detect.patch
-Patch8: TiMidity++-2.13.2-speex.patch
-Patch9: TiMidity++-2.13.2-libao-first.patch
-# The following patches are courtesy of Debian
-Patch10: TiMidity++-2.13.2-man-pages.patch
-Patch11: TiMidity++-2.13.2-misc-fixes.patch
-Patch12: TiMidity++-2.13.2-mlutil.patch
-Patch13: TiMidity++-2.13.2-flac.patch
-# end Debian patches
-Patch14: TiMidity++-2.13.2-ipv6.patch
-Patch15: TiMidity++-2.13.2-dynlibroot.patch
-Patch16: TiMidity++-2.13.2-cfgfile-name.patch
-Patch17: TiMidity++-2.13.2-missing-protos.patch
-Patch18: TiMidity++-2.13.2-fork-early.patch
-# http://timidity.cvs.sourceforge.net/viewvc/timidity/timidity/timidity/effect.c?r1=1.22&r2=1.23
-Patch19: TiMidity++-2.13.2-noise-fix.patch
-
+Patch1: 0001-esd_a-Don-t-start-ESD.patch
+Patch2: 0002-libao-Add-a-detect-function.patch
+Patch3: 0003-Change-audio-output-detection-order.patch
+Patch4: 0004-Various-man-page-fixes.patch
+Patch5: 0005-Try-etc-timidity-.cfg-first-and-then-etc-timidity.cf.patch
+Patch6: 0006-Fork-earlier-when-we-re-going-to-run-deamonized-in-A.patch
+Patch7: 0007-flac_a-Fix-compiling-with-recent-flac-versions.patch
+Patch8: 0008-Fix-a-bunch-of-warning-implicit-declaration-of-funct.patch
+Patch9: 0009-sndfont-Work-around-soundfonts-with-missing-links-be.patch
 License: GPLv2
-BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
 BuildRequires: alsa-lib-devel ncurses-devel gtk2-devel
 BuildRequires: libao-devel libvorbis-devel flac-devel speex-devel
 BuildRequires: jack-audio-connection-kit-devel
@@ -41,37 +31,29 @@ sound card does not natively support wave table format.
 
 
 %prep
-%setup -q -n TiMidity++-%{version}
-# Autodetect whether we should use aRts, esd, or neither
-%patch3 -p1 -b .detect
-# fix for x86_64 and s390x
-%patch5 -p1 -b .64bit
-%patch6 -p1 -b .warnings
+%setup -q -n timidity
+%patch1 -p1
+%patch2 -p1
+%patch3 -p1
+%patch4 -p1
+%patch5 -p1
+%patch6 -p1
 %patch7 -p1
 %patch8 -p1
 %patch9 -p1
-%patch10 -p1
-%patch11 -p1
-%patch12 -p1
-%patch13 -p1
-%patch14 -p1
-%patch15 -p1
-%patch16 -p1
-%patch17 -p1
-%patch18 -p1
-%patch19 -p1
 
 
 %build
-export EXTRACFLAGS="$RPM_OPT_FLAGS -D_GNU_SOURCE"
+export EXTRACFLAGS="$RPM_OPT_FLAGS -DCONFIG_FILE1=\\\"/etc/timidity++.cfg\\\" -DCONFIG_FILE2=\\\"/etc/timidity.cfg\\\""
+# Note the first argument to --enable-audio is the default output, and
+# we use libao to get pulse output
 %configure --enable-dynamic --disable-dependency-tracking \
   --enable-interface=ncurses,vt100,alsaseq,server,network,gtk \
-  --enable-audio=oss,alsa,ao,jack,vorbis,speex,flac
+  --enable-audio=ao,alsa,oss,jack,vorbis,speex,flac
 make %{?_smp_mflags}
 
 
 %install
-rm -rf $RPM_BUILD_ROOT
 make install DESTDIR=$RPM_BUILD_ROOT
 
 mkdir -p $RPM_BUILD_ROOT/%{_sysconfdir}
@@ -88,27 +70,20 @@ install -p -m 644 interface/pixmaps/timidity.xpm \
   $RPM_BUILD_ROOT%{_datadir}/icons/hicolor/48x48/apps/timidity.xpm
 
 
-%clean
-rm -rf $RPM_BUILD_ROOT
-
-
 %post
-# update icon themes
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
-   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
-fi
+touch --no-create %{_datadir}/icons/hicolor &>/dev/null || :
 
 %postun
-# update icon themes
-touch --no-create %{_datadir}/icons/hicolor || :
-if [ -x %{_bindir}/gtk-update-icon-cache ]; then
-   %{_bindir}/gtk-update-icon-cache --quiet %{_datadir}/icons/hicolor || :
+if [ $1 -eq 0 ] ; then
+    touch --no-create %{_datadir}/icons/hicolor &>/dev/null
+    gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
 fi
 
+%posttrans
+gtk-update-icon-cache %{_datadir}/icons/hicolor &>/dev/null || :
+
 
 %files
-%defattr(-,root,root,-)
 %doc AUTHORS COPYING README NEWS ChangeLog
 %config(noreplace) %{_sysconfdir}/timidity++.cfg
 %{_bindir}/*
@@ -118,6 +93,13 @@ fi
 
 
 %changelog
+* Thu Nov 10 2011 Hans de Goede <hdegoede at redhat.com> - 2.13.2-26.cvs20111110
+- Upstream has not been doing new releases for years, but there have been
+  some bugfixes in CVS -> upgrade to the latest CVS version
+- Drop a bunch of patches for things which are fixed in this CVS version
+- Add a patch which fixes the loading of sf2 files with stereo instrument
+  samples with missing link-ids between the left and right samples (#710927)
+
 * Mon Nov 07 2011 Christian Krause <chkr at fedoraproject.org> - 2.13.2-25
 - add upstream patch to fix garbled sound when start playing (#710927)
 


More information about the scm-commits mailing list