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

Reply via email to