El Wed, 14 Feb 2024 19:27:11 +0100
Omar Polo <o...@omarpolo.com> escribió:
> On 2024/02/13 11:48:26 -0600, izder456 <izder...@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 <izder...@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

Reply via email to