LIRC is a package that supports receiving and sending IR signals of IR remote controls, adding functionality and flexibility to the basic support in the Linux kernel. Support for LIRC is ubiquitous in Linux HTPC applications; it's also packaged in all major Linux distributions.
Despite it's name, LIRC also works on OSX.
This is a vastly overrated project. Designed in the early nineties, almost all vital parts suffer from fundamentally bad design. (Just as example: Sending a raw signal with "arbitrary" intro sequence and another sequence as repeat sequence is something Lirc cannot do.) I severely doubt that someone today (original developers are no longer active) understands the core code. Much has happened to out understanding of IR signals since the early nineties, but the legacy code of Lirc remains the same.