The commandir plugin is not being built on OS X. Since other USB plugins appear to build OK, it seems to make sense that commandir ought to, as well.
The logic in plugins/Makefile.am is
if BUILD_USB
[other USB drivers omitted]
if !BSD
plugin_LTLIBRARIES += commandir.la
commandir_la_SOURCES = commandir.c
commandir_la_LDFLAGS = $(AM_LDFLAGS) @usb_libs@
commandir_la_CFLAGS = $(AM_CFLAGS) $(LIBUSB_CFLAGS)
endif
endif
Configure reports:
BUILD_USB:yes
...
DARWIN:yes
BSD:yes
Not sure what the best solution is. Last change in this code appears to be related to the following ticket:
https://sourceforge.net/p/lirc/tickets/191/
Lirc 0.9.4c via MacPorts
OS X 10.10.5
CommandIR's website was last updated late 2012. It says that the product is sold out, and has since then not been updated. They also refused to deliver outside of the US and Canada.
My recommendation is to spend your time on something else.
(BTW, I have a CommandIR II in my possession, from the time they delivered to the old world...)
Last edit: Bengt Martensson 2017-01-15
That said, Craig is certanly not alone having one of these. There is no reason that the plugin should nt build on MacOS. Will look into it later...
EDIT: Current master guards the irman plugin with if LINUX_KERNEL, part of the debian build cleanup. If it indeed builds on MacOS we need to define a new conditional in configure.ac
Last edit: Alec Leamas 2017-01-19
@craig: Does it build if you remove the if !BSD condition? If so, can it be handled as a downstream patch for now?
To be clear, I don't actually have this hardware--just thought it was plausible that it should build on OS X.
And removing the BSD conditional does, in fact, result in a successful build. I've handled it as a patch in MacPorts and committed the change.
I don't know anything about irman. I'll have a look at it.
BTW, I had noticed that the makers of the Tira hardware are also in the Toronto area. I requested--and they agreed--to send me a loaner Tira 2 for testing! Fingers crossed that it works out of the box.
https://www.home-electro.com/products/tira-21
Sorry if I sounded too negative. If someone compiles and tests the driver for OS X, it is of course a good thing. Even if the hardware is effectively extinct...
No problem, although there is that eBay thing! ;)
Actually, I had no trouble building/installing libirman. The MacPorts buildbot fleet verified that it builds OK on OSX 10.9 throug 10.12.
Of course, I don't have any hardware to test it with.
hm... actually, the real problem is not the faling conditional, The real problem is that I have an excellentt memory, although short.
The very idea with a plugin system is that the core package should not depend on things like libirman. If you look at the updated libirman sources, you will find that they build also the lirc plugin if lirc >= 0.9.3 is detected in build time. So, the proper solution is not really to patch lirc but to update the Mac libirman package.
On fedora the corresponding package built from libirman is called lirc-drv-irman. It's the only package requiring libirman (which also exists)
EDIT: Of course you could just keep the patch for now. But the irman code will eventually be removed, perhaps in 0.9.5 (not 0.9.4d).
Last edit: Alec Leamas 2017-01-21
I created a port for libirman:
https://github.com/macports/macports-ports/blob/master/sysutils/libirman/Portfile
It can be installed two ways. The default is the +lirc variant. It adds a dependency on my lirc port and libirman is built with the '--with-plugin' configure option.
If a user really wants, they can 'sudo port install libirman -lirc'. This disables the lirc variant and libirman is then configured '--without-plugin'. As I understand it, this disables the build of the irman lirc plugin even if the user had previously installed the lirc port. (Although it would be a pretty strange configuration. We, at MacPorts, are just like that!)
The fedora arrangement is interesting. Are you saying that the libirman packages builds/installs libirman --without-plugin and then that the lirc-drv-irman package only builds/installs JUST the plugin? I didn't see any support for that in the configure scripts?!?
I'm doing one build, always with the plugin, but split it into two packages. the plugin depends on libirman, so the ordinary user which just install the plugin gets both packages. Another package could declare a dependency on libirman, no no-one besides the plugin is doing that.
All seems happy. Closing