Changeset - 0bebd7e0003e
[Not reviewed]
0 0 42
Chel Sea (chain) - 12 years ago 2013-01-31 17:21:01
chain@rpgfiction.net
merge NAS/HTPC tree
42 files changed with 3213 insertions and 0 deletions:
0 comments (0 inline, 0 general)
app-misc/lirc/Manifest
Show inline comments
 
new file 100644
 
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
app-misc/lirc/files/irexec-confd
Show inline comments
 
new file 100644
 
# 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
app-misc/lirc/files/irexec-initd
Show inline comments
 
new file 100755
 
#!/sbin/runscript
 
# Copyright 2003 Martin Hierling <mad@cc.fh-lippe.de>
 
# 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."
 
}
 

	
app-misc/lirc/files/lirc-0.8.3-imon-pad2keys.patch
Show inline comments
 
new file 100644
 
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 <dev@venky.ws>"
 
-#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 <lirc@bartelmus.de>
 
+#
 
+# 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 
app-misc/lirc/files/lirc-0.8.3-kernel-2.6.26.diff
Show inline comments
 
new file 100644
 
--- 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
app-misc/lirc/files/lirc-0.8.3-kernel-2.6.27.diff
Show inline comments
 
new file 100644
 
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 <linux/uaccess.h>
 
 #include <linux/errno.h>
 
 #endif
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
 
 #include <asm/semaphore.h>
 
+#else
 
+#include <linux/semaphore.h>
 
+#endif
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 0)
 
 #include <linux/wrapper.h>
 
 #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 <linux/i2c.h>
 
 #include <linux/i2c-algo-bit.h>
 
 
 
+#if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 27)
 
 #include <asm/semaphore.h>
 
+#else
 
+#include <linux/semaphore.h>
 
+#endif
 
 
 
 #include "drivers/kcompat.h"
 
 #include "drivers/lirc_dev/lirc_dev.h" 
app-misc/lirc/files/lirc-0.8.3-pa19.patch
Show inline comments
 
new file 100644
 
--- 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 );
 
 
app-misc/lirc/files/lirc-0.8.3_pre1-imon-pad2keys.patch
Show inline comments
 
new file 100644
 
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 <dev@venky.ws>"
 
-#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 <lirc@bartelmus.de>
 
+#
 
+# 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 
app-misc/lirc/files/lirc-0.8.3_pre1-kernel-2.6.24.diff
Show inline comments
 
new file 100644
 
#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 <linux/fs.h>
 
 #include <linux/poll.h>
 
 #include <linux/smp_lock.h>
 
+#include <linux/completion.h>
 
 #if LINUX_VERSION_CODE < KERNEL_VERSION(2, 6, 18)
 
 #include <linux/uaccess.h>
 
 #include <linux/errno.h>
 
@@ -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
app-misc/lirc/files/lirc-0.8.3_pre1-remotewonderplus.patch
Show inline comments
 
new file 100644
 
--- 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);
 
 	}
 
 }
 
 
app-misc/lirc/files/lirc-0.8.3_pre3-imon-pad2keys.patch
Show inline comments
 
new file 100644
 
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 <dev@venky.ws>"
 
-#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 <lirc@bartelmus.de>
 
+#
 
+# 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 
app-misc/lirc/files/lirc-0.8.4-imon-pad2keys.patch
Show inline comments
 
new file 100644
 
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 <dev@venky.ws>"
 
-#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 <lirc@bartelmus.de>
 
+#
 
+# 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 
app-misc/lirc/files/lirc-0.8.4-kernel-2.6.29.patch
Show inline comments
 
new file 100644
 
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 <linux/uaccess.h>
 
 #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 <linux/uaccess.h>
 
 #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 <linux/usb.h>
 
 
 
 #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 <linux/sched.h>
 
 #include <linux/signal.h>
 
 #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 <linux/uaccess.h>
 
 #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 <linux/usb.h>
 
 
 
 #include "drivers/kcompat.h"
app-misc/lirc/files/lirc-0.8.4-portaudio_check.patch
Show inline comments
 
new file 100644
 
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,[
app-misc/lirc/files/lircd
Show inline comments
 
new file 100755
 
#!/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 $?
 
}
app-misc/lirc/files/lircd-0.8.3
Show inline comments
 
new file 100644
 
#!/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 $?
 
}
app-misc/lirc/files/lircd.conf.2
Show inline comments
 
new file 100644
 
# 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*"
app-misc/lirc/files/lircmd
Show inline comments
 
new file 100755
 
#!/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 $?
 
}
app-misc/lirc/files/modprobed.lirc
Show inline comments
 
new file 100644
 
#
 
# 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
 

	
app-misc/lirc/files/modulesd.lirc
Show inline comments
 
new file 100644
 
#
 
# 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
 

	
app-misc/lirc/files/xbox-lircd.conf
Show inline comments
 
new file 100755
 
#
 
# LIRCD configuration file for Xbox DVD Kit
 
#
 
# Marko Friedemann <mfr@bmx-chemnitz.de>
 
#
 
#
 
# 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
 

	
 

	
app-misc/lirc/lirc-0.8.4-r1.ebuild
Show inline comments
 
new file 100644
 
# 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"
 
}
games-arcade/performous/Manifest
Show inline comments
 
new file 100644
 
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
games-arcade/performous/performous-0.3.0.ebuild
Show inline comments
 
new file 100644
 
# 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
 
}
games-arcade/ultrastardx/Manifest
Show inline comments
 
new file 100644
 
