diff --git a/app-misc/lirc/Manifest b/app-misc/lirc/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..21ea718d7eacbcb5ba820fb6b479fffb36d32d99 --- /dev/null +++ b/app-misc/lirc/Manifest @@ -0,0 +1,22 @@ +AUX irexec-confd 280 RMD160 f669c7c98b9d7cac2010284ab6068d29d47ec811 SHA1 c6decc19a273d98d451de137a2ffbe16d5df28ae SHA256 c404ad3b624004cab25bd3a89593cdeb0abbc25771d6e52caf2f37cb4f7b2b79 +AUX irexec-initd 808 RMD160 06b02232f892ab032e2bf8b35bb2945a623a2610 SHA1 5c5630e5434c2430b9a74b725fc5350e29adaede SHA256 9325419aa45d80c205bc1cd47fe839b178da74bca5dd928cbe3ae17423b92493 +AUX lirc-0.8.3-imon-pad2keys.patch 11556 RMD160 89a050f7099593000a40b15c46de6137f3b10dfa SHA1 019b1aa3d72df9e4b28796c173fb4fa1fc3e457d SHA256 347c6195d971f8d1a3f4c29a1ff4750d04cea297d16679aeda7529ac1720d42e +AUX lirc-0.8.3-kernel-2.6.26.diff 3233 RMD160 654d6375f8b0a4e45ce2c60d18581cb2dc7c38a3 SHA1 3465689927bd998fcd4e6875ccc004346c93c4cf SHA256 2e70c6806dc24e0c3288f55f5a20ad7484e05752ca8efd5254e3be3ff73cbefd +AUX lirc-0.8.3-kernel-2.6.27.diff 1253 RMD160 9ece885b51b356ef1001f5f58fb913e1931365a6 SHA1 8da93ede404e425bcc676079129ba70e8f581a4b SHA256 64c0e4d7bca25d07f903352329445f6e95c42edd73b21ac040e190609f34807f +AUX lirc-0.8.3-pa19.patch 1954 RMD160 bb90abc0c35fd5e9827ca993bca51d3075ccb3b8 SHA1 7cae24797dd132a226293bd1e47d87505be4c37a SHA256 d5c4959c78a4f83bc494788c45da2ec5fe7d5c1362f82136233068cc2e87ca8e +AUX lirc-0.8.3_pre1-imon-pad2keys.patch 10312 RMD160 6f61031cd3035289b2d52797dd02d027f593873d SHA1 c59aab62c9b59e27b93d5613e050438fcf2c6eed SHA256 2f79f223d5d2e998321284c50edea044ad26ab8607eae1e9e79e7c0ea6a8f2cd +AUX lirc-0.8.3_pre1-kernel-2.6.24.diff 3140 RMD160 ad09e63973827b180530c63a6c49c4e180629198 SHA1 e66cae5faf48a7f9e8d7e391b3fdf6f8984e2074 SHA256 d992cca976d34d7e78a3709908852b828722a9ef18d7ee2151cd1e9de9b529d3 +AUX lirc-0.8.3_pre1-remotewonderplus.patch 943 RMD160 05a0696d51ff01c7d9644ad3ff4d56fef20be439 SHA1 971ad8b27d57c31439a1f7fb87dac2dc39d6c1e8 SHA256 547efbfa30f282ba9100495044e3b720c8f74c44f9a4e34db934d2ac7976fe29 +AUX lirc-0.8.3_pre3-imon-pad2keys.patch 11556 RMD160 96137f08691e341844d7ebc860337e1b6e4baf25 SHA1 885ac9bbcc73e0f815c9e3eb867b36e335eeb52f SHA256 7ce01a1fe0dd2021b9dcf1d3c764d5a4704aab33cd616d92f1ff401f31d17d3f +AUX lirc-0.8.4-imon-pad2keys.patch 11556 RMD160 89a050f7099593000a40b15c46de6137f3b10dfa SHA1 019b1aa3d72df9e4b28796c173fb4fa1fc3e457d SHA256 347c6195d971f8d1a3f4c29a1ff4750d04cea297d16679aeda7529ac1720d42e +AUX lirc-0.8.4-kernel-2.6.29.patch 3079 RMD160 805e840a3e2535d7075e196bddddfa748318154d SHA1 f1d41d1666f1eee1857d8a34dbf6cc244427e0f7 SHA256 999f59d171aea96c6ecdf398e74b1199aa4413f5e7b6a762f577e2a5ccc8a249 +AUX lirc-0.8.4-portaudio_check.patch 769 RMD160 d83b1a167da5b0c4e09ef716a4fc80f7261f7665 SHA1 81537dc12f897756d24fcf2cf4d178dc8169e360 SHA256 01e2034aaa6a7eb039e5c0e6c3b4a6ed38860614d3d0b0005d99a4aac2b3827e +AUX lircd 450 RMD160 73cf3057f420632e90e80eeb30e79cdbb3390b5d SHA1 e43d500a672bf89b7dc5e6bdedc9ed8e90dac3b3 SHA256 a9d6d2cc0abd0efe3267c1477fac012378e63e26aa021cfce7a0e25b27f196df +AUX lircd-0.8.3 581 RMD160 162a54bb19df7b97aa982355a6d009ddc82580eb SHA1 c0f7a0a65169d02bdc7003d574d8610694241a5d SHA256 9ba3c5a8c0ca5966729dc5e2c7a5960bbf12b443d91e9e319a0277f153df1b1f +AUX lircd.conf.2 314 RMD160 895fd43ce98f478e6ef8d3375c2be86f7b22f0dd SHA1 4edb23d7f14c8d92bc19d59734f8f3ebe9f30e75 SHA256 bf62f0985e97b4bd8828d609bb0daa543b7c158f457d597712752d50e2265adb +AUX lircmd 466 RMD160 32f2b2411afc60522944f5c3dff9f53aac242a9c SHA1 79939de790d20704009643bd810e3186090d0e36 SHA256 d47f22a33a83c14a4a0c333d6a445c40e550c491899fb0c6d323e23fe1eac7b7 +AUX modprobed.lirc 549 RMD160 89edfd587932959df9e521d146cef7c67cf97b18 SHA1 f59d8f031859eb6b6dccd1faf15d7ed2251288b1 SHA256 b4951252321ea326d3ec401e5ff1112716c5aaf5b2ca94d9f5e187e22ad35c44 +AUX modulesd.lirc 482 RMD160 0c7ec9881b337529acaf15eb4bf7a66a8623fc6c SHA1 8415e466cad31278496bafa817ccabbb72c56ce4 SHA256 3906b61951e1245cb3c9b16e81255a735f7bcdbbfcbedcdf44cd53236e2a3f28 +AUX xbox-lircd.conf 784 RMD160 844b08d504f5afb996f900d3d225cc855fbf4884 SHA1 65c3b9c295bc8ab8f80077dd3a40b599d1a60ce3 SHA256 03979bd658ed4a5705c358a1278b1565dd10463ab6eb14fa8d25b3d98e645008 +DIST lirc-0.8.4.tar.bz2 694420 RMD160 bc72c59f2ac3087b9c5918796f3c202cb1437e67 SHA1 0de0bae3ea0b4cc36365f5c6d79b4e204a353401 SHA256 a803ae84b81e6c145bafc880835df44501d75d5e572d8a92d45209df15b581c0 +EBUILD lirc-0.8.4-r1.ebuild 9108 RMD160 9f02febe0241cbee76e95ec2d73785f8e534eb16 SHA1 1313432e177f6178dae85e0e5487ad8331479221 SHA256 d0ece8a1539507c2bdd3161465d4322bc7cbbfffcc29b510fbd7837c59b00331 diff --git a/app-misc/lirc/files/irexec-confd b/app-misc/lirc/files/irexec-confd new file mode 100644 index 0000000000000000000000000000000000000000..48eb8dd4c806af8c39c2d875df4ff4a33d08e4c3 --- /dev/null +++ b/app-misc/lirc/files/irexec-confd @@ -0,0 +1,9 @@ +# Options to pass to the irexec process +IREXEC_OPTS="/etc/lircrc" + +# User to execute irexec as. +# Warning: Running irexec as root can open security holes +#IREXEC_USER="root" + +# Use this to disable the warning printed when starting irexec as root +# IREXEC_DISABLE_ROOT_WARNING=yes diff --git a/app-misc/lirc/files/irexec-initd b/app-misc/lirc/files/irexec-initd new file mode 100755 index 0000000000000000000000000000000000000000..e1defeeaa83f663e62d0a527ec445c622daf5474 --- /dev/null +++ b/app-misc/lirc/files/irexec-initd @@ -0,0 +1,28 @@ +#!/sbin/runscript +# Copyright 2003 Martin Hierling +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/irexec-initd,v 1.3 2007/05/24 20:12:16 zzam Exp $ + +: ${IREXEC_USER:=root} + +depend() { + need lircd +} + +start() { + if [ "x${IREXEC_USER}" = "xroot" -a "x${IREXEC_DISABLE_ROOT_WARNING}" != "xyes" ]; then + ewarn "Warning: Running irexec as root can open security holes" + fi + + ebegin "Starting irexec" + start-stop-daemon --start --chuid ${IREXEC_USER} --user ${IREXEC_USER} --chdir / \ + --exec /usr/bin/irexec -- --daemon ${IREXEC_OPTS} + eend $? "Failed to start irexec." +} + +stop() { + ebegin "Stopping irexec" + start-stop-daemon --stop --exec /usr/bin/irexec --user ${IREXEC_USER} + eend $? "Failed to stop irexec." +} + diff --git a/app-misc/lirc/files/lirc-0.8.3-imon-pad2keys.patch b/app-misc/lirc/files/lirc-0.8.3-imon-pad2keys.patch new file mode 100644 index 0000000000000000000000000000000000000000..578489db446f86f07095979e73fa247460ca9ec1 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3-imon-pad2keys.patch @@ -0,0 +1,291 @@ +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:15:54.281654857 +0200 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:16:51.381649620 +0200 +@@ -73,9 +73,9 @@ + + + #define MOD_AUTHOR "Venky Raju " +-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" ++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" + #define MOD_NAME "lirc_imon" +-#define MOD_VERSION "0.3" ++#define MOD_VERSION "0.3p2k" + + #define VFD_MINOR_BASE 144 /* Same as LCD */ + #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ +@@ -91,6 +91,7 @@ + #define TRUE 1 + #define FALSE 0 + ++#define CURSOR_LIMIT 16 + + /* ------------------------------------------------------------ + * P R O T O T Y P E S +@@ -177,6 +178,10 @@ + atomic_t busy; /* write in progress */ + int status; /* status of tx completion */ + } tx; ++ ++ int key_x; ++ int key_y; ++ int last_count; /* number of times pressed */ + }; + + #define LOCK_CONTEXT down(&context->sem) +@@ -248,6 +253,9 @@ + static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */ + #endif + ++/* pad2keys module parameter. pad2keys patch active? */ ++static int pad2keys_active = 0; ++ + #if !defined(KERNEL_2_5) + + #define MAX_DEVICES 4 /* In case there's more than one iMON device */ +@@ -271,6 +279,7 @@ + + MODULE_AUTHOR(MOD_AUTHOR); + MODULE_DESCRIPTION(MOD_DESC); ++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ + MODULE_LICENSE("GPL"); + MODULE_DEVICE_TABLE(usb, imon_usb_id_table); + +@@ -287,6 +296,9 @@ + "1=yes (default:no)"); + #endif + ++module_param (pad2keys_active, int, 0); ++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ + static inline void delete_context(struct imon_context *context) + { + if (context->vfd_supported) +@@ -766,6 +778,11 @@ + context->rx.initial_space = 1; + context->rx.prev_bit = 0; + ++ /* init pad context for pad2keys */ ++ context ->key_x = 0; ++ context ->key_y = 0; ++ context ->last_count = 0; ++ + usb_fill_int_urb(context->rx_urb, context->dev, + usb_rcvintpipe(context->dev, + context->rx_endpoint->bEndpointAddress), +@@ -915,6 +932,94 @@ + + if (context->ir_onboard_decode) { + /* The signals have been decoded onboard the iMON controller */ ++ ++ if (pad2keys_active) ++ { ++ /* imon pad2keys patch ++ * ++ * make PAD and mouse buttons available for use with VDR, ++ * based on pad-mouse-emu patch from venky's forum ++ * ++ * last change: M.Brakemeier 2007-10-14 ++ * ++ * generated PAD key codes: ++ * Mouse_N 0x690281B7 ++ * Mouse_S 0x688291B7 ++ * Mouse_W 0x6A8281B7 ++ * Mouse_E 0x688A81B7 ++ * ++ * mouse buttons (non-synthetic): ++ * MouseRightClick 0x688481B7 ++ * MouseLeftClick 0x688301B7 ++ */ ++ if((buf[0] & 0x40) && ++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) ++ { ++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; ++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; ++ ++ if(buf[0] & 0x02) ++ rel_x |= ~0x10+1; ++ if(buf[0] & 0x01) ++ rel_y |= ~0x10+1; ++ ++ /* keyboard direction key emulation */ ++ if( context->last_count > 32 ) ++ { /* Hopefully eliminate drift*/ ++ context->last_count=0; ++ context->key_y=0; ++ context->key_x=0; ++ } ++ context->last_count++; ++ ++ /* limit decoded events */ ++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) ++ { ++ if(abs(context->key_y ) > abs(context->key_x)) ++ { /* mouse s/n */ ++ if(context->key_y > 0 && rel_y > 0) ++ { /* mouse s */ ++ buf[0] = 0x68; ++ buf[1] = 0x82; ++ buf[2] = 0x91; ++ } ++ else if(context->key_y < 0 && rel_y < 0) ++ { /* mouse n */ ++ buf[0] = 0x69; ++ buf[1] = 0x02; ++ buf[2] = 0x81; ++ } ++ } ++ else ++ { /* mouse e/w*/ ++ if(context->key_x > 0 && rel_x > 0 ) ++ { /* mouse e */ ++ buf[0] = 0x68; ++ buf[1] = 0x8A; ++ buf[2] = 0x81; ++ } ++ else if(context->key_x < 0 && rel_x < 0 ) ++ { /* mouse w */ ++ buf[0] = 0x6A; ++ buf[1] = 0x82; ++ buf[2] = 0x81; ++ } ++ } ++ } ++ else ++ { ++ context->key_x += rel_x; ++ context->key_y += rel_y; ++ ++ return; /* discard those key codes */ ++ } ++ } ++ /* a key was pressed, reset count */ ++ context->key_x = 0; ++ context->key_y = 0; ++ context->last_count = 0; ++ } ++ + lirc_buffer_write_1(context->plugin->rbuf, buf); + wake_up(&context->plugin->rbuf->wait_poll); + return; +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,26 @@ ++*************** ++*** 271,280 **** ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { ++--- 279,291 ---- ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); +++ MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); +++ module_param (pad2keys_active, int, 0); +++ MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { +diff -ruN lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys +--- lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,88 @@ ++# Please make this file available to others ++# by sending it to ++# ++# this config file was generated ++# using lirc-0.8.3pre1 (imon w/pad2keys patch) ++# ++# contributed by M.Brakemeier ++# ++# brand: SoundGraph ++# model no. of remote control: iMON-PAD ++# devices being controlled by this remote: ++# ++ ++begin remote ++ ++ name iMON-PAD ++ bits 32 ++ eps 30 ++ aeps 100 ++ ++ one 0 0 ++ zero 0 0 ++ gap 235965 ++ min_repeat 1 ++ toggle_bit 0 ++ ++ begin codes ++ AppExit 0x288195B7 ++ Power 0x289115B7 ++ Record 0x298115B7 ++ Play 0x2A8115B7 ++ Open 0x29B1D5B7 ++ Rewind 0x2A8195B7 ++ Pause 0x2A9115B7 ++ FastForward 0x2B8115B7 ++ PrevChapter 0x2B9115B7 ++ Stop 0x2B9715B7 ++ NextChapter 0x298195B7 ++ Esc 0x2BB715B7 ++ Eject 0x299395B7 ++ AppLauncher 0x29B715B7 ++ MultiMon 0x2AB195B7 ++ TaskSwitcher 0x2A9395B7 ++ Mute 0x2B9595B7 ++ Vol+ 0x28A395B7 ++ Vol- 0x28A595B7 ++ Ch+ 0x289395B7 ++ Ch- 0x288795B7 ++ Timer 0x2B8395B7 ++ 1 0x28B595B7 ++ 2 0x2BB195B7 ++ 3 0x28B195B7 ++ 4 0x2A8595B7 ++ 5 0x299595B7 ++ 6 0x2AA595B7 ++ 7 0x2B9395B7 ++ 8 0x2A8515B7 ++ 9 0x2AA115B7 ++ 0 0x2BA595B7 ++ ShiftTab 0x28B515B7 ++ Tab 0x29A115B7 ++ Red 0x2B8515B7 # MyMovie ++ Green 0x299195B7 # MyMusic ++ Blue 0x2BA115B7 # MyPhoto ++ Yellow 0x28A515B7 # MyTV ++ Bookmark 0x288515B7 ++ Thumbnail 0x2AB715B7 ++ AspectRatio 0x29A595B7 ++ FullScreen 0x2AA395B7 ++ Purple 0x29A395B7 # MyDVD ++ Menu 0x2BA395B7 ++ Caption 0x298595B7 ++ Language 0x2B8595B7 ++ MouseKeyboard 0x299115B7 ++ SelectSpace 0x2A9315B7 ++ MouseMenu 0x28B715B7 ++ MouseRightClick 0x688481B7 ++ Enter 0x28A195B7 ++ MouseLeftClick 0x688301B7 ++ WindowsKey 0x2B8195B7 ++ Backspace 0x28A115B7 ++ Mouse_N 0x690281B7 ++ Mouse_S 0x688291B7 ++ Mouse_W 0x6A8281B7 ++ Mouse_E 0x688A81B7 ++ end codes ++ ++end remote diff --git a/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.26.diff b/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.26.diff new file mode 100644 index 0000000000000000000000000000000000000000..130b6cbaeb1da00d30a6b66b5f808e59a80ded3e --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.26.diff @@ -0,0 +1,107 @@ +--- a/drivers/kcompat.h 2008-01-13 11:26:28.000000000 +0100 ++++ b/drivers/kcompat.h 2008-05-14 18:37:49.000000000 +0200 +@@ -36,10 +36,10 @@ + class_simple_destroy(cls); + } + +-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \ +- class_simple_device_add(cs, dev, device, fmt, ## args) ++#define lirc_device_create(cs, parent, dev, fmt, args...) \ ++ class_simple_device_add(cs, dev, parent, fmt, ## args) + +-static inline void class_device_destroy(lirc_class_t *cls, dev_t devt) ++static inline void lirc_device_destroy(lirc_class_t *cls, dev_t devt) + { + class_simple_device_remove(devt); + } +@@ -48,20 +48,40 @@ + + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 15) + +-#define lirc_class_device_create(cs, parent, dev, device, fmt, args...) \ +- class_device_create(cs, dev, device, fmt, ## args) ++#define lirc_device_create(cs, parent, dev, fmt, args...) \ ++ class_device_create(cs, dev, parent, fmt, ## args) + + #else /* >= 2.6.15 */ + +-#define lirc_class_device_create class_device_create ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) ++ ++#define lirc_device_create(cs, parent, dev, fmt, args...) \ ++ class_device_create(cs, NULL, dev, parent, fmt, ## args) ++ ++#else /* >= 2.6.26 */ ++ ++#define lirc_device_create device_create ++ ++#endif /* >= 2.6.26 */ ++ + #define LIRC_DEVFS_PREFIX + +-#endif ++#endif /* >= 2.6.15 */ + + typedef struct class lirc_class_t; + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 26) ++ ++#define lirc_device_destroy class_device_destroy ++ ++#else ++ ++#define lirc_device_destroy device_destroy ++ + #endif + ++#endif /* >= 2.6.13 */ ++ + #elif LINUX_VERSION_CODE >= KERNEL_VERSION(2, 4, 0) + #define LIRC_HAVE_DEVFS + #define LIRC_HAVE_DEVFS_24 +@@ -133,8 +153,8 @@ + #ifndef LIRC_HAVE_SYSFS + #define class_destroy(x) do { } while (0) + #define class_create(x, y) NULL +-#define class_device_destroy(x, y) do { } while (0) +-#define lirc_class_device_create(x, y, z, xx, yy, zz) 0 ++#define lirc_class_destroy(x, y) do { } while (0) ++#define lirc_class_create(x, y, z, xx, yy, zz) 0 + #define IS_ERR(x) 0 + typedef struct class_simple + { +--- a/drivers/lirc_dev/lirc_dev.c 2008-01-13 11:45:02.000000000 +0100 ++++ b/drivers/lirc_dev/lirc_dev.c 2008-05-14 18:37:49.000000000 +0200 +@@ -145,7 +145,8 @@ + #ifdef LIRC_HAVE_DEVFS_26 + devfs_remove(DEV_LIRC "/%u", ir->p.minor); + #endif +- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); ++ lirc_device_destroy(lirc_class, ++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); + + if (ir->buf != ir->p.rbuf) { + lirc_buffer_free(ir->buf); +@@ -400,9 +401,9 @@ + S_IFCHR|S_IRUSR|S_IWUSR, + DEV_LIRC "/%u", ir->p.minor); + #endif +- (void) lirc_class_device_create(lirc_class, NULL, +- MKDEV(IRCTL_DEV_MAJOR, ir->p.minor), +- ir->p.dev, "lirc%u", ir->p.minor); ++ (void) lirc_device_create(lirc_class, ir->p.dev, ++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor), ++ "lirc%u", ir->p.minor); + + if (p->sample_rate || p->get_queue) { + /* try to fire up polling thread */ +@@ -441,7 +442,8 @@ + return minor; + + out_sysfs: +- class_device_destroy(lirc_class, MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); ++ lirc_device_destroy(lirc_class, ++ MKDEV(IRCTL_DEV_MAJOR, ir->p.minor)); + #ifdef LIRC_HAVE_DEVFS_24 + devfs_unregister(ir->devfs_handle); + #endif diff --git a/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.27.diff b/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.27.diff new file mode 100644 index 0000000000000000000000000000000000000000..c9149737100cb709673901510c761c47d247ec71 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3-kernel-2.6.27.diff @@ -0,0 +1,38 @@ +Index: drivers/lirc_dev/lirc_dev.c +=================================================================== +RCS file: /cvsroot/lirc/lirc/drivers/lirc_dev/lirc_dev.c,v +retrieving revision 1.58 +diff -u -p -u -p -r1.58 lirc_dev.c +--- drivers/lirc_dev/lirc_dev.c 14 May 2008 16:37:49 -0000 1.58 ++++ drivers/lirc_dev/lirc_dev.c 4 Aug 2008 14:54:04 -0000 +@@ -49,7 +49,11 @@ + #include + #include + #endif ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) + #include ++#else ++#include ++#endif + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0) + #include + #endif +Index: drivers/lirc_i2c/lirc_i2c.c +=================================================================== +RCS file: /cvsroot/lirc/lirc/drivers/lirc_i2c/lirc_i2c.c,v +retrieving revision 1.46 +diff -u -p -u -p -r1.46 lirc_i2c.c +--- drivers/lirc_i2c/lirc_i2c.c 4 May 2008 13:49:53 -0000 1.46 ++++ drivers/lirc_i2c/lirc_i2c.c 4 Aug 2008 14:54:04 -0000 +@@ -54,7 +54,11 @@ + #include + #include + ++#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27) + #include ++#else ++#include ++#endif + + #include "drivers/kcompat.h" + #include "drivers/lirc_dev/lirc_dev.h" diff --git a/app-misc/lirc/files/lirc-0.8.3-pa19.patch b/app-misc/lirc/files/lirc-0.8.3-pa19.patch new file mode 100644 index 0000000000000000000000000000000000000000..31cae2bb8e6c370025bdc232c347f6d887d17605 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3-pa19.patch @@ -0,0 +1,68 @@ +--- daemons/hw_audio.c.orig 2008-06-13 22:24:40.000000000 +0200 ++++ daemons/hw_audio.c 2008-06-13 22:17:31.000000000 +0200 +@@ -66,7 +66,7 @@ + } + paTestData; + +-PortAudioStream *stream; ++PaStream *stream; + + + extern struct ir_remote *repeat_remote; +@@ -90,7 +90,9 @@ + + static int recordCallback( void *inputBuffer, void *outputBuffer, + unsigned long framesPerBuffer, +- PaTimestamp outTime, void *userData ) ++ PaStreamCallbackTimeInfo outTime, ++ PaStreamCallbackFlags status, ++ void *userData ) + { + paTestData *data = (paTestData*)userData; + SAMPLE *rptr = (SAMPLE*)inputBuffer; +@@ -215,6 +217,7 @@ + int audio_init() + { + ++ PaStreamParameters inputParameters; + PaError err; + int flags; + struct termios t; +@@ -237,22 +240,27 @@ + err = Pa_Initialize(); + if( err != paNoError ) goto error; + ++ inputParameters.device = Pa_GetDefaultInputDevice(); /* default input device */ ++ if (inputParameters.device == paNoDevice) { ++ logprintf(LOG_ERR, "No default input device"); ++ goto error; ++ } ++ inputParameters.channelCount = NUM_CHANNELS; /* stereo input */ ++ inputParameters.sampleFormat = PA_SAMPLE_TYPE; ++ inputParameters.suggestedLatency = ++ Pa_GetDeviceInfo( inputParameters.device )->defaultLowInputLatency; ++ inputParameters.hostApiSpecificStreamInfo = NULL; ++ ++ + // Record some audio. -------------------------------------------- + err = Pa_OpenStream + ( + &stream, +- Pa_GetDefaultInputDeviceID(), +- NUM_CHANNELS, // stereo input +- PA_SAMPLE_TYPE, +- NULL, +- paNoDevice, +- 0, +- PA_SAMPLE_TYPE, +- NULL, ++ &inputParameters, ++ NULL, // output parameters + SAMPLE_RATE, + 512, // frames per buffer +- 0, // number of buffers, if zero then use default minimum +- 0, // flags ++ 0, // flags + recordCallback, + &data ); + diff --git a/app-misc/lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch b/app-misc/lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch new file mode 100644 index 0000000000000000000000000000000000000000..59ed4c9a1ea4ffb92ee4ad43b4e9c21bdc6a7afd --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch @@ -0,0 +1,257 @@ +diff -NuBbwr lirc-0.8.3pre1-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre1/drivers/lirc_imon/lirc_imon.c +--- lirc-0.8.3pre1-orig/drivers/lirc_imon/lirc_imon.c 2007-09-30 11:58:45.000000000 +0200 ++++ lirc-0.8.3pre1/drivers/lirc_imon/lirc_imon.c 2007-10-14 14:20:07.000000000 +0200 +@@ -69,9 +69,9 @@ + + + #define MOD_AUTHOR "Venky Raju " +-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" ++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" + #define MOD_NAME "lirc_imon" +-#define MOD_VERSION "0.3" ++#define MOD_VERSION "0.3p2k" + + #define VFD_MINOR_BASE 144 /* Same as LCD */ + #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ +@@ -87,6 +87,7 @@ + #define TRUE 1 + #define FALSE 0 + ++#define CURSOR_LIMIT 16 + + /* ------------------------------------------------------------ + * P R O T O T Y P E S +@@ -169,6 +170,10 @@ + atomic_t busy; /* write in progress */ + int status; /* status of tx completion */ + } tx; ++ ++ int key_x; ++ int key_y; ++ int last_count; /* number of times pressed */ + }; + + #define LOCK_CONTEXT down(&context->sem) +@@ -235,6 +240,9 @@ + + static int debug; + ++/* pad2keys module parameter. pad2keys patch active? */ ++static int pad2keys_active = 0; ++ + #if !defined(KERNEL_2_5) + + #define MAX_DEVICES 4 /* In case there's more than one iMON device */ +@@ -258,10 +266,13 @@ + + MODULE_AUTHOR(MOD_AUTHOR); + MODULE_DESCRIPTION(MOD_DESC); ++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ + MODULE_LICENSE("GPL"); + MODULE_DEVICE_TABLE(usb, imon_usb_id_table); + module_param(debug, int, 0); + MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); ++module_param (pad2keys_active, int, 0); ++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); + + static inline void delete_context(struct imon_context *context) + { +@@ -684,6 +695,11 @@ + context->rx.initial_space = 1; + context->rx.prev_bit = 0; + ++ /* init pad context for pad2keys */ ++ context ->key_x = 0; ++ context ->key_y = 0; ++ context ->last_count = 0; ++ + usb_fill_int_urb(context->rx_urb, context->dev, + usb_rcvintpipe(context->dev, + context->rx_endpoint->bEndpointAddress), +@@ -834,6 +850,94 @@ + + if (context->ir_onboard_decode) { + /* The signals have been decoded onboard the iMON controller */ ++ ++ if (pad2keys_active) ++ { ++ /* imon pad2keys patch ++ * ++ * make PAD and mouse buttons available for use with VDR, ++ * based on pad-mouse-emu patch from venky's forum ++ * ++ * last change: M.Brakemeier 2007-10-14 ++ * ++ * generated PAD key codes: ++ * Mouse_N 0x690281B7 ++ * Mouse_S 0x688291B7 ++ * Mouse_W 0x6A8281B7 ++ * Mouse_E 0x688A81B7 ++ * ++ * mouse buttons (non-synthetic): ++ * MouseRightClick 0x688481B7 ++ * MouseLeftClick 0x688301B7 ++ */ ++ if((buf[0] & 0x40) && ++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) ++ { ++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; ++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; ++ ++ if(buf[0] & 0x02) ++ rel_x |= ~0x10+1; ++ if(buf[0] & 0x01) ++ rel_y |= ~0x10+1; ++ ++ /* keyboard direction key emulation */ ++ if( context->last_count > 32 ) ++ { /* Hopefully eliminate drift*/ ++ context->last_count=0; ++ context->key_y=0; ++ context->key_x=0; ++ } ++ context->last_count++; ++ ++ /* limit decoded events */ ++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) ++ { ++ if(abs(context->key_y ) > abs(context->key_x)) ++ { /* mouse s/n */ ++ if(context->key_y > 0 && rel_y > 0) ++ { /* mouse s */ ++ buf[0] = 0x68; ++ buf[1] = 0x82; ++ buf[2] = 0x91; ++ } ++ else if(context->key_y < 0 && rel_y < 0) ++ { /* mouse n */ ++ buf[0] = 0x69; ++ buf[1] = 0x02; ++ buf[2] = 0x81; ++ } ++ } ++ else ++ { /* mouse e/w*/ ++ if(context->key_x > 0 && rel_x > 0 ) ++ { /* mouse e */ ++ buf[0] = 0x68; ++ buf[1] = 0x8A; ++ buf[2] = 0x81; ++ } ++ else if(context->key_x < 0 && rel_x < 0 ) ++ { /* mouse w */ ++ buf[0] = 0x6A; ++ buf[1] = 0x82; ++ buf[2] = 0x81; ++ } ++ } ++ } ++ else ++ { ++ context->key_x += rel_x; ++ context->key_y += rel_y; ++ ++ return; /* discard those key codes */ ++ } ++ } ++ /* a key was pressed, reset count */ ++ context->key_x = 0; ++ context->key_y = 0; ++ context->last_count = 0; ++ } ++ + lirc_buffer_write_1(context->plugin->rbuf, buf); + wake_up(&context->plugin->rbuf->wait_poll); + return; +diff -NuBbwr lirc-0.8.3pre1-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre1/remotes/imon/lircd.conf.imon-pad2keys +--- lirc-0.8.3pre1-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre1/remotes/imon/lircd.conf.imon-pad2keys 2007-10-14 14:13:01.000000000 +0200 +@@ -0,0 +1,88 @@ ++# Please make this file available to others ++# by sending it to ++# ++# this config file was generated ++# using lirc-0.8.3pre1 (imon w/pad2keys patch) ++# ++# contributed by M.Brakemeier ++# ++# brand: SoundGraph ++# model no. of remote control: iMON-PAD ++# devices being controlled by this remote: ++# ++ ++begin remote ++ ++ name iMON-PAD ++ bits 32 ++ eps 30 ++ aeps 100 ++ ++ one 0 0 ++ zero 0 0 ++ gap 235965 ++ min_repeat 1 ++ toggle_bit 0 ++ ++ begin codes ++ AppExit 0x288195B7 ++ Power 0x289115B7 ++ Record 0x298115B7 ++ Play 0x2A8115B7 ++ Open 0x29B1D5B7 ++ Rewind 0x2A8195B7 ++ Pause 0x2A9115B7 ++ FastForward 0x2B8115B7 ++ PrevChapter 0x2B9115B7 ++ Stop 0x2B9715B7 ++ NextChapter 0x298195B7 ++ Esc 0x2BB715B7 ++ Eject 0x299395B7 ++ AppLauncher 0x29B715B7 ++ MultiMon 0x2AB195B7 ++ TaskSwitcher 0x2A9395B7 ++ Mute 0x2B9595B7 ++ Vol+ 0x28A395B7 ++ Vol- 0x28A595B7 ++ Ch+ 0x289395B7 ++ Ch- 0x288795B7 ++ Timer 0x2B8395B7 ++ 1 0x28B595B7 ++ 2 0x2BB195B7 ++ 3 0x28B195B7 ++ 4 0x2A8595B7 ++ 5 0x299595B7 ++ 6 0x2AA595B7 ++ 7 0x2B9395B7 ++ 8 0x2A8515B7 ++ 9 0x2AA115B7 ++ 0 0x2BA595B7 ++ ShiftTab 0x28B515B7 ++ Tab 0x29A115B7 ++ Red 0x2B8515B7 # MyMovie ++ Green 0x299195B7 # MyMusic ++ Blue 0x2BA115B7 # MyPhoto ++ Yellow 0x28A515B7 # MyTV ++ Bookmark 0x288515B7 ++ Thumbnail 0x2AB715B7 ++ AspectRatio 0x29A595B7 ++ FullScreen 0x2AA395B7 ++ Purple 0x29A295B7 # MyDVD ++ Menu 0x2BA385B7 ++ Caption 0x298595B7 ++ Language 0x2B8595B7 ++ MouseKeyboard 0x299115B7 ++ SelectSpace 0x2A9315B7 ++ MouseMenu 0x28B715B7 ++ MouseRightClick 0x688481B7 ++ Enter 0x28A195B7 ++ MouseLeftClick 0x688301B7 ++ WindowsKey 0x2B8195B7 ++ Backspace 0x28A115B7 ++ Mouse_N 0x690281B7 ++ Mouse_S 0x688291B7 ++ Mouse_W 0x6A8281B7 ++ Mouse_E 0x688A81B7 ++ end codes ++ ++end remote diff --git a/app-misc/lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff b/app-misc/lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff new file mode 100644 index 0000000000000000000000000000000000000000..7206d04823c6a261513f6e429be7010b3570247f --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff @@ -0,0 +1,110 @@ +#bug 200508 + +--- a/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.c 2007-09-27 15:47:20.000000000 -0400 ++++ b/lirc-0.8.3pre1/drivers/lirc_dev/lirc_dev.c 2007-11-27 11:06:41.000000000 -0500 +@@ -41,6 +41,7 @@ + #include + #include + #include ++#include + #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18) + #include + #include +@@ -86,8 +87,8 @@ + struct lirc_buffer *buf; + + int tpid; +- struct semaphore *t_notify; +- struct semaphore *t_notify2; ++ struct completion *t_notify; ++ struct completion *t_notify2; + int shutdown; + long jiffies_to_wait; + +@@ -193,7 +194,7 @@ + daemonize("lirc_dev"); + + if (ir->t_notify != NULL) +- up(ir->t_notify); ++ complete(ir->t_notify); + + dprintk(LOGHEAD "poll thread started\n", ir->p.name, ir->p.minor); + +@@ -218,11 +219,11 @@ + } while (!ir->shutdown); + + if (ir->t_notify2 != NULL) +- down(ir->t_notify2); ++ wait_for_completion(ir->t_notify2); + + ir->tpid = -1; + if (ir->t_notify != NULL) +- up(ir->t_notify); ++ complete(ir->t_notify); + + dprintk(LOGHEAD "poll thread ended\n", ir->p.name, ir->p.minor); + +@@ -238,7 +239,7 @@ + #ifdef LIRC_HAVE_DEVFS_24 + char name[16]; + #endif +- DECLARE_MUTEX_LOCKED(tn); ++ DECLARE_COMPLETION(tn); + + if (!p) { + printk(KERN_ERR "lirc_dev: lirc_register_plugin: " +@@ -389,7 +390,7 @@ + err = -ECHILD; + goto out_sysfs; + } +- down(&tn); ++ wait_for_completion(&tn); + ir->t_notify = NULL; + } + ir->attached = 1; +@@ -425,8 +426,8 @@ + int lirc_unregister_plugin(int minor) + { + struct irctl *ir; +- DECLARE_MUTEX_LOCKED(tn); +- DECLARE_MUTEX_LOCKED(tn2); ++ DECLARE_COMPLETION(tn); ++ DECLARE_COMPLETION(tn2); + + if (minor < 0 || minor >= MAX_IRCTL_DEVICES) { + printk(KERN_ERR "lirc_dev: lirc_unregister_plugin: " +@@ -462,8 +463,8 @@ + /* 2.2.x does not export wake_up_process() */ + wake_up_interruptible(ir->p.get_queue(ir->p.data)); + #endif +- up(&tn2); +- down(&tn); ++ complete(&tn2); ++ wait_for_completion(&tn); + ir->t_notify = NULL; + ir->t_notify2 = NULL; + } +diff -Naur lirc-0.8.3pre1.orig/drivers/lirc_serial/lirc_serial.c lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c +--- lirc-0.8.3pre1.orig/drivers/lirc_serial/lirc_serial.c 2007-12-27 01:27:36.143803257 +0100 ++++ lirc-0.8.3pre1/drivers/lirc_serial/lirc_serial.c 2007-12-27 01:29:38.149303268 +0100 +@@ -961,7 +961,7 @@ + do_gettimeofday(&lasttv); + + result = request_irq(irq, irq_handler, +- SA_INTERRUPT | (share_irq ? SA_SHIRQ:0), ++ IRQF_DISABLED | (share_irq ? IRQF_SHARED:0), + LIRC_DRIVER_NAME, (void *)&hardware); + + switch (result) { +diff -Naur lirc-0.8.3pre1.orig/drivers/lirc_sir/lirc_sir.c lirc-0.8.3pre1/drivers/lirc_sir/lirc_sir.c +--- lirc-0.8.3pre1.orig/drivers/lirc_sir/lirc_sir.c 2007-12-28 15:11:48.142285437 +0100 ++++ lirc-0.8.3pre1/drivers/lirc_sir/lirc_sir.c 2007-12-28 15:13:05.561290741 +0100 +@@ -1025,7 +1025,7 @@ + return -EBUSY; + } + #endif +- retval = request_irq(irq, sir_interrupt, SA_INTERRUPT, ++ retval = request_irq(irq, sir_interrupt, IRQF_DISABLED, + LIRC_DRIVER_NAME, NULL); + if (retval < 0) { + # ifndef LIRC_ON_SA1100 diff --git a/app-misc/lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch b/app-misc/lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch new file mode 100644 index 0000000000000000000000000000000000000000..66527bcc57098c8b58a07bf41613461cfe9e4f00 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch @@ -0,0 +1,26 @@ +--- lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c.orig 2005-10-29 08:18:53.000000000 -0600 ++++ lirc-0.8.0/drivers/lirc_atiusb/lirc_atiusb.c 2006-04-01 14:31:05.000000000 -0700 +@@ -147,8 +147,9 @@ + /* init strings */ + #define USB_OUTLEN 7 + +-static char init1[] = {0x01, 0x00, 0x20, 0x14}; +-static char init2[] = {0x01, 0x00, 0x20, 0x14, 0x20, 0x20, 0x20}; ++static char init1[] = {0x80, 0x05, 0x1b, 0x15, 0x14, 0x20, 0x24, 0x15}; ++static char init2[] = {0x83, 0x03}; ++static char init3[] = {0x84, 0xd7, 0x020}; + + struct in_endpt { + /* inner link in list of endpoints for the remote specified by ir */ +@@ -1034,8 +1034,9 @@ + usb_sndintpipe(ir->usbdev, oep->ep->bEndpointAddress), oep->buf, + USB_OUTLEN, usb_remote_send, oep, oep->ep->bInterval); + +- send_packet(oep, 0x8004, init1); +- send_packet(oep, 0x8007, init2); ++ send_packet(oep, 0x8007, init1); ++ send_packet(oep, 0x8002, init2); ++ send_packet(oep, 0x8003, init3); + } + } + diff --git a/app-misc/lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch b/app-misc/lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch new file mode 100644 index 0000000000000000000000000000000000000000..828c4eeb8d9e9bb573b59aa4d9afef730420e9ff --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch @@ -0,0 +1,291 @@ +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:15:54.281654857 +0200 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:16:51.381649620 +0200 +@@ -73,9 +73,9 @@ + + + #define MOD_AUTHOR "Venky Raju " +-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" ++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" + #define MOD_NAME "lirc_imon" +-#define MOD_VERSION "0.3" ++#define MOD_VERSION "0.3p2k" + + #define VFD_MINOR_BASE 144 /* Same as LCD */ + #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ +@@ -91,6 +91,7 @@ + #define TRUE 1 + #define FALSE 0 + ++#define CURSOR_LIMIT 16 + + /* ------------------------------------------------------------ + * P R O T O T Y P E S +@@ -177,6 +178,10 @@ + atomic_t busy; /* write in progress */ + int status; /* status of tx completion */ + } tx; ++ ++ int key_x; ++ int key_y; ++ int last_count; /* number of times pressed */ + }; + + #define LOCK_CONTEXT down(&context->sem) +@@ -248,6 +253,9 @@ + static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */ + #endif + ++/* pad2keys module parameter. pad2keys patch active? */ ++static int pad2keys_active = 0; ++ + #if !defined(KERNEL_2_5) + + #define MAX_DEVICES 4 /* In case there's more than one iMON device */ +@@ -271,6 +279,7 @@ + + MODULE_AUTHOR(MOD_AUTHOR); + MODULE_DESCRIPTION(MOD_DESC); ++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ + MODULE_LICENSE("GPL"); + MODULE_DEVICE_TABLE(usb, imon_usb_id_table); + +@@ -287,6 +296,9 @@ + "1=yes (default:no)"); + #endif + ++module_param (pad2keys_active, int, 0); ++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ + static inline void delete_context(struct imon_context *context) + { + if (context->vfd_supported) +@@ -766,6 +778,11 @@ + context->rx.initial_space = 1; + context->rx.prev_bit = 0; + ++ /* init pad context for pad2keys */ ++ context ->key_x = 0; ++ context ->key_y = 0; ++ context ->last_count = 0; ++ + usb_fill_int_urb(context->rx_urb, context->dev, + usb_rcvintpipe(context->dev, + context->rx_endpoint->bEndpointAddress), +@@ -915,6 +932,94 @@ + + if (context->ir_onboard_decode) { + /* The signals have been decoded onboard the iMON controller */ ++ ++ if (pad2keys_active) ++ { ++ /* imon pad2keys patch ++ * ++ * make PAD and mouse buttons available for use with VDR, ++ * based on pad-mouse-emu patch from venky's forum ++ * ++ * last change: M.Brakemeier 2007-10-14 ++ * ++ * generated PAD key codes: ++ * Mouse_N 0x690281B7 ++ * Mouse_S 0x688291B7 ++ * Mouse_W 0x6A8281B7 ++ * Mouse_E 0x688A81B7 ++ * ++ * mouse buttons (non-synthetic): ++ * MouseRightClick 0x688481B7 ++ * MouseLeftClick 0x688301B7 ++ */ ++ if((buf[0] & 0x40) && ++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) ++ { ++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; ++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; ++ ++ if(buf[0] & 0x02) ++ rel_x |= ~0x10+1; ++ if(buf[0] & 0x01) ++ rel_y |= ~0x10+1; ++ ++ /* keyboard direction key emulation */ ++ if( context->last_count > 32 ) ++ { /* Hopefully eliminate drift*/ ++ context->last_count=0; ++ context->key_y=0; ++ context->key_x=0; ++ } ++ context->last_count++; ++ ++ /* limit decoded events */ ++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) ++ { ++ if(abs(context->key_y ) > abs(context->key_x)) ++ { /* mouse s/n */ ++ if(context->key_y > 0 && rel_y > 0) ++ { /* mouse s */ ++ buf[0] = 0x68; ++ buf[1] = 0x82; ++ buf[2] = 0x91; ++ } ++ else if(context->key_y < 0 && rel_y < 0) ++ { /* mouse n */ ++ buf[0] = 0x69; ++ buf[1] = 0x02; ++ buf[2] = 0x81; ++ } ++ } ++ else ++ { /* mouse e/w*/ ++ if(context->key_x > 0 && rel_x > 0 ) ++ { /* mouse e */ ++ buf[0] = 0x68; ++ buf[1] = 0x8A; ++ buf[2] = 0x81; ++ } ++ else if(context->key_x < 0 && rel_x < 0 ) ++ { /* mouse w */ ++ buf[0] = 0x6A; ++ buf[1] = 0x82; ++ buf[2] = 0x81; ++ } ++ } ++ } ++ else ++ { ++ context->key_x += rel_x; ++ context->key_y += rel_y; ++ ++ return; /* discard those key codes */ ++ } ++ } ++ /* a key was pressed, reset count */ ++ context->key_x = 0; ++ context->key_y = 0; ++ context->last_count = 0; ++ } ++ + lirc_buffer_write_1(context->plugin->rbuf, buf); + wake_up(&context->plugin->rbuf->wait_poll); + return; +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,26 @@ ++*************** ++*** 271,280 **** ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { ++--- 279,291 ---- ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); +++ MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); +++ module_param (pad2keys_active, int, 0); +++ MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { +diff -ruN lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys +--- lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,88 @@ ++# Please make this file available to others ++# by sending it to ++# ++# this config file was generated ++# using lirc-0.8.3pre1 (imon w/pad2keys patch) ++# ++# contributed by M.Brakemeier ++# ++# brand: SoundGraph ++# model no. of remote control: iMON-PAD ++# devices being controlled by this remote: ++# ++ ++begin remote ++ ++ name iMON-PAD ++ bits 32 ++ eps 30 ++ aeps 100 ++ ++ one 0 0 ++ zero 0 0 ++ gap 235965 ++ min_repeat 1 ++ toggle_bit 0 ++ ++ begin codes ++ AppExit 0x288195B7 ++ Power 0x289115B7 ++ Record 0x298115B7 ++ Play 0x2A8115B7 ++ Open 0x29B1D5B7 ++ Rewind 0x2A8195B7 ++ Pause 0x2A9115B7 ++ FastForward 0x2B8115B7 ++ PrevChapter 0x2B9115B7 ++ Stop 0x2B9715B7 ++ NextChapter 0x298195B7 ++ Esc 0x2BB715B7 ++ Eject 0x299395B7 ++ AppLauncher 0x29B715B7 ++ MultiMon 0x2AB195B7 ++ TaskSwitcher 0x2A9395B7 ++ Mute 0x2B9595B7 ++ Vol+ 0x28A395B7 ++ Vol- 0x28A595B7 ++ Ch+ 0x289395B7 ++ Ch- 0x288795B7 ++ Timer 0x2B8395B7 ++ 1 0x28B595B7 ++ 2 0x2BB195B7 ++ 3 0x28B195B7 ++ 4 0x2A8595B7 ++ 5 0x299595B7 ++ 6 0x2AA595B7 ++ 7 0x2B9395B7 ++ 8 0x2A8515B7 ++ 9 0x2AA115B7 ++ 0 0x2BA595B7 ++ ShiftTab 0x28B515B7 ++ Tab 0x29A115B7 ++ Red 0x2B8515B7 # MyMovie ++ Green 0x299195B7 # MyMusic ++ Blue 0x2BA115B7 # MyPhoto ++ Yellow 0x28A515B7 # MyTV ++ Bookmark 0x288515B7 ++ Thumbnail 0x2AB715B7 ++ AspectRatio 0x29A595B7 ++ FullScreen 0x2AA395B7 ++ Purple 0x29A295B7 # MyDVD ++ Menu 0x2BA385B7 ++ Caption 0x298595B7 ++ Language 0x2B8595B7 ++ MouseKeyboard 0x299115B7 ++ SelectSpace 0x2A9315B7 ++ MouseMenu 0x28B715B7 ++ MouseRightClick 0x688481B7 ++ Enter 0x28A195B7 ++ MouseLeftClick 0x688301B7 ++ WindowsKey 0x2B8195B7 ++ Backspace 0x28A115B7 ++ Mouse_N 0x690281B7 ++ Mouse_S 0x688291B7 ++ Mouse_W 0x6A8281B7 ++ Mouse_E 0x688A81B7 ++ end codes ++ ++end remote diff --git a/app-misc/lirc/files/lirc-0.8.4-imon-pad2keys.patch b/app-misc/lirc/files/lirc-0.8.4-imon-pad2keys.patch new file mode 100644 index 0000000000000000000000000000000000000000..578489db446f86f07095979e73fa247460ca9ec1 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.4-imon-pad2keys.patch @@ -0,0 +1,291 @@ +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:15:54.281654857 +0200 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c 2008-04-28 22:16:51.381649620 +0200 +@@ -73,9 +73,9 @@ + + + #define MOD_AUTHOR "Venky Raju " +-#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD" ++#define MOD_DESC "Driver for Soundgraph iMON MultiMedia IR/VFD w/imon pad2keys patch" + #define MOD_NAME "lirc_imon" +-#define MOD_VERSION "0.3" ++#define MOD_VERSION "0.3p2k" + + #define VFD_MINOR_BASE 144 /* Same as LCD */ + #define DEVFS_MODE (S_IFCHR | S_IRUSR | S_IWUSR | \ +@@ -91,6 +91,7 @@ + #define TRUE 1 + #define FALSE 0 + ++#define CURSOR_LIMIT 16 + + /* ------------------------------------------------------------ + * P R O T O T Y P E S +@@ -177,6 +178,10 @@ + atomic_t busy; /* write in progress */ + int status; /* status of tx completion */ + } tx; ++ ++ int key_x; ++ int key_y; ++ int last_count; /* number of times pressed */ + }; + + #define LOCK_CONTEXT down(&context->sem) +@@ -248,6 +253,9 @@ + static int is_lcd; /* If LIRC_IMON_LCD not defined, default to non-LCD */ + #endif + ++/* pad2keys module parameter. pad2keys patch active? */ ++static int pad2keys_active = 0; ++ + #if !defined(KERNEL_2_5) + + #define MAX_DEVICES 4 /* In case there's more than one iMON device */ +@@ -271,6 +279,7 @@ + + MODULE_AUTHOR(MOD_AUTHOR); + MODULE_DESCRIPTION(MOD_DESC); ++MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ + MODULE_LICENSE("GPL"); + MODULE_DEVICE_TABLE(usb, imon_usb_id_table); + +@@ -287,6 +296,9 @@ + "1=yes (default:no)"); + #endif + ++module_param (pad2keys_active, int, 0); ++MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ + static inline void delete_context(struct imon_context *context) + { + if (context->vfd_supported) +@@ -766,6 +778,11 @@ + context->rx.initial_space = 1; + context->rx.prev_bit = 0; + ++ /* init pad context for pad2keys */ ++ context ->key_x = 0; ++ context ->key_y = 0; ++ context ->last_count = 0; ++ + usb_fill_int_urb(context->rx_urb, context->dev, + usb_rcvintpipe(context->dev, + context->rx_endpoint->bEndpointAddress), +@@ -915,6 +932,94 @@ + + if (context->ir_onboard_decode) { + /* The signals have been decoded onboard the iMON controller */ ++ ++ if (pad2keys_active) ++ { ++ /* imon pad2keys patch ++ * ++ * make PAD and mouse buttons available for use with VDR, ++ * based on pad-mouse-emu patch from venky's forum ++ * ++ * last change: M.Brakemeier 2007-10-14 ++ * ++ * generated PAD key codes: ++ * Mouse_N 0x690281B7 ++ * Mouse_S 0x688291B7 ++ * Mouse_W 0x6A8281B7 ++ * Mouse_E 0x688A81B7 ++ * ++ * mouse buttons (non-synthetic): ++ * MouseRightClick 0x688481B7 ++ * MouseLeftClick 0x688301B7 ++ */ ++ if((buf[0] & 0x40) && ++ !(buf[1] & 0x01 || buf[1] >> 2 & 0x01)) ++ { ++ int rel_x = (buf[1] & 0x08) | (buf[1] & 0x10) >> 2 | (buf[1] & 0x20) >> 4 | (buf[1] & 0x40) >> 6; ++ int rel_y = (buf[2] & 0x08) | (buf[2] & 0x10) >> 2 | (buf[2] & 0x20) >> 4 | (buf[2] & 0x40) >> 6; ++ ++ if(buf[0] & 0x02) ++ rel_x |= ~0x10+1; ++ if(buf[0] & 0x01) ++ rel_y |= ~0x10+1; ++ ++ /* keyboard direction key emulation */ ++ if( context->last_count > 32 ) ++ { /* Hopefully eliminate drift*/ ++ context->last_count=0; ++ context->key_y=0; ++ context->key_x=0; ++ } ++ context->last_count++; ++ ++ /* limit decoded events */ ++ if(abs(context->key_x) > CURSOR_LIMIT || abs(context->key_y) > CURSOR_LIMIT ) ++ { ++ if(abs(context->key_y ) > abs(context->key_x)) ++ { /* mouse s/n */ ++ if(context->key_y > 0 && rel_y > 0) ++ { /* mouse s */ ++ buf[0] = 0x68; ++ buf[1] = 0x82; ++ buf[2] = 0x91; ++ } ++ else if(context->key_y < 0 && rel_y < 0) ++ { /* mouse n */ ++ buf[0] = 0x69; ++ buf[1] = 0x02; ++ buf[2] = 0x81; ++ } ++ } ++ else ++ { /* mouse e/w*/ ++ if(context->key_x > 0 && rel_x > 0 ) ++ { /* mouse e */ ++ buf[0] = 0x68; ++ buf[1] = 0x8A; ++ buf[2] = 0x81; ++ } ++ else if(context->key_x < 0 && rel_x < 0 ) ++ { /* mouse w */ ++ buf[0] = 0x6A; ++ buf[1] = 0x82; ++ buf[2] = 0x81; ++ } ++ } ++ } ++ else ++ { ++ context->key_x += rel_x; ++ context->key_y += rel_y; ++ ++ return; /* discard those key codes */ ++ } ++ } ++ /* a key was pressed, reset count */ ++ context->key_x = 0; ++ context->key_y = 0; ++ context->last_count = 0; ++ } ++ + lirc_buffer_write_1(context->plugin->rbuf, buf); + wake_up(&context->plugin->rbuf->wait_poll); + return; +diff -ruN lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej +--- lirc-0.8.3pre3-orig/drivers/lirc_imon/lirc_imon.c.rej 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/drivers/lirc_imon/lirc_imon.c.rej 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,26 @@ ++*************** ++*** 271,280 **** ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { ++--- 279,291 ---- ++ ++ MODULE_AUTHOR(MOD_AUTHOR); ++ MODULE_DESCRIPTION(MOD_DESC); +++ MODULE_VERSION(MOD_VERSION); /* MBr: was missing */ ++ MODULE_LICENSE("GPL"); ++ MODULE_DEVICE_TABLE(usb, imon_usb_id_table); ++ module_param(debug, int, 0); ++ MODULE_PARM_DESC(debug, "Debug messages: 0=no, 1=yes(default: no)"); +++ module_param (pad2keys_active, int, 0); +++ MODULE_PARM_DESC (pad2keys_active, "pad2keys patch active: 0=no, 1=yes (default: no)"); ++ ++ static inline void delete_context(struct imon_context *context) ++ { +diff -ruN lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys +--- lirc-0.8.3pre3-orig/remotes/imon/lircd.conf.imon-pad2keys 1970-01-01 01:00:00.000000000 +0100 ++++ lirc-0.8.3pre3/remotes/imon/lircd.conf.imon-pad2keys 2008-04-28 22:16:02.941653915 +0200 +@@ -0,0 +1,88 @@ ++# Please make this file available to others ++# by sending it to ++# ++# this config file was generated ++# using lirc-0.8.3pre1 (imon w/pad2keys patch) ++# ++# contributed by M.Brakemeier ++# ++# brand: SoundGraph ++# model no. of remote control: iMON-PAD ++# devices being controlled by this remote: ++# ++ ++begin remote ++ ++ name iMON-PAD ++ bits 32 ++ eps 30 ++ aeps 100 ++ ++ one 0 0 ++ zero 0 0 ++ gap 235965 ++ min_repeat 1 ++ toggle_bit 0 ++ ++ begin codes ++ AppExit 0x288195B7 ++ Power 0x289115B7 ++ Record 0x298115B7 ++ Play 0x2A8115B7 ++ Open 0x29B1D5B7 ++ Rewind 0x2A8195B7 ++ Pause 0x2A9115B7 ++ FastForward 0x2B8115B7 ++ PrevChapter 0x2B9115B7 ++ Stop 0x2B9715B7 ++ NextChapter 0x298195B7 ++ Esc 0x2BB715B7 ++ Eject 0x299395B7 ++ AppLauncher 0x29B715B7 ++ MultiMon 0x2AB195B7 ++ TaskSwitcher 0x2A9395B7 ++ Mute 0x2B9595B7 ++ Vol+ 0x28A395B7 ++ Vol- 0x28A595B7 ++ Ch+ 0x289395B7 ++ Ch- 0x288795B7 ++ Timer 0x2B8395B7 ++ 1 0x28B595B7 ++ 2 0x2BB195B7 ++ 3 0x28B195B7 ++ 4 0x2A8595B7 ++ 5 0x299595B7 ++ 6 0x2AA595B7 ++ 7 0x2B9395B7 ++ 8 0x2A8515B7 ++ 9 0x2AA115B7 ++ 0 0x2BA595B7 ++ ShiftTab 0x28B515B7 ++ Tab 0x29A115B7 ++ Red 0x2B8515B7 # MyMovie ++ Green 0x299195B7 # MyMusic ++ Blue 0x2BA115B7 # MyPhoto ++ Yellow 0x28A515B7 # MyTV ++ Bookmark 0x288515B7 ++ Thumbnail 0x2AB715B7 ++ AspectRatio 0x29A595B7 ++ FullScreen 0x2AA395B7 ++ Purple 0x29A395B7 # MyDVD ++ Menu 0x2BA395B7 ++ Caption 0x298595B7 ++ Language 0x2B8595B7 ++ MouseKeyboard 0x299115B7 ++ SelectSpace 0x2A9315B7 ++ MouseMenu 0x28B715B7 ++ MouseRightClick 0x688481B7 ++ Enter 0x28A195B7 ++ MouseLeftClick 0x688301B7 ++ WindowsKey 0x2B8195B7 ++ Backspace 0x28A115B7 ++ Mouse_N 0x690281B7 ++ Mouse_S 0x688291B7 ++ Mouse_W 0x6A8281B7 ++ Mouse_E 0x688A81B7 ++ end codes ++ ++end remote diff --git a/app-misc/lirc/files/lirc-0.8.4-kernel-2.6.29.patch b/app-misc/lirc/files/lirc-0.8.4-kernel-2.6.29.patch new file mode 100644 index 0000000000000000000000000000000000000000..4db62fca694bff8445e7457ec8d86d5c30dcc059 --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.4-kernel-2.6.29.patch @@ -0,0 +1,74 @@ +diff -uprN lirc-0.8.4/drivers/lirc_cmdir/commandir.c lirc-0.8.4-patched/drivers/lirc_cmdir/commandir.c +--- lirc-0.8.4/drivers/lirc_cmdir/commandir.c 2008-05-17 01:02:13.000000000 +0300 ++++ lirc-0.8.4-patched/drivers/lirc_cmdir/commandir.c 2009-05-12 07:42:07.000000000 +0300 +@@ -42,6 +42,14 @@ + #include + #endif + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#endif + + #define DRIVER_VERSION "v1.1.2" + #define DRIVER_AUTHOR "Evelyn Yeung, InnovationOne" +diff -uprN lirc-0.8.4/drivers/lirc_imon/lirc_imon.c lirc-0.8.4-patched/drivers/lirc_imon/lirc_imon.c +--- lirc-0.8.4/drivers/lirc_imon/lirc_imon.c 2008-08-23 00:38:17.000000000 +0300 ++++ lirc-0.8.4-patched/drivers/lirc_imon/lirc_imon.c 2009-05-12 07:42:27.000000000 +0300 +@@ -65,6 +65,15 @@ + #else + #include + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#endif ++ + #include + + #include "drivers/kcompat.h" +diff -uprN lirc-0.8.4/drivers/lirc_mceusb/lirc_mceusb.c lirc-0.8.4-patched/drivers/lirc_mceusb/lirc_mceusb.c +--- lirc-0.8.4/drivers/lirc_mceusb/lirc_mceusb.c 2008-05-17 01:02:13.000000000 +0300 ++++ lirc-0.8.4-patched/drivers/lirc_mceusb/lirc_mceusb.c 2009-05-12 07:44:59.000000000 +0300 +@@ -111,6 +111,14 @@ + #include + #include + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#endif + + #ifdef CONFIG_USB_DEBUG + static int debug = 1; +diff -uprN lirc-0.8.4/drivers/lirc_sasem/lirc_sasem.c lirc-0.8.4-patched/drivers/lirc_sasem/lirc_sasem.c +--- lirc-0.8.4/drivers/lirc_sasem/lirc_sasem.c 2008-05-17 01:02:13.000000000 +0300 ++++ lirc-0.8.4-patched/drivers/lirc_sasem/lirc_sasem.c 2009-05-12 07:43:21.000000000 +0300 +@@ -72,6 +72,15 @@ + #else + #include + #endif ++#if LINUX_VERSION_CODE >= KERNEL_VERSION(2, 6, 29) ++#define err(format, arg...) printk(KERN_ERR KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define info(format, arg...) printk(KERN_INFO KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#define warn(format, arg...) printk(KERN_WARNING KBUILD_MODNAME ": " \ ++ format "\n" , ## arg) ++#endif ++ + #include + + #include "drivers/kcompat.h" diff --git a/app-misc/lirc/files/lirc-0.8.4-portaudio_check.patch b/app-misc/lirc/files/lirc-0.8.4-portaudio_check.patch new file mode 100644 index 0000000000000000000000000000000000000000..36f5f360cd18cc64a9da6b5b206a66e4fe75966c --- /dev/null +++ b/app-misc/lirc/files/lirc-0.8.4-portaudio_check.patch @@ -0,0 +1,18 @@ +Portaudio is only needed for LIRC_DEVICES=audio, so not checking for Portaudio when the device is disabled will prevent automagic dependencies. +--- configure.ac.orig 2009-03-13 10:02:50.000000000 +0100 ++++ configure.ac 2009-03-13 10:04:00.000000000 +0100 +@@ -336,14 +336,6 @@ + AC_DEFINE(HAVE_LIBIRMAN_SW) + possible_drivers="${possible_drivers} (irman_sw)" + ) +-dnl audio driver requires PortAudio library installed and some linker flags +-AC_CHECK_HEADERS(portaudio.h,[ +- AC_CHECK_LIB(portaudio, Pa_Initialize,[ +- AC_DEFINE(HAVE_LIBPORTAUDIO) +- possible_drivers="${possible_drivers} (audio)" +- ],,${portaudio_lib_other} +- )] +-) + dnl audio_alsa driver requires ALSA library installed and some linker flags + have_alsa=no + AC_CHECK_HEADERS(alsa/asoundlib.h,[ diff --git a/app-misc/lirc/files/lircd b/app-misc/lirc/files/lircd new file mode 100755 index 0000000000000000000000000000000000000000..370b61abdfafbbbd4207410c435425cd658bff87 --- /dev/null +++ b/app-misc/lirc/files/lircd @@ -0,0 +1,16 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircd,v 1.6 2004/09/26 21:27:07 lanius Exp $ + +start() { + ebegin "Starting lircd" + start-stop-daemon --start --quiet --exec /usr/sbin/lircd -- ${LIRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping lircd" + start-stop-daemon --stop --quiet --exec /usr/sbin/lircd + eend $? +} diff --git a/app-misc/lirc/files/lircd-0.8.3 b/app-misc/lirc/files/lircd-0.8.3 new file mode 100644 index 0000000000000000000000000000000000000000..8cd7a0a7e77c9202e8102194643969d8501d1da8 --- /dev/null +++ b/app-misc/lirc/files/lircd-0.8.3 @@ -0,0 +1,23 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircd-0.8.3,v 1.1 2008/05/05 09:53:19 zzam Exp $ + +PIDFILE=/var/run/${SVCNAME}.pid + +depend() { + provide lirc +} + +start() { + ebegin "Starting lircd" + start-stop-daemon --start --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd -- \ + -P "${PIDFILE}" ${LIRCD_OPTS} + eend $? +} + +stop() { + ebegin "Stopping lircd" + start-stop-daemon --stop --quiet --pidfile "${PIDFILE}" --exec /usr/sbin/lircd + eend $? +} diff --git a/app-misc/lirc/files/lircd.conf.2 b/app-misc/lirc/files/lircd.conf.2 new file mode 100644 index 0000000000000000000000000000000000000000..191db37c8d93132c3695dab4dab3c41310aae7fd --- /dev/null +++ b/app-misc/lirc/files/lircd.conf.2 @@ -0,0 +1,10 @@ +# Options to pass to the lircd process + +# for devices with lirc-kernel-module +#LIRCD_OPTS="-d /dev/lirc0" +#LIRCD_OPTS="-d /dev/lirc" + +# for devices using the input-layer +#LIRCD_OPTS="-H devinput -d /dev/input/by-path/pci-0000:00:0a.0--event-ir" +# This should work, Bug #235107 +#LIRCD_OPTS="-H devinput name=*DVB*" diff --git a/app-misc/lirc/files/lircmd b/app-misc/lirc/files/lircmd new file mode 100755 index 0000000000000000000000000000000000000000..d3837781f756891c49072eb8f33ffb3725d782d2 --- /dev/null +++ b/app-misc/lirc/files/lircmd @@ -0,0 +1,20 @@ +#!/sbin/runscript +# Copyright 1999-2004 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/files/lircmd,v 1.2 2004/09/28 00:22:15 swegener Exp $ + +depend() { + need lircd +} + +start() { + ebegin "Starting lircmd" + start-stop-daemon --start --quiet --exec /usr/sbin/lircmd + eend $? +} + +stop() { + ebegin "Stopping lircmd" + start-stop-daemon --stop --quiet --exec /usr/sbin/lircmd + eend $? +} diff --git a/app-misc/lirc/files/modprobed.lirc b/app-misc/lirc/files/modprobed.lirc new file mode 100644 index 0000000000000000000000000000000000000000..2ed95589b66ddeaaa1458749c8179bea89c8699e --- /dev/null +++ b/app-misc/lirc/files/modprobed.lirc @@ -0,0 +1,22 @@ +# +# For first serial receivers: +# +#options lirc_serial irq=4 io=0x3f8 +#options lirc_sir irq=4 io=0x3f8 + +# +# Detach first serial port from serial-driver. +# Use this when you have your serial-port-driver statically +# compiled into your kernel, or as a module but loaded before +# the lirc-module. +# +#install lirc_serial setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_serial +# +#install lirc_sir setserial /dev/ttyS0 uart none; modprobe --ignore-install lirc_sir + + +# +# For parallel receivers: +# +#options lirc_parallel irq=7 io=0x3bc + diff --git a/app-misc/lirc/files/modulesd.lirc b/app-misc/lirc/files/modulesd.lirc new file mode 100644 index 0000000000000000000000000000000000000000..d1838c53cc00528e675383e80711d3d18d31d233 --- /dev/null +++ b/app-misc/lirc/files/modulesd.lirc @@ -0,0 +1,22 @@ +# +# For first serial receivers: +# +#options lirc_serial irq=4 io=0x3f8 +#options lirc_sir irq=4 io=0x3f8 + +# +# Detach first serial port from serial-driver. +# Use this when you have your serial-port-driver statically +# compiled into your kernel, or as a module but loaded before +# the lirc-module. +# +#pre-install lirc_serial setserial /dev/ttyS0 uart none +# +#pre-install lirc_sir setserial /dev/ttyS0 uart none + + +# +# For parallel receivers: +# +#options lirc_parallel irq=7 io=0x3bc + diff --git a/app-misc/lirc/files/xbox-lircd.conf b/app-misc/lirc/files/xbox-lircd.conf new file mode 100755 index 0000000000000000000000000000000000000000..d16e9931034ecd7ffe8853b8595e5a675ce2950c --- /dev/null +++ b/app-misc/lirc/files/xbox-lircd.conf @@ -0,0 +1,55 @@ +# +# LIRCD configuration file for Xbox DVD Kit +# +# Marko Friedemann +# +# +# brand: Microsoft +# model: Xbox DVD Remote +# supported devices: Xbox DVD Remote via xpad-ir driver +# +# comment: EXPERIMENTAL +# + +begin remote + + name XboxDVDDongle + bits 8 + + begin codes + + SELECT 0x0b + UP 0xa6 + DOWN 0xa7 + RIGHT 0xa8 + LEFT 0xa9 + INFO 0xc3 + + 9 0xc6 + 8 0xc7 + 7 0xc8 + 6 0xc9 + 5 0xca + 4 0xcb + 3 0xcc + 2 0xcd + 1 0xce + 0 0xcf + + DISPLAY 0xd5 + BACK 0xd8 + SKIP+ 0xdd + SKIP- 0xdf + STOP 0xe0 + REVERSE 0xe2 + FORWARD 0xe3 + TITLE 0xe5 + PAUSE 0xe6 + PLAY 0xea + MENU 0xf7 + + end codes + +end remote + + diff --git a/app-misc/lirc/lirc-0.8.4-r1.ebuild b/app-misc/lirc/lirc-0.8.4-r1.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..79c91da8308a61b57707c57a2e2312a29bae927e --- /dev/null +++ b/app-misc/lirc/lirc-0.8.4-r1.ebuild @@ -0,0 +1,331 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/app-misc/lirc/lirc-0.8.4.ebuild,v 1.6 2009/03/18 07:18:10 josejx Exp $ + +inherit eutils linux-mod flag-o-matic autotools + +DESCRIPTION="decode and send infra-red signals of many commonly used remote controls" +HOMEPAGE="http://www.lirc.org/" + +MY_P=${PN}-${PV/_/} + +if [[ "${PV/_pre/}" = "${PV}" ]]; then + SRC_URI="mirror://sourceforge/lirc/${MY_P}.tar.bz2" +else + SRC_URI="http://lirc.sourceforge.net/software/snapshots/${MY_P}.tar.bz2" +fi + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="amd64 ppc ~ppc64 x86" +IUSE="debug doc X hardware-carrier transmitter" + +S="${WORKDIR}/${MY_P}" + +RDEPEND=" + X? ( + x11-libs/libX11 + x11-libs/libSM + x11-libs/libICE + ) + lirc_devices_alsa_usb? ( media-libs/alsa-lib ) + lirc_devices_audio? ( media-libs/portaudio ) + lirc_devices_irman? ( media-libs/libirman )" + +# This are drivers with names matching the +# parameter --with-driver=NAME +IUSE_LIRC_DEVICES_DIRECT=" + all userspace accent act200l act220l + adaptec alsa_usb animax asusdh atilibusb + atiusb audio audio_alsa avermedia avermedia_vdomate + avermedia98 bestbuy bestbuy2 breakoutbox + bte bw6130 caraca chronos cmdir + cph06x creative creative_infracd + devinput digimatrix dsp dvico ea65 + exaudio flyvideo gvbctv5pci hauppauge + hauppauge_dvb hercules_smarttv_stereo + igorplugusb imon imon_24g imon_knob imon_lcd imon_pad imon_rsc + irdeo irdeo_remote irman irreal it87 + knc_one kworld leadtek_0007 leadtek_0010 + leadtek_pvr2000 livedrive_midi + livedrive_seq logitech macmini mceusb + mceusb2 mediafocusI mouseremote + mouseremote_ps2 mp3anywhere nslu2 + packard_bell parallel pcmak pcmak_usb + pctv pixelview_bt878 pixelview_pak + pixelview_pro provideo realmagic + remotemaster sa1100 sasem sb0540 serial + silitek sir slinke streamzap tekram + tekram_bt829 tira ttusbir tuxbox tvbox udp uirt2 + uirt2_raw usb_uirt_raw usbx + irlink commandir ite8709 samsung" + +# drivers that need special handling and +# must have another name specified for +# parameter --with-driver=NAME +IUSE_LIRC_DEVICES_SPECIAL=" + imon_pad2keys serial_igor_cesko + remote_wonder_plus xboxusb usbirboy inputlirc" + +IUSE_LIRC_DEVICES="${IUSE_LIRC_DEVICES_DIRECT} ${IUSE_LIRC_DEVICES_SPECIAL}" + +#device-driver which use libusb +LIBUSB_USED_BY_DEV=" + all atilibusb sasem igorplugusb imon imon_lcd imon_pad imon_pad2keys + imon_rsc streamzap mceusb mceusb2 xboxusb irlink commandir" + +for dev in ${LIBUSB_USED_BY_DEV}; do + RDEPEND="${RDEPEND} lirc_devices_${dev}? ( dev-libs/libusb )" +done + +# adding only compile-time depends +DEPEND="${RDEPEND} + virtual/linux-sources" + +# adding only run-time depends +RDEPEND="${RDEPEND} + lirc_devices_usbirboy? ( app-misc/usbirboy ) + lirc_devices_inputlirc? ( app-misc/inputlircd )" + +# add all devices to IUSE +for dev in ${IUSE_LIRC_DEVICES}; do + IUSE="${IUSE} lirc_devices_${dev}" +done + +add_device() { + : ${lirc_device_count:=0} + ((lirc_device_count++)) + + if [[ ${lirc_device_count} -eq 2 ]]; then + ewarn + ewarn "When selecting multiple devices for lirc to be supported," + ewarn "it can not be garanteed that the drivers play nice together." + ewarn + ewarn "If this is not intended, then abort emerge now with Ctrl-C," + ewarn "Set LIRC_DEVICES and restart emerge." + ewarn + epause + fi + + local dev="${1}" + local desc="device ${dev}" + if [[ -n "${2}" ]]; then + desc="${2}" + fi + + elog "Compiling support for ${desc}" + MY_OPTS="${MY_OPTS} --with-driver=${dev}" +} + +pkg_setup() { + + ewarn "If your LIRC device requires modules, you'll need MODULE_UNLOAD" + ewarn "support in your kernel." + + linux-mod_pkg_setup + + # set default configure options + MY_OPTS="" + LIRC_DRIVER_DEVICE="/dev/lirc0" + + if use lirc_devices_all; then + # compile in drivers for a lot of devices + add_device all "a lot of devices" + else + # compile in only requested drivers + local dev + for dev in ${IUSE_LIRC_DEVICES_DIRECT}; do + if use lirc_devices_${dev}; then + add_device ${dev} + fi + done + + if use lirc_devices_remote_wonder_plus; then + add_device atiusb "device Remote Wonder Plus (atiusb-based)" + fi + + if use lirc_devices_serial_igor_cesko; then + add_device serial "serial with Igor Cesko design" + MY_OPTS="${MY_OPTS} --with-igor" + fi + + if use lirc_devices_imon_pad2keys; then + add_device imon_pad "device imon_pad (with converting pad input to keyspresses)" + ewarn "You need to set the option pad2keys_active=1" + ewarn "when loading the module lirc_imon" + fi + + if use lirc_devices_xboxusb; then + add_device atiusb "device xboxusb" + fi + + if use lirc_devices_usbirboy; then + add_device userspace "device usbirboy" + LIRC_DRIVER_DEVICE="/dev/usbirboy" + fi + + if [[ "${MY_OPTS}" == "" ]]; then + if [[ "${PROFILE_ARCH}" == "xbox" ]]; then + # on xbox: use special driver + add_device atiusb "device xboxusb" + else + # no driver requested + elog + elog "Compiling only the lirc-applications, but no drivers." + elog "Enable drivers with LIRC_DEVICES if you need them." + MY_OPTS="--with-driver=userspace" + fi + fi + fi + + use hardware-carrier && MY_OPTS="${MY_OPTS} --without-soft-carrier" + use transmitter && MY_OPTS="${MY_OPTS} --with-transmitter" + + if [[ -n "${LIRC_OPTS}" ]] ; then + ewarn + ewarn "LIRC_OPTS is deprecated from lirc-0.8.0-r1 on." + ewarn + ewarn "Please use LIRC_DEVICES from now on." + ewarn "e.g. LIRC_DEVICES=\"serial sir\"" + ewarn + ewarn "Flags are now set per use-flags." + ewarn "e.g. transmitter, hardware-carrier" + + local opt + local unsupported_opts="" + + # test for allowed options for LIRC_OPTS + for opt in ${LIRC_OPTS}; do + case ${opt} in + --with-port=*|--with-irq=*|--with-timer=*|--with-tty=*) + MY_OPTS="${MY_OPTS} ${opt}" + ;; + *) + unsupported_opts="${unsupported_opts} ${opt}" + ;; + esac + done + if [[ -n ${unsupported_opts} ]]; then + ewarn "These options are no longer allowed to be set" + ewarn "with LIRC_OPTS: ${unsupported_opts}" + die "LIRC_OPTS is no longer recommended." + fi + fi + + # Setup parameter for linux-mod.eclass + MODULE_NAMES="lirc(misc:${S})" + BUILD_TARGETS="all" + + ECONF_PARAMS=" --localstatedir=/var + --with-syslog=LOG_DAEMON + --enable-sandboxed + --with-kerneldir=${KV_DIR} + --with-moduledir=/lib/modules/${KV_FULL}/misc + $(use_enable debug) + $(use_with X x) + ${MY_OPTS}" + + einfo + einfo "lirc-configure-opts: ${MY_OPTS}" + elog "Setting default lirc-device to ${LIRC_DRIVER_DEVICE}" + + filter-flags -Wl,-O1 + + # force non-parallel make, Bug 196134 + MAKEOPTS="${MAKEOPTS} -j1" +} + +src_unpack() { + unpack ${A} + cd "${S}" + + # Rip out dos CRLF + edos2unix contrib/lirc.rules + + # Apply patches needed for some special device-types + epatch "${FILESDIR}"/${P}-imon-pad2keys.patch + use lirc_devices_audio || epatch "${FILESDIR}"/lirc-0.8.4-portaudio_check.patch + use lirc_devices_remote_wonder_plus && epatch "${FILESDIR}"/lirc-0.8.3_pre1-remotewonderplus.patch + + # remove parallel driver on SMP systems + if linux_chkconfig_present SMP ; then + sed -i -e "s:lirc_parallel\.o::" drivers/lirc_parallel/Makefile.am + fi + + # Bug #187418 + if kernel_is ge 2 6 22 ; then + ewarn "Disabling lirc_gpio driver as it does no longer work Kernel 2.6.22+" + sed -i -e "s:lirc_gpio\.o::" drivers/lirc_gpio/Makefile.am + fi + + # respect CFLAGS + sed -i -e 's:CFLAGS="-O2:CFLAGS=""\n#CFLAGS="-O2:' configure.ac + + # setting default device-node + local f + for f in configure.ac acconfig.h; do + [[ -f "$f" ]] && sed -i -e '/#define LIRC_DRIVER_DEVICE/d' "$f" + done + echo "#define LIRC_DRIVER_DEVICE \"${LIRC_DRIVER_DEVICE}\"" >> acconfig.h + + # Patch for 2.6.29+ kernels for which the info and warn macros were removed + if kernel_is ge 2 6 29 ; then + epatch "${FILESDIR}"/lirc-0.8.4-kernel-2.6.29.patch + fi + + eautoreconf +} + +src_install() { + emake DESTDIR="${D}" install || die "emake install failed" + + newinitd "${FILESDIR}"/lircd-0.8.3 lircd + newinitd "${FILESDIR}"/lircmd lircmd + newconfd "${FILESDIR}"/lircd.conf.2 lircd + + insinto /etc/modprobe.d/ + newins "${FILESDIR}"/modprobed.lirc lirc + + newinitd "${FILESDIR}"/irexec-initd irexec + newconfd "${FILESDIR}"/irexec-confd irexec + + if use doc ; then + dohtml doc/html/*.html + insinto /usr/share/doc/${PF}/images + doins doc/images/* + fi + + insinto /usr/share/lirc/remotes + doins -r remotes/* +} + +pkg_preinst() { + linux-mod_pkg_preinst + + # stop portage from deleting this file + if [[ -f ${ROOT}/etc/lircd.conf && ! -f ${D}/etc/lircd.conf ]]; then + cp "${ROOT}"/etc/lircd.conf "${D}"/etc/lircd.conf + fi +} + +pkg_postinst() { + linux-mod_pkg_postinst + echo + elog "The lirc Linux Infrared Remote Control Package has been" + elog "merged, please read the documentation at http://www.lirc.org" + echo + + if kernel_is ge 2 6 22 ; then + # Bug #187418 + ewarn + ewarn "The lirc_gpio driver will not work with Kernels 2.6.22+" + ewarn "You need to switch over to /dev/input/event? if you need gpio" + ewarn "This device can than then be used via lirc's dev/input driver." + ewarn + fi + + elog + elog "lirc now uses normal config-protection for lircd.conf." + elog "If you need any other lircd.conf you may have a look at" + elog "the directory /usr/share/lirc/remotes" +} diff --git a/games-arcade/performous/Manifest b/games-arcade/performous/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..f5a4093d4381f18dcca0d5949d05527df5c266ae --- /dev/null +++ b/games-arcade/performous/Manifest @@ -0,0 +1,3 @@ +DIST Performous-0.3.0-Source.tar.bz2 4085965 RMD160 75134c80f7592eab877f802ed88e8fa602b55345 SHA1 0fb0bfbabfedf4197e7c8e36ba4fa67518e9ce22 SHA256 ba6a029eddaadbcab6337178c2ea3f3d962d3119a5c9d55fb7bfdf2c041d181e +DIST ultrastar-songs-2.tar.bz2 15571726 RMD160 9b4eea4862728ad1fbfc1e5d462f4afd4d6e89fc SHA1 25d2392775bfa27f48cd201eebb6e3eb2c96c3b2 SHA256 645b460367df95697756a1ed02e01593e9aa3e77a4ce6ef1b9f334c37b1c6a03 +EBUILD performous-0.3.0.ebuild 2539 RMD160 872ac4390c26498fc18dfb2388b3dbf6fb9523c0 SHA1 40d7d17309e62f2faff26d61e7184319c016ede1 SHA256 cb96f174538fd443bc055dfedf52439652057ebb86e632e6aecf39668bed1b1c diff --git a/games-arcade/performous/performous-0.3.0.ebuild b/games-arcade/performous/performous-0.3.0.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..fa85384e26c9fd62cf409ff4abd581ca37457f70 --- /dev/null +++ b/games-arcade/performous/performous-0.3.0.ebuild @@ -0,0 +1,92 @@ +# Copyright 1999-2006 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /cvsroot/ultrastar-ng/UltraStar-ng/portage-overlay/games-arcade/performous/performous-9999.ebuild,v 1.10 2007/09/29 13:04:19 yoda-jm Exp $ + +inherit games cmake-utils + +RESTRICT="nostrip" + +MY_PN=Performous +MY_P=${MY_PN}-${PV}-Source +SONGS_PN=ultrastar-songs +SONGS_P=${SONGS_PN}-2 + +DESCRIPTION="SingStar GPL clone" +HOMEPAGE="http://performous.org" +SRC_URI=" mirror://sourceforge/${PN}/${MY_P}.tar.bz2 + songs? ( mirror://sourceforge/ultrastar-ng/${SONGS_P}.tar.bz2 )" + +LICENSE="GPL-2 + songs? ( + CCPL-Attribution-ShareAlike-NonCommercial-2.5 + CCPL-Attribution-NonCommercial-NoDerivs-2.5 + )" +SLOT="0" +KEYWORDS="~x86 ~amd64 ~ppc ~ppc64" + +IUSE="debug alsa portaudio pulseaudio jack songs gstreamer" + +RDEPEND="gnome-base/librsvg + dev-libs/boost + x11-libs/pango + dev-cpp/libxmlpp + media-libs/libsdl + media-gfx/imagemagick + ( + virtual/opengl + virtual/glu + ) + >=media-video/ffmpeg-0.4.9_p20070616-r20 + alsa? ( media-libs/alsa-lib ) + jack? ( media-sound/jack-audio-connection-kit ) + portaudio? ( media-libs/portaudio ) + gstreamer? ( media-libs/gstreamer ) + pulseaudio? ( media-sound/pulseaudio ) + sys-apps/help2man + !games-arcade/ultrastar-ng" +DEPEND="${RDEPEND} + >=dev-util/cmake-2.6.0" + +pkg_setup() { + games_pkg_setup + if ! built_with_use media-libs/libsdl opengl; then + eerror "libsdl wasn't build with opengl support" + fi + if ! built_with_use --missing true dev-libs/boost threads ; then + eerror "Please emerge dev-libs/boost with USE=threads" + fi +} + +src_compile() { + cd "${MY_P}" + mkdir build + cd build + cmake \ + -DCMAKE_CXX_FLAGS="${CXXFLAGS}" \ + -DCMAKE_INSTALL_PREFIX="${GAMES_PREFIX}" \ + $(cmake-utils_use_with alsa ALSA) \ + $(cmake-utils_use_with jack JACK) \ + $(cmake-utils_use_with pulseaudio PULSEAUDIO) \ + $(cmake-utils_use_with portaudio PORTAUDIO) \ + $(cmake-utils_use_with gstreamer GSTREAMER) \ + .. || die "cmake failed" + emake || die "emake failed" +} + +src_install() { + cd "${MY_P}/build" + emake DESTDIR="${D}" install || die "make install failed" + keepdir "${GAMES_DATADIR}"/ultrastar/songs + # copy files at the right place + rm -rf "${D}${GAMES_PREFIX}/share/${PN}"/{applications,pixmaps} + mv "${D}/${GAMES_PREFIX}/share/${PN}" "${D}/${GAMES_DATADIR}/" + mv "${D}/${GAMES_PREFIX}/lib" "${D}/usr/" + if use songs; then + insinto "${GAMES_DATADIR}"/ultrastar + doins -r ../../songs || die "doins songs failed" + fi + doicon data/${PN}.xpm + domenu data/${PN}.desktop + dodoc ../docs/*.txt + prepgamesdirs +} diff --git a/games-arcade/ultrastardx/Manifest b/games-arcade/ultrastardx/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..ab7138710dea965d560418a222d621ab773fd4cf --- /dev/null +++ b/games-arcade/ultrastardx/Manifest @@ -0,0 +1 @@ +EBUILD ultrastardx-9999.ebuild 1444 RMD160 e1ae77a592a0e233fd6c00e93e56f1b2fed8430a SHA1 2eba3b9f09d763acdf104ad1360cb82fdb65c560 SHA256 2c1493da955287e8617dee40ffaa60d097f417b9c554761d2af162691b50af68 diff --git a/games-arcade/ultrastardx/ultrastardx-9999.ebuild b/games-arcade/ultrastardx/ultrastardx-9999.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..b830b6b3867f285e5b3cdd1704530328f8f22691 --- /dev/null +++ b/games-arcade/ultrastardx/ultrastardx-9999.ebuild @@ -0,0 +1,56 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/games-arcade/ultrastar-deluxe/ultrastar-deluxe-1.1.0.ebuild,v 1.1 2008/07/04 08:41:32 frostwork Exp $ + +inherit eutils games flag-o-matic subversion + +ESVN_REPO_URI="https://ultrastardx.svn.sourceforge.net/svnroot/ultrastardx/trunk" + +DESCRIPTION="A free and open source karaoke game" +HOMEPAGE="http://ultrastardx.sourceforge.net/" +#SRC_URI="http://switch.dl.sourceforge.net/sourceforge/ultrastardx/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~x86" +IUSE="libprojectM" + +RDEPEND="dev-lang/fpc + media-libs/sdl-image + media-libs/libsdl + media-libs/sdl-mixer + media-libs/sdl-ttf + libprojectM? ( media-libs/libprojectm ) + >=media-libs/portaudio-19_pre20071207 + media-video/ffmpeg + virtual/opengl + virtual/glu" + +src_unpack() { + subversion_src_unpack +} + +src_compile() { + egamesconf \ + $(use_with libprojectM) \ + || die "Configure failed!" + emake \ + LDFLAGS="" \ + || die "emake failed" +} + + +src_install() { + dogamesbin game/ultrastardx + + local datadir="${GAMES_DATADIR}"/${PN} + insinto "${GAMES_DATADIR}"/${PN} + doins -r plugins artwork game/fonts game/languages game/resources game/sounds game/themes game/visuals || die + keepdir "${GAMES_DATADIR}"/${PN}/covers + keepdir "${GAMES_DATADIR}"/${PN}/songs + doicon game/artwork/usdx_icon_512.png + make_desktop_entry ${PN} ${PN} + dodoc README* + prepgamesdirs +} + diff --git a/lxde-base/lxdm/Manifest b/lxde-base/lxdm/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..bd02190ac929b014c1adbe2e286f91b2d933935d --- /dev/null +++ b/lxde-base/lxdm/Manifest @@ -0,0 +1,4 @@ +AUX disable-consolekit.patch 401 RMD160 95e45e842f12b164486d57b50a898073b5e17032 SHA1 5bf1208ebe51b32e5e17afeed1c8bd3ea0b7357b SHA256 d80be6c1d8a486a68671aad4966c9cb67329b3da7417275bc983b9f0d4f8d403 +AUX disable_pam_console.patch 300 RMD160 220215bd00332c16447b46e205305524e167ea0f SHA1 bcf6f13117108ee6654d95acaf0018abbf4fd457 SHA256 1544d04985aad9f38f2951186c26b39dbe81b84dbaf7c2dfda63f2d4b737a17d +DIST lxdm-0.3.0.tar.gz 271373 RMD160 989868e611df4aafe817eaca399ca54155e3dc16 SHA1 a8bcf9e8dcda4203b846c09ee9d9d8c7e2374746 SHA256 19d167898299937c3b2787a0583f308e99e732fa1647fec60083edf812efa638 +EBUILD lxdm-0.3.0.ebuild 947 RMD160 acdfa8a4a9218275fffb8874c4ee7956b4a5a919 SHA1 5808b6290ae097732289ad7b3dff398d8e4ed77b SHA256 f3057ed87e702039a8e3d280770bcae618a0cc18e33d722477a671ba13aa3b4d diff --git a/lxde-base/lxdm/files/disable-consolekit.patch b/lxde-base/lxdm/files/disable-consolekit.patch new file mode 100644 index 0000000000000000000000000000000000000000..97c56eeb2ce46cb16b590ea0b07d01f587a947c5 --- /dev/null +++ b/lxde-base/lxdm/files/disable-consolekit.patch @@ -0,0 +1,15 @@ +diff -U2 lxdm-0.3.0-old/src/lxdm.c lxdm-0.3.0/src/lxdm.c +--- lxdm-0.3.0-old/src/lxdm.c 2010-09-24 22:43:49.000000000 +0700 ++++ lxdm-0.3.0/src/lxdm.c 2010-11-27 03:28:15.000000000 +0600 +@@ -1332,4 +1332,5 @@ + if(option) + s->option=g_strdup(option); ++#if HAVE_LIBCK_CONNECTOR + if(s->ckc) + { +@@ -1337,4 +1338,5 @@ + s->ckc=NULL; + } ++#endif + #if HAVE_LIBPAM + setup_pam_session(s,pw,session_name); diff --git a/lxde-base/lxdm/files/disable_pam_console.patch b/lxde-base/lxdm/files/disable_pam_console.patch new file mode 100644 index 0000000000000000000000000000000000000000..a55bdf9eb40417a49dc03ae32e1201a86b88acaa --- /dev/null +++ b/lxde-base/lxdm/files/disable_pam_console.patch @@ -0,0 +1,8 @@ +diff -U2 lxdm-0.3.0-old/pam/lxdm lxdm-0.3.0/pam/lxdm +--- lxdm-0.3.0-old/pam/lxdm 2010-08-23 21:44:22.000000000 +0700 ++++ lxdm-0.3.0/pam/lxdm 2010-11-28 05:05:41.000000000 +0600 +@@ -5,3 +5,3 @@ + session include system-auth + session required pam_loginuid.so +-session optional pam_console.so ++ diff --git a/lxde-base/lxdm/lxdm-0.3.0.ebuild b/lxde-base/lxdm/lxdm-0.3.0.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..2d11c97c950f65c6cac494e15b02dca22ef4e2dc --- /dev/null +++ b/lxde-base/lxdm/lxdm-0.3.0.ebuild @@ -0,0 +1,42 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI="2" +inherit eutils autotools + +DESCRIPTION="LXDE Display Manager" +LICENSE="GPL-2 GPL-3 LGPL-2.1" +HOMEPAGE="http://lxde.org/" +SRC_URI="mirror://sourceforge/lxde/${P}.tar.gz" +KEYWORDS="~amd64 ~arm ~ppc ~x86 ~x86-interix ~amd64-linux ~x86-linux" +SLOT="0" +IUSE="consolekit" + +RDEPEND="x11-libs/gtk+:2 + dev-libs/glib:2 + sys-libs/pam + consolekit? ( sys-auth/consolekit ) + x11-libs/libXmu + gnome-base/librsvg" +DEPEND="${RDEPEND}" + +DOCS="AUTHORS README TODO" + +src_prepare () { + cd "${S}" + + epatch "${FILESDIR}/disable_pam_console.patch" + + if ! use consolekit ; then + epatch "${FILESDIR}/disable-consolekit.patch" + fi +} + +src_install () { + emake DESTDIR="${D}" install || die "emake install failed" + dodoc AUTHORS ChangeLog README || die "dodoc failed" + + # Get rid of the .la files. + find "${D}" -name '*.la' -delete +} diff --git a/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch new file mode 100644 index 0000000000000000000000000000000000000000..82a738356ff8450e34396e0543522e1946a96e44 --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch @@ -0,0 +1,16 @@ +http://bugs.gentoo.org/400617 + +do not force any particular ABI or FPU or SIMD compiler flags for arm +targets. let the toolchain and user CFLAGS control that. + +--- a/configure.in ++++ b/configure.in +@@ -571,7 +571,7 @@ + elif test "$target_platform" = "target_raspberry_pi"; then + ARCH="arm" + use_arch="arm" +-elif test "$use_arch" = "arm"; then ++elif false; then + CFLAGS="$CFLAGS -mno-apcs-stack-check" + CXXFLAGS="$CXXFLAGS -mno-apcs-stack-check" + FFMPEG_EXTRACFLAGS="" diff --git a/media-tv/xbmc/files/xbmc-9999-nomythtv.patch b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch new file mode 100644 index 0000000000000000000000000000000000000000..f793ba34dcf0385f63f2f70fb4527b900b9d8e7f --- /dev/null +++ b/media-tv/xbmc/files/xbmc-9999-nomythtv.patch @@ -0,0 +1,68 @@ +http://trac.xbmc.org/ticket/11775 + +make mythtv support optional + +diff --git a/Makefile.in b/Makefile.in +index 9ffae7e..17cc525 100755 +--- a/Makefile.in ++++ b/Makefile.in +@@ -147,7 +147,7 @@ LIB_DIRS=\ + lib/cpluff \ + lib/xbmc-dll-symbols + +-ifeq (@USE_MYSQL@,1) ++ifeq (@USE_MYTHTV@,1) + LIB_DIRS += lib/cmyth + CMYTH=cmyth + endif +diff --git a/configure.in b/configure.in +index d44825f..629d7b4 100755 +--- a/configure.in ++++ b/configure.in +@@ -387,6 +387,12 @@ AC_ARG_ENABLE([mysql], + [use_mysql=$enableval], + [use_mysql=yes]) + ++AC_ARG_ENABLE([mythtv], ++ [AS_HELP_STRING([--disable-mythtv], ++ [disable mythtv])], ++ [use_mythtv=$enableval], ++ [use_mythtv=yes]) ++ + AC_ARG_ENABLE([webserver], + [AS_HELP_STRING([--disable-webserver], + [disable webserver])], +@@ -748,6 +754,9 @@ if test "$use_mysql" = "yes"; then + else + AC_MSG_ERROR($missing_program) + fi ++ if test "$use_mythtv" = "yes"; then ++ AC_DEFINE([HAVE_MYTHTV],[1],["Define to 1 if you want mythtv support"]) ++ fi + fi + AC_CHECK_HEADER([ass/ass.h],, AC_MSG_ERROR($missing_library)) + AC_CHECK_HEADER([mpeg2dec/mpeg2.h],, AC_MSG_ERROR($missing_library)) +@@ -1895,6 +1904,15 @@ else + final_message="$final_message\n MySQL:\tNo" + USE_MYSQL=0 + fi ++ ++if test "$use_mythtv" = "yes"; then ++ final_message="$final_message\n MythTV:\tYes" ++ USE_MYTHTV=1 ++else ++ final_message="$final_message\n MythTV:\tNo" ++ USE_MYTHTV=0 ++fi ++ + if test "$use_webserver" = "yes"; then + final_message="$final_message\n Webserver:\tYes" + USE_WEB_SERVER=1 +@@ -2123,6 +2141,7 @@ AC_SUBST(USE_LIBUDEV) + AC_SUBST(USE_LIBUSB) + AC_SUBST(USE_LIBCEC) + AC_SUBST(USE_MYSQL) ++AC_SUBST(USE_MYTHTV) + AC_SUBST(USE_WEB_SERVER) + + diff --git a/media-video/makemkv/files/makemkv-1.7.4-makefile.linux.patch b/media-video/makemkv/files/makemkv-1.7.4-makefile.linux.patch new file mode 100644 index 0000000000000000000000000000000000000000..f63fdfb29783ef61bab0aab22404241fdbe84fcc --- /dev/null +++ b/media-video/makemkv/files/makemkv-1.7.4-makefile.linux.patch @@ -0,0 +1,20 @@ +--- makemkv_v1.7.3_oss/makefile.linux.orig ++++ makemkv_v1.7.3_oss/makefile.linux +@@ -8,7 +8,7 @@ + MOC=moc + endif + +-CXXOPTS=-Os -D_GNU_SOURCE -D_linux_ ++CXXOPTS=-D_GNU_SOURCE -D_linux_ + + BUILDINFO_ARCH_NAME=$(shell $(GCC) -dumpmachine) + BUILDINFO_BUILD_DATE=$(shell date) +@@ -38,7 +38,7 @@ + install -D -m 644 makemkvgui/src/img/128/mkv_icon.png $(DESTDIR)$(PREFIX)/share/icons/hicolor/128x128/apps/makemkv.png + + out/%: out/%.full +- objcopy --strip-all --strip-debug --strip-unneeded --discard-all $< $@ ++ objcopy --discard-all $< $@ + + out/libdriveio.so.0.full: + mkdir -p out diff --git a/media-video/makemkv/makemkv-1.7.4.ebuild b/media-video/makemkv/makemkv-1.7.4.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..b7586b6840bea7d4c0eb0a12868f457d15826836 --- /dev/null +++ b/media-video/makemkv/makemkv-1.7.4.ebuild @@ -0,0 +1,73 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/media-video/makemkv/makemkv-1.6.16.ebuild,v 1.5 2011/12/03 00:44:41 beandog Exp $ + +EAPI=3 + +RESTRICT="mirror" + +inherit multilib eutils + +MY_P="makemkv_v${PV}_oss" +MY_PB="makemkv_v${PV}_bin" + +DESCRIPTION="Tool for ripping Blu-Ray, HD-DVD and DVD discs and copying content to a Matroska container" +HOMEPAGE="http://www.makemkv.com/" +SRC_URI="http://www.makemkv.com/download/${MY_P}.tar.gz + http://www.makemkv.com/download/${MY_PB}.tar.gz" + +LICENSE="MakeMKV-EULA" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" +IUSE="" + +DEPEND="x11-libs/qt-gui:4 + dev-libs/openssl:0 + media-libs/mesa + x11-libs/qt-dbus:4 + sys-libs/zlib" +RDEPEND="${DEPEND}" + +QA_PREBUILT="opt/bin/makemkvcon" + +#src_prepare() { +# epatch "${FILESDIR}/${P}-makefile.linux.patch" +# cd "${MY_P}" +#} + +src_compile() { + cd "${MY_P}" + emake GCC="$(tc-getCC) ${CFLAGS} ${LDFLAGS}" -f makefile.linux || die "make failed" +} + +src_install() { + # install oss package + cd "${MY_P}" + dolib.so out/libdriveio.so.0 || die "dolib.so out/libdriveio.so.0 died" + dolib.so out/libmakemkv.so.1 || die "dolib.so out/libmakemkv.so.1 died" + dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so.0.${PV} || die "dosym libdriveio.so.0 died " + dosym libdriveio.so.0 /usr/$(get_libdir)/libdriveio.so || die "dosym libdriveio.so.0 died " + dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so.1.${PV} || die "dosym libmakemkv.so.1 died" + dosym libmakemkv.so.1 /usr/$(get_libdir)/libmakemkv.so || die "dosym libmakemkv.so.1 died" + into /opt + dobin out/makemkv || die "dobin makemkv died" + + newicon makemkvgui/src/img/128/mkv_icon.png ${PN}.png + make_desktop_entry ${PN} "MakeMKV" ${PN} "Qt;AudioVideo;Video" + + # install bin package + cd "../${MY_PB}/bin" + if use x86; then + dobin i386/makemkvcon || die "dobin makemkvcon died" + elif use amd64; then + dobin amd64/makemkvcon || die "dobin makemkvcon died" + fi +} + +pkg_postinst() { + elog "While MakeMKV is in beta mode, upstream has provided a license" + elog "to use if you do not want to purchase one." + elog "" + elog "See this forum thread for more information, including the key:" + elog "http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053" +} diff --git a/net-p2p/nanodc/Manifest b/net-p2p/nanodc/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..5ef6ec7ae5cf6d38f746f4682588a12e414ab4b6 --- /dev/null +++ b/net-p2p/nanodc/Manifest @@ -0,0 +1,4 @@ +DIST nanodc-0.3.3.tar.gz 295100 RMD160 2f981017cda88db8ad143b083e2df6d1d968a152 SHA1 0f1c9726d9519d68830ff49bf5c6226d80b0e7b0 SHA256 28ed1c4879fa0c1927e14e895eb6ac21ffd1dfd0de02c440c3fb80e66485c41e +DIST nanodc-svn-16.tar.gz 296768 RMD160 e3126cecebde00e9f2b71b77bbdcf5e3984f868e SHA1 f92535fd341ff021d8beff85aa5252f1ff81ad32 SHA256 95c704e8d9625d97e20f4e9318e9ed9cf313a5ac7683b967f0a1ee7097d88c32 +EBUILD nanodc-0.3.3.ebuild 852 RMD160 d2fe920e9b59cba296cb03523443be9f936431b2 SHA1 4e5487862181c2e3408ccf9138dd3ade28533d90 SHA256 960f44c5d4d7a666ffd7e8f27ead4e0e47b6e13b720f258f7a20d1894f95f737 +EBUILD nanodc-16.ebuild 866 RMD160 9acf4d550cb2aeb906e78b21733fbf6167d0ee83 SHA1 e8a85f50b0095a0e622b9b2e025fb59b304dd27b SHA256 9ec1aca6f8323c7930cb706b2f2ee503e5404bc61c88fa54752bcbae9fe51b4e diff --git a/net-p2p/nanodc/nanodc-0.3.3.ebuild b/net-p2p/nanodc/nanodc-0.3.3.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..9693e248af5575bd42636946804dad01693cdeb5 --- /dev/null +++ b/net-p2p/nanodc/nanodc-0.3.3.ebuild @@ -0,0 +1,40 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit toolchain-funcs versionator + +DESCRIPTION="Ncurses DC++ client" +HOMEPAGE="http://sourceforge.net/projects/nanodc/" +SRC_URI="mirror://sourceforge/${PN}/${P}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND="sys-libs/ncurses + sys-libs/zlib + >=dev-libs/libsigc++-2.0.0 + >=dev-libs/glib-2.0.0" +DEPEND="${RDEPEND} + dev-util/scons + dev-util/pkgconfig" + +BIGVERSION=nanodc-$(get_version_component_range 1-2 ) + +pkg_setup() { + if [[[ gcc-major-version ] != 4 ]]; then + eerror "We need at least gcc-4.0 to compile" + die "gcc-4 required" + fi +} + +src_compile() { + cd "${WORKDIR}/${BIGVERSION}/trunk/src" + scons || die "scons failed!" +} + +src_install() { + dobin "${WORKDIR}/${BIGVERSION}/trunk/src/nanodc" +} diff --git a/net-p2p/nanodc/nanodc-16.ebuild b/net-p2p/nanodc/nanodc-16.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..15bf322ff85a8bab0c718ff5dc1952722a10887d --- /dev/null +++ b/net-p2p/nanodc/nanodc-16.ebuild @@ -0,0 +1,41 @@ +# Copyright 1999-2007 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +inherit toolchain-funcs versionator + +DESCRIPTION="Ncurses DC++ client" +HOMEPAGE="http://sourceforge.net/projects/nanodc/" +SRC_URI="mirror://sourceforge/${PN}/${PN}-svn-${PV}.tar.gz" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND="sys-libs/ncurses + sys-libs/zlib + >=dev-libs/libsigc++-2.0.0 + >=dev-libs/glib-2.0.0" +DEPEND="${RDEPEND} + dev-util/scons + dev-util/pkgconfig" + +BIGVERSION=nanodc-$(get_version_component_range 1-2 ) + +pkg_setup() { + if [[[ gcc-major-version ] != 4 ]]; then + eerror "We need at least gcc-4.0 to compile" + die "gcc-4 required" + fi +} + +src_compile() { + cd "${WORKDIR}/${PN}-svn-${PV}/trunk/src" + scons || die "scons failed!" +} + +src_install() { + dobin "${WORKDIR}/${BIGVERSION}/trunk/src/nanodc" +} + diff --git a/www-apps/ampache/Manifest b/www-apps/ampache/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..370bd59a0df1f927e52a274c1ed4022119264d61 --- /dev/null +++ b/www-apps/ampache/Manifest @@ -0,0 +1,3 @@ +AUX installdoc.txt 223 RMD160 204d2be3f0c8838a4bfa168824d34014b685da0c SHA1 3e40f1855deae4a8226689957a394625707ee533 SHA256 ad163088081a596b3fb1b08ae1c606dbea558f839377d6a19268f4e958acf53e +DIST ampache-3.5.tar.gz 1806117 RMD160 41476fc1bf0437193425410658e20837a33c5195 SHA1 f37c89d6fdbcff0175dccc486be3e3e32dec9b20 SHA256 31648d4fb64de2de9fc7fc2b4c1efb5a847d99f72de37c0521257aa2d84432f5 +EBUILD ampache-3.5.ebuild 850 RMD160 6c49971bca5e1745ecf52922299de5538e8a1fe6 SHA1 a32bb537a62f0a15c8bbba5c5b3444853dab64db SHA256 0d219320a5403d089bbb68824a4f28df5b1a0e2dfdc8bec67fae41ea8c17cedf diff --git a/www-apps/ampache/ampache-3.5.ebuild b/www-apps/ampache/ampache-3.5.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..dda485c3a4bdd92d9f046eed9b7531325e47de91 --- /dev/null +++ b/www-apps/ampache/ampache-3.5.ebuild @@ -0,0 +1,38 @@ +# Copyright 1999-2008 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/www-apps/ampache/ampache-3.4.4.ebuild,v 1.1 2008/12/26 21:42:22 marineam Exp $ + +inherit webapp depend.php + +DESCRIPTION="Ampache is a PHP-based tool for managing, updating and playing your audio files via a web interface." +HOMEPAGE="http://www.ampache.org/" +SRC_URI="http://www.ampache.org/downloads/${P}.tar.gz" + +LICENSE="GPL-2" +KEYWORDS="~amd64 ~ppc ~x86" +IUSE="" + +RDEPEND="" +DEPEND="" + +need_httpd_cgi +need_php_httpd + +pkg_setup() { + webapp_pkg_setup + require_php_with_use pcre session unicode iconv xml mysql gd zlib hash +} + +src_install() { + webapp_src_preinst + + dodoc docs/* + rm -rf docs/ + + insinto "${MY_HTDOCSDIR}" + doins -r . + + webapp_postinst_txt en "${FILESDIR}"/installdoc.txt + webapp_src_install +} + diff --git a/www-apps/ampache/files/installdoc.txt b/www-apps/ampache/files/installdoc.txt new file mode 100644 index 0000000000000000000000000000000000000000..cdd6e118238e5e6fe01218bfd3d62f7e008f0bff --- /dev/null +++ b/www-apps/ampache/files/installdoc.txt @@ -0,0 +1,6 @@ +Install and upgrade instructions can be found here: +/usr/share/doc/ampache-/INSTALL.gz +/usr/share/doc/ampache-/MIGRATION.gz + +For general information please read: +/usr/share/doc/ampache-/README.gz diff --git a/x11-drivers/ati-drivers/Manifest b/x11-drivers/ati-drivers/Manifest new file mode 100644 index 0000000000000000000000000000000000000000..34ad4ef59bb743544a745c1e41a2e8731e12a4c5 --- /dev/null +++ b/x11-drivers/ati-drivers/Manifest @@ -0,0 +1,2 @@ +DIST fglrx-installer_8.723.1.orig.tar.gz 60437662 RMD160 f94f042686e11048de8484f21b051e2ea68519b1 SHA1 8fefcda2b2482ad80c9c6379724a530e4e03ff09 SHA256 01ada33bb47a6cc90b7c7b098ba18b02d02947527d555ab668f13eb24948d937 +EBUILD ati-drivers-8.723.1.ebuild 18623 RMD160 0f2016b325dad30a225eec284f5fd96c8a36def5 SHA1 32eb70d106b88adddbe39f29c74b569227ce1a66 SHA256 cabc02acaf76bff13bcb527fc1129cd1a6363b73d6deb64903f143a701c13daa diff --git a/x11-drivers/ati-drivers/ati-drivers-8.723.1.ebuild b/x11-drivers/ati-drivers/ati-drivers-8.723.1.ebuild new file mode 100644 index 0000000000000000000000000000000000000000..f7d370f64669eb0c55cd020df8d003ea3d939df3 --- /dev/null +++ b/x11-drivers/ati-drivers/ati-drivers-8.723.1.ebuild @@ -0,0 +1,552 @@ +# Copyright 1999-2010 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.721.ebuild,v 1.2 2010/03/23 23:15:28 lu_zero Exp $ + +EAPI="2" + +inherit eutils multilib linux-mod toolchain-funcs versionator + +DESCRIPTION="Ati precompiled drivers for r600 (HD Series) and newer chipsets" +HOMEPAGE="http://www.ati.com" +# 8.ble will be used for beta releases. +if [[ $(get_major_version) -gt 8 ]]; then + ATI_URL="https://a248.e.akamai.net/f/674/9206/0/www2.ati.com/drivers/linux/" + SRC_URI="${ATI_URL}/ati-driver-installer-${PV/./-}-x86.x86_64.run" + FOLDER_PREFIX="common/" +else + SRC_URI="https://launchpad.net/ubuntu/lucid/+source/fglrx-installer/2:${PV}-0ubuntu1/+files/fglrx-installer_${PV}.orig.tar.gz" + FOLDER_PREFIX="" +fi +IUSE="debug +modules multilib qt4" + +LICENSE="AMD GPL-2 QPL-1.0 as-is" +KEYWORDS="~amd64 ~x86" +SLOT="1" + +RDEPEND=" + !>=x11-base/xorg-server-1.8.0 + !x11-drivers/ati-drivers:0 + !x11-apps/ati-drivers-extra + >=app-admin/eselect-opengl-1.0.7 + sys-power/acpid + x11-apps/xauth + qt4? ( x11-libs/qt-gui ) + >=x11-base/xorg-server-1.7 + !" + eerror " [ ] Preemptible RCU" + eerror "in the 'menuconfig'" + die "CONFIG_PREEMT_RCU enabled" + fi + + if ! linux_chkconfig_present MTRR; then + ewarn "You don't have MTRR support enabled in the kernel." + ewarn "Direct rendering will not work." + fi + + if linux_chkconfig_builtin DRM; then + ewarn "You have DRM support built in to the kernel" + ewarn "Direct rendering will not work." + fi + + if ! linux_chkconfig_present AGP && \ + ! linux_chkconfig_present PCIEPORTBUS; then + ewarn "You don't have AGP and/or PCIe support enabled in the kernel" + ewarn "Direct rendering will not work." + fi + + if ! linux_chkconfig_present ACPI; then + eerror "${P} requires the ACPI support in the kernel" + eerror "Please enable it:" + eerror " CONFIG_ACPI=y" + eerror "in /usr/src/linux/.config or" + eerror " Power management and ACPI options --->" + eerror " [*] Power Management support" + eerror "in the 'menuconfig'" + die "CONFIG_ACPI disabled" + fi + + if ! linux_chkconfig_present MAGIC_SYSRQ; then + eerror "${P} requires the magic SysRq keys in the kernel." + eerror "Please enable it:" + eerror " CONFIG_MAGIC_SYSRQ=y" + eerror "in /usr/src/linux/.config or" + eerror " Kernel hacking --->" + eerror " [*] Magic SysRq key" + eerror "in the 'menuconfig'" + die "CONFIG_MAGIC_SYSRQ disabled" + fi + + if ! linux_chkconfig_present PCI_MSI; then + eerror "${P} requires MSI in the kernel." + eerror "Please enable it:" + eerror " CONFIG_PCI_MSI=y" + eerror "in /usr/src/linux/.config or" + eerror " Bus options (PCI etc.) --->" + eerror " [*] Message Signaled Interrupts (MSI and MSI-X)" + eerror "in the kernel config." + die "CONFIG_PCI_MSI disabled" + fi + + if linux_chkconfig_present LOCKDEP; then + eerror "You've enabled LOCKDEP -- lock tracking -- in the kernel." + eerror "Unfortunately, this option exports the symbol lock_acquire as GPL-only." + eerror "This prevents ${P} from compiling with an error like this:" + eerror "FATAL: modpost: GPL-incompatible module fglrx.ko uses GPL-only symbol 'lock_acquire'" + eerror "Please make sure the following options have been unset:" + eerror " Kernel hacking --->" + eerror " [ ] Lock debugging: detect incorrect freeing of live locks" + eerror " [ ] Lock debugging: prove locking correctness" + eerror " [ ] Lock usage statistics" + eerror "in 'menuconfig'" + die "LOCKDEP enabled" + fi +} + +pkg_setup() { + # Define module dir. + MODULE_DIR="${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod" + # xorg folder + BASE_DIR="${S}/x750" + + # amd64/x86 + if use amd64 ; then + MY_BASE_DIR="${BASE_DIR}_64a" + PKG_LIBDIR=lib64 + ARCH_DIR="${S}/arch/x86_64" + else + MY_BASE_DIR="${BASE_DIR}" + PKG_LIBDIR=lib + ARCH_DIR="${S}/arch/x86" + fi + + if use modules; then + MODULE_NAMES="fglrx(video:${S}/${FOLDER_PREFIX}/lib/modules/fglrx/build_mod/2.6.x)" + BUILD_TARGETS="kmod_build" + linux-mod_pkg_setup + BUILD_PARAMS="GCC_VER_MAJ=$(gcc-major-version) KVER=${KV_FULL} KDIR=${KV_DIR}" + _check_kernel_config + fi + + elog + elog "Please note that this driver supports only graphic cards based on" + elog "r600 chipset and newer." + elog "This represent the ATI Radeon HD series at this moment." + elog + elog "If your card is older then usage of ${CATEGORY}/xf86-video-ati" + elog "as replacement is highly recommended. Rather than staying with" + elog "old versions of this driver." + elog "For migration informations please reffer to:" + elog "http://www.gentoo.org/proj/en/desktop/x/x11/ati-migration-guide.xml" + einfo +} + +src_unpack() { + if [[ $(get_major_version) -gt 8 ]]; then + # Switching to a standard way to extract the files since otherwise no signature file + # would be created + local src="${DISTDIR}/${A}" + sh "${src}" --extract "${S}" 2&>1 /dev/null + else + unpack ${A} + fi +} + +src_prepare() { + # All kernel options for prepare are ment to be in here + if use modules; then + # version patches + # epatch "${FILESDIR}"/kernel/${PV}-*.patch + if use debug; then + sed -i '/^#define DRM_DEBUG_CODE/s/0/1/' \ + "${MODULE_DIR}/firegl_public.c" \ + || die "Failed to enable debug output." + fi + fi + + # 2.6.33 kernel support + epatch "${FILESDIR}"/ati-drivers-2.6.33.patch + # Fix a known compilation error + epatch "${FILESDIR}"/ati-drivers-fix_compilation-bug-297322.patch + + # These are the userspace utilities that we also have source for. + # We rebuild these later. + rm \ + "${ARCH_DIR}"/usr/X11R6/bin/{fgl_glxgears,fglrx_xgamma} \ + "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR}/libfglrx_gamma* \ + || die "bin rm failed" + + # in this version amdcccle isn't static, thus we depend on qt4 + use qt4 || rm "${ARCH_DIR}"/usr/X11R6/bin/amdcccle + + # ACPI fixups + sed -i \ + -e "s:/var/lib/xdm/authdir/authfiles/:/var/run/xauth/:" \ + -e "s:/var/lib/gdm/:/var/gdm/:" \ + "${S}/${FOLDER_PREFIX}etc/ati/authatieventsd.sh" \ + || die "sed failed." + + # Since "who" is in coreutils, we're using that one instead of "finger". + sed -i -e 's:finger:who:' \ + "${S}/${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi/ati-powermode.sh" \ + || die "Replacing 'finger' with 'who' failed." + # Adjust paths in the script from /usr/X11R6/bin/ to /opt/bin/ and + # add function to detect default state. + epatch "${FILESDIR}"/ati-powermode-opt-path-2.patch || die "Failed to epatch powermode-opt-path-2.patch" + + cd "${MODULE_DIR}" + ln -s "${ARCH_DIR}"/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \ + || die "symlinking precompiled core failed" + + convert_to_m 2.6.x/Makefile || die "convert_to_m failed" + + # When built with ati's make.sh it defines a bunch of macros if + # certain .config values are set, falling back to less reliable + # detection methods if linux/autoconf.h is not available. We + # simply use the linux/autoconf.h settings directly, bypassing the + # detection script. + sed -i -e 's/__SMP__/CONFIG_SMP/' *.c *h || die "SMP sed failed" + sed -i -e 's/ifdef MODVERSIONS/ifdef CONFIG_MODVERSIONS/' *.c *.h \ + || die "MODVERSIONS sed failed" + cd "${S}" + + mkdir extra || die "mkdir failed" + cd extra + unpack ./../${FOLDER_PREFIX}usr/src/ati/fglrx_sample_source.tgz + sed -i -e 's:include/extensions/extutil.h:X11/extensions/extutil.h:' \ + lib/fglrx_gamma/fglrx_gamma.c || die "include fixup failed" + # Add a category. + mv programs/fglrx_gamma/fglrx_xgamma.{man,1} || die "man mv failed" +} + +src_compile() { + use modules && linux-mod_src_compile + + ebegin "Building fgl_glxgears" + cd "${S}"/extra/fgl_glxgears + # These extra libs/utils either have an Imakefile that does not + # work very well without tweaking or a Makefile ignoring CFLAGS + # and the like. We bypass those. + + # The -DUSE_GLU is needed to compile using nvidia headers + # according to a comment in ati-drivers-extra-8.33.6.ebuild. + "$(tc-getCC)" -o fgl_glxgears ${CFLAGS} ${LDFLAGS} -DUSE_GLU \ + -I"${S}"/${FOLDER_PREFIX}usr/include fgl_glxgears.c \ + -lGL -lGLU -lX11 -lm || die "fgl_glxgears build failed" + eend $? + + ebegin "Building fglrx_gamma lib" + cd "${S}"/extra/lib/fglrx_gamma + "$(tc-getCC)" -shared -fpic -o libfglrx_gamma.so.1.0 ${CFLAGS} ${LDFLAGS} \ + -DXF86MISC -Wl,-soname,libfglrx_gamma.so.1.0 fglrx_gamma.c \ + -lXext || die "fglrx_gamma lib build failed" + ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so || die "ln failed" + ln -s libfglrx_gamma.so.1.0 libfglrx_gamma.so.1 || die "ln failed" + eend $? + + ebegin "Building fglrx_gamma util" + cd "${S}"/extra/programs/fglrx_gamma + "$(tc-getCC)" -o fglrx_xgamma ${CFLAGS} ${LDFLAGS} \ + -I../../../${FOLDER_PREFIX}usr/X11R6/include -L../../lib/fglrx_gamma \ + fglrx_xgamma.c -lm -lfglrx_gamma -lX11 \ + || die "fglrx_gamma util build failed" + eend $? + +} + +src_install() { + use modules && linux-mod_src_install + + # We can do two things here, and neither of them is very nice. + + # For direct rendering libGL has to be able to load one or more + # dri modules (files ending in _dri.so, like fglrx_dri.so). + # Gentoo's mesa looks for these files in the location specified by + # LIBGL_DRIVERS_PATH or LIBGL_DRIVERS_DIR, then in the hardcoded + # location /usr/$(get_libdir)/dri. Ati's libGL does the same + # thing, but the hardcoded location is /usr/X11R6/lib/modules/dri + # on x86 and amd64 32bit, /usr/X11R6/lib64/modules/dri on amd64 + # 64bit. So we can either put the .so files in that (unusual, + # compared to "normal" mesa libGL) location or set + # LIBGL_DRIVERS_PATH. We currently do the latter. See also bug + # 101539. + + # The problem with this approach is that LIBGL_DRIVERS_PATH + # *overrides* the default hardcoded location, it does not extend + # it. So if ati-drivers is merged but a non-ati libGL is selected + # and its hardcoded path does not match our LIBGL_DRIVERS_PATH + # (because it changed in a newer mesa or because it was compiled + # for a different set of multilib abis than we are) stuff breaks. + + # We create one file per ABI to work with "native" multilib, see + # below. + + echo "COLON_SEPARATED=LIBGL_DRIVERS_PATH" > "${T}/03ati-colon-sep" + doenvd "${T}/03ati-colon-sep" || die + + # All libraries that we have a 32 bit and 64 bit version of on + # amd64 are installed in src_install-libs. Everything else + # (including libraries only available in native 64bit on amd64) + # goes in here. + + # There used to be some code here that tried to detect running + # under a "native multilib" portage ((precursor of) + # http://dev.gentoo.org/~kanaka/auto-multilib/). I removed that, it + # should just work (only doing some duplicate work). --marienz + if has_multilib_profile; then + local OABI=${ABI} + for ABI in $(get_install_abis); do + src_install-libs + done + ABI=${OABI} + unset OABI + else + src_install-libs + fi + + # This is sorted by the order the files occur in the source tree. + + # X modules. + exeinto /usr/$(get_libdir)/xorg/modules/drivers + doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/drivers/fglrx_drv.so || die + exeinto /usr/$(get_libdir)/xorg/modules/linux + doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/linux/libfglrxdrm.so || die + exeinto /usr/$(get_libdir)/xorg/modules + doexe "${MY_BASE_DIR}"/usr/X11R6/${PKG_LIBDIR}/modules/{glesx.so,amdxmm.so} || die + + # Arch-specific files. + # (s)bin. + into /opt + dosbin "${ARCH_DIR}"/usr/sbin/atieventsd || die + # We cleaned out the compilable stuff in src_unpack + dobin "${ARCH_DIR}"/usr/X11R6/bin/* || die + + # lib. + exeinto /usr/$(get_libdir) + # Everything except for the libGL.so installed in src_install-libs. + doexe $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ + -maxdepth 1 -type f -name '*.so*' -not -name 'libGL.so*') + insinto /usr/$(get_libdir) + doins $(find "${ARCH_DIR}"/usr/X11R6/${PKG_LIBDIR} \ + -maxdepth 1 -type f -not -name '*.so*') + + # Common files. + # etc. + insinto /etc/ati + # Everything except for the authatieventsd.sh script. + doins ${FOLDER_PREFIX}etc/ati/{logo*,control,atiogl.xml,signature,amdpcsdb.default} + insopts -m0755 + doins ${FOLDER_PREFIX}etc/ati/authatieventsd.sh || die + + # include. + insinto /usr + doins -r ${FOLDER_PREFIX}usr/include || die + insinto /usr/include/X11/extensions + doins ${FOLDER_PREFIX}usr/X11R6/include/X11/extensions/fglrx_gamma.h || die + + # Just the atigetsysteminfo.sh script. + into /usr + dosbin ${FOLDER_PREFIX}usr/sbin/* || die + if use qt4; then + # data files for the control panel. + insinto /usr/share + doins -r ${FOLDER_PREFIX}usr/share/ati || die + insinto /usr/share/pixmaps + doins ${FOLDER_PREFIX}usr/share/icons/ccc_large.xpm || die + make_desktop_entry amdcccle 'ATI Catalyst Control Center' \ + ccc_large System + fi + # doc. + dohtml -r ${FOLDER_PREFIX}usr/share/doc/fglrx || die + + doman ${FOLDER_PREFIX}usr/share/man/man8/atieventsd.8 || die + + pushd ${FOLDER_PREFIX}usr/share/doc/fglrx/examples/etc/acpi > /dev/null + + exeinto /etc/acpi + doexe ati-powermode.sh || die + insinto /etc/acpi/events + doins events/* || die + + popd > /dev/null + + # Done with the "source" tree. Install tools we rebuilt: + dobin extra/fgl_glxgears/fgl_glxgears || die + newdoc extra/fgl_glxgears/README README.fgl_glxgears || die + + dolib extra/lib/fglrx_gamma/*so* || die + newdoc extra/lib/fglrx_gamma/README README.libfglrx_gamma || die + + dobin extra/programs/fglrx_gamma/fglrx_xgamma || die + doman extra/programs/fglrx_gamma/fglrx_xgamma.1 || die + newdoc extra/programs/fglrx_gamma/README README.fglrx_gamma || die + + # Gentoo-specific stuff: + newinitd "${FILESDIR}"/atieventsd.init atieventsd \ + || die "Failed to install atieventsd.init.d" + echo 'ATIEVENTSDOPTS=""' > "${T}"/atieventsd.conf + newconfd "${T}"/atieventsd.conf atieventsd || die +} + +src_install-libs() { + if [[ "${ABI}" == "amd64" ]]; then + local EX_BASE_DIR="${BASE_DIR}_64a" + local pkglibdir=lib64 + local MY_ARCH_DIR="${S}/arch/x86_64" + else + local EX_BASE_DIR="${BASE_DIR}" + local pkglibdir=lib + local MY_ARCH_DIR="${S}/arch/x86" + fi + einfo "ati tree '${pkglibdir}' -> '$(get_libdir)' on system" + + local ATI_ROOT=/usr/$(get_libdir)/opengl/ati + # To make sure we do not miss a spot when these change. + local libmajor=1 libminor=2 + local libver=${libmajor}.${libminor} + + # The GLX libraries + # (yes, this really is "lib" even on amd64/multilib --marienz) + exeinto ${ATI_ROOT}/lib + doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/libGL.so.${libver} || die + dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so.${libmajor} || die + dosym libGL.so.${libver} ${ATI_ROOT}/lib/libGL.so || die + + exeinto ${ATI_ROOT}/extensions + doexe "${EX_BASE_DIR}"/usr/X11R6/${pkglibdir}/modules/extensions/* || die + + # DRI modules, installed into the path used by recent versions of mesa. + exeinto /usr/$(get_libdir)/dri + doexe "${MY_ARCH_DIR}"/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so || die + + # AMD Cal libraries + exeinto /usr/$(get_libdir) + doexe "${MY_ARCH_DIR}"/usr/${pkglibdir}/libati*.so* || die + + # warn about removal of .la file + # WILL BE NEEDED IN FUTURE + #if [[ -e ${ATI_ROOT}/lib/libGL.la ]]; then + # ewarn "Since this version the libGL.la is not installed" + # ewarn "For fixing this issues please take look on:" + # ewarn " dev-util/lafilefixer" + # ewarn "This step is needed because the libGL.la is going" + # ewarn "to be removed by newer versions of the media-libs/mesa" + #fi + # Make up a libGL.la. Ati does not provide one, but mesa does. If + # a (libtool-based) libfoo is built with libGL.la present a + # reference to it is put into libfoo.la, and compiling + # (libtool-based) things that link too libfoo.la will complain if + # libGL.la disappears. So if we do not make up a libGL.la + # switching between mesa and ati becomes painful. + local revision=$(printf '%d%02d%02d' $(get_version_components)) + sed -e "s:\${libmajor}:${libmajor}:g" \ + -e "s:\${libminor}:${libminor}:g" \ + -e "s:\${libdir}:$(get_libdir):g" \ + -e "s:\${revision}:${revision}:g" \ + "${FILESDIR}"/libGL.la.in > "${D}"/${ATI_ROOT}/lib/libGL.la \ + || die "sed failed to make libGL.la" + + local envname="${T}"/04ati-dri-path + if [[ -n ${ABI} ]]; then + envname="${envname}-${ABI}" + fi + echo "LIBGL_DRIVERS_PATH=/usr/$(get_libdir)/dri" > "${envname}" + doenvd "${envname}" || die +} + +pkg_postinst() { + elog "To switch to ATI OpenGL, run \"eselect opengl set ati\"" + elog "To change your xorg.conf you can use the bundled \"aticonfig\"" + elog + elog "If you experience unexplained segmentation faults and kernel crashes" + elog "with this driver and multi-threaded applications such as wine," + elog "set UseFastTLS in xorg.conf to either 0 or 1, but not 2." + elog + elog "You will have to source /etc/profile (or logout and back in) for dri" + elog "to work, unless you previously had ati-drivers installed." + + # Workaroud screen corruption + ewarn "If you experience screen corruption with this driver, try putting" + ewarn ' Option "XAANoOffscreenPixmaps" "true"' + ewarn "in the Device Section of /etc/X11/xorg.conf." + + use modules && linux-mod_pkg_postinst + "${ROOT}"/usr/bin/eselect opengl set --use-old ati +} + +pkg_preinst() { + use modules && linux-mod_pkg_preinst +} + +pkg_prerm() { + "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +} + +pkg_postrm() { + use modules && linux-mod_pkg_postrm + "${ROOT}"/usr/bin/eselect opengl set --use-old xorg-x11 +}