Here is an update for POE::Component::Client::MPD. It requires the full Perl+MPD stack updates i've mailed earlier.
There are 10 years of changelog to read [1], there are no backward incompatible change though. What's new in the port: - examples have been moved in the upstream tree, so we ensure that they still install - RUN_DEPENDS overhaul - Symlink mpd to WRKDIR/bin because mpd isn't in PATH when 'make test' is ran. - Don't enable QA tests because we don't ship Pod::Coverage::TrustPod - Add a patch that accounts a duration format change (from Debian) - Add another patch that deals with 'ps -f' being unavailable on OpenBSD, and also restarts mpd once the test is done (from Debian) Testing: - 'make test' passes - There are no reverse dependencies. Any comment? Charlène. [1] https://metacpan.org/changes/distribution/POE-Component-Client-MPD Index: Makefile =================================================================== RCS file: /cvs/ports/audio/p5-POE-Component-Client-MPD/Makefile,v retrieving revision 1.15 diff -u -p -u -p -r1.15 Makefile --- Makefile 20 Mar 2016 19:56:06 -0000 1.15 +++ Makefile 21 Feb 2019 21:58:49 -0000 @@ -2,8 +2,7 @@ COMMENT= complete MPD client library -DISTNAME= POE-Component-Client-MPD-0.9.2 -REVISION= 2 +DISTNAME= POE-Component-Client-MPD-2.001 CATEGORIES= audio # perl @@ -12,16 +11,29 @@ PERMIT_PACKAGE_CDROM= Yes MODULES= cpan PKG_ARCH= * MODCPAN_EXAMPLES= Yes -MODCPAN_EXAMPLES_DIST= bin +MODCPAN_EXAMPLES_DIST= examples -RUN_DEPENDS= audio/p5-Audio-MPD-Common>=0.1.4 \ - devel/p5-Class-Accessor \ - devel/p5-List-MoreUtils \ +RUN_DEPENDS= audio/p5-Audio-MPD-Common \ + devel/p5-List-AllUtils \ + devel/p5-Moose>=0.92 \ + devel/p5-MooseX-Has-Sugar \ + devel/p5-MooseX-POE \ + devel/p5-MooseX-SemiAffordanceAccessor \ + devel/p5-MooseX-Types \ devel/p5-POE \ - devel/p5-Readonly + devel/p5-Readonly \ + devel/p5-Sub-Exporter \ + devel/p5-Test-Corpus-Audio-MPD>=1.120990 PORTHOME= ${WRKDIR} +# It would require Pod::Coverage::TrustPod that we don't ship +TEST_ENV += AUTHOR_TESTING= + CONFIGURE_STYLE= modbuild + +# Tests need to find mpd. +pre-test: + @ln -sf ${LOCALBASE}/sbin/mpd ${WRKDIR}/bin/mpd .include <bsd.port.mk> Index: distinfo =================================================================== RCS file: /cvs/ports/audio/p5-POE-Component-Client-MPD/distinfo,v retrieving revision 1.7 diff -u -p -u -p -r1.7 distinfo --- distinfo 18 Jan 2015 03:12:47 -0000 1.7 +++ distinfo 21 Feb 2019 21:58:49 -0000 @@ -1,2 +1,2 @@ -SHA256 (POE-Component-Client-MPD-0.9.2.tar.gz) = DSQuIEbyEj0mHiAT/076vWluT7bz4xATmWeN4X1o83c= -SIZE (POE-Component-Client-MPD-0.9.2.tar.gz) = 48482 +SHA256 (POE-Component-Client-MPD-2.001.tar.gz) = It51LPe2W8oZrleKPnBXMDbcsn3DphSnmPF74AUQhRY= +SIZE (POE-Component-Client-MPD-2.001.tar.gz) = 40747 Index: patches/patch-lib_POE_Component_Client_MPD_Connection_pm =================================================================== RCS file: patches/patch-lib_POE_Component_Client_MPD_Connection_pm diff -N patches/patch-lib_POE_Component_Client_MPD_Connection_pm --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-lib_POE_Component_Client_MPD_Connection_pm 21 Feb 2019 21:58:49 -0000 @@ -0,0 +1,17 @@ +$OpenBSD$ +Accounting a change in the MPD protocol +see https://rt.cpan.org/Public/Bug/Display.html?id=122469 +Index: lib/POE/Component/Client/MPD/Connection.pm +--- lib/POE/Component/Client/MPD/Connection.pm.orig ++++ lib/POE/Component/Client/MPD/Connection.pm +@@ -217,6 +217,10 @@ sub _got_data { + my ($k,$v) = split /:\s+/, $input, 2; + $k = lc $k; + $k =~ s/-/_/; ++ if ( $k eq 'duration' ) { ++ $k = 'time'; ++ $v = int($v + 0.5); ++ } + + if ( $k eq 'file' || $k eq 'directory' || $k eq 'playlist' ) { + # build a new amc-item Index: patches/patch-t_40-cmds-kill_t =================================================================== RCS file: patches/patch-t_40-cmds-kill_t diff -N patches/patch-t_40-cmds-kill_t --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ patches/patch-t_40-cmds-kill_t 21 Feb 2019 21:58:49 -0000 @@ -0,0 +1,22 @@ +$OpenBSD$ +Hunk #1: Fix "ps: unknown option -- f" by using pgrep(1) instead +Hunk #2: restart test MPD before exiting, see RT#126902 +Index: t/40-cmds-kill.t +--- t/40-cmds-kill.t.orig ++++ t/40-cmds-kill.t +@@ -22,8 +22,7 @@ use warnings; + POE::Kernel->delay_set( kill => 0.5 ); # FIXME: use connected event to start tests in pococm-test + } + event check => sub { +- my @procs = grep { /\smpd\s/ } grep { !/grep/ } qx{ ps -ef }; +- is( scalar @procs, 0, 'kill shuts down mpd' ); ++ isnt( system( "pgrep mpd" ), 0 ); + }; + event kill => sub { + POE::Kernel->delay_set( check => 1 ); +@@ -47,4 +46,5 @@ plan tests => 1; + POE::Component::Client::MPD->spawn; + My::Session->new; + POE::Kernel->run; ++start_test_mpd(); + exit; Index: patches/patch-t_40-cmds-kill_t.orig =================================================================== RCS file: patches/patch-t_40-cmds-kill_t.orig diff -N patches/patch-t_40-cmds-kill_t.orig Index: pkg/PLIST =================================================================== RCS file: /cvs/ports/audio/p5-POE-Component-Client-MPD/pkg/PLIST,v retrieving revision 1.1.1.1 diff -u -p -u -p -r1.1.1.1 PLIST --- pkg/PLIST 13 Jul 2007 11:40:25 -0000 1.1.1.1 +++ pkg/PLIST 21 Feb 2019 21:58:49 -0000 @@ -7,6 +7,7 @@ ${P5SITE}/POE/Component/Client/MPD/Conne ${P5SITE}/POE/Component/Client/MPD/Message.pm ${P5SITE}/POE/Component/Client/MPD/Playlist.pm ${P5SITE}/POE/Component/Client/MPD/Test.pm +${P5SITE}/POE/Component/Client/MPD/Types.pm @man man/man3p/POE::Component::Client::MPD.3p @man man/man3p/POE::Component::Client::MPD::Collection.3p @man man/man3p/POE::Component::Client::MPD::Commands.3p @@ -14,5 +15,6 @@ ${P5SITE}/POE/Component/Client/MPD/Test. @man man/man3p/POE::Component::Client::MPD::Message.3p @man man/man3p/POE::Component::Client::MPD::Playlist.3p @man man/man3p/POE::Component::Client::MPD::Test.3p +@man man/man3p/POE::Component::Client::MPD::Types.3p share/examples/p5-POE-Component-Client-MPD/ share/examples/p5-POE-Component-Client-MPD/client.pl
