Bug 246212 - [NEW PORT] multimedia/playerctl: MPRIS command-line controller and library
Summary: [NEW PORT] multimedia/playerctl: MPRIS command-line controller and library
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL: https://github.com/altdesktop/playerctl
Keywords:
Depends on:
Blocks:
 
Reported: 2020-05-05 05:27 UTC by Aaron LI
Modified: 2020-06-05 16:13 UTC (History)
0 users

See Also:


Attachments
multimedia/playerctl port shar (4.14 KB, text/plain)
2020-05-05 05:27 UTC, Aaron LI
no flags Details
multimedia/playerctl shar (updated) (4.01 KB, text/plain)
2020-06-05 15:41 UTC, Aaron LI
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
Description Aaron LI 2020-05-05 05:27:30 UTC
Created attachment 214143 [details]
multimedia/playerctl port shar

Hi,

I've ported the playerctl (https://github.com/altdesktop/playerctl), which is a MPRIS command-line controller and library, to DragonFly BSD and FreeBSD.  I've tested and am using it on DragonFly BSD and it should just work on FreeBSD as well.

'portlint' says 'looks fine'.

'make stage-qa' generates the following warnings (on DragonFly BSD 5.9):
------------------------------------------------------
====> Running Q/A tests (stage-qa)
Error: /usr/local/lib/libplayerctl.so.2.1.1 is linked to /usr/local/lib/libiconv.so.2 from converters/libiconv but it is not declared as a dependency
Warning: you need USES+=iconv, USES+=iconv:wchar_t, or USES+=iconv:translit depending on needs
Error: /usr/local/lib/libplayerctl.so.2.1.1 is linked to /usr/local/lib/libpcre.so.1 from devel/pcre but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libpcre.so:devel/pcre
Error: /usr/local/lib/libplayerctl.so.2.1.1 is linked to /usr/local/lib/libffi.so.6 from devel/libffi but it is not declared as a dependency
Warning: you need LIB_DEPENDS+=libffi.so:devel/libffi
------------------------------------------------------

However, all those libraries (libiconv, libpcre, libffi) are pulled by Glib libraries (e.g., libgio-2.0.so, libglib-2.0.so, libgobject-2.0.so).  So I'm not sure how to best handle these warnings.  Any suggestions are very appreciated.


Regards,
Aaron
Comment 1 Baptiste Daroussin freebsd_committer 2020-06-04 15:29:46 UTC
your LIB_DEPENDS are ok but can be replaced by a simple USE_GNOME= glib2
Comment 2 Aaron LI 2020-06-05 15:41:55 UTC
Created attachment 215257 [details]
multimedia/playerctl shar (updated)

Use 'USE_GNOME=glib20' to replace LIB_DEPENDS
Comment 3 Aaron LI 2020-06-05 15:44:28 UTC
Hi Baptiste, I've updated the port: replaced 'LIB_DEPENDS' with 'USE_GNOME=glib20'. Now the 'stage-qa' is also clean.  Thank you.
Comment 4 commit-hook freebsd_committer 2020-06-05 16:13:21 UTC
A commit references this bug:

Author: bapt
Date: Fri Jun  5 16:12:20 UTC 2020
New revision: 538031
URL: https://svnweb.freebsd.org/changeset/ports/538031

Log:
  New port multimedia/playerctl

  Playerctl is a command-line utility and library for controlling media players
  that implement the MPRIS D-Bus Interface Specification. Playerctl makes it easy
  to bind player actions, such as play and pause, to media keys. You can also get
  metadata about the playing track such as the artist and title for integration
  into statusline generators or other command-line tools.

  For more advanced users, Playerctl provides an introspectable library available
  in your favorite scripting language that allows more detailed control like the
  ability to subscribe to media player events or get metadata such as artist and
  title for the playing track.

  WWW: https://github.com/altdesktop/playerctl

  PR:		246212
  Submitted by:	Aaron LI <liweitianux@live.com>

Changes:
  head/multimedia/Makefile
  head/multimedia/playerctl/
  head/multimedia/playerctl/Makefile
  head/multimedia/playerctl/distinfo
  head/multimedia/playerctl/pkg-descr
  head/multimedia/playerctl/pkg-plist