EBUILD ultrastardx-9999.ebuild 1444 RMD160 e1ae77a592a0e233fd6c00e93e56f1b2fed8430a SHA1 2eba3b9f09d763acdf104ad1360cb82fdb65c560 SHA256 2c1493da955287e8617dee40ffaa60d097f417b9c554761d2af162691b50af68
games-arcade/ultrastardx/ultrastardx-9999.ebuild
Show inline comments
 
new file 100644
 
# 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
 
}
 

	
lxde-base/lxdm/Manifest
Show inline comments
 
new file 100644
 
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
lxde-base/lxdm/files/disable-consolekit.patch
Show inline comments
 
new file 100644
 
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);
lxde-base/lxdm/files/disable_pam_console.patch
Show inline comments
 
new file 100644
 
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
 
+
lxde-base/lxdm/lxdm-0.3.0.ebuild
Show inline comments
 
new file 100644
 
# 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
 
}
media-tv/xbmc/files/xbmc-9999-no-arm-flags.patch
Show inline comments
 
new file 100644
 
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=""
media-tv/xbmc/files/xbmc-9999-nomythtv.patch
Show inline comments
 
new file 100644
 
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)
 
 
 
 
media-video/makemkv/files/makemkv-1.7.4-makefile.linux.patch
Show inline comments
 
new file 100644
 
--- 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
media-video/makemkv/makemkv-1.7.4.ebuild
Show inline comments
 
new file 100644
 
# 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"
 
}
net-p2p/nanodc/Manifest
Show inline comments
 
new file 100644
 
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
net-p2p/nanodc/nanodc-0.3.3.ebuild
Show inline comments
 
new file 100644
 
# 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"
 
}
net-p2p/nanodc/nanodc-16.ebuild
Show inline comments
 
new file 100644
 
# 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"
 
}
 

	
www-apps/ampache/Manifest
Show inline comments
 
new file 100644
 
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
www-apps/ampache/ampache-3.5.ebuild
Show inline comments
 
new file 100644
 
# 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
 
}
 

	
www-apps/ampache/files/installdoc.txt
Show inline comments
 
new file 100644
 
Install and upgrade instructions can be found here:
 
/usr/share/doc/ampache-<version>/INSTALL.gz
 
/usr/share/doc/ampache-<version>/MIGRATION.gz
 

	
 
For general information please read:
 
/usr/share/doc/ampache-<version>/README.gz
x11-drivers/ati-drivers/Manifest
Show inline comments
 
new file 100644
 
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
x11-drivers/ati-drivers/ati-drivers-8.723.1.ebuild
Show inline comments
 
new file 100644
 
# 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
 
	!<x11-base/xorg-server-1.7
 
	x11-libs/libXinerama
 
	x11-libs/libXrandr
 
	multilib? ( app-emulation/emul-linux-x86-xlibs )
 
"
 

	
 
DEPEND="${RDEPEND}
 
	x11-proto/inputproto
 
	x11-proto/xf86miscproto
 
	x11-proto/xf86vidmodeproto
 
	x11-proto/xineramaproto
 
"
 

	
 
EMULTILIB_PKG="true"
 

	
 
S="${WORKDIR}/fglrx-installer-${PV}"
 

	
 
# QA Silencing
 
QA_TEXTRELS="
 
	usr/lib*/opengl/ati/lib/libGL.so.1.2
 
	usr/lib*/libatiadlxx.so
 
	usr/lib*/xorg/modules/glesx.so
 
	usr/lib*/libaticaldd.so
 
	usr/lib*/dri/fglrx_dri.so
 
"
 

	
 
QA_EXECSTACK="
 
	opt/bin/atiode
 
	opt/bin/amdcccle
 
	usr/lib*/opengl/ati/lib/libGL.so.1.2
 
	usr/lib*/dri/fglrx_dri.so
 
"
 

	
 
QA_WX_LOAD="
 
	usr/lib*/opengl/ati/lib/libGL.so.1.2
 
	usr/lib*/dri/fglrx_dri.so
 
"
 

	
 
QA_PRESTRIPPED="
 
	usr/lib\(32\|64\)\?/libXvBAW.so.1.0
 
	usr/lib\(32\|64\)\?/opengl/ati/lib/libGL.so.1.2
 
	usr/lib\(32\|64\)\?/xorg/modules/glesx.so
 
	usr/lib\(32\|64\)\?/libAMDXvBA.so.1.0
 
	usr/lib\(32\|64\)\?/libaticaldd.so
 
	usr/lib\(32\|64\)\?/dri/fglrx_dri.so
 
"
 

	
 
QA_SONAME="
 
	usr/lib\(32\|64\)\?/libatiadlxx.so
 
	usr/lib\(32\|64\)\?/libaticalcl.so
 
	usr/lib\(32\|64\)\?/libaticaldd.so
 
	usr/lib\(32\|64\)\?/libaticalrt.so
 
"
 

	
 
_check_kernel_config() {
 
	if ! kernel_is 2 6; then
 
		eerror "You need a 2.6 linux kernel to compile against!"
 
		die "No 2.6 Kernel found"
 
	fi
 

	
 
	if kernel_is ge 2 6 25 && linux_chkconfig_present PREEMPT_RCU; then
 
		eerror "${P} is incompatible with RCU preemption (bug #223281)."
 
		eerror "Please disable it:"
 
		eerror "    CONFIG_PREEMT_RCU=n"
 
		eerror "in /usr/src/linux/.config or"
 
		eerror "    Processor type and features  --->"
 
		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
 
}
0 comments (0 inline, 0 general)