commit:     ae090334ebdca9d0e905ea6fee6c25fca021af51
Author:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
AuthorDate: Fri Nov 11 21:56:20 2022 +0000
Commit:     James Le Cuirot <chewi <AT> gentoo <DOT> org>
CommitDate: Fri Nov 11 21:56:20 2022 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=ae090334

media-sound/ncmpcpp: Patch to fix cross-compiling of 0.9.2

Avoids use of taglib-config. Sent upstream but not merged yet. May merge soon so
leaving out of 9999.

Signed-off-by: James Le Cuirot <chewi <AT> gentoo.org>

 media-sound/ncmpcpp/files/ncmpcpp-taglib-pc.patch | 56 ++++++++++++++++++
 media-sound/ncmpcpp/ncmpcpp-0.9.2-r3.ebuild       | 71 +++++++++++++++++++++++
 2 files changed, 127 insertions(+)

diff --git a/media-sound/ncmpcpp/files/ncmpcpp-taglib-pc.patch 
b/media-sound/ncmpcpp/files/ncmpcpp-taglib-pc.patch
new file mode 100644
index 000000000000..3a3c55e923d9
--- /dev/null
+++ b/media-sound/ncmpcpp/files/ncmpcpp-taglib-pc.patch
@@ -0,0 +1,56 @@
+From 8796a4469795dfb067d02e19ddb3ae380d9b2fc3 Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <[email protected]>
+Date: Thu, 10 Nov 2022 23:58:33 +0000
+Subject: [PATCH] Check for taglib with pkg-config before trying taglib-config
+
+Programs like taglib-config are not good when cross-compiling.
+---
+ configure.ac | 27 +++++++++++++++++++--------
+ 1 file changed, 19 insertions(+), 8 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ef0c52b7..193840e6 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -257,19 +257,30 @@ PKG_CHECK_MODULES([libcurl], [libcurl], [
+ 
+ # taglib
+ if test "$taglib" != "no" ; then
+-      AC_PATH_PROG(TAGLIB_CONFIG, taglib-config)
+-      if test "$TAGLIB_CONFIG" != "" ; then
+-              CPPFLAGS="$CPPFLAGS `$TAGLIB_CONFIG --cflags`"
+-              LIBS="$LIBS `$TAGLIB_CONFIG --libs`"
++      PKG_CHECK_MODULES([taglib], [taglib], [
++              AC_SUBST(taglib_CFLAGS)
++              AC_SUBST(taglib_LIBS)
++      ], [
++              AC_PATH_PROG([TAGLIB_CONFIG], [taglib-config])
++              if test "$TAGLIB_CONFIG" != ""; then
++                      taglib_CFLAGS=`$TAGLIB_CONFIG --cflags`
++                      taglib_LIBS=`$TAGLIB_CONFIG --libs`
++              else
++                      if test "$taglib" = "yes" ; then
++                              AC_MSG_ERROR([could not find taglib.pc or 
taglib-config executable])
++                      fi
++              fi
++      ])
++
++      if test "$TAGLIB_CONFIG$taglib_LIBS" != "" ; then
++              CPPFLAGS="$CPPFLAGS $taglib_CFLAGS"
++              LIBS="$LIBS $taglib_LIBS"
++
+               AC_CHECK_HEADERS([taglib.h], ,
+                       if test "$taglib" = "yes" ; then
+                               AC_MSG_ERROR([missing taglib.h header])
+                       fi
+               )
+-      else
+-              if test "$taglib" = "yes" ; then
+-                      AC_MSG_ERROR([taglib-config executable is missing])
+-              fi
+       fi
+ fi
+ 
+-- 
+2.38.1
+

diff --git a/media-sound/ncmpcpp/ncmpcpp-0.9.2-r3.ebuild 
b/media-sound/ncmpcpp/ncmpcpp-0.9.2-r3.ebuild
new file mode 100644
index 000000000000..4c09ce6aed9e
--- /dev/null
+++ b/media-sound/ncmpcpp/ncmpcpp-0.9.2-r3.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="featureful ncurses based MPD client inspired by ncmpc"
+HOMEPAGE="https://ncmpcpp.rybczak.net/ https://github.com/ncmpcpp/ncmpcpp";
+SRC_URI="https://rybczak.net/ncmpcpp/stable/${P}.tar.bz2";
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc ~x86"
+IUSE="clock lto outputs taglib visualizer"
+
+RDEPEND="
+       >=media-libs/libmpdclient-2.1
+       dev-libs/boost:=[icu,nls]
+       dev-libs/icu:=
+       net-misc/curl
+       sys-libs/ncurses:=[unicode(+)]
+       sys-libs/readline:=
+       taglib? ( media-libs/taglib )
+       visualizer? ( sci-libs/fftw:3.0= )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+       "${FILESDIR}/${PN}-taglib-pc.patch"
+)
+
+src_prepare() {
+       default
+       eautoreconf
+
+       sed -i -e '/^docdir/d' {,doc/}Makefile{.am,.in} || die
+       sed -i -e 's|COPYING||g' Makefile{.am,.in} || die
+}
+
+src_configure() {
+       filter-flags '-flto*'
+
+       econf \
+               $(use_enable clock) \
+               $(use_enable outputs) \
+               $(use_enable visualizer) \
+               $(use_with lto) \
+               $(use_with taglib) \
+               $(use_with visualizer fftw)
+}
+
+src_install() {
+       default
+
+       dodoc doc/{bindings,config}
+}
+
+pkg_postinst() {
+       echo
+       elog "Example configuration files have been installed at"
+       elog "${EROOT}/usr/share/doc/${PF}"
+       elog "${P} uses ~/.ncmpcpp/config and ~/.ncmpcpp/bindings"
+       elog "as user configuration files."
+       echo
+       if use visualizer; then
+       elog "If you want to use the visualizer, you need mpd with fifo 
enabled."
+       echo
+       fi
+}

Reply via email to