commit:     294502452ef39cedc3ba773697fbcf1c54d22ef5
Author:     Haelwenn (lanodan) Monnier <contact <AT> hacktivis <DOT> me>
AuthorDate: Sat Jul 19 22:28:11 2025 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Sat Jul 26 05:05:10 2025 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=29450245

app-misc/bb: use pkg-config for libmikmod

Avoids the complexity of m4/libmikmod.m4 which had a missing <string.h>,
which also silently disables libmikmod and so require a revbump anyway.

Sadly aalib does not provides a pkg-config file.

Closes: https://bugs.gentoo.org/955778
Signed-off-by: Haelwenn (lanodan) Monnier <contact <AT> hacktivis.me>
Part-of: https://github.com/gentoo/gentoo/pull/43076
Signed-off-by: Sam James <sam <AT> gentoo.org>

 app-misc/bb/bb-1.3.0_rc1-r7.ebuild                 | 76 ++++++++++++++++++++++
 .../files/bb-1.3.0_rc1-libmikmod-pkgconfig.patch   | 26 ++++++++
 2 files changed, 102 insertions(+)

diff --git a/app-misc/bb/bb-1.3.0_rc1-r7.ebuild 
b/app-misc/bb/bb-1.3.0_rc1-r7.ebuild
new file mode 100644
index 000000000000..66a1437dbbed
--- /dev/null
+++ b/app-misc/bb/bb-1.3.0_rc1-r7.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+MY_P="${PN}-$(ver_cut 1-2)$(ver_cut 4-5)"
+
+DESCRIPTION="Lightweight ASCII art demo using media-libs/aalib"
+HOMEPAGE="https://aa-project.sourceforge.net/";
+SRC_URI="https://downloads.sourceforge.net/aa-project/${MY_P}.tar.gz";
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+IUSE="mikmod"
+
+DEPEND="media-libs/aalib:=
+       dev-libs/lzo:=
+       mikmod? ( media-libs/libmikmod:=[openal] )
+"
+# media-libs/libmikmod[openal] is due to bug #516964
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}-$(ver_cut 1-3)"
+
+PATCHES=(
+       "${FILESDIR}"/${P}-noattr.patch
+       "${FILESDIR}"/${P}-fix-protos.patch
+       "${FILESDIR}"/${P}-messager-overlap.patch
+       "${FILESDIR}"/${P}-zbuff-fault.patch
+       "${FILESDIR}"/${P}-printf-cleanup.patch
+       "${FILESDIR}"/${P}-libmikmod-pkgconfig.patch
+       "${FILESDIR}"/${P}-protos.patch
+       "${FILESDIR}"/${P}-disable-pulse.patch
+       "${FILESDIR}"/${P}-fix-build-for-clang16.patch
+       "${FILESDIR}"/${P}-fix-lto-type-mismatch.patch
+       "${FILESDIR}"/${P}-fix-return-type-and-QA.patch
+)
+
+src_prepare() {
+       default
+
+       # 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
+
+       mv -v configure.{in,ac} || die
+       # m4/ dir is added with 'm4-stuff.patch' patch
+       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-libmikmod-pkgconfig.patch 
b/app-misc/bb/files/bb-1.3.0_rc1-libmikmod-pkgconfig.patch
new file mode 100644
index 000000000000..40c2a585ba9d
--- /dev/null
+++ b/app-misc/bb/files/bb-1.3.0_rc1-libmikmod-pkgconfig.patch
@@ -0,0 +1,26 @@
+--- a/configure.in
++++ b/configure.in
+@@ -34,14 +34,15 @@ CFLAGS="$CFLAGS $AALIB_CFLAGS"
+ LIBS="$LIBS $AALIB_LIBS"
+ 
+ SOUNDFILES=""
+-AM_PATH_LIBMIKMOD(3.0.0, 
+-CFLAGS="$CFLAGS $LIBMIKMOD_CFLAGS"
+-LIBS="$LIBS $LIBMIKMOD_LIBS"
+-LDADD="$LDADD $LIBMIKMOD_LDADD"
+-AC_DEFINE(HAVE_LIBMIKMOD)
+-SOUNDFILES="bb.s3m bb2.s3m bb3.s3m"
+-dnl AC_DEFINE_UNQUOTED(SOUNDDIR,"$datadir/bb")
+-,
++PKG_CHECK_MODULES([LIBMIKMOD],
++[libmikmod >= 3.0.0],
++[
++      CFLAGS="$CFLAGS $LIBMIKMOD_CFLAGS"
++      LIBS="$LIBS $LIBMIKMOD_LIBS"
++      AC_DEFINE(HAVE_LIBMIKMOD)
++      SOUNDFILES="bb.s3m bb2.s3m bb3.s3m"
++      dnl AC_DEFINE_UNQUOTED(SOUNDDIR,"$datadir/bb")
++],
+ AC_MSG_RESULT([Libmikmod is missing - sound support will be disabled])
+ )
+ 

Reply via email to