summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/mp3.scm3
-rw-r--r--gnu/packages/patches/mpc123-initialize-ao.patch19
3 files changed, 22 insertions, 1 deletions
diff --git a/gnu-system.am b/gnu-system.am
index 8308480c42..e7c7bb2141 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -298,6 +298,7 @@ dist_patch_DATA =						\
   gnu/packages/patches/make-impure-dirs.patch			\
   gnu/packages/patches/mcron-install.patch			\
   gnu/packages/patches/mit-krb5-init-fix.patch			\
+  gnu/packages/patches/mpc123-initialize-ao.patch		\
   gnu/packages/patches/patchelf-page-size.patch			\
   gnu/packages/patches/perl-no-sys-dirs.patch			\
   gnu/packages/patches/plotutils-libpng-jmpbuf.patch		\
diff --git a/gnu/packages/mp3.scm b/gnu/packages/mp3.scm
index 7e324703a6..c64efe4c03 100644
--- a/gnu/packages/mp3.scm
+++ b/gnu/packages/mp3.scm
@@ -298,7 +298,8 @@ format.")
                                   version "/mpc123-" version ".tar.gz"))
               (sha256
                (base32
-                "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))))
+                "0sf4pns0245009z6mbxpx7kqy4kwl69bc95wz9v23wgappsvxgy1"))
+              (patches (list (search-patch "mpc123-initialize-ao.patch")))))
     (build-system gnu-build-system)
     (arguments
      '(#:phases (alist-replace
diff --git a/gnu/packages/patches/mpc123-initialize-ao.patch b/gnu/packages/patches/mpc123-initialize-ao.patch
new file mode 100644
index 0000000000..85e461f896
--- /dev/null
+++ b/gnu/packages/patches/mpc123-initialize-ao.patch
@@ -0,0 +1,19 @@
+Description: Zero ao_sample_format structure to cope with libao 1.0.0
+Author: Colin Watson <cjwatson@debian.org>
+Bug-Debian: http://bugs.debian.org/591396
+Bug-Ubuntu: https://bugs.launchpad.net/bugs/710268
+Forwarded: no
+Last-Update: 2013-05-07
+
+Index: b/ao.c
+===================================================================
+--- a/ao.c
++++ b/ao.c
+@@ -123,6 +123,7 @@
+ 
+   /* initialize ao_format struct */
+   /* XXX VERY WRONG */
++  memset(&ao_fmt, 0, sizeof(ao_fmt));
+   ao_fmt.bits=16;       /*tmp_stream_info.average_bitrate;*/
+   ao_fmt.rate=streaminfo->sample_freq;
+   ao_fmt.channels=streaminfo->channels;