<!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>