summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-02-21 01:00:49 +0100
committerLudovic Courtès <ludo@gnu.org>2014-02-21 23:49:52 +0100
commit86d07a5514d859772980ef87e39f6e2b668655c0 (patch)
treef29b3b7cfbb5713f692aeebae2cf00f84c189bbd /gnu
parent504a83af42a552b753561bce440d44b047144986 (diff)
downloadguix-86d07a5514d859772980ef87e39f6e2b668655c0.tar.gz
gnu: mpc123: Add patch that fixes a segfault.
* gnu/packages/patches/mpc123-initialize-ao.patch: New file.
* gnu/packages/mp3.scm (mpc123): Use it.
* gnu-system.am (dist_patch_DATA): Add it.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/mp3.scm3
-rw-r--r--gnu/packages/patches/mpc123-initialize-ao.patch19
2 files changed, 21 insertions, 1 deletions
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;