aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--multimedia/Makefile1
-rw-r--r--multimedia/plexwatch/Makefile56
-rw-r--r--multimedia/plexwatch/distinfo2
-rw-r--r--multimedia/plexwatch/files/patch-plexWatch.pl21
-rw-r--r--multimedia/plexwatch/files/pkg-message.in8
-rw-r--r--multimedia/plexwatch/pkg-descr4
-rw-r--r--multimedia/plexwatch/pkg-plist3
7 files changed, 95 insertions, 0 deletions
diff --git a/multimedia/Makefile b/multimedia/Makefile
index 0a0fa3938d94..a137c45b7d54 100644
--- a/multimedia/Makefile
+++ b/multimedia/Makefile
@@ -302,6 +302,7 @@
SUBDIR += plexmediaserver
SUBDIR += plexmediaserver-plexpass
SUBDIR += plexpy
+ SUBDIR += plexwatch
SUBDIR += podcastdl
SUBDIR += poe
SUBDIR += ppm2fli
diff --git a/multimedia/plexwatch/Makefile b/multimedia/plexwatch/Makefile
new file mode 100644
index 000000000000..c3343bdd2f2a
--- /dev/null
+++ b/multimedia/plexwatch/Makefile
@@ -0,0 +1,56 @@
+# Created by: ultima <ultima1252@gmail.com>
+# $FreeBSD$
+
+PORTNAME= plexWatch
+PORTVERSION= 0.3.3
+DISTVERSIONPREFIX= v
+CATEGORIES= multimedia
+
+MAINTAINER= ultima1252@gmail.com
+COMMENT= Notify, Log Now Playing and Watched content from a Plex Media Server
+
+RUN_DEPENDS= p5-libwww>=0:${PORTSDIR}/www/p5-libwww \
+ p5-XML-Simple>=0:${PORTSDIR}/textproc/p5-XML-Simple \
+ p5-DBI>=0:${PORTSDIR}/databases/p5-DBI \
+ p5-Time-Duration>=0:${PORTSDIR}/devel/p5-Time-Duration \
+ p5-Time-modules>=0:${PORTSDIR}/devel/p5-Time-modules \
+ p5-JSON>=0:${PORTSDIR}/converters/p5-JSON \
+ p5-DBD-SQLite>=0:${PORTSDIR}/databases/p5-DBD-SQLite \
+ p5-LWP-Protocol-https>=0:${PORTSDIR}/www/p5-LWP-Protocol-https
+
+USES= perl5 shebangfix
+SHEBANG_FILES= plexWatch.pl
+
+USE_GITHUB= yes
+GH_ACCOUNT= ljunkie
+NO_BUILD= yes
+
+SUB_FILES= pkg-message
+
+OPTIONS_DEFINE= EMAIL GNTP IPLOG TWITTER
+OPTIONS_DEFAULT=
+
+EMAIL_RUN_DEPENDS= p5-Net-SMTPS>=0:${PORTSDIR}/mail/p5-Net-SMTPS
+EMAIL_DESC= Email support
+
+GNTP_RUN_DEPENDS= p5-Growl-GNTP>=0:${PORTSDIR}/net/p5-Growl-GNTP
+GNTP_DESC= Growl GNTP support
+
+IPLOG_RUN_DEPENDS= p5-File-ReadBackwards>=0:${PORTSDIR}/devel/p5-File-ReadBackwards
+IPLOG_DESC= Client IP logging support
+
+TWITTER_RUN_DEPENDS= p5-Net-Twitter-Lite>=0:${PORTSDIR}/net/p5-Net-Twitter-Lite \
+ p5-Net-OAuth>=0:${PORTSDIR}/net/p5-Net-OAuth
+TWITTER_DESC= Twitter support
+
+post-patch:
+ ${REINPLACE_CMD} "s|%%ETCDIR%%|${ETCDIR}|" ${WRKSRC}/plexWatch.pl
+ ${REINPLACE_CMD} "s|/opt/plexWatch|${DATADIR}|" ${WRKSRC}/config.pl-dist
+
+do-install:
+ ${MKDIR} ${STAGEDIR}${ETCDIR}
+ ${MKDIR} -m 777 ${STAGEDIR}${DATADIR}
+ ${INSTALL_SCRIPT} ${WRKSRC}/plexWatch.pl ${STAGEDIR}${PREFIX}/sbin/
+ ${INSTALL_DATA} ${WRKSRC}/config.pl-dist ${STAGEDIR}${ETCDIR}/
+
+.include <bsd.port.mk>
diff --git a/multimedia/plexwatch/distinfo b/multimedia/plexwatch/distinfo
new file mode 100644
index 000000000000..6f55c82ceb3d
--- /dev/null
+++ b/multimedia/plexwatch/distinfo
@@ -0,0 +1,2 @@
+SHA256 (ljunkie-plexWatch-v0.3.3_GH0.tar.gz) = 15cb0eb9f7376ae2f409e9dbb6fa5c5bb5d3549c69fe1e36e48ac016a81c38d4
+SIZE (ljunkie-plexWatch-v0.3.3_GH0.tar.gz) = 6521319
diff --git a/multimedia/plexwatch/files/patch-plexWatch.pl b/multimedia/plexwatch/files/patch-plexWatch.pl
new file mode 100644
index 000000000000..bb0499fc2947
--- /dev/null
+++ b/multimedia/plexwatch/files/patch-plexWatch.pl
@@ -0,0 +1,21 @@
+--- plexWatch.pl.orig 2016-03-26 19:12:31 UTC
++++ plexWatch.pl
+@@ -42,15 +42,14 @@ if ($^O ne 'MSWin32') {
+ ## end
+
+ ## load config file
+-my $dirname = dirname(__FILE__);
+-if (!-e $dirname .'/config.pl') {
+- my $msg = "** missing file $dirname/config.pl. Did you move edit config.pl-dist and copy to config.pl?";
++if (!-e '%%ETCDIR%%/config.pl') {
++ my $msg = "** missing file %%ETCDIR%%/config.pl. Did you move edit config.pl-dist and copy to config.pl?";
+ &DebugLog($msg,1) if $msg;
+ exit;
+ }
+ our ($data_dir, $server, $port, $appname, $user_display, $alert_format, $notify, $push_titles, $backup_opts, $myPlex_user, $myPlex_pass, $server_log, $log_client_ip, $debug_logging, $watched_show_completed, $watched_grouping_maxhr, $count_paused, $inc_non_library_content, @exclude_library_ids);
+ my @config_vars = ("data_dir", "server", "port", "appname", "user_display", "alert_format", "notify", "push_titles", "backup_opts", "myPlex_user", "myPlex_pass", "server_log", "log_client_ip", "debug_logging", "watched_show_completed", "watched_grouping_maxhr", "count_paused", "exclude_library_ids");
+-do $dirname.'/config.pl';
++do '%%ETCDIR%%/config.pl';
+
+ if (!$data_dir || !$server || !$port || !$appname || !$alert_format || !$notify) {
+ ## TODO - make this information a little more useful!
diff --git a/multimedia/plexwatch/files/pkg-message.in b/multimedia/plexwatch/files/pkg-message.in
new file mode 100644
index 000000000000..114069e8b298
--- /dev/null
+++ b/multimedia/plexwatch/files/pkg-message.in
@@ -0,0 +1,8 @@
+plexWatch needs to run frequently, this is a suggested cron job
+
+* * * * * nobody %%PREFIX%%/sbin/plexWatch.pl
+
+
+Optionally, if you want recently added notifications, add this
+
+*/15 * * * * nobody %%PREFIX%%/sbin/plexWatch.pl --recently_added=movie,tv
diff --git a/multimedia/plexwatch/pkg-descr b/multimedia/plexwatch/pkg-descr
new file mode 100644
index 000000000000..8232d072c38a
--- /dev/null
+++ b/multimedia/plexwatch/pkg-descr
@@ -0,0 +1,4 @@
+Notify and log 'Now Playing', 'Watched' and 'Recently Added' content
+from a Plex Media Server (...and more)
+
+WWW: https://github.com/ljunkie/plexWatch
diff --git a/multimedia/plexwatch/pkg-plist b/multimedia/plexwatch/pkg-plist
new file mode 100644
index 000000000000..cc9702f39472
--- /dev/null
+++ b/multimedia/plexwatch/pkg-plist
@@ -0,0 +1,3 @@
+%%ETCDIR%%/config.pl-dist
+sbin/plexWatch.pl
+@dir %%DATADIR%%