<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN"
"http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head><meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>[154172] trunk/dports/sysutils/lirc</title>
</head>
<body>
<style type="text/css"><!--
#msg dl.meta { border: 1px #006 solid; background: #369; padding: 6px; color: #fff; }
#msg dl.meta dt { float: left; width: 6em; font-weight: bold; }
#msg dt:after { content:':';}
#msg dl, #msg dt, #msg ul, #msg li, #header, #footer, #logmsg { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; }
#msg dl a { font-weight: bold}
#msg dl a:link { color:#fc3; }
#msg dl a:active { color:#ff0; }
#msg dl a:visited { color:#cc6; }
h3 { font-family: verdana,arial,helvetica,sans-serif; font-size: 10pt; font-weight: bold; }
#msg pre { white-space: pre-line; overflow: auto; background: #ffc; border: 1px #fa0 solid; padding: 6px; }
#logmsg { background: #ffc; border: 1px #fa0 solid; padding: 1em 1em 0 1em; }
#logmsg p, #logmsg pre, #logmsg blockquote { margin: 0 0 1em 0; }
#logmsg p, #logmsg li, #logmsg dt, #logmsg dd { line-height: 14pt; }
#logmsg h1, #logmsg h2, #logmsg h3, #logmsg h4, #logmsg h5, #logmsg h6 { margin: .5em 0; }
#logmsg h1:first-child, #logmsg h2:first-child, #logmsg h3:first-child, #logmsg h4:first-child, #logmsg h5:first-child, #logmsg h6:first-child { margin-top: 0; }
#logmsg ul, #logmsg ol { padding: 0; list-style-position: inside; margin: 0 0 0 1em; }
#logmsg ul { text-indent: -1em; padding-left: 1em; }#logmsg ol { text-indent: -1.5em; padding-left: 1.5em; }
#logmsg > ul, #logmsg > ol { margin: 0 0 1em 0; }
#logmsg pre { background: #eee; padding: 1em; }
#logmsg blockquote { border: 1px solid #fa0; border-left-width: 10px; padding: 1em 1em 0 1em; background: white;}
#logmsg dl { margin: 0; }
#logmsg dt { font-weight: bold; }
#logmsg dd { margin: 0; padding: 0 0 0.5em 0; }
#logmsg dd:before { content:'\00bb';}
#logmsg table { border-spacing: 0px; border-collapse: collapse; border-top: 4px solid #fa0; border-bottom: 1px solid #fa0; background: #fff; }
#logmsg table th { text-align: left; font-weight: normal; padding: 0.2em 0.5em; border-top: 1px dotted #fa0; }
#logmsg table td { text-align: right; border-top: 1px dotted #fa0; padding: 0.2em 0.5em; }
#logmsg table thead th { text-align: center; border-bottom: 1px solid #fa0; }
#logmsg table th.Corner { text-align: left; }
#logmsg hr { border: none 0; border-top: 2px dashed #fa0; height: 1px; }
#header, #footer { color: #fff; background: #636; border: 1px #300 solid; padding: 6px; }
#patch { width: 100%; }
#patch h4 {font-family: verdana,arial,helvetica,sans-serif;font-size:10pt;padding:8px;background:#369;color:#fff;margin:0;}
#patch .propset h4, #patch .binary h4 {margin:0;}
#patch pre {padding:0;line-height:1.2em;margin:0;}
#patch .diff {width:100%;background:#eee;padding: 0 0 10px 0;overflow:auto;}
#patch .propset .diff, #patch .binary .diff {padding:10px 0;}
#patch span {display:block;padding:0 10px;}
#patch .modfile, #patch .addfile, #patch .delfile, #patch .propset, #patch .binary, #patch .copfile {border:1px solid #ccc;margin:10px 0;}
#patch ins {background:#dfd;text-decoration:none;display:block;padding:0 10px;}
#patch del {background:#fdd;text-decoration:none;display:block;padding:0 10px;}
#patch .lines, .info {color:#888;background:#fff;}
--></style>
<div id="msg">
<dl class="meta">
<dt>Revision</dt> <dd><a href="https://trac.macports.org/changeset/154172">154172</a></dd>
<dt>Author</dt> <dd>ctreleaven@macports.org</dd>
<dt>Date</dt> <dd>2016-10-23 15:38:02 +0200 (Sun, 23 Oct 2016)</dd>
</dl>
<h3>Log Message</h3>
<pre>lirc: update to 0.9.4c with significant changes, especially plugin drivers. IquanaIR no longer supported.</pre>
<h3>Modified Paths</h3>
<ul>
<li><a href="#trunkdportssysutilslircPortfile">trunk/dports/sysutils/lirc/Portfile</a></li>
</ul>
<h3>Added Paths</h3>
<ul>
<li><a href="#trunkdportssysutilslircfilespatchftdi_supportdiff">trunk/dports/sysutils/lirc/files/patch-ftdi_support.diff</a></li>
<li><a href="#trunkdportssysutilslircfilespatchlirc_optionsdiff">trunk/dports/sysutils/lirc/files/patch-lirc_options.diff</a></li>
</ul>
<h3>Removed Paths</h3>
<ul>
<li><a href="#trunkdportssysutilslircfilespatchdriverslirchdiff">trunk/dports/sysutils/lirc/files/patch-drivers-lirc.h.diff</a></li>
<li><a href="#trunkdportssysutilslircfilespatchinline_functionsdiff">trunk/dports/sysutils/lirc/files/patch-inline_functions.diff</a></li>
<li><a href="#trunkdportssysutilslircfilespatchosx_patchesdiff">trunk/dports/sysutils/lirc/files/patch-osx_patches.diff</a></li>
</ul>
</div>
<div id="patch">
<h3>Diff</h3>
<a id="trunkdportssysutilslircPortfile"></a>
<div class="modfile"><h4>Modified: trunk/dports/sysutils/lirc/Portfile (154171 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/Portfile 2016-10-23 13:24:13 UTC (rev 154171)
+++ trunk/dports/sysutils/lirc/Portfile 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -3,7 +3,8 @@
</span><span class="cx"> PortSystem 1.0
</span><span class="cx">
</span><span class="cx"> name lirc
</span><del>-version 0.9.0
</del><ins>+version 0.9.4c
+
</ins><span class="cx"> categories sysutils net
</span><span class="cx"> license GPL-2+
</span><span class="cx"> maintainers ctreleaven openmaintainer
</span><span class="lines">@@ -10,62 +11,97 @@
</span><span class="cx"> platforms darwin
</span><span class="cx"> description Linux Infrared Remote Control
</span><span class="cx"> long_description \
</span><del>- LIRC is a package that allows you to decode and send infra-red \
- signals of many (but not all) commonly used remote controls.
</del><ins>+ LIRC enables receiving and/or sending infra-red remote controls signals.\
+ The only hardware is known to work (on the Mac operating system) includes the\
+ IR receiver in older HDHomerun tuner boxes and the Sony Vaio PCVA-IR5U receiver.\
+ Other hardware _could_ work but is untested. Lirc does not currently work with\
+ the IR receiver built into various Mac models.\
+ Lirc on OSX can also receive signals relayed from another Lirc server.
</ins><span class="cx">
</span><span class="cx"> homepage http://www.lirc.org
</span><span class="cx"> master_sites sourceforge
</span><span class="cx"> use_bzip2 yes
</span><del>-checksums rmd160 d8f1cf3a03573be36787e87adc71beba3e678a37 \
- sha256 6323afae6ad498d4369675f77ec3dbb680fe661bea586aa296e67f2e2daba4ff
</del><ins>+checksums rmd160 d83dfec714d4e50c97b8f63b76df0bc472df0123 \
+ sha256 8974fe5dc8eaa717daab6785d2aefeec27615f01ec24b96d31e3381b2f70726a
</ins><span class="cx">
</span><span class="cx"> livecheck.distname LIRC
</span><span class="cx">
</span><del>-patchfiles patch-osx_patches.diff patch-inline_functions.diff
</del><ins>+set lircuser _lirc
+set pythonbranch 3.4
+set pythonver python${pythonbranch}
+set pythonbin ${prefix}/bin/${pythonver}
+set pymodver py34
</ins><span class="cx">
</span><del>-configure.args --with-driver=udp --with-devdir=${prefix}/var/run \
- --sysconfdir=${prefix}/etc --localstatedir=${prefix}/var \
- --mandir=${prefix}/share/man
</del><ins>+use_autoreconf yes
+autoreconf.cmd ./autogen.sh
+# setting autoreconf.cmd means that autotools build dependencies are not added
</ins><span class="cx">
</span><del>-variant iguanaIR \
- description {Use IguanaIR USB device} {
- configure.args-replace --with-driver=udp --with-driver=iguanaIR
- depends_lib-append port:iguanaIR
- patchfiles-append patch-drivers-lirc.h.diff
</del><ins>+depends_build-append \
+ port:autoconf \
+ port:automake \
+ port:libtool \
+ port:pkgconfig \
+ port:doxygen \
+ port:man2html
+
+depends_lib port:libftdi1 \
+ port:gtk3 \
+ port:portaudio \
+ port:${pymodver}-gobject3 \
+ port:${pymodver}-yaml \
+ port:vte
+
+patchfiles patch-lirc_options.diff \
+ patch-ftdi_support.diff
+
+post-patch {
+ reinplace -locale C "s|@PREFIX@|${prefix}|g" ${worksrcpath}/lirc_options.conf
+ reinplace -locale C "s|#!/usr/bin/env python3\$|#!${pythonbin}|" \
+ ${worksrcpath}/doc/data2hwdb \
+ ${worksrcpath}/doc/data2table \
+ ${worksrcpath}/doc/make_rel_symlink.py \
+ ${worksrcpath}/tools/check_configs.py \
+ ${worksrcpath}/tools/irdb-get \
+ ${worksrcpath}/tools/lirc-setup/lirc-setup \
+ ${worksrcpath}/tools/lircd-setup \
+ ${worksrcpath}/tools/make_rel_symlink.py \
+ ${worksrcpath}/tools/pronto2lirc
</ins><span class="cx"> }
</span><span class="cx">
</span><ins>+configure.env-append \
+ PYTHON=${pythonbin}
+configure.args --disable-silent-rules
+
</ins><span class="cx"> post-destroot {
</span><del>- xinstall -m 644 ${worksrcpath}/contrib/lircd.conf \
- ${destroot}${prefix}/etc/lircd.conf.sample
- xinstall -m 644 ${worksrcpath}/contrib/lircmd.conf \
- ${destroot}${prefix}/etc/lircmd.conf.sample
- xinstall -m 644 ${worksrcpath}/contrib/lircrc \
- ${destroot}${prefix}/etc/lircrc.sample
</del><span class="cx"> xinstall -m 755 -d ${destroot}${prefix}/var/log
</span><del>- destroot.keepdirs ${destroot}${prefix}/var/log
</del><ins>+ xinstall -m 755 -d ${destroot}${prefix}/var/run/lirc
+ destroot.keepdirs ${destroot}${prefix}/var/log \
+ ${destroot}${prefix}/var/run/lirc
+ move ${destroot}${prefix}/etc/lirc/lirc_options.conf \
+ ${destroot}${prefix}/etc/lirc/lirc_options.conf.template
</ins><span class="cx"> }
</span><span class="cx">
</span><del>-startupitem.create yes
-startupitem.start \
- "#device=\"--connect=example.org:port\" # remote lircd" \
- "#device=\"--driver=udp --device=port\" # UDP listener" \
- "#device=\"--driver=iguanaIR --device=/tmp/iguanaIR/0 --nodaemon\" # iguanaIR" \
- "${prefix}/sbin/lircd --permission=0666 \$\{device\}" \
- "\[ -r ${prefix}/etc/lircmd.conf \] && \\" \
- "\t${prefix}/sbin/lircmd"
-startupitem.stop \
- "killall -TERM lircd" \
- "killall -TERM lircmd"
</del><ins>+post-activate {
+ if ![file exists ${prefix}/etc/lirc/lirc_options.conf] {
+ copy ${prefix}/etc/lirc/lirc_options.conf.template \
+ ${prefix}/etc/lirc/lirc_options.conf
+ }
+}
</ins><span class="cx">
</span><ins>+add_users ${lircuser} group=${lircuser} realname=LIRC\ user
+
+startupitem.create yes
+startupitem.executable ${prefix}/sbin/lircd \
+ --nodaemon --effective-user=${lircuser}
+
</ins><span class="cx"> notes "
</span><del>-After installing you must configure an IR device for lirc to use. Most\
-hardware devices are not supported on Mac OS X (known exceptions: IguanaIR).\
-Network sources (remote lircd, HD Homerun, etc) are fully supported.
</del><ins>+Before starting the lircd background process, two configuration steps need to be\
+completed. First, edit ${prefix}/etc/lirc/lirc_options.conf to specify the driver\
+and device being used. Second, add at least one remote configuration file to\
+${prefix}/etc/lirc/lircd.conf.d so lirc can interpret the infrared pulses that your remote\
+sends. The script irdb-get can help find existing remote configuration files or the\
+program irrecord can help create a configuration file for a particular remote.
</ins><span class="cx">
</span><del>-Please edit ${prefix}/etc/LaunchDaemons/org.macports.${name}/${name}.wrapper\
-and specify a valid driver or remote lircd to connect to. Examples for\
-network, UDP, and IguanaIR are commented out.
-
</del><span class="cx"> Any clients of lirc must be able to read and write the pipe at\
</span><span class="cx"> ${prefix}/var/run/lircd
</span><span class="cx"> "
</span></span></pre></div>
<a id="trunkdportssysutilslircfilespatchdriverslirchdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/sysutils/lirc/files/patch-drivers-lirc.h.diff (154171 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/files/patch-drivers-lirc.h.diff 2016-10-23 13:24:13 UTC (rev 154171)
+++ trunk/dports/sysutils/lirc/files/patch-drivers-lirc.h.diff 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -1,11 +0,0 @@
</span><del>---- drivers/lirc.h.org 2008-01-12 15:57:57.000000000 -0600
-+++ drivers/lirc.h 2010-01-21 10:03:23.000000000 -0600
-@@ -9,7 +9,7 @@
- #if defined(__linux__)
- #include <linux/types.h>
- #include <linux/ioctl.h>
--#elif defined(_NetBSD_)
-+#elif defined(_NetBSD_) || defined(__APPLE__)
- #include <sys/ioctl.h>
- #elif defined(_CYGWIN_)
- #define __USE_LINUX_IOCTL_DEFS
</del></span></pre></div>
<a id="trunkdportssysutilslircfilespatchftdi_supportdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/sysutils/lirc/files/patch-ftdi_support.diff (0 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/files/patch-ftdi_support.diff (rev 0)
+++ trunk/dports/sysutils/lirc/files/patch-ftdi_support.diff 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -0,0 +1,30 @@
</span><ins>+$ diff -u include/media/lirc.h.orig include/media/lirc.h
+--- include/media/lirc.h.orig 2016-10-22 13:09:42.000000000 -0400
++++ include/media/lirc.h 2016-10-22 13:10:05.000000000 -0400
+@@ -6,8 +6,8 @@
+ #ifndef _LINUX_LIRC_H
+ #define _LINUX_LIRC_H
+
+-#include <linux/types.h>
+-#include <linux/ioctl.h>
++#include <sys/types.h>
++#include <sys/ioctl.h>
+
+ #define PULSE_BIT 0x01000000
+ #define PULSE_MASK 0x00FFFFFF
+~~~
+
+~~~
+$ diff -u plugins/ftdix.c.orig plugins/ftdix.c
+--- plugins/ftdix.c.orig 2016-10-22 13:18:40.000000000 -0400
++++ plugins/ftdix.c 2016-10-22 13:44:14.000000000 -0400
+@@ -51,7 +51,7 @@
+
+ #include <ftdi.h>
+
+-#define LIRC_FTDIX_SET_SCHEDULER 1
++/* #define LIRC_FTDIX_SET_SCHEDULER 1 */
+ #ifdef LIRC_FTDIX_SET_SCHEDULER
+ #include <sched.h>
+ #include <linux/sched.h>
+
</ins></span></pre></div>
<a id="trunkdportssysutilslircfilespatchinline_functionsdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/sysutils/lirc/files/patch-inline_functions.diff (154171 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/files/patch-inline_functions.diff 2016-10-23 13:24:13 UTC (rev 154171)
+++ trunk/dports/sysutils/lirc/files/patch-inline_functions.diff 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -1,58 +0,0 @@
</span><del>---- daemons/receive.c.orig 2015-01-07 21:18:22.000000000 +1030
-+++ daemons/receive.c 2015-01-07 21:19:52.000000000 +1030
-@@ -286,7 +286,7 @@
- return (retval);
- }
-
--inline int expectone(struct ir_remote *remote, int bit)
-+static inline int expectone(struct ir_remote *remote, int bit)
- {
- if (is_biphase(remote)) {
- int all_bits = bit_count(remote);
-@@ -332,7 +332,7 @@
- return (1);
- }
-
--inline int expectzero(struct ir_remote *remote, int bit)
-+static inline int expectzero(struct ir_remote *remote, int bit)
- {
- if (is_biphase(remote)) {
- int all_bits = bit_count(remote);
-@@ -414,7 +414,7 @@
- return (deltas);
- }
-
--inline int get_header(struct ir_remote *remote)
-+static inline int get_header(struct ir_remote *remote)
- {
- if (is_rcmm(remote)) {
- lirc_t deltap, deltas, sum;
-@@ -524,7 +524,7 @@
- return (1);
- }
-
--inline int get_repeat(struct ir_remote *remote)
-+static inline int get_repeat(struct ir_remote *remote)
- {
- if (!get_lead(remote))
- return (0);
---- daemons/transmit.c.orig 2015-01-07 21:38:21.000000000 +1030
-+++ daemons/transmit.c 2015-01-07 21:38:34.000000000 +1030
-@@ -179,7 +179,7 @@
- }
- }
-
--inline void send_data(struct ir_remote *remote, ir_code data, int bits, int done)
-+static inline void send_data(struct ir_remote *remote, ir_code data, int bits, int done)
- {
- int i;
- int all_bits = bit_count(remote);
-@@ -313,7 +313,7 @@
- send_trail(remote);
- }
-
--inline void send_code(struct ir_remote *remote, ir_code code, int repeat)
-+static inline void send_code(struct ir_remote *remote, ir_code code, int repeat)
- {
- if (!repeat || !(remote->flags & NO_HEAD_REP))
- send_header(remote);
</del></span></pre></div>
<a id="trunkdportssysutilslircfilespatchlirc_optionsdiff"></a>
<div class="addfile"><h4>Added: trunk/dports/sysutils/lirc/files/patch-lirc_options.diff (0 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/files/patch-lirc_options.diff (rev 0)
+++ trunk/dports/sysutils/lirc/files/patch-lirc_options.diff 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -0,0 +1,40 @@
</span><ins>+$ diff -u lirc_options.conf.orig lirc_options.conf
+--- lirc_options.conf.orig 2016-10-22 20:41:07.000000000 -0400
++++ lirc_options.conf 2016-10-22 20:45:57.000000000 -0400
+@@ -7,26 +7,26 @@
+ # in not defined elsewhere.
+
+ [lircd]
+-nodaemon = False
+-driver = devinput
+-device = auto
+-output = /var/run/lirc/lircd
+-pidfile = /var/run/lirc/lircd.pid
+-plugindir = /usr/lib/lirc/plugins
++nodaemon = True
++driver = udp
++device = 5000
++output = @PREFIX@/var/run/lirc/lircd
++pidfile = @PREFIX@/var/run/lirc/lircd.pid
++plugindir = @PREFIX@/lib/lirc/plugins
+ permission = 666
+ allow-simulate = No
+ repeat-max = 600
+-#effective-user =
++logfile = @PREFIX@/var/run/lirc/lircd.log
++#loglevel = 5
++#effective-user = _lirc # set by launchd plist
+ #listen = [address:]port
+ #connect = host[:port]
+-#loglevel = 6
+ #uinput = ...
+ #release = ...
+-#logfile = ...
+
+ [lircmd]
+ uinput = False
+-nodaemon = False
++nodaemon = True
+
+ # [modinit]
+ # code = /usr/sbin/modprobe lirc_serial
</ins></span></pre></div>
<a id="trunkdportssysutilslircfilespatchosx_patchesdiff"></a>
<div class="delfile"><h4>Deleted: trunk/dports/sysutils/lirc/files/patch-osx_patches.diff (154171 => 154172)</h4>
<pre class="diff"><span>
<span class="info">--- trunk/dports/sysutils/lirc/files/patch-osx_patches.diff 2016-10-23 13:24:13 UTC (rev 154171)
+++ trunk/dports/sysutils/lirc/files/patch-osx_patches.diff 2016-10-23 13:38:02 UTC (rev 154172)
</span><span class="lines">@@ -1,45 +0,0 @@
</span><del>-Extracted from https://sourceforge.net/u/rico9999/lirc/ci/f7c2830bbd60692feedf0dc8924b795027eaf3af/
-
---- daemons/ir_remote_types.h
-+++ daemons/ir_remote_types.h
-@@ -14,7 +14,20 @@
- #ifndef IR_REMOTE_TYPES_H
- #define IR_REMOTE_TYPES_H
-
-+#if defined(__linux__)
- #include <sys/types.h>
-+#else
-+#include <stdint.h>
-+typedef int8_t __s8;
-+typedef uint8_t __u8;
-+typedef int16_t __s16;
-+typedef uint16_t __u16;
-+typedef int32_t __s32;
-+typedef uint32_t __u32;
-+typedef int64_t __s64;
-+typedef uint64_t __u64;
-+#endif
-+
- #include <sys/time.h>
- #include <unistd.h>
- #include <string.h>
-
---- daemons/lircmd.c
-+++ daemons/lircmd.c
-@@ -35,6 +35,16 @@
- #if defined(__linux__)
- #include <linux/input.h>
- #include <linux/uinput.h>
-+#else
-+#include <stdint.h>
-+typedef int8_t __s8;
-+typedef uint8_t __u8;
-+typedef int16_t __s16;
-+typedef uint16_t __u16;
-+typedef int32_t __s32;
-+typedef uint32_t __u32;
-+typedef int64_t __s64;
-+typedef uint64_t __u64;
- #endif
-
- #define CLICK_DELAY 50000 /* usecs */
</del></span></pre>
</div>
</div>
</body>
</html>