app-misc/bb: disable broken pulseaudio plugin, bug #516964 by James L. Hammons
authorSergei Trofimovich <slyfox@gentoo.org>
Sat, 22 Aug 2015 08:45:45 +0000 (09:45 +0100)
committerSergei Trofimovich <slyfox@gentoo.org>
Sat, 22 Aug 2015 08:49:26 +0000 (09:49 +0100)
Package-Manager: portage-2.2.20

app-misc/bb/bb-1.3.0_rc1-r4.ebuild [new file with mode: 0644]
app-misc/bb/files/bb-1.3.0_rc1-disable-pulse.patch [new file with mode: 0644]
app-misc/bb/files/bb-1.3.0_rc1-protos.patch [new file with mode: 0644]

diff --git a/app-misc/bb/bb-1.3.0_rc1-r4.ebuild b/app-misc/bb/bb-1.3.0_rc1-r4.ebuild
new file mode 100644 (file)
index 0000000..8dc6338
--- /dev/null
@@ -0,0 +1,66 @@
+# Copyright 1999-2014 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Id$
+
+EAPI=5
+
+inherit autotools eutils versionator
+
+MY_P="${PN}-$(get_version_component_range 1-2)$(get_version_component_range 4-4)"
+
+DESCRIPTION="Demonstration program for visual effects of aalib"
+HOMEPAGE="http://aa-project.sourceforge.net/"
+SRC_URI="mirror://sourceforge/aa-project/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mikmod"
+
+DEPEND="media-libs/aalib:=
+       dev-libs/lzo:=
+       mikmod? ( media-libs/libmikmod:= )
+"
+RDEPEND="${DEPEND}"
+
+S="${WORKDIR}/${PN}-$(get_version_component_range 1-3)"
+
+src_prepare() {
+       epatch "${FILESDIR}"/${P}-noattr.patch
+       epatch "${FILESDIR}"/${P}-fix-protos.patch
+       epatch "${FILESDIR}"/${P}-messager-overlap.patch
+       epatch "${FILESDIR}"/${P}-zbuff-fault.patch
+       epatch "${FILESDIR}"/${P}-printf-cleanup.patch
+       epatch "${FILESDIR}"/${P}-m4-stuff.patch
+       epatch "${FILESDIR}"/${P}-protos.patch
+       epatch "${FILESDIR}"/${P}-disable-pulse.patch
+
+       # unbundle lzo, #515286
+       rm -v README.LZO minilzo.{c,h} mylzo.h || die
+       sed -e 's/minilzo.c//' \
+           -e 's/minilzo.h//' \
+           -e 's/README.LZO//' \
+               -i Makefile.am || die
+       echo 'bb_LDADD = -llzo2' >> Makefile.am || die
+       # update code
+       sed -e 's,#include "minilzo.h",#include <lzo/lzo1x.h>,' \
+           -e 's,int size = image,lzo_uint size = image,' \
+               -i image.c || die
+
+       # rename binary and manpage bb -> bb-aalib
+
+       mv bb.1 bb-aalib.1 || die
+       sed -e 's/bb/bb-aalib/' \
+               -i bb-aalib.1
+       sed -e 's/bin_PROGRAMS = bb/bin_PROGRAMS = bb-aalib/' \
+           -e 's/man_MANS = bb.1/man_MANS = bb-aalib.1/'     \
+           -e 's/bb_SOURCES/bb_aalib_SOURCES/'               \
+           -e 's/bb_LDADD/bb_aalib_LDADD/'                   \
+               -i Makefile.am || die
+
+       AT_M4DIR="m4" eautoreconf
+}
+
+pkg_postinst() {
+       elog "bb binary has been renamed to bb-aalib to avoid a naming conflict with sys-apps/busybox."
+}
diff --git a/app-misc/bb/files/bb-1.3.0_rc1-disable-pulse.patch b/app-misc/bb/files/bb-1.3.0_rc1-disable-pulse.patch
new file mode 100644 (file)
index 0000000..dcc00c6
--- /dev/null
@@ -0,0 +1,23 @@
+https://bugs.gentoo.org/516964
+diff --git a/main.c b/main.c
+index c0648b4..a9fac57 100644
+--- a/main.c
++++ b/main.c
+@@ -160,6 +160,17 @@ main (int argc, char *argv[])
+   aa_flush (context);
+   if (tolower (aa_getkey (context, 1)) != 'n')
+     {
++      /* Unfortunately recently added native pulseaudio
++       * driver in libmikmod does not allow you to
++       * call 'MikMod_Update' in a non-blocking way.
++       *
++       * It's a known limitation of simple pulseaudio API
++       * thus we derevisted pulseaudio driver to fallback
++       * on alsa, oss or whatever used to work for user.
++       */
++      drv_pulseaudio.Name    = NULL;
++      drv_pulseaudio.Version = NULL;
++
+       MikMod_RegisterAllDrivers ();
+       MikMod_RegisterLoader (&load_s3m);
+       /*md_mode |= DMODE_SOFT_MUSIC; */
diff --git a/app-misc/bb/files/bb-1.3.0_rc1-protos.patch b/app-misc/bb/files/bb-1.3.0_rc1-protos.patch
new file mode 100644 (file)
index 0000000..aa3fc02
--- /dev/null
@@ -0,0 +1,16 @@
+diff --git a/bb.c b/bb.c
+index 95850ef..a394d00 100644
+--- a/bb.c
++++ b/bb.c
+@@ -27,2 +27,3 @@
+ #include <aalib.h>
++#include <time.h>
+ #include "bb.h"
+diff --git a/main.c b/main.c
+index 417ff62..c0648b4 100644
+--- a/main.c
++++ b/main.c
+@@ -23,2 +23,3 @@
++#include <ctype.h>
+ #include <string.h>