diff options
author | Ben Klopfenstein <benklop@gmail.com> | 2015-08-05 04:41:25 -0600 |
---|---|---|
committer | Ben Klopfenstein <benklop@gmail.com> | 2015-08-05 04:41:25 -0600 |
commit | 06f689584aa937bacbfa863957ec8f3c220c0954 (patch) | |
tree | ba280f2360d85a0070a1d5927a8ea18393a16120 /app-misc | |
parent | fix adding users for mplugd and lirc (diff) | |
download | benklop-06f689584aa937bacbfa863957ec8f3c220c0954.tar.gz benklop-06f689584aa937bacbfa863957ec8f3c220c0954.tar.bz2 benklop-06f689584aa937bacbfa863957ec8f3c220c0954.zip |
fix adding users for mplugd and lirc
Diffstat (limited to 'app-misc')
-rw-r--r-- | app-misc/lcdproc/files/us2066.patch | 430 | ||||
-rw-r--r-- | app-misc/lcdproc/lcdproc-0.5.6-r2.ebuild | 201 | ||||
-rw-r--r-- | app-misc/lirc-0.9.0 | 17 | ||||
-rw-r--r-- | app-misc/lirc/files/lircd.service.patch | 13 |
4 files changed, 661 insertions, 0 deletions
diff --git a/app-misc/lcdproc/files/us2066.patch b/app-misc/lcdproc/files/us2066.patch new file mode 100644 index 0000000..426cc33 --- /dev/null +++ b/app-misc/lcdproc/files/us2066.patch @@ -0,0 +1,430 @@ +--- lcdproc-0.5.6/server/drivers/hd44780-i2c.c 2010-12-27 06:32:57.000000000 -0700 ++++ RPi-OLED-Display-SSD1311/hd44780-i2c.c 2015-07-09 22:52:19.193298735 -0600 +@@ -12,40 +12,6 @@ + * 1998 Richard Rognlie <rrognlie@gamerz.net> + * 1997 Matthias Prinke <m.prinke@trashcan.mcnet.de> + * +- * The connections are: +- * PCF8574AP LCD +- * P0 (4) D4 (11) +- * P1 (5) D5 (12) +- * P2 (6) D6 (13) +- * P3 (7) D7 (14) +- * P4 (9) RS (4) +- * P5 (10) RW (5) +- * P6 (11) EN (6) +- * +- * Backlight +- * P7 (12) /backlight (optional, active-low) +- * +- * Configuration: +- * device=/dev/i2c-0 # the device file of the i2c bus +- * port=0x20 # the i2c address of the i2c port expander +- * +- * Attention: Bit 8 of the address given in port is special: +- * It tells the driver to treat the device as PCA9554 or similar, +- * a device that needs a 2-byte command, and it will be stripped +- * off the address. +- * So we have: +- * port=0x20..0x27 PCF8574 with A[012]=0..7 +- * port=0x38..0x3f PCF8574A with A[012]=0..7 +- * port=0xa0..0xa7 PCA9554 with A[012]=0..7 +- * port=0xa0..0xa7 PCA9554A with A[012]=0..7 +- * +- * When using this driver, DON'T load the i2c chip module (e.g. pcf8574), +- * you only need the i2c bus driver module! +- * +- * +- * Based mostly on the hd44780-4bit module, see there for a complete history. +- * Suggestions for PCA9554 support from Tonu Samuel <tonu@jes.ee>. +- * + * This file is released under the GNU General Public License. Refer to the + * COPYING file distributed with this package. + */ +@@ -54,17 +20,26 @@ + #include "hd44780-low.h" + + #include "report.h" ++#ifdef HAVE_CONFIG_H ++# include "config.h" ++#endif + #include <stdio.h> + #include <string.h> + #include <errno.h> + #include <unistd.h> + #include <fcntl.h> + #include <sys/ioctl.h> ++ ++#ifdef HAVE_DEV_IICBUS_IIC_H ++#include <dev/iicbus/iic.h> ++#else /* HAVE_LINUX_I2C_DEV_H */ + #include <linux/i2c-dev.h> + /* I2C_SLAVE is missing in linux/i2c-dev.h from kernel headers of 2.4.x kernels */ + #ifndef I2C_SLAVE + #define I2C_SLAVE 0x0703 /* Change slave address */ + #endif ++#endif ++ + + // Generally, any function that accesses the LCD control lines needs to be + // implemented separately for each HW design. This is typically (but not +@@ -76,9 +51,9 @@ + void i2c_HD44780_backlight(PrivateData *p, unsigned char state); + void i2c_HD44780_close(PrivateData *p); + +-#define RS 0x10 +-#define RW 0x20 +-#define EN 0x40 ++//#define RS 0x10 ++//#define RW 0x20 ++//#define EN 0x40 + #define BL 0x80 + // note that the above bits are all meant for the data port of PCF8574 + +@@ -86,21 +61,36 @@ + #define I2C_PCAX_MASK 0x80 + + static void +-i2c_out(PrivateData *p, unsigned char val) ++i2c_out(PrivateData *p, unsigned char val[2]) + { +- __u8 data[2]; ++// char data[2]; + int datalen; + static int no_more_errormsgs=0; +- if (p->port & I2C_PCAX_MASK) { // we have a PCA9554 or similar, that needs a 2-byte command +- data[0]=1; // command: read/write output port register +- data[1]=val; +- datalen=2; +- } else { // we have a PCF8574 or similar, that needs a 1-byte command +- data[0]=val; +- datalen=1; +- } +- if (write(p->fd,data,datalen) != datalen) { +- p->hd44780_functions->drv_report(no_more_errormsgs?RPT_DEBUG:RPT_ERR, "HD44780: I2C: i2c write data %u to address %u failed: %s", ++#ifdef HAVE_DEV_IICBUS_IIC_H ++ struct iiccmd cmd; ++ bzero(&cmd, sizeof(cmd)); ++#endif ++ ++// if (p->port & I2C_PCAX_MASK) { // we have a PCA9554 or similar, that needs a 2-byte command ++// data[0]=1; // command: read/write output port register ++// data[1]=val; ++ datalen=2; ++// } else { // we have a PCF8574 or similar, that needs a 1-byte command ++// data[0]=val; ++// datalen=1; ++// } ++ ++#ifdef HAVE_DEV_IICBUS_IIC_H ++ cmd.slave = (p->port & I2C_ADDR_MASK) << 1; ++ cmd.last = 1; ++ cmd.count = datalen; ++ cmd.buf = val; ++ ++ if (ioctl(p->fd, I2CWRITE, &cmd) < 0) { ++#else /* HAVE_LINUX_I2C_DEV_H */ ++ if (write(p->fd,val,datalen) != datalen) { ++#endif ++ p->hd44780_functions->drv_report(no_more_errormsgs?RPT_DEBUG:RPT_ERR, "HD44780: I2C: i2c write data %u to address 0x%02X failed: %s", + val, p->port & I2C_ADDR_MASK, strerror(errno)); + no_more_errormsgs=1; + } +@@ -121,8 +111,14 @@ + PrivateData *p = (PrivateData*) drvthis->private_data; + HD44780_functions *hd44780_functions = p->hd44780_functions; + +- int enableLines = EN; ++// int enableLines = EN; + char device[256] = DEFAULT_DEVICE; ++#ifdef HAVE_DEV_IICBUS_IIC_H ++ struct iiccmd cmd; ++ bzero(&cmd, sizeof(cmd)); ++#endif ++ ++//###?? p->backlight_bit = BL; + p->backlight_bit = BL; + + /* READ CONFIG FILE */ +@@ -130,7 +126,7 @@ + /* Get serial device to use */ + strncpy(device, drvthis->config_get_string(drvthis->name, "Device", 0, DEFAULT_DEVICE), sizeof(device)); + device[sizeof(device)-1] = '\0'; +- report(RPT_INFO,"HD44780: I2C: Using device '%s' and address %u for a %s", ++ report(RPT_INFO,"HD44780: I2C: Using device '%s' and address 0x%02X for a %s", + device, p->port & I2C_ADDR_MASK, (p->port & I2C_PCAX_MASK) ? "PCA9554(A)" : "PCF8574(A)"); + + // Open the I2C device +@@ -141,89 +137,125 @@ + } + + // Set I2C address ++#ifdef HAVE_DEV_IICBUS_IIC_H ++ cmd.slave = (p->port & I2C_ADDR_MASK) << 1; ++ cmd.last = 0; ++ cmd.count = 0; ++ if (ioctl(p->fd, I2CRSTCARD, &cmd) < 0) { ++ report(RPT_ERR, "HD44780: I2C: reset bus failed: %s", strerror(errno)); ++ return -1; ++ } ++ if (ioctl(p->fd, I2CSTART, &cmd) < 0) { ++ report(RPT_ERR, "HD44780: I2C: set address to 0x%02X: %s", p->port & I2C_ADDR_MASK, strerror(errno)); ++ return -1; ++ } ++#else /* HAVE_LINUX_I2C_DEV_H */ + if (ioctl(p->fd,I2C_SLAVE, p->port & I2C_ADDR_MASK) < 0) { + report(RPT_ERR, "HD44780: I2C: set address to '%i': %s", p->port & I2C_ADDR_MASK, strerror(errno)); + return(-1); + } +- +- +- if (p->port & I2C_PCAX_MASK) { // we have a PCA9554 or similar, that needs special config +- __u8 data[2]; +- data[0] = 2; // command: set polarity inversion +- data[1] = 0; // -> no polarity inversion +- if (write(p->fd,data,2) != 2) { +- report(RPT_ERR, "HD44780: I2C: i2c set polarity inversion failed: %s", strerror(errno)); +- } +- data[0] = 3; // command: set output direction +- data[1] = 0; // -> all pins are outputs +- if (write(p->fd,data,2) != 2) { +- report(RPT_ERR, "HD44780: I2C: i2c set output direction failed: %s", strerror(errno)); +- } +- } +- ++#endif + hd44780_functions->senddata = i2c_HD44780_senddata; + hd44780_functions->backlight = i2c_HD44780_backlight; + hd44780_functions->close = i2c_HD44780_close; ++ /* Display init */ + +- // powerup the lcd now +- /* We'll now send 0x03 a couple of times, +- * which is in fact (FUNCSET | IF_8BIT) >> 4 */ +- i2c_out(p, 0x03); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- +- i2c_out(p, enableLines | 0x03); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- i2c_out(p, 0x03); +- hd44780_functions->uPause(p, 15000); +- +- i2c_out(p, enableLines | 0x03); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- i2c_out(p, 0x03); +- hd44780_functions->uPause(p, 5000); +- +- i2c_out(p, enableLines | 0x03); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- i2c_out(p, 0x03); +- hd44780_functions->uPause(p, 100); +- +- i2c_out(p, enableLines | 0x03); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- i2c_out(p, 0x03); +- hd44780_functions->uPause(p, 100); +- +- // now in 8-bit mode... set 4-bit mode +- i2c_out(p, 0x02); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- +- i2c_out(p, enableLines | 0x02); +- if (p->delayBus) +- hd44780_functions->uPause(p, 1); +- i2c_out(p, 0x02); +- hd44780_functions->uPause(p, 100); +- +- // Set up two-line, small character (5x8) mode +- hd44780_functions->senddata(p, 0, RS_INSTR, FUNCSET | IF_4BIT | TWOLINE | SMALLCHAR); +- hd44780_functions->uPause(p, 40); +- +- common_init(p, IF_4BIT); ++ unsigned char data[2]; ++ data[0] = 0x80; ++ i2c_out(p, data); ++ ++ data[1] = 0x2A; // **** Set "RE"=1<--->00101010B ++ i2c_out(p, data); ++ data[1] = 0x71; //# Function Selection A [71h] (IS = X, RE = 1, SD=0;, 2bajty ++ i2c_out(p, data); ++ data[1] = 0x5C; // 0x5C set Vdd ++ i2c_out(p, data); ++ data[1] = 0x28; ++ i2c_out(p, data); ++ ++ data[1] = 0x08; // **** Set Sleep Mode On ++ i2c_out(p, data); ++ data[1] = 0x2A; // **** Set "RE"=1 00101010B ++ i2c_out(p, data); ++ data[1] = 0x79; // **** Set "SD"=1 01111001B ++ i2c_out(p, data); ++ ++ data[1] = 0xD5; //# Set Display Clock Divide Ratio/ Oscillator Frequency (D5h ++ i2c_out(p, data); ++ data[1] = 0x70; ++ i2c_out(p, data); ++ data[1] = 0x78; // **** Set "SD"=0 ++ i2c_out(p, data); ++ ++ data[1] = 0x08; // **** Set 5-dot, 3 or 4 line(0x09;, 1 or 2 line(0x08; ++ i2c_out(p, data); ++ ++ data[1] = 0x06; // **** Set Com31-->Com0 Seg0-->Seg99 ++ i2c_out(p, data); ++ ++ //**** Set OLED Characterization ++ data[1] = 0x2A; // **** Set "RE"=1 ++ i2c_out(p, data); ++ data[1] = 0x79; // **** Set "SD"=1 ++ i2c_out(p, data); ++ ++ // **** CGROM/CGRAM Management *** // ++ data[1] = 0x72; // **** Set ROM ++ i2c_out(p, data); ++ data[1] = 0x00; // **** Set ROM A and 8 CGRAM ++ i2c_out(p, data); ++ ++ data[1] = 0xDA; // **** Set Seg Pins HW Config ++ i2c_out(p, data); ++ data[1] = 0x10; ++ i2c_out(p, data); ++ ++ //data[1] = 0x81; // **** Set Contrast ++ //i2c_out(p, data); ++ //data[1] = 0x50; ++ //i2c_out(p, data); ++ ++ data[1] = 0xDB; // **** Set VCOM deselect level ++ i2c_out(p, data); ++ data[1] = 0x30; // **** VCC x 0.83 ++ i2c_out(p, data); ++ ++ data[1] = 0xDC; // **** Set gpio - turn EN for 15V generator on. ++ i2c_out(p, data); ++ data[1] = 0x03; ++ i2c_out(p, data); ++ ++ data[1] = 0x78; // **** Exiting Set OLED Characterization ++ i2c_out(p, data); ++ data[1] = 0x28; ++ i2c_out(p, data); ++ data[1] = 0x2A; ++ i2c_out(p, data); ++ data[1] = 0x6; // **** Set Entry Mode ++ i2c_out(p, data); ++ data[1] = 0x08; ++ i2c_out(p, data); ++ data[1] = 0x28; // **** Set "IS"=0 , "RE" =0 //28 ++ i2c_out(p, data); ++ i2c_out(p, data); ++ data[1] = 0x01; ++ i2c_out(p, data); ++ data[1] = 0x80; // **** Set DDRAM Address to 0x80 (line 1 start; ++ i2c_out(p, data); ++ ++ //sleep 0.1s; ++ data[1] = 0x0C; // **** Turn on Display ++ i2c_out(p, data); + + return 0; + } + +- +-/** +- * Close the device. +- * \param p Pointer to driver's private data structure. +- */ + void + i2c_HD44780_close(PrivateData *p) { + if (p->fd >= 0) { ++#ifdef HAVE_DEV_IICBUS_IIC_H ++ ioctl(p->fd, I2CSTOP); ++#endif + close(p->fd); + } + } +@@ -239,34 +271,13 @@ + void + i2c_HD44780_senddata(PrivateData *p, unsigned char displayID, unsigned char flags, unsigned char ch) + { +- unsigned char enableLines = 0, portControl = 0; +- unsigned char h = (ch >> 4) & 0x0f; // high and low nibbles +- unsigned char l = ch & 0x0f; +- ++ unsigned char data[2]; + if (flags == RS_INSTR) +- portControl = 0; +- else //if (flags == RS_DATA) +- portControl = RS; +- +- portControl |= p->backlight_bit; +- +- enableLines = EN; +- +- i2c_out(p, portControl | h); +- if (p->delayBus) +- p->hd44780_functions->uPause(p, 1); +- i2c_out(p, enableLines | portControl | h); +- if (p->delayBus) +- p->hd44780_functions->uPause(p, 1); +- i2c_out(p, portControl | h); +- +- i2c_out(p, portControl | l); +- if (p->delayBus) +- p->hd44780_functions->uPause(p, 1); +- i2c_out(p, enableLines | portControl | l); +- if (p->delayBus) +- p->hd44780_functions->uPause(p, 1); +- i2c_out(p, portControl | l); ++ data[0] = 0x80; ++ else ++ data[0] = 0x40; ++ data[1] = ch; ++ i2c_out(p, data); + } + + +@@ -277,7 +288,35 @@ + */ + void i2c_HD44780_backlight(PrivateData *p, unsigned char state) + { +- p->backlight_bit = ((!p->have_backlight||state) ? 0 : BL); + +- i2c_out(p, p->backlight_bit); ++// printf("Backlight %d",state); ++ unsigned char data[2]; ++ ++ data[0] = 0x80; ++ data[1] = 0x2A; ++ i2c_out(p, data); ++ ++// data[0] = 0x80; ++ data[1] = 0x79; ++ i2c_out(p, data); ++ ++// data[0] = 0x80; ++ data[1] = 0x81; ++ i2c_out(p, data); ++ ++// data[0] = 0x80; ++ if (state) ++ data[1] = 240; ++ else ++ data[1] = 50; ++ i2c_out(p, data); ++ ++// data[0] = 0x80; ++ data[1] = 0x78; ++ i2c_out(p, data); ++ ++// data[0] = 0x80; ++ data[1] = 0x28; ++ i2c_out(p, data); ++ + } diff --git a/app-misc/lcdproc/lcdproc-0.5.6-r2.ebuild b/app-misc/lcdproc/lcdproc-0.5.6-r2.ebuild new file mode 100644 index 0000000..831463b --- /dev/null +++ b/app-misc/lcdproc/lcdproc-0.5.6-r2.ebuild @@ -0,0 +1,201 @@ +# Copyright 1999-2013 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lcdproc/lcdproc-0.5.6-r1.ebuild,v 1.1 2013/04/18 21:10:22 xmw Exp $ + +EAPI=5 +inherit multilib versionator + +MY_PV=$(replace_version_separator 3 '-') +MY_P=${PN}-${MY_PV} +S=${WORKDIR}/${MY_P} + +DESCRIPTION="Client/Server suite to drive all kinds of LCD (-like) devices" +HOMEPAGE="http://lcdproc.org/" +SRC_URI="mirror://sourceforge/${PN}/${MY_P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~ppc64 ~x86" + +IUSE="debug doc ftdi hid irman joystick lirc nfs png samba seamless-hbars truetype usb" + +# The following array holds the USE_EXPANDed keywords +IUSE_LCD_DEVICES=(ncurses bayrad cfontz cfontzpacket + cwlinux eyeboxone g15 graphlcd glk + hd44780 icpa106 imon imonlcd iowarrior + lb216 lcdm001 lcterm + md8800 mdm166a ms6931 mtcs16209x mtxorb noritakevfd + pyramid sdeclcd sed1330 sed1520 serialvfd sli + stv5730 SureElec svga t6963 text tyan + ula200 vlsys_m428 xosd ea65 picolcd serialpos + i2500vfd irtrans lis shuttlevfd us2066 ) + +# Iterate through the array and add the lcd_devices_* that we support +NUM_DEVICES=${#IUSE_LCD_DEVICES[@]} +index=0 +while [ "${index}" -lt "${NUM_DEVICES}" ] ; do + IUSE="${IUSE} lcd_devices_${IUSE_LCD_DEVICES[${index}]}" + let "index = ${index} + 1" +done + +REQUIRED_USE="lcd_devices_mdm166a? ( hid ) + lcd_devices_us2066? ( lcd_devices_hd44780 )" + +RDEPEND=" + ftdi? ( dev-embedded/libftdi ) + hid? ( >=dev-libs/libhid-0.2.16 ) + irman? ( media-libs/libirman ) + lirc? ( app-misc/lirc ) + png? ( media-libs/libpng:0 ) + truetype? ( media-libs/freetype:2 ) + usb? ( virtual/libusb:0 ) + + lcd_devices_graphlcd? ( app-misc/graphlcd-base app-misc/glcdprocdriver dev-libs/serdisplib ) + lcd_devices_g15? ( dev-libs/libg15 dev-libs/libg15render ) + lcd_devices_ncurses? ( sys-libs/ncurses ) + lcd_devices_svga? ( media-libs/svgalib ) + lcd_devices_ula200? ( dev-embedded/libftdi ) + lcd_devices_xosd? ( x11-libs/xosd x11-libs/libX11 x11-libs/libXext ) + lcd_devices_cfontzpacket? ( virtual/libusb:0 ) + lcd_devices_cwlinux? ( virtual/libusb:0 ) + lcd_devices_pyramid? ( virtual/libusb:0 ) + lcd_devices_picolcd? ( virtual/libusb:0 ) + lcd_devices_i2500vfd? ( dev-embedded/libftdi ) + lcd_devices_lis? ( dev-embedded/libftdi virtual/libusb:0 ) + lcd_devices_shuttlevfd? ( virtual/libusb:0 )" +DEPEND="${RDEPEND} + doc? ( app-text/xmlto + app-text/docbook-xml-dtd:4.5 )" +RDEPEND="${RDEPEND} + lcd_devices_g15? ( app-misc/g15daemon )" + +pkg_setup() { + if [ -n "${LCDPROC_DRIVERS}" ] ; then + ewarn "Setting the drivers to compile via LCDPROC_DRIVERS is not supported anymore." + ewarn "Please use LCD_DEVICES now and see emerge -pv output for the options." + fi +} + +src_prepare() { + sed -i "37s:server/drivers:/usr/$(get_libdir)/lcdproc:" LCDd.conf || die + einfo "Patching LCDd.conf to use DriverPath=/usr/$(get_libdir)/lcdproc/" + if use "lcd_devices_us2066" ; then + einfo "Patching in support for us2066" + epatch "${FILESDIR}/us2066.patch" + fi +} + +src_configure() { + # This array contains the driver names required by configure --with-drivers= + # The positions must be the same as the corresponding use_expand flags + local DEVICE_DRIVERS=(curses bayrad CFontz CFontzPacket + CwLnx EyeboxOne g15 glcd,glcdlib glk + hd44780 icp_a106 imon imonlcd IOWarrior + lb216 lcdm001 lcterm + MD8800 mdm166a ms6931 mtc_s16209x MtxOrb NoritakeVFD + pyramid sdeclcd sed1330 sed1520 serialVFD sli + stv5730 SureElec svga t6963 text tyan + ula200 vlsys_m428 xosd ea65 picolcd serialPOS + i2500vfd irtrans lis shuttleVFD ) + + # Generate comma separated list of drivers + COMMA_DRIVERS="" + FIRST_DRIVER="" + local index=0 + + while [ "${index}" -lt "${NUM_DEVICES}" ] ; do + if use "lcd_devices_${IUSE_LCD_DEVICES[${index}]}" ; then + append-driver "${DEVICE_DRIVERS[${index}]}" + fi + let "index = ${index} + 1" + done + + # Append the not-lcd-drivers (input) + use lirc && append-driver "lirc" + use irman && append-driver "irman" + use joystick && append-driver "joy" + + if [ -z "${COMMA_DRIVERS}" ] ; then + ewarn "You are compiling LCDd without support for any LCD drivers at all." + else + # Patch the config to contain a driver that is actually installed instead of the default + elog "Compiling the following drivers for LCDd: ${COMMA_DRIVERS}" + elog "Setting Driver=${FIRST_DRIVER} in LCDd.conf" + sed -i "53s:curses:${FIRST_DRIVER}:" LCDd.conf || die + fi + + local EXTRA_CONF + if use lcd_devices_cfontzpacket || use lcd_devices_cwlinux || use lcd_devices_pyramid || \ + use lcd_devices_picolcd || use lcd_devices_lis || use lcd_devices_shuttlevfd ; then + EXTRA_CONF="--enable-libusb" + else + EXTRA_CONF="$(use_enable usb libusb)" + fi + + if use lcd_devices_ula200 || use lcd_devices_i2500vfd || use lcd_devices_lis ; then + EXTRA_CONF="${EXTRA_CONF} --enable-libftdi" + else + EXTRA_CONF="${EXTRA_CONF} $(use_enable ftdi libftdi)" + fi + + econf --enable-extra-charmaps \ + $(use_enable debug) \ + $(use_enable nfs stat-nfs) \ + $(use_enable png libpng) \ + $(use_enable samba stat-smbfs ) \ + $(use_enable seamless-hbars) \ + $(use_enable truetype freetype) \ + ${EXTRA_CONF} \ + "--enable-drivers=${COMMA_DRIVERS}" +} + +src_compile() { + default + + if use doc; then + ebegin "Creating user documentation" + cd "${S}"/docs/lcdproc-user + xmlto html --skip-validation lcdproc-user.docbook + eend $? + + ebegin "Creating dev documentation" + cd "${S}"/docs/lcdproc-dev + xmlto html --skip-validation lcdproc-dev.docbook + eend $? + fi +} + +append-driver() { + [[ -z $* ]] && return 0 + if [ -z "${COMMA_DRIVERS}" ] ; then + # First in the list + COMMA_DRIVERS="$*" + FIRST_DRIVER="$*" + else + # Second, third, ... include a comma at the front + COMMA_DRIVERS="${COMMA_DRIVERS},$*" + fi + return 0 +} + +src_install() { + emake DESTDIR="${D}" install + + # move example clients installed to /usr/bin + rm -f "${D}"/usr/bin/{tail,lcdmetar,iosock,fortune,x11amp}.pl + insinto /usr/share/lcdproc/clients + doins clients/examples/*.pl + doins clients/metar/*.pl + + newinitd "${FILESDIR}/0.5.1-LCDd.initd" LCDd + newinitd "${FILESDIR}/0.5.2-r2-lcdproc.initd" lcdproc + + dodoc README CREDITS ChangeLog INSTALL TODO + + if use doc; then + insinto /usr/share/doc/${PF}/lcdproc-user + doins docs/lcdproc-user/*.html + insinto /usr/share/doc/${PF}/lcdproc-dev + doins docs/lcdproc-dev/*.html + fi +} diff --git a/app-misc/lirc-0.9.0 b/app-misc/lirc-0.9.0 new file mode 100644 index 0000000..d983f03 --- /dev/null +++ b/app-misc/lirc-0.9.0 @@ -0,0 +1,17 @@ +emerge: command-line interface to the Portage system +Usage: + emerge [ options ] [ action ] [ ebuild | tbz2 | file | @set | atom ] [ ... ] + emerge [ options ] [ action ] < @system | @world > + emerge < --sync | --metadata | --info > + emerge --resume [ --pretend | --ask | --skipfirst ] + emerge --help +Options: -[abBcCdDefgGhjkKlnNoOpPqrsStuvVw] + [ --color < y | n > ] [ --columns ] + [ --complete-graph ] [ --deep ] + [ --jobs JOBS ] [ --keep-going ] [ --load-average LOAD ] + [ --newrepo ] [ --newuse ] [ --noconfmem ] [ --nospinner ] + [ --oneshot ] [ --onlydeps ] [ --quiet-build [ y | n ] ] + [ --reinstall changed-use ] [ --with-bdeps < y | n > ] +Actions: [ --depclean | --list-sets | --search | --sync | --version ] + + For more help consult the man page. diff --git a/app-misc/lirc/files/lircd.service.patch b/app-misc/lirc/files/lircd.service.patch new file mode 100644 index 0000000..c5013ee --- /dev/null +++ b/app-misc/lirc/files/lircd.service.patch @@ -0,0 +1,13 @@ +--- a/systemd/lircd.service 2015-08-05 04:33:05.940754618 -0600 ++++ b/systemd/lircd.service 2015-08-05 01:18:38.694447032 -0600 +@@ -4,6 +4,10 @@ + + [Service] + Type=simple ++ ++ExecStartPre=/bin/mkdir -p /var/run/lirc ++ExecStartPre=/bin/chown -R lirc:lirc /var/run/lirc ++ + ExecStart=/usr/sbin/lircd --nodaemon + + [Install] |