Index | Thread | Search

From:
Jose Maldonado <josemald89@gmail.com>
Subject:
Re: NEW: audio/deadbeef-plugin-mpris2
To:
Omar Polo <op@omarpolo.com>
Cc:
izder456 <izder456@disroot.org>, ports@openbsd.org
Date:
Wed, 14 Feb 2024 14:36:17 -0400

Download raw body.

Thread
  • Omar Polo:

    NEW: audio/deadbeef-plugin-mpris2

  • El Wed, 14 Feb 2024 19:27:11 +0100
    Omar Polo <op@omarpolo.com> escribió:
    > On 2024/02/13 11:48:26 -0600, izder456 <izder456@disroot.org> wrote:
    > > Hey ports@,
    > > 
    > > I want to import the mpris2 plugin for the DeaDBeeF music player.
    > > 
    > > This allows mpris2 support in the music player, so ports like
    > > multimedia/playerctl can interface with and operate DeaDBeeF.
    > > 
    > > A couple questions:
    > > 
    > > 1. I put this in CATEGORY = audio, I'm unsure if this was the
    > > correct location for a plugin like this. Is there a better
    > > (possibly more suitable CATEGORY for this port?)
    > 
    > I think audio is fine.
    > 
    > > 2. portcheck returns 
    > >    ```
    > >    the following libraries in WANTLIB look like masked by
    > > RUN_DEPENDS: gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0 gthread-2.0
    > > iconv intl ffi audio/deadbeef-plugin-mpris2
    > >    ```
    > >    is this normal? I don't exactly know what this means or what I
    > > should do to suppress it if its not OK..
    > 
    > it's an edge case.  TL;DR, remove deadbeef from RUN_DEPENDS, re-run
    > make port-lib-depends-check, fix LIB_DEPENDS, re-add deadbeef to
    > RUN_DEPENDS.
    > 
    > longer explanation: the port links to glib (plus a lot of other
    > dependencies) and it's not listed in LIB_DEPENDS.  Yet, it's reachable
    > at runtime via audio/deadbeef, so portchecks detects that you're
    > missing something in LIB_DEPENDS.  The idea of "masked ldeps" means a
    > LIB_DEPENDS that's not actually listed as LIB_DEPENDS.
    > 
    > then, some comments about the port.
    > 
    >  - the identation is a bit inconsistent.  make sure your editor is
    >    configured with tabs 8 columns wide (that's emacs default, but
    > YMMV)
    > 
    >  - HOMEPAGE is set by DIST_TUPLE = github
    > 
    >  - add a missing build depends on audio/deadbeef
    > 
    >  - listing a library as BUILD_DEPENDS is 99.99% of the times wrong.
    >    libffi is a LIB_DEPENDS.
    > 
    >  - (matter of personal style) tidy CONFIGURE_ENV by defining some
    > local variables
    > 
    >  - CONFIGURE_ARGS is not needed, and even if it were it would be
    > --prefix ${PREFIX} or ${TRUEPREFIX}, not ${LOCALBASE}.  {TRUE,}PREFIX
    > is for this very port, LOCALBASE is where other ports are installed.
    >    In practice the difference doesn't matter, but use the right
    > variable nevertheless.
    > 
    >  - bump AUTOCONF_VERSION to 2.71: there are a couple of warnings about
    >    deprecated macros, but otherwise works.  2.69 is a bit ancient.
    > 
    >  - why removing the *la files?
    > 
    > I'm attaching an updated ports and a diff against your makefile.  The
    > port looks fine to me now, but as I don't use deadbeef I haven't gone
    > further than `make package'.
    > 
    > 
    > --- Makefile.orig	Wed Feb 14 18:49:28 2024
    > +++ Makefile	Wed Feb 14 19:15:33 2024
    > @@ -1,13 +1,11 @@
    >  COMMENT =	deadbeef plugin for mpris2 support
    >  
    > -V =	1.16
    > +V =		1.16
    >  DIST_TUPLE +=	github DeaDBeeF-Player deadbeef-mpris2-plugin
    > v${V} . PKGNAME =	deadbeef-plugin-mpris2-${V}
    >  
    >  CATEGORIES =	audio
    >  
    > -HOMEPAGE =
    > https://github.com/DeaDBeeF-Player/deadbeef-mpris2-plugin -
    >  MAINTAINER =	izzy Meyer <izder456@disroot.org>
    >  
    >  # GPL v2 only
    > @@ -16,30 +14,25 @@
    >  WANTLIB +=	gio-2.0 glib-2.0 gmodule-2.0 gobject-2.0
    > gthread-2.0 WANTLIB +=	pthread iconv intl pcre2-8 z ffi
    >  
    > -COMPILER =	base-clang ports-gcc
    > -
    > -
    > -LIB_DEPENDS =	devel/pcre2
    > -BUILD_DEPENDS =	devel/libtool \
    > -				devel/libffi \
    > -				devel/pcre2
    > +LIB_DEPENDS =	devel/glib2 \
    > +		devel/libffi \
    > +		devel/pcre2
    > +BUILD_DEPENDS =	audio/deadbeef \
    > +		devel/libtool
    >  RUN_DEPENDS =	audio/deadbeef
    >  
    >  CONFIGURE_STYLE =	autoreconf
    >  
    > -CONFIGURE_ENV +=	CPPFLAGS='-I${LOCALBASE}/include \
    > -					-I${X11BASE}/include' \
    > -					LDFLAGS='-L${LOCALBASE}/lib
    > -L${X11BASE}/lib' \ +CPPFLAGS +=	-I${LOCALBASE}/include \
    > +		-I${X11BASE}/include
    > +LDFLAGS +=	-L${LOCALBASE}/lib \
    > +		-L${X11BASE}/lib
    > +CONFIGURE_ENV +=	CPPFLAGS='${CPPFLAGS}' \
    > +			LDFLAGS='${LDFLAGS}'
    >  
    > -CONFIGURE_ARGS =	--prefix ${LOCALBASE} \
    > -					--disable-static
    > -
    >  LIBTOOL_FLAGS =	--tag=disable-static
    >  
    > -AUTOCONF_VERSION =	2.69
    > +AUTOCONF_VERSION =	2.71
    >  AUTOMAKE_VERSION =	1.16
    > -
    > -post-install:
    > -		@rm ${PREFIX}/lib/deadbeef/*.la
    >  
    >  .include <bsd.port.mk>
    > 
    > 
    
    Good observations @Omar, I have learned a lot from that! 
    
    I have built the port and installed it with your changes, everything
    works correctly.
    
    
    -- 
    *********************************************************
    Dios en su cielo, todo bien en la Tierra
    
    
    
  • Omar Polo:

    NEW: audio/deadbeef-plugin-mpris2