diff options
author | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-04 23:02:38 +0100 |
---|---|---|
committer | ghost <andreas.monzner@multimedia-labs.de> | 2008-11-04 23:02:38 +0100 |
commit | 3b1df23ab76f8eed08df29d7fbe5b05026fa2de2 (patch) | |
tree | b79ae9a9da3d60cfc1484ad77d68bb5e09752f73 /packages/tuxbox | |
parent | d7ff3b24ab175ccb1473b5f6244f94af8c56acab (diff) | |
download | openembedded-3b1df23ab76f8eed08df29d7fbe5b05026fa2de2.tar.gz |
Add Tuxcom for 32bpp Framebuffer
Diffstat (limited to 'packages/tuxbox')
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp.bb | 48 | ||||
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp/32bpp.diff | 922 | ||||
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp/add_advanced_rc.diff | 83 | ||||
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp/add_e2_plugin.diff | 66 | ||||
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp/add_font.diff | bin | 0 -> 67589 bytes | |||
-rw-r--r-- | packages/tuxbox/tuxbox-tuxcom-32bpp/makefiles.diff | 499 |
6 files changed, 1618 insertions, 0 deletions
diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp.bb b/packages/tuxbox/tuxbox-tuxcom-32bpp.bb new file mode 100644 index 0000000000..77dd3a6cbb --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp.bb @@ -0,0 +1,48 @@ +DEPENDS = "freetype" +DESCRIPTION = "TuxCom for dreambox 8000/32bit framebuffer" +MAINTAINER = "Sven Karschewski <seddi@i-have-a-dreambox.com>" + +SRC_URI = "cvs://anoncvs@cvs.tuxbox.org/cvs/tuxbox;module=apps/tuxbox/plugins/tuxcom;method=ext \ + file://makefiles.diff;patch=1;pnum=1 \ + file://add_font.diff;patch=1;pnum=1 \ + file://32bpp.diff;patch=1;pnum=1 \ + file://add_e2_plugin.diff;patch=1;pnum=1 \ + file://add_advanced_rc.diff;patch=1;pnum=1" + +SRCDATE = "20060123" +PV = "0.0+cvs${SRCDATE}" +PR = "r0" + +PACKAGES = "${PN}-dbg ${PN}" + +S = "${WORKDIR}/tuxcom" + +CFLAGS_append = " -DHAVE_DREAMBOX_HARDWARE -DDREAMBOX" + +inherit autotools pkgconfig + +bindir = "/usr/bin" +sbindir = "/usr/sbin" + +EXTRA_OECONF = "--with-target=native" + +do_configure_prepend() { + touch ${S}/python/__init__.py +} + +do_install() { + install -d ${D}/etc/tuxcom + install -d ${D}/usr/plugins + install -d ${D}/usr/share/fonts + install -d ${D}/usr/lib/enigma2/python/Plugins/Extensions/Tuxcom + + install -m 0755 ${S}/tuxcom ${D}/usr/plugins/tuxcom + install -m 0644 ${S}/tuxcom.cfg ${D}/etc/tuxcom/tuxcom.cfg + install -m 0644 ${S}/font/pakenham.ttf ${D}/usr/share/fonts/pakenham.ttf + install -m 0644 ${S}/python/__init__.py ${D}/usr/lib/enigma2/python/Plugins/Extensions/Tuxcom/__init__.py + install -m 0644 ${S}/python/plugin.py ${D}/usr/lib/enigma2/python/Plugins/Extensions/Tuxcom/plugin.py +} + +FILES_${PN}-dbg ="/usr/plugins/.debug" +FILES_${PN} = "/etc/tuxcom/tuxcom.cfg /usr/plugins/tuxcom /usr/share/fonts/pakenham.ttf /usr/lib/enigma2/python/Plugins/Extensions/Tuxcom/__init__.py \ + /usr/lib/enigma2/python/Plugins/Extensions/Tuxcom/plugin.py" diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp/32bpp.diff b/packages/tuxbox/tuxbox-tuxcom-32bpp/32bpp.diff new file mode 100644 index 0000000000..54bb4dec3d --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp/32bpp.diff @@ -0,0 +1,922 @@ +diff -u tuxcom_cvs/tuxcom.c tuxcom/tuxcom.c +--- tuxcom_cvs/tuxcom.c 2008-11-03 13:15:00.000000000 +0100 ++++ tuxcom/tuxcom.c 2006-06-29 23:44:21.000000000 +0200 +@@ -27,7 +27,7 @@ + * GetRCCode (Code from Tuxmail) + ******************************************************************************/ + +-#ifndef HAVE_DREAMBOX_HARDWARE ++ + + int GetRCCode(int mode) + { +@@ -63,9 +63,9 @@ + case KEY_GREEN: rccode = RC_GREEN; break; + case KEY_YELLOW: rccode = RC_YELLOW; break; + case KEY_BLUE: rccode = RC_BLUE; break; +- case KEY_HELP: rccode = RC_HELP; break; +- case KEY_SETUP: rccode = RC_DBOX; break; +- case KEY_HOME: rccode = RC_HOME; break; ++ case KEY_INFO: rccode = RC_HELP; break; ++ case KEY_MENU: rccode = RC_DBOX; break; ++ case KEY_EXIT: rccode = RC_HOME; break; + case KEY_POWER: rccode = RC_STANDBY; break; + default: + if( ev.code > 0x7F ) +@@ -118,176 +118,94 @@ + } + } + +- rccode = -1; +- usleep(1000000/100); +- return 0; +-} +- +-#else +- +-int GetRCCode(int mode) +-{ +- static int count = 0; +- //get code +- static unsigned short LastKey = -1; +- static char LastKBCode = 0x00; +- rccode = -1; +- int bytesavail = 0; +- int bytesread = read(rc, &rccode, 2); +- unsigned short tmprc; +- kbcode = 0; +- +- if (bytesread == 2) +- { +- if (read(rc, &tmprc, 2) == 2) +- { +- if (rccode == tmprc && count >= 0) +- count++; +- } +- } +- +- +- // Tastaturabfrage +- ioctl(kb, FIONREAD, &bytesavail); +- if (bytesavail>0) +- { +- char tch[100]; +- if (bytesavail > 99) bytesavail = 99; +- read(kb,tch,bytesavail); +- tch[bytesavail] = 0x00; +- kbcode = tch[0]; +- LastKBCode = kbcode; +- if (bytesavail == 1 && kbcode == 0x1b) { LastKey = RC_HOME ; rccode = -1 ; count = -1; return 1;} // ESC-Taste +- if (bytesavail == 1 && kbcode == '\n') { LastKey = RC_OK ; rccode = -1 ; count = -1; return 1;} // Enter-Taste +- if (bytesavail == 1 && kbcode == '+' ) { LastKey = RC_PLUS ; rccode = -1 ; count = -1; return 1;} +- if (bytesavail == 1 && kbcode == '-' ) { LastKey = RC_MINUS; rccode = -1 ; count = -1; return 1;} +- if (bytesavail >= 3 && tch[0] == 0x1b && tch[1] == 0x5b) +- { +- if (tch[2] == 0x41 ) { kbcode = LastKBCode = 0x00; rccode = RC_UP ; LastKey = rccode; count = -1; return 1; }// Cursortasten +- if (tch[2] == 0x42 ) { kbcode = LastKBCode = 0x00; rccode = RC_DOWN ; LastKey = rccode; count = -1; return 1; }// Cursortasten +- if (tch[2] == 0x43 ) { kbcode = LastKBCode = 0x00; rccode = RC_RIGHT ; LastKey = rccode; count = -1; return 1; }// Cursortasten +- if (tch[2] == 0x44 ) { kbcode = LastKBCode = 0x00; rccode = RC_LEFT ; LastKey = rccode; count = -1; return 1; }// Cursortasten +- if (tch[2] == 0x33 && tch[3] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_MINUS ; LastKey = rccode; count = -1; return 1; }// entf-Taste +- if (tch[2] == 0x32 && tch[3] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_PLUS ; LastKey = rccode; count = -1; return 1; }// einf-Taste +- if (tch[2] == 0x35 && tch[3] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_PLUS ; LastKey = rccode; count = -1; return 1; }// PgUp-Taste +- if (tch[2] == 0x36 && tch[3] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_MINUS ; LastKey = rccode; count = -1; return 1; }// PgDn-Taste +- if (tch[2] == 0x5b && tch[3] == 0x45) { kbcode = LastKBCode = 0x00; rccode = RC_RED ; LastKey = rccode; count = -1; return 1; }// F5-Taste +- if (tch[2] == 0x31 && tch[3] == 0x37 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_GREEN ; LastKey = rccode; count = -1; return 1; }// F6-Taste +- if (tch[2] == 0x31 && tch[3] == 0x38 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_YELLOW ; LastKey = rccode; count = -1; return 1; }// F7-Taste +- if (tch[2] == 0x31 && tch[3] == 0x39 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_BLUE ; LastKey = rccode; count = -1; return 1; }// F8-Taste +- if (tch[2] == 0x32 && tch[3] == 0x30 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_DBOX ; LastKey = rccode; count = -1; return 1; }// F9-Taste +- if (tch[2] == 0x32 && tch[3] == 0x31 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_HELP ; LastKey = rccode; count = -1; return 1; }// F10-Taste +- if (tch[2] == 0x32 && tch[3] == 0x33 && tch[4] == 0x7e) { kbcode = LastKBCode = 0x00; rccode = RC_MUTE ; LastKey = rccode; count = -1; return 1; }// F11-Taste +- } +- if (mode == RC_EDIT) +- { +-/* +- char tmsg[100]; +- int i; +- sprintf(tmsg,"KeyboardCode:avail:%d, char:%c, rccode:%x ",bytesavail,(kbcode == 0x00 ? '*' : kbcode ),rccode); +- for (i = 0; i < bytesavail; i++) sprintf(tmsg,"%s%x",tmsg,tch[i]); +- MessageBox(tmsg,"",NOBUTTON); +-*/ +- LastKey = rccode; +- count = -1; +- switch (rccode) +- { +- case KEY_0: +- case KEY_1: +- case KEY_2: +- case KEY_3: +- case KEY_4: +- case KEY_5: +- case KEY_6: +- case KEY_7: +- case KEY_8: +- case KEY_9: +- // SMS-Style verhindern +- rccode = -1; +- break; +- } +- return 1; +- } +- else if (bytesread <= 0) +- { +- if (kbcode == '0') { kbcode = 0x00;rccode = RC_0 ; LastKey = rccode; return 1;} +- if (kbcode == '1') { kbcode = 0x00;rccode = RC_1 ; LastKey = rccode; return 1;} +- if (kbcode == '2') { kbcode = 0x00;rccode = RC_2 ; LastKey = rccode; return 1;} +- if (kbcode == '3') { kbcode = 0x00;rccode = RC_3 ; LastKey = rccode; return 1;} +- if (kbcode == '4') { kbcode = 0x00;rccode = RC_4 ; LastKey = rccode; return 1;} +- if (kbcode == '5') { kbcode = 0x00;rccode = RC_5 ; LastKey = rccode; return 1;} +- if (kbcode == '6') { kbcode = 0x00;rccode = RC_6 ; LastKey = rccode; return 1;} +- if (kbcode == '7') { kbcode = 0x00;rccode = RC_7 ; LastKey = rccode; return 1;} +- if (kbcode == '8') { kbcode = 0x00;rccode = RC_8 ; LastKey = rccode; return 1;} +- if (kbcode == '9') { kbcode = 0x00;rccode = RC_9 ; LastKey = rccode; return 1;} +- } +- } +- if (bytesread == 2) ++ count=0; ++ if(read(kb, &ev, sizeof(ev)) == sizeof(ev)) + { +- if (rccode == LastKey && LastKBCode != 0x00 && LastKBCode == kbcode) +- { +- return 1; +- } +- LastKBCode = 0x00; +- if (rccode == LastKey) ++ if(ev.value) + { +- if (count < REPEAT_TIMER) ++ if(ev.code == rc_last_key) + { +- if (count >= 0) ++ if (count < REPEAT_TIMER) ++ { + count++; +- rccode = -1; +- return 1; ++ rccode = -1; ++ return 1; ++ } + } +- } +- else +- count = 0; +- LastKey = rccode; +- if ((rccode & 0xFF00) == 0x5C00) +- { +- kbcode = 0; +- switch(rccode) ++ else ++ count = 0; ++ rc_last_key = ev.code; ++ switch(ev.code) + { + case KEY_UP: rccode = RC_UP; break; + case KEY_DOWN: rccode = RC_DOWN; break; + case KEY_LEFT: rccode = RC_LEFT; break; + case KEY_RIGHT: rccode = RC_RIGHT; break; + case KEY_OK: rccode = RC_OK; break; +- case KEY_0: rccode = RC_0; break; +- case KEY_1: rccode = RC_1; break; +- case KEY_2: rccode = RC_2; break; +- case KEY_3: rccode = RC_3; break; +- case KEY_4: rccode = RC_4; break; +- case KEY_5: rccode = RC_5; break; +- case KEY_6: rccode = RC_6; break; +- case KEY_7: rccode = RC_7; break; +- case KEY_8: rccode = RC_8; break; +- case KEY_9: rccode = RC_9; break; + case KEY_RED: rccode = RC_RED; break; + case KEY_GREEN: rccode = RC_GREEN; break; + case KEY_YELLOW: rccode = RC_YELLOW; break; + case KEY_BLUE: rccode = RC_BLUE; break; +- case KEY_VOLUMEUP: rccode = RC_PLUS; break; +- case KEY_VOLUMEDOWN:rccode = RC_MINUS; break; +- case KEY_MUTE: rccode = RC_MUTE; break; +- case KEY_HELP: rccode = RC_HELP; break; +- case KEY_SETUP: rccode = RC_DBOX; break; +- case KEY_HOME: rccode = RC_HOME; break; ++ case KEY_INFO: rccode = RC_HELP; break; ++ case KEY_MENU: rccode = RC_DBOX; break; ++ case KEY_EXIT: rccode = RC_HOME; break; + case KEY_POWER: rccode = RC_STANDBY; break; ++ default: ++ if( ev.code > 0x7F ) ++ { ++ rccode = 0; ++ if( ev.code == 0x110 ) ++ { ++ rccode = RC_ON; ++ } ++ } ++ else ++ { ++ rccode = rctable[ev.code & 0x7F]; ++ } ++ if( rc_last_code == RC_LSHIFT ) ++ { ++ if( ev.code <= 0x56 ) //(sizeof(rcshifttable)/sizeof(int)-1) ++ { ++ rccode = rcshifttable[ev.code]; ++ } ++ } ++ else if( rc_last_code == RC_ALTGR ) ++ { ++ if( ev.code <= 0x56 ) //(sizeof(rcaltgrtable)/sizeof(int)-1) ++ { ++ rccode = rcaltgrtable[ev.code]; ++ } ++ } ++ else if( rc_last_code == RC_ALT ) ++ { ++ if((ev.code >=2) && ( ev.code <= 11 )) ++ { ++ rccode = (ev.code-1) | 0x0200; ++ } ++ } ++// if( !rccode ) ++ { ++// rccode = -1; ++ } ++ + } ++ rc_last_code = rccode; + return 1; + } + else + { +- rccode &= 0x003F; ++ rccode = -1; ++ rc_last_key = KEY_RESERVED; ++ rc_last_code = KEY_RESERVED; + } +- return 0; + } + + rccode = -1; + usleep(1000000/100); + return 0; + } +-#endif ++ + + /****************************************************************************** + * MyFaceRequester +@@ -316,6 +234,8 @@ + FT_Vector kerning; + FT_Error error; + ++ currentchar=currentchar & 0xFF; ++ + if (currentchar == '\r') // display \r in windows edited files + { + if(color != -1) +@@ -331,19 +251,15 @@ + } + //load char + +- if(!(glyphindex = FT_Get_Char_Index(face, currentchar))) ++ if(!(glyphindex = FT_Get_Char_Index(face, (int)currentchar))) + { + printf("TuxCom <FT_Get_Char_Index for Char \"%c\" failed\n", (int)currentchar); + return 0; + } + + +-#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 0 ++ + if((error = FTC_SBit_Cache_Lookup(cache, &desc, glyphindex, &sbit))) +-#else +- FTC_Node anode; +- if((error = FTC_SBitCache_Lookup(cache, &desc, glyphindex, &sbit, &anode))) +-#endif + { + printf("TuxCom <FTC_SBitCache_Lookup for Char \"%c\" failed with Errorcode 0x%.2X>\n", (int)currentchar, error); + return 0; +@@ -376,7 +292,7 @@ + { + if(pitch*8 + 7-bit >= sbit->width) break; /* render needed bits only */ + +- if((sbit->buffer[row * sbit->pitch + pitch]) & 1<<bit) *(lbb + StartX + sx + sbit->left + kerning.x + x + var_screeninfo.xres*(StartY + sy - sbit->top + y)) = color; ++ if((sbit->buffer[row * sbit->pitch + pitch]) & 1<<bit) memcpy(lbb + StartX*4 + sx*4 + (sbit->left + kerning.x + x)*4 + fix_screeninfo.line_length*(StartY + sy - sbit->top + y),bgra[color],4); + + x++; + } +@@ -481,38 +397,36 @@ + void RenderBox(int sx, int sy, int ex, int ey, int mode, int color) + { + int loop; ++ int tx; + if(mode == FILL) + { + for(; sy <= ey; sy++) + { +- memset(lbb + StartX + sx + var_screeninfo.xres*(StartY + sy), color, ex-sx + 1); ++ for(tx=0; tx <= (ex-sx); tx++) ++ { ++ memcpy(lbb + StartX*4 + sx*4 + (tx*4) + fix_screeninfo.line_length*(StartY + sy),bgra[color],4); ++ } + } + } + else + { +- //hor lines +- +- for(loop = sx; loop <= ex; loop++) +- { +- *(lbb + StartX+loop + var_screeninfo.xres*(sy+StartY)) = color; +- *(lbb + StartX+loop + var_screeninfo.xres*(sy+1+StartY)) = color; +- +- *(lbb + StartX+loop + var_screeninfo.xres*(ey-1+StartY)) = color; +- *(lbb + StartX+loop + var_screeninfo.xres*(ey+StartY)) = color; +- } +- +- //ver lines +- +- for(loop = sy; loop <= ey; loop++) +- { +- *(lbb + StartX+sx + var_screeninfo.xres*(loop+StartY)) = color; +- *(lbb + StartX+sx+1 + var_screeninfo.xres*(loop+StartY)) = color; +- +- *(lbb + StartX+ex-1 + var_screeninfo.xres*(loop+StartY)) = color; +- *(lbb + StartX+ex + var_screeninfo.xres*(loop+StartY)) = color; +- } ++ for(loop = sx; loop <= ex; loop++) ++ { ++ memcpy(lbb + StartX*4+loop*4 + fix_screeninfo.line_length*(sy+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+loop*4 + fix_screeninfo.line_length*(sy+1+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+loop*4 + fix_screeninfo.line_length*(ey-1+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+loop*4 + fix_screeninfo.line_length*(ey+StartY), bgra[color], 4); ++ } ++ for(loop = sy; loop <= ey; loop++) ++ { ++ memcpy(lbb + StartX*4+sx*4 + fix_screeninfo.line_length*(loop+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+(sx+1)*4 + fix_screeninfo.line_length*(loop+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+(ex-1)*4 + fix_screeninfo.line_length*(loop+StartY), bgra[color], 4); ++ memcpy(lbb + StartX*4+ex*4 + fix_screeninfo.line_length*(loop+StartY), bgra[color], 4); ++ } + } + } ++ + void SetLanguage() + { + if (langselect == BTN_AUTO) +@@ -540,7 +454,7 @@ + * plugin_exec * + ******************************************************************************/ + +-void plugin_exec(PluginParam *par) ++int main() + { + FT_Error error; + +@@ -552,9 +466,67 @@ + //get params + + +- fb = rc = sx = ex = sy = ey = -1; ++ kb = fb = rc = sx = ex = sy = ey = -1; ++ ++ /* open Framebuffer */ ++ fb=open("/dev/fb/0", O_RDWR); ++ ++ /* open Remote Control */ ++ int cnt=0; ++ while(1) ++ { ++ struct stat s; ++ char tmp[128]; ++ sprintf(tmp, "/dev/input/event%d", cnt); ++ if (stat(tmp, &s)) ++ break; ++ /* open Remote Control */ ++ if ((rc=open(tmp, O_RDONLY)) == -1) ++ { ++ perror("TuxCom <open remote control>"); ++ return 0; ++ } ++ if (ioctl(rc, EVIOCGNAME(128), tmp) < 0) ++ perror("EVIOCGNAME failed"); ++ if (strstr(tmp, "remote control")) ++ break; ++ close(rc); ++ rc=-1; ++ ++cnt; ++ } ++ fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) | O_EXCL | O_NONBLOCK); ++ ++ /* open dream ir keyboard */ ++ cnt=0; ++ while(1) ++ { ++ struct stat s; ++ char tmp[128]; ++ sprintf(tmp, "/dev/input/event%d", cnt); ++ if (stat(tmp, &s)) ++ break; ++ /* open keyboard */ ++ if ((kb=open(tmp, O_RDONLY)) == -1) ++ { ++ perror("TuxCom <open ir keyboard>"); ++ return 0; ++ } ++ if (ioctl(kb, EVIOCGNAME(128), tmp) < 0) ++ perror("EVIOCGNAME failed"); ++ if (strstr(tmp, "dreambox ir keyboard")) ++ break; ++ close(kb); ++ kb=-1; ++ ++cnt; ++ } ++ fcntl(kb, F_SETFL, fcntl(kb, F_GETFL) | O_EXCL | O_NONBLOCK); ++ ++ sx = 50; ++ ex = 670; ++ sy = 50; ++ ey = 526; + +- for(; par; par = par->next) ++/* for(; par; par = par->next) + { + if (!strcmp(par->id, P_ID_FBUFFER)) fb = atoi(par->val); + else if (!strcmp(par->id, P_ID_RCINPUT)) rc = atoi(par->val); +@@ -563,9 +535,7 @@ + else if (!strcmp(par->id, P_ID_OFF_Y)) sy = atoi(par->val); + else if (!strcmp(par->id, P_ID_END_Y)) ey = atoi(par->val); + } +-#ifdef HAVE_DREAMBOX_HARDWARE +- kb=open("/dev/vc/0", O_RDONLY); +-#endif ++*/ + + if(fb == -1 || rc == -1 || sx == -1 || ex == -1 || sy == -1 || ey == -1) + { +@@ -643,17 +613,14 @@ + + use_kerning = FT_HAS_KERNING(face); + +-#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 0 ++ + desc.image_type = ftc_image_mono; +-#else +- desc.flags = FT_LOAD_MONOCHROME; +-#endif + + + + //init backbuffer + +- if(!(lbb = malloc(var_screeninfo.xres*var_screeninfo.yres))) ++ if(!(lbb = malloc(fix_screeninfo.line_length*var_screeninfo.yres))) + { + printf("TuxCom <allocating of Backbuffer failed>\n"); + FTC_Manager_Done(manager); +@@ -661,11 +628,11 @@ + munmap(lfb, fix_screeninfo.smem_len); + return; + } +- memset(lbb, 0, var_screeninfo.xres*var_screeninfo.yres); ++ memset(lbb, 0, fix_screeninfo.line_length*var_screeninfo.yres); + RenderBox(0,0,var_screeninfo.xres,var_screeninfo.yres,FILL,BLACK); + + //open avs +- if((avs = open(AVS, O_RDWR)) == -1) ++/* if((avs = open(AVS, O_RDWR)) == -1) + { + printf("TuxCom <open AVS>"); + return; +@@ -678,7 +645,7 @@ + printf("TuxCom <open SAA>"); + return; + } +- ++*/ + + + //init data +@@ -723,19 +690,15 @@ + + SetLanguage(); + +- ioctl(saa, SAAIOGWSS, &saa_old); +- ioctl(saa, SAAIOSWSS, &saamodes[screenmode]); ++// ioctl(saa, SAAIOGWSS, &saa_old); ++// ioctl(saa, SAAIOSWSS, &saamodes[screenmode]); + // setup screen + RenderFrame(LEFTFRAME); + RenderFrame(RIGHTFRAME); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + printf("TuxCom init successful\n"); + +-#ifdef HAVE_DREAMBOX_HARDWARE +- fcntl(rc, F_SETFL, O_NONBLOCK); +-#else +- fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) &~ O_NONBLOCK); +-#endif ++// fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) &~ O_NONBLOCK); + + int dosave = autosave; + int firstentry = 1; +@@ -762,20 +725,11 @@ + if (strcmp(szP,szPass) != 0) break; + RenderFrame(LEFTFRAME); + RenderFrame(RIGHTFRAME); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + } + } + firstentry = 0; + +-#ifdef HAVE_DREAMBOX_HARDWARE +- if (kbcode != 0) +- { +- if (kbcode == 0x09) // tab +- { +- rccode = (curframe == 1 ? RC_LEFT : RC_RIGHT); +- } +- } +-#endif + switch(rccode) + { + case RC_HELP: +@@ -1332,7 +1286,7 @@ + finfo[curframe].first = finfo[curframe].selected - framerows+1; + RenderFrame(LEFTFRAME); + RenderFrame(RIGHTFRAME); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + + }while(rccode != RC_HOME); + +@@ -1348,12 +1302,14 @@ + munmap(lfb, fix_screeninfo.smem_len); + + //restore videoformat +- ioctl(avs, AVSIOSSCARTPIN8, &fnc_old); +- ioctl(saa, SAAIOSWSS, &saa_old); +- close(avs); +- close(saa); +- +- fcntl(rc, F_SETFL, O_NONBLOCK); ++// ioctl(avs, AVSIOSSCARTPIN8, &fnc_old); ++// ioctl(saa, SAAIOSWSS, &saa_old); ++// close(avs); ++// close(saa); ++ ++// fcntl(rc, F_SETFL, O_NONBLOCK); ++ close(rc); ++ close(kb); + + ClearEntries (LEFTFRAME ); + ClearEntries (RIGHTFRAME); +@@ -1361,9 +1317,6 @@ + ClearMarker (RIGHTFRAME); + ClearZipEntries(LEFTFRAME ); + ClearZipEntries(RIGHTFRAME); +-#ifdef HAVE_DREAMBOX_HARDWARE +- if (kb != -1) close(kb); +-#endif + return; + } + +@@ -1415,7 +1368,7 @@ + RenderString(colorline[colortool[i]*NUM_LANG+language], (viewx/COLORBUTTONS) *i , viewy- FONT_OFFSET_BIG , viewx/COLORBUTTONS, CENTER, SMALL , (i == 2 ? BLACK : WHITE)); + } + if (refresh == YES) +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + + } + +@@ -1701,7 +1654,7 @@ + + RenderBox(viewx/2 + 2* BORDERSIZE , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 + 2* BORDERSIZE +BUTTONWIDTH ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == 1 ? WHITE : GREEN)); + RenderBox(viewx/2 + 2* BORDERSIZE +1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 + 2* BORDERSIZE +BUTTONWIDTH -1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == 1 ? WHITE : GREEN)); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + break; + case 2: + RenderBox(viewx/2 - 4* BORDERSIZE - BUTTONWIDTH - BUTTONWIDTH/2 , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 - 4* BORDERSIZE - BUTTONWIDTH/2 ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == 0 ? WHITE : RED )); +@@ -1712,7 +1665,7 @@ + + RenderBox(viewx/2 + 4* BORDERSIZE + BUTTONWIDTH/2 , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 + 4* BORDERSIZE +BUTTONWIDTH + BUTTONWIDTH/2 ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == 2 ? BLACK : YELLOW )); + RenderBox(viewx/2 + 4* BORDERSIZE + BUTTONWIDTH/2 +1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 + 4* BORDERSIZE +BUTTONWIDTH + BUTTONWIDTH/2-1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == 2 ? BLACK : YELLOW )); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + break; + case 4: + RenderBox(viewx/2 - 4* BORDERSIZE - BUTTONWIDTH - BUTTONWIDTH/2 , viewy-(viewy-he)/2 - 4*BORDERSIZE - 2*BUTTONHEIGHT , viewx/2 - 4* BORDERSIZE - BUTTONWIDTH/2 ,viewy-(viewy-he)/2- 4* BORDERSIZE - BUTTONHEIGHT , GRID, (sel == 0 ? WHITE : RED )); +@@ -1729,7 +1682,7 @@ + + RenderBox(viewx/2 + 2* BORDERSIZE , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 + 4* BORDERSIZE +BUTTONWIDTH + BUTTONWIDTH/2 ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == 4 ? WHITE : BLUE2 )); + RenderBox(viewx/2 + 2* BORDERSIZE +1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 + 4* BORDERSIZE +BUTTONWIDTH + BUTTONWIDTH/2-1,viewy-(viewy-he)/2- 2* BORDERSIZE -1, GRID, (sel == 4 ? WHITE : BLUE2 )); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + break; + } + drawsel = 0; +@@ -1812,7 +1765,7 @@ + RenderBox((viewx-BUTTONWIDTH)/2 , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT, viewx - (viewx-BUTTONWIDTH)/2,viewy-(viewy-he)/2 - 2*BORDERSIZE , GRID, WHITE); + break; + } +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + } + + /****************************************************************************** +@@ -1953,7 +1906,7 @@ + RenderBox(viewx/2 - 2* BORDERSIZE -BUTTONWIDTH+1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 - 2* BORDERSIZE -1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == YES ? WHITE : RED )); + RenderBox(viewx/2 + 2* BORDERSIZE , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 + 2* BORDERSIZE +BUTTONWIDTH ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == NO ? WHITE : GREEN)); + RenderBox(viewx/2 + 2* BORDERSIZE +1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 + 2* BORDERSIZE +BUTTONWIDTH-1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == NO ? WHITE : GREEN)); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + drawsel = 0; + } + +@@ -2097,7 +2050,7 @@ + RenderBox(viewx/2 - 2* BORDERSIZE -BUTTONWIDTH+1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 - 2* BORDERSIZE -1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == YES ? WHITE : RED )); + RenderBox(viewx/2 + 2* BORDERSIZE , viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT , viewx/2 + 2* BORDERSIZE +BUTTONWIDTH ,viewy-(viewy-he)/2- 2* BORDERSIZE , GRID, (sel == NO ? WHITE : GREEN)); + RenderBox(viewx/2 + 2* BORDERSIZE +1, viewy-(viewy-he)/2 - 2*BORDERSIZE - BUTTONHEIGHT+1, viewx/2 + 2* BORDERSIZE +BUTTONWIDTH-1,viewy-(viewy-he)/2- 2* BORDERSIZE-1, GRID, (sel == NO ? WHITE : GREEN)); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + drawsel = 0; + } + if (end == YES) +@@ -2156,7 +2109,7 @@ + } + RenderString(szEntry,(viewx-wi)/2+ BORDERSIZE , (viewy-he)/2 + BORDERSIZE + (i+1)*FONTHEIGHT_BIG-FONT_OFFSET , wi, CENTER, BIG, WHITE); + } +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + int drawsel = 0; + do{ + GetRCCode(RC_NORMAL); +@@ -2175,8 +2128,8 @@ + return; + case 2: + screenmode = 1-screenmode; +- ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screenmode]); +- ioctl(saa, SAAIOSWSS, &saamodes[screenmode]); ++ //ioctl(avs, AVSIOSSCARTPIN8, &fncmodes[screenmode]); ++ //ioctl(saa, SAAIOSWSS, &saamodes[screenmode]); + return; + case 3: + SetPassword(); +@@ -2275,7 +2228,7 @@ + } + RenderString(szEntry,(viewx-wi)/2+ BORDERSIZE , (viewy-he)/2 + BORDERSIZE + (i+1)*FONTHEIGHT_BIG-FONT_OFFSET , wi, CENTER, BIG, WHITE); + } +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + drawsel = 0; + } + }while(1); +@@ -2372,7 +2325,7 @@ + colortool[3] = (pass == NO ? ACTION_INSTEXT : ACTION_NOACTION); + RenderMenuLine(-1, EDIT); + +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + + do{ + while (GetRCCode(RC_EDIT) == 0); +@@ -2688,7 +2641,7 @@ + colortool[3] = ACTION_NOACTION; + } + RenderMenuLine(-1, EDIT); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + }while(1); + + rccode = -1; +@@ -3741,7 +3694,7 @@ + p = p1+1; + } + pStop = p; +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + while (GetRCCode(RC_NORMAL) == 0); + switch (rccode) + { +@@ -4160,7 +4113,7 @@ + } + RenderBox( viewx/6 +3*BORDERSIZE, BORDERSIZE+FONTHEIGHT_BIG , viewx/6 + 4*BORDERSIZE, viewy-MENUSIZE , FILL, WHITE); + RenderBox( viewx/3 -2*BORDERSIZE, BORDERSIZE+FONTHEIGHT_BIG , viewx/3 - BORDERSIZE, viewy-MENUSIZE , FILL, WHITE); +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + while (GetRCCode(RC_NORMAL) == 0); + switch (rccode) + { +@@ -4666,7 +4619,7 @@ + + if (row > framerows - 2) + { +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + while (1) + { + GetRCCode(RC_NORMAL); +@@ -4687,7 +4640,7 @@ + } + if (row>0) + { +- memcpy(lfb, lbb, var_screeninfo.xres*var_screeninfo.yres); ++ memcpy(lfb, lbb, fix_screeninfo.line_length*var_screeninfo.yres); + while (1) + { + GetRCCode(RC_NORMAL); +@@ -4773,10 +4726,10 @@ + finfo[LEFTFRAME].sort = SORT_UP; + finfo[RIGHTFRAME].sort = SORT_UP; + +- fp = fopen( CONFIGDIR "/tuxcom.conf", "r" ); ++ fp = fopen( "/etc/tuxbox/tuxcom.conf", "r" ); + if ( !fp ) + { +- printf("tuxcom: could not open " CONFIGDIR "/tuxcom.conf !!!\n"); ++ printf("tuxcom: could not open /etc/tuxbox/tuxcom.conf !!!\n"); + } + else + { +@@ -4890,10 +4843,10 @@ + FILE *fp; + + +- fp = fopen( CONFIGDIR "/tuxcom.conf", "w" ); ++ fp = fopen( "/etc/tuxbox/tuxcom.conf", "w" ); + if ( !fp ) + { +- printf("tuxcom: could not open " CONFIGDIR "/tuxcom.conf !!!\n"); ++ printf("tuxcom: could not open /etc/tuxbox/tuxcom.conf !!!\n"); + } + else + { +diff -u tuxcom_cvs/tuxcom.h tuxcom/tuxcom.h +--- tuxcom_cvs/tuxcom.h 2008-11-03 13:15:00.000000000 +0100 ++++ tuxcom/tuxcom.h 2006-06-29 23:44:25.000000000 +0200 +@@ -22,7 +22,7 @@ + Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA + */ + +-#include <config.h> ++//#include <config.h> + #include <errno.h> + #include <locale.h> + #include <fcntl.h> +@@ -37,10 +37,10 @@ + #include <sys/mman.h> + #include <sys/dir.h> + #include <sys/stat.h> +-#include <plugin.h> ++//#include <plugin.h> + +-#include <dbox/avs_core.h> +-#include <dbox/saa7126_core.h> ++//#include <dbox/avs_core.h> ++//#include <dbox/saa7126_core.h> + + #include <netinet/in.h> + #include <netdb.h> +@@ -53,12 +53,10 @@ + #include FT_CACHE_SMALL_BITMAPS_H + + +-#ifndef HAVE_DREAMBOX_HARDWARE + #include <linux/input.h> +-#endif + +-#define AVS "/dev/dbox/avs0" +-#define SAA "/dev/dbox/saa0" ++//#define AVS "/dev/dbox/avs0" ++//#define SAA "/dev/dbox/saa0" + + #define MENUROWS 10 + #define MENUITEMS 10 +@@ -80,64 +78,6 @@ + #define MSG_VERSION "Tuxbox Commander Version 1.13\n" + #define MSG_COPYRIGHT "© dbluelle 2004-2005" + +-#ifdef HAVE_DREAMBOX_HARDWARE +- +-//rc codes +-#define KEY_0 0x5C00 +-#define KEY_1 0x5C01 +-#define KEY_2 0x5C02 +-#define KEY_3 0x5C03 +-#define KEY_4 0x5C04 +-#define KEY_5 0x5C05 +-#define KEY_6 0x5C06 +-#define KEY_7 0x5C07 +-#define KEY_8 0x5C08 +-#define KEY_9 0x5C09 +-#define KEY_POWER 0x5C0C +-#define KEY_UP 0x5C0E +-#define KEY_DOWN 0x5C0F +-#define KEY_VOLUMEUP 0x5C16 +-#define KEY_VOLUMEDOWN 0x5C17 +-#define KEY_HOME 0x5C20 +-#define KEY_SETUP 0x5C27 +-#define KEY_MUTE 0x5C28 +-#define KEY_RED 0x5C2D +-#define KEY_RIGHT 0x5C2E +-#define KEY_LEFT 0x5C2F +-#define KEY_OK 0x5C30 +-#define KEY_BLUE 0x5C3B +-#define KEY_YELLOW 0x5C52 +-#define KEY_GREEN 0x5C55 +-#define KEY_HELP 0x5C82 +- +-#define RC_0 0x00 +-#define RC_1 0x01 +-#define RC_2 0x02 +-#define RC_3 0x03 +-#define RC_4 0x04 +-#define RC_5 0x05 +-#define RC_6 0x06 +-#define RC_7 0x07 +-#define RC_8 0x08 +-#define RC_9 0x09 +-#define RC_RIGHT 0x0A +-#define RC_LEFT 0x0B +-#define RC_UP 0x0C +-#define RC_DOWN 0x0D +-#define RC_OK 0x0E +-#define RC_MUTE 0x0F +-#define RC_STANDBY 0x10 +-#define RC_GREEN 0x11 +-#define RC_YELLOW 0x12 +-#define RC_RED 0x13 +-#define RC_BLUE 0x14 +-#define RC_PLUS 0x15 +-#define RC_MINUS 0x16 +-#define RC_HELP 0x17 +-#define RC_DBOX 0x18 +-#define RC_HOME 0x1F +- +-#else + // rc codes + #define RC_0 '0' + #define RC_1 '1' +@@ -247,12 +187,13 @@ + #define KBC_PAGEDOWN 0x0C + #define KBC_RETURN 0x0D + +-#endif ++ + + + //freetype stuff + +-#define FONT FONTDIR "/pakenham.ttf" ++//#define FONT "/usr/share/fonts/md_khmurabi_10.ttf" ++#define FONT "/usr/share/fonts/pakenham.ttf" + // if font is not in usual place, we look here: + #define FONT2 "/var/tuxbox/config/enigma/fonts/pakenham.ttf" + +@@ -265,11 +206,7 @@ + FTC_Manager manager; + FTC_SBitCache cache; + FTC_SBit sbit; +-#if FREETYPE_MAJOR == 2 && FREETYPE_MINOR == 0 + FTC_Image_Desc desc; +-#else +-FTC_ImageTypeRec desc; +-#endif + FT_Face face; + FT_UInt prev_glyphindex; + FT_Bool use_kerning; +@@ -296,6 +233,14 @@ + struct fb_fix_screeninfo fix_screeninfo; + struct fb_var_screeninfo var_screeninfo; + ++unsigned char bgra[][4] = { ++"\x00\x00\x00\x00", "\xFF\xFF\xFF\xFF", "\x00\x00\x00\xFF", "\x80\x00\x00\xFF", ++"\xFF\x80\x00\xFF", "\x00\xC0\xFF\xFF", "\x00\xD0\x00\xFF", "\x00\xE8\xE8\xFF", ++"\x00\x00\xFF\xFF", "\xB0\xB0\xB0\xFF", "\x00\xFF\x00\xFF", "\x50\x50\x50\xFF", ++"\x80\x00\x00\xC0", "\x50\x50\x50\xC0", "\xFF\x40\x00\xFf" }; ++ ++ ++ + unsigned short rd[] = {0xFF<<8, 0x00<<8, 0x00<<8, 0x00<<8, 0xFF<<8, 0x00<<8, 0xE8<<8, 0xFF<<8, 0xb0<<8, 0x00<<8, 0x50<<8, 0x00<<8, 0x50<<8, 0x00<<8}; + unsigned short gn[] = {0xFF<<8, 0x00<<8, 0x00<<8, 0x80<<8, 0xC0<<8, 0xd0<<8, 0xE8<<8, 0x00<<8, 0xb0<<8, 0xff<<8, 0x50<<8, 0x00<<8, 0x50<<8, 0x40<<8}; + unsigned short bl[] = {0xFF<<8, 0x00<<8, 0x80<<8, 0xFF<<8, 0x00<<8, 0x00<<8, 0x00<<8, 0x00<<8, 0xb0<<8, 0x00<<8, 0x50<<8, 0x80<<8, 0x50<<8, 0xff<<8}; +@@ -306,9 +251,7 @@ + int trans_map [] = {BLUE1,BLUE_TRANSP,TRANSP}; + int trans_map_mark[] = {GRAY2,GRAY_TRANSP,GRAY_TRANSP}; + +-#ifndef HAVE_DREAMBOX_HARDWARE + struct input_event ev; +-#endif + + unsigned short rccode; + char kbcode; +@@ -338,8 +281,8 @@ + char szPass[20]; + long commandsize; + +-int fncmodes[] = {AVS_FNCOUT_EXT43, AVS_FNCOUT_EXT169}; +-int saamodes[] = {SAA_WSS_43F, SAA_WSS_169F}; ++//int fncmodes[] = {AVS_FNCOUT_EXT43, AVS_FNCOUT_EXT169}; ++//int saamodes[] = {SAA_WSS_43F, SAA_WSS_169F}; + + FILE *conf; + int language, langselect, autosave; diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp/add_advanced_rc.diff b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_advanced_rc.diff new file mode 100644 index 0000000000..62f589f77e --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_advanced_rc.diff @@ -0,0 +1,83 @@ +--- tuxcom/tuxcom.c 2006-06-29 23:44:21.000000000 +0200 ++++ tuxcom/tuxcom.c 2008-10-22 22:34:16.000000000 +0200 +@@ -36,7 +36,8 @@ + struct input_event ev; + static __u16 rc_last_key = KEY_RESERVED; + static __u16 rc_last_code = KEY_RESERVED; +- if(read(rc, &ev, sizeof(ev)) == sizeof(ev)) ++ if ((read(rc[0], &ev, sizeof(ev)) == sizeof(ev)) || ++ (rc[1] != -1 && read(rc[1], &ev, sizeof(ev)) == sizeof(ev))) + { + if(ev.value) + { +@@ -466,14 +467,16 @@ + //get params + + +- kb = fb = rc = sx = ex = sy = ey = -1; ++ kb = fb = sx = ex = sy = ey = -1; + + /* open Framebuffer */ + fb=open("/dev/fb/0", O_RDWR); + + /* open Remote Control */ +- int cnt=0; +- while(1) ++ int cnt=0, rc_num=0; ++ rc[0]=rc[1]=-1; ++ ++ while(rc_num < 2) + { + struct stat s; + char tmp[128]; +@@ -481,20 +484,20 @@ + if (stat(tmp, &s)) + break; + /* open Remote Control */ +- if ((rc=open(tmp, O_RDONLY)) == -1) ++ if ((rc[rc_num]=open(tmp, O_RDONLY | O_EXCL | O_NONBLOCK)) == -1) + { + perror("TuxCom <open remote control>"); + return 0; + } +- if (ioctl(rc, EVIOCGNAME(128), tmp) < 0) ++ if (ioctl(rc[rc_num], EVIOCGNAME(128), tmp) < 0) + perror("EVIOCGNAME failed"); +- if (strstr(tmp, "remote control")) +- break; +- close(rc); +- rc=-1; ++ if (!strstr(tmp, "remote control")) ++ close(rc[rc_num]); ++ else ++ ++rc_num; + ++cnt; + } +- fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) | O_EXCL | O_NONBLOCK); ++// fcntl(rc, F_SETFL, fcntl(rc, F_GETFL) | O_EXCL | O_NONBLOCK); + + /* open dream ir keyboard */ + cnt=0; +@@ -1308,7 +1311,10 @@ + // close(saa); + + // fcntl(rc, F_SETFL, O_NONBLOCK); +- close(rc); ++ if (rc[0] != -1) ++ close(rc[0]); ++ if (rc[1] != -1) ++ close(rc[1]); + close(kb); + + ClearEntries (LEFTFRAME ); +--- tuxcom/tuxcom.h 2006-06-29 23:44:25.000000000 +0200 ++++ tuxcom/tuxcom.h 2008-10-22 22:29:15.000000000 +0200 +@@ -259,7 +259,7 @@ + //some data + + int avs, saa, fnc_old, saa_old, screenmode; +-int rc, fb, kb; ++int rc[2], fb, kb; + int sx, ex, sy, ey; + int PosX, PosY, StartX, StartY, FrameWidth, NameWidth, SizeWidth; + int curframe, cursort, curvisibility; diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp/add_e2_plugin.diff b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_e2_plugin.diff new file mode 100644 index 0000000000..5f7a08e7af --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_e2_plugin.diff @@ -0,0 +1,66 @@ +diff -Naur tuxcom_cvs/configure.ac tuxcom/configure.ac +--- tuxcom/configure.ac 2008-11-03 14:19:50.000000000 +0100 ++++ tuxcom/configure.ac 2008-11-03 14:20:00.329914467 +0100 +@@ -16,3 +16,4 @@ + + AC_OUTPUT(Makefile) + AC_OUTPUT(font/Makefile) ++AC_OUTPUT(python/Makefile) +--- tuxcom/Makefile.am 2008-11-03 14:18:28.000000000 +0100 ++++ tuxcom/Makefile.am 2008-11-03 14:18:52.353917804 +0100 +@@ -1,6 +1,6 @@ + INCLUDES = -I$(top_srcdir)/include + +-SUBDIRS = font ++SUBDIRS = font python + + bin_PROGRAMS = tuxcom + +diff -Naur tuxcom_cvs/python/Makefile.am tuxcom/python/Makefile.am +--- tuxcom_cvs/python/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ tuxcom/python/Makefile.am 2008-11-03 13:56:54.425916639 +0100 +@@ -0,0 +1,5 @@ ++installdir = $(LIBDIR)/enigma2/python/Plugins/Extensions/Tuxcom ++ ++install_DATA = \ ++ plugin.py \ ++ __init__.py +diff -Naur tuxcom_cvs/python/plugin.py tuxcom/python/plugin.py +--- tuxcom_cvs/python/plugin.py 1970-01-01 01:00:00.000000000 +0100 ++++ tuxcom/python/plugin.py 2008-11-03 14:22:15.705918505 +0100 +@@ -0,0 +1,35 @@ ++from enigma import * ++from Screens.Screen import Screen ++from Plugins.Plugin import PluginDescriptor ++ ++class TuxComStarter(Screen): ++ skin = """ ++ <screen position="1,1" size="1,1" title="TuxCom" > ++ </screen>""" ++ ++ def __init__(self, session, args = None): ++ self.skin = TuxComStarter.skin ++ Screen.__init__(self, session) ++ self.container=eConsoleAppContainer() ++ self.container.appClosed.append(self.finished) ++ self.runapp() ++ ++ def runapp(self): ++ eDBoxLCD.getInstance().lock() ++ eRCInput.getInstance().lock() ++ fbClass.getInstance().lock() ++ if self.container.execute("/usr/plugins/tuxcom"): ++ self.finished(-1) ++ ++ def finished(self,retval): ++ fbClass.getInstance().unlock() ++ eRCInput.getInstance().unlock() ++ eDBoxLCD.getInstance().unlock() ++ self.close() ++ ++def main(session, **kwargs): ++ session.open(TuxComStarter) ++ ++def Plugins(**kwargs): ++ return PluginDescriptor(name="TuxCom", description="TuxBox Commander", where = PluginDescriptor.WHERE_PLUGINMENU, fnc=main) ++ diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp/add_font.diff b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_font.diff Binary files differnew file mode 100644 index 0000000000..b04e441dd0 --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp/add_font.diff diff --git a/packages/tuxbox/tuxbox-tuxcom-32bpp/makefiles.diff b/packages/tuxbox/tuxbox-tuxcom-32bpp/makefiles.diff new file mode 100644 index 0000000000..40524cf7a1 --- /dev/null +++ b/packages/tuxbox/tuxbox-tuxcom-32bpp/makefiles.diff @@ -0,0 +1,499 @@ +--- tuxcom_cvs/Makefile.am 2008-11-03 15:29:58.993914127 +0100 ++++ tuxcom/Makefile.am 2008-11-03 15:32:42.677915776 +0100 +@@ -1,22 +1,15 @@ ++INCLUDES = -I$(top_srcdir)/include + +-AM_CPPFLAGS = \ +- @FREETYPE_CFLAGS@ \ +- -I$(top_srcdir)/include ++SUBDIRS = font + +-noinst_LTLIBRARIES = tuxcom.la ++bin_PROGRAMS = tuxcom + +-#tuxcom_la_CFLAGS = -DDREAMBOX ++tuxcom_SOURCES = tuxcom.c + +-tuxcom_la_SOURCES = tuxcom.c ++tuxcom_LDADD = @FREETYPE_LIBS@ + +-tuxcom_la_LIBADD = \ +- @FREETYPE_LIBS@ +- ++install_DATA = tuxcom.cfg + +-tuxcom_la_LDFLAGS = -rpath $(PLUGINDIR) -module -avoid-version ++AM_CFLAGS=$(CFLAGS) @FREETYPE_CFLAGS@ + +-install-exec-local: +- install -d $(DESTDIR)$(PLUGINDIR) +- install -d $(DESTDIR)$(CONFIGDIR) +- $(LIBTOOL) --mode=install install tuxcom.la $(DESTDIR)$(PLUGINDIR) +- install -m 0644 $(srcdir)/tuxcom.cfg $(DESTDIR)$(PLUGINDIR) ++installdir = $(CONFIGDIR)/tuxcom +--- tuxcom_cvs/acinclude.m4 1970-01-01 01:00:00.000000000 +0100 ++++ tuxcom/acinclude.m4 2006-03-04 02:45:15.000000000 +0100 +@@ -0,0 +1,434 @@ ++AC_DEFUN(TUXBOX_APPS,[ ++AM_CONFIG_HEADER(config.h) ++AM_MAINTAINER_MODE ++ ++INSTALL="$INSTALL -p" ++ ++AC_GNU_SOURCE ++AC_SYS_LARGEFILE ++ ++AC_ARG_WITH(target, ++ [ --with-target=TARGET target for compilation [[native,cdk]]], ++ [TARGET="$withval"],[TARGET="native"]) ++ ++AC_ARG_WITH(targetprefix, ++ [ --with-targetprefix=PATH prefix relative to target root (only applicable in cdk mode)], ++ [targetprefix="$withval"],[targetprefix="NONE"]) ++ ++AC_ARG_WITH(debug, ++ [ --without-debug disable debugging code], ++ [DEBUG="$withval"],[DEBUG="yes"]) ++ ++if test "$DEBUG" = "yes"; then ++ DEBUG_CFLAGS="-g3 -ggdb" ++ AC_DEFINE(DEBUG,1,[Enable debug messages]) ++fi ++ ++AC_MSG_CHECKING(target) ++ ++if test "$TARGET" = "native"; then ++ AC_MSG_RESULT(native) ++ ++ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then ++ CFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS" ++ CXXFLAGS="-Wall -O2 -pipe $DEBUG_CFLAGS" ++ fi ++ if test "$prefix" = "NONE"; then ++ prefix=/usr/local ++ fi ++ targetprefix=$prefix ++elif test "$TARGET" = "cdk"; then ++ AC_MSG_RESULT(cdk) ++ ++ if test "$CC" = "" -a "$CXX" = ""; then ++ CC=powerpc-tuxbox-linux-gnu-gcc CXX=powerpc-tuxbox-linux-gnu-g++ ++ fi ++ if test "$CFLAGS" = "" -a "$CXXFLAGS" = ""; then ++ CFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" ++ CXXFLAGS="-Wall -Os -mcpu=823 -pipe $DEBUG_CFLAGS" ++ fi ++ if test "$prefix" = "NONE"; then ++ AC_MSG_ERROR(invalid prefix, you need to specify one in cdk mode) ++ fi ++ if test "$targetprefix" = "NONE"; then ++ targetprefix="" ++ fi ++ if test "$host_alias" = ""; then ++ cross_compiling=yes ++ host_alias=powerpc-tuxbox-linux-gnu ++ fi ++else ++ AC_MSG_RESULT(none) ++ AC_MSG_ERROR([invalid target $TARGET, choose on from native,cdk]); ++fi ++ ++AC_CANONICAL_BUILD ++AC_CANONICAL_HOST ++ ++check_path () { ++ return $(perl -e "if(\"$1\"=~m#^/usr/(local/)?bin#){print \"0\"}else{print \"1\";}") ++} ++ ++]) ++ ++AC_DEFUN(TUXBOX_APPS_DIRECTORY_ONE,[ ++AC_ARG_WITH($1,[ $6$7 [[PREFIX$4$5]]],[ ++ _$2=$withval ++ if test "$TARGET" = "cdk"; then ++ $2=`eval echo "${targetprefix}$withval"` ++ else ++ $2=$withval ++ fi ++],[ ++ $2="\${$3}$5" ++ if test "$TARGET" = "cdk"; then ++ _$2=`eval echo "${target$3}$5"` ++ else ++ _$2=`eval echo "${$3}$5"` ++ fi ++]) ++ ++dnl automake <= 1.6 don't support this ++dnl AC_SUBST($2) ++AC_DEFINE_UNQUOTED($2,"$_$2",$7) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_DIRECTORY,[ ++AC_REQUIRE([TUXBOX_APPS]) ++ ++if test "$TARGET" = "cdk"; then ++ datadir="\${prefix}/share" ++ tuxboxdatadir="\${prefix}/share/tuxbox" ++ zoneinfodir="\${datadir}/zoneinfo" ++ sysconfdir="\${prefix}/etc" ++ localstatedir="\${prefix}/var" ++ localedir="\${prefix}/var" ++ libdir="\${prefix}/lib" ++ targetdatadir="\${targetprefix}/share" ++ targetsysconfdir="\${targetprefix}/etc" ++ targetlocalstatedir="\${targetprefix}/var" ++ targetlibdir="\${targetprefix}/lib" ++fi ++ ++TUXBOX_APPS_DIRECTORY_ONE(configdir,CONFIGDIR,sysconfdir,/etc,, ++ [--with-configdir=PATH ],[where to find the config files]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(datadir,DATADIR,datadir,/share,, ++ [--with-datadir=PATH ],[where to find data]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(localedir,LOCALEDIR,datadir,/share,/locale, ++ [--with-localedir=PATH ],[where to find locales]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(fontdir,FONTDIR,datadir,/share,/fonts, ++ [--with-fontdir=PATH ],[where to find the fonts]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(gamesdir,GAMESDIR,localstatedir,/var,/tuxbox/games, ++ [--with-gamesdir=PATH ],[where games data is stored]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(libdir,LIBDIR,libdir,/lib,, ++ [--with-libdir=PATH ],[where to find the internal libs]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(plugindir,PLUGINDIR,libdir,/lib,/tuxbox/plugins, ++ [--with-plugindir=PATH ],[where to find the plugins]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(tuxboxdatadir,TUXBOXDATADIR,datadir,/share,, ++ [--with-tuxboxdatadir=PATH],[where to find tuxbox data]) ++ ++TUXBOX_APPS_DIRECTORY_ONE(zoneinfodir,ZONEINFODIR,datadir,/share,/zoneinfo, ++ [--with-zoneinfodir=PATH ],[where to find zoneinfo db]) ++]) ++ ++dnl automake <= 1.6 needs this specifications ++AC_SUBST(CONFIGDIR) ++AC_SUBST(DATADIR) ++AC_SUBST(ZONEINFODIR) ++AC_SUBST(FONTDIR) ++AC_SUBST(GAMESDIR) ++AC_SUBST(LIBDIR) ++AC_SUBST(LOCALEDIR) ++AC_SUBST(PLUGINDIR) ++AC_SUBST(TUXBOXDATADIR) ++dnl end workaround ++ ++AC_DEFUN(TUXBOX_APPS_ENDIAN,[ ++AC_CHECK_HEADERS(endian.h) ++AC_C_BIGENDIAN ++]) ++ ++AC_DEFUN(TUXBOX_APPS_DRIVER,[ ++#AC_ARG_WITH(driver, ++# [ --with-driver=PATH path for driver sources [[NONE]]], ++# [DRIVER="$withval"],[DRIVER=""]) ++# ++#if test -d "$DRIVER/include"; then ++# AC_DEFINE(HAVE_DBOX2_DRIVER,1,[Define to 1 if you have the dbox2 driver sources]) ++#else ++# AC_MSG_ERROR([can't find driver sources]) ++#fi ++ ++#AC_SUBST(DRIVER) ++ ++#CPPFLAGS="$CPPFLAGS -I$DRIVER/include" ++]) ++ ++AC_DEFUN([TUXBOX_APPS_DVB],[ ++AC_ARG_WITH(dvbincludes, ++ [ --with-dvbincludes=PATH path for dvb includes [[NONE]]], ++ [DVBINCLUDES="$withval"],[DVBINCLUDES=""]) ++ ++if test "$DVBINCLUDES"; then ++ CPPFLAGS="$CPPFLAGS -I$DVBINCLUDES" ++fi ++ ++AC_CHECK_HEADERS(ost/dmx.h,[ ++ DVB_API_VERSION=1 ++ AC_MSG_NOTICE([found dvb version 1]) ++]) ++ ++if test -z "$DVB_API_VERSION"; then ++AC_CHECK_HEADERS(linux/dvb/version.h,[ ++ AC_LANG_PREPROC_REQUIRE() ++ AC_REQUIRE([AC_PROG_EGREP]) ++ AC_LANG_CONFTEST([AC_LANG_SOURCE([[ ++#include <linux/dvb/version.h> ++version DVB_API_VERSION ++ ]])]) ++ DVB_API_VERSION=`(eval "$ac_cpp conftest.$ac_ext") 2>&AS_MESSAGE_LOG_FD | $EGREP "^version" | sed "s,version\ ,,"` ++ rm -f conftest* ++ ++ AC_MSG_NOTICE([found dvb version $DVB_API_VERSION]) ++]) ++fi ++ ++if test "$DVB_API_VERSION"; then ++ AC_DEFINE(HAVE_DVB,1,[Define to 1 if you have the dvb includes]) ++ AC_DEFINE_UNQUOTED(HAVE_DVB_API_VERSION,$DVB_API_VERSION,[Define to the version of the dvb api]) ++else ++ AC_MSG_ERROR([can't find dvb headers]) ++fi ++]) ++ ++AC_DEFUN(_TUXBOX_APPS_LIB_CONFIG,[ ++AC_PATH_PROG($1_CONFIG,$2,no) ++if test "$$1_CONFIG" != "no"; then ++ if test "$TARGET" = "cdk" && check_path "$$1_CONFIG"; then ++ AC_MSG_$3([could not find a suitable version of $2]); ++ else ++ $1_CFLAGS=$($$1_CONFIG --cflags) ++ $1_LIBS=$($$1_CONFIG --libs) ++ fi ++fi ++ ++AC_SUBST($1_CFLAGS) ++AC_SUBST($1_LIBS) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG,[ ++_TUXBOX_APPS_LIB_CONFIG($1,$2,ERROR) ++if test "$$1_CONFIG" = "no"; then ++ AC_MSG_ERROR([could not find $2]); ++fi ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_CHECK,[ ++_TUXBOX_APPS_LIB_CONFIG($1,$2,WARN) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_PKGCONFIG,[ ++AC_PATH_PROG(PKG_CONFIG, pkg-config,no) ++if test "$PKG_CONFIG" = "no" ; then ++ AC_MSG_ERROR([could not find pkg-config]); ++fi ++]) ++ ++AC_DEFUN(_TUXBOX_APPS_LIB_PKGCONFIG,[ ++PKG_CHECK_MODULES($1,$2) ++AC_SUBST($1_CFLAGS) ++AC_SUBST($1_LIBS) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG,[ ++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2) ++if test -z "$$1_CFLAGS" ; then ++ AC_MSG_ERROR([could not find package $2]); ++fi ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_PKGCONFIG_CHECK,[ ++_TUXBOX_APPS_LIB_PKGCONFIG($1,$2) ++]) ++ ++AC_DEFUN(_TUXBOX_APPS_LIB_SYMBOL,[ ++AC_CHECK_LIB($2,$3,HAVE_$1="yes",HAVE_$1="no") ++if test "$HAVE_$1" = "yes"; then ++ $1_LIBS=-l$2 ++fi ++ ++AC_SUBST($1_LIBS) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_SYMBOL,[ ++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,ERROR) ++if test "$HAVE_$1" = "no"; then ++ AC_MSG_ERROR([could not find $2]); ++fi ++]) ++ ++AC_DEFUN(TUXBOX_APPS_LIB_CONFIG_SYMBOL,[ ++_TUXBOX_APPS_LIB_SYMBOL($1,$2,$3,WARN) ++]) ++ ++AC_DEFUN(TUXBOX_APPS_GETTEXT,[ ++AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt, ++ [$ac_dir/$ac_word --statistics /dev/null >/dev/null 2>&1 && ++ (if $ac_dir/$ac_word --statistics /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], ++ :) ++AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT) ++ ++AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext, ++ [$ac_dir/$ac_word --omit-header --copyright-holder= /dev/null >/dev/null 2>&1 && ++ (if $ac_dir/$ac_word --omit-header --copyright-holder= /dev/null 2>&1 >/dev/null | grep usage >/dev/null; then exit 1; else exit 0; fi)], ++ :) ++ ++AM_PATH_PROG_WITH_TEST(MSGMERGE, msgmerge,[$ac_dir/$ac_word --update -q /dev/null /dev/null >/dev/null 2>&1],:) ++ ++AC_MSG_CHECKING([whether NLS is requested]) ++AC_ARG_ENABLE(nls, ++ [ --disable-nls do not use Native Language Support], ++ USE_NLS=$enableval, USE_NLS=yes) ++AC_MSG_RESULT($USE_NLS) ++AC_SUBST(USE_NLS) ++ ++if test "$USE_NLS" = "yes"; then ++ AC_CACHE_CHECK([for GNU gettext in libc], gt_cv_func_gnugettext_libc,[ ++ AC_TRY_LINK([ ++ #include <libintl.h> ++ #ifndef __GNU_GETTEXT_SUPPORTED_REVISION ++ #define __GNU_GETTEXT_SUPPORTED_REVISION(major) ((major) == 0 ? 0 : -1) ++ #endif ++ extern int _nl_msg_cat_cntr; ++ extern int *_nl_domain_bindings; ++ ],[ ++ bindtextdomain ("", ""); ++ return (int) gettext ("") + _nl_msg_cat_cntr + *_nl_domain_bindings; ++ ], gt_cv_func_gnugettext_libc=yes, gt_cv_func_gnugettext_libc=no ++ )] ++ ) ++ ++ if test "$gt_cv_func_gnugettext_libc" = "yes"; then ++ AC_DEFINE(ENABLE_NLS, 1, [Define to 1 if translation of program messages to the user's native language is requested.]) ++ gt_use_preinstalled_gnugettext=yes ++ else ++ USE_NLS=no ++ fi ++fi ++ ++if test -f "$srcdir/po/LINGUAS"; then ++ ALL_LINGUAS=$(sed -e "/^#/d" "$srcdir/po/LINGUAS") ++fi ++ ++POFILES= ++GMOFILES= ++UPDATEPOFILES= ++DUMMYPOFILES= ++for lang in $ALL_LINGUAS; do ++ POFILES="$POFILES $srcdirpre$lang.po" ++ GMOFILES="$GMOFILES $srcdirpre$lang.gmo" ++ UPDATEPOFILES="$UPDATEPOFILES $lang.po-update" ++ DUMMYPOFILES="$DUMMYPOFILES $lang.nop" ++done ++INST_LINGUAS= ++if test -n "$ALL_LINGUAS"; then ++ for presentlang in $ALL_LINGUAS; do ++ useit=no ++ if test -n "$LINGUAS"; then ++ desiredlanguages="$LINGUAS" ++ else ++ desiredlanguages="$ALL_LINGUAS" ++ fi ++ for desiredlang in $desiredlanguages; do ++ case "$desiredlang" in ++ "$presentlang"*) useit=yes;; ++ esac ++ done ++ if test $useit = yes; then ++ INST_LINGUAS="$INST_LINGUAS $presentlang" ++ fi ++ done ++fi ++CATALOGS= ++if test -n "$INST_LINGUAS"; then ++ for lang in $INST_LINGUAS; do ++ CATALOGS="$CATALOGS $lang.gmo" ++ done ++fi ++AC_SUBST(POFILES) ++AC_SUBST(GMOFILES) ++AC_SUBST(UPDATEPOFILES) ++AC_SUBST(DUMMYPOFILES) ++AC_SUBST(CATALOGS) ++]) ++ ++dnl backward compatiblity ++AC_DEFUN([AC_GNU_SOURCE], ++[AH_VERBATIM([_GNU_SOURCE], ++[/* Enable GNU extensions on systems that have them. */ ++#ifndef _GNU_SOURCE ++# undef _GNU_SOURCE ++#endif])dnl ++AC_BEFORE([$0], [AC_COMPILE_IFELSE])dnl ++AC_BEFORE([$0], [AC_RUN_IFELSE])dnl ++AC_DEFINE([_GNU_SOURCE]) ++]) ++ ++AC_DEFUN([AC_PROG_EGREP], ++[AC_CACHE_CHECK([for egrep], [ac_cv_prog_egrep], ++ [if echo a | (grep -E '(a|b)') >/dev/null 2>&1 ++ then ac_cv_prog_egrep='grep -E' ++ else ac_cv_prog_egrep='egrep' ++ fi]) ++ EGREP=$ac_cv_prog_egrep ++ AC_SUBST([EGREP]) ++]) ++ ++AC_DEFUN([AC_PYTHON_DEVEL],[ ++ # ++ # should allow for checking of python version here... ++ # ++ AC_REQUIRE([AM_PATH_PYTHON]) ++ ++ # Check for Python include path ++ AC_MSG_CHECKING([for Python include path]) ++ python_path=`echo $PYTHON | sed "s,/bin.*$,,"` ++ for i in "$python_path/include/python$PYTHON_VERSION/" "$python_path/include/python/" "$python_path/" ; do ++ python_path=`find $i -type f -name Python.h -print | sed "1q"` ++ if test -n "$python_path" ; then ++ break ++ fi ++ done ++ python_path=`echo $python_path | sed "s,/Python.h$,,"` ++ AC_MSG_RESULT([$python_path]) ++ if test -z "$python_path" ; then ++ AC_MSG_ERROR([cannot find Python include path]) ++ fi ++ AC_SUBST([PYTHON_CPPFLAGS],[-I$python_path]) ++ ++ # Check for Python library path ++ AC_MSG_CHECKING([for Python library path]) ++ python_path=`echo $PYTHON | sed "s,/bin.*$,,"` ++ for i in "$python_path/lib/python$PYTHON_VERSION/config/" "$python_path/lib/python$PYTHON_VERSION/" "$python_path/lib/python/config/" "$python_path/lib/python/" "$python_path/" ; do ++ python_path=`find $i -type f -name libpython$PYTHON_VERSION.* -print | sed "1q"` ++ if test -n "$python_path" ; then ++ break ++ fi ++ done ++ python_path=`echo $python_path | sed "s,/libpython.*$,,"` ++ AC_MSG_RESULT([$python_path]) ++ if test -z "$python_path" ; then ++ AC_MSG_ERROR([cannot find Python library path]) ++ fi ++ AC_SUBST([PYTHON_LDFLAGS],["-L$python_path -lpython$PYTHON_VERSION"]) ++ # ++ python_site=`echo $python_path | sed "s/config/site-packages/"` ++ AC_SUBST([PYTHON_SITE_PKG],[$python_site]) ++]) +--- tuxcom_cvs/configure.ac 1970-01-01 01:00:00.000000000 +0100 ++++ tuxcom/configure.ac 2008-11-03 14:05:20.449916344 +0100 +@@ -0,0 +1,18 @@ ++# -*- Autoconf -*- ++# Process this file with autoconf to produce a configure script. ++ ++AC_INIT(tuxbox-tuxcom-32bpp,1.13) ++AM_INIT_AUTOMAKE(tuxbox-tuxcom-32bpp,1.13) ++ ++TUXBOX_APPS ++TUXBOX_APPS_DIRECTORY ++TUXBOX_APPS_DVB ++ ++# Checks for programs. ++AC_PROG_CXX ++AC_PROG_CC ++ ++TUXBOX_APPS_LIB_CONFIG(FREETYPE,freetype-config) ++ ++AC_OUTPUT(Makefile) ++AC_OUTPUT(font/Makefile) +diff -Naur tuxcom_cvs/font/Makefile.am tuxcom/font/Makefile.am +--- tuxcom_cvs/font/Makefile.am 1970-01-01 01:00:00.000000000 +0100 ++++ tuxcom/font/Makefile.am 2008-11-03 13:56:11.917916738 +0100 +@@ -0,0 +1,4 @@ ++installdir = $(FONTDIR) ++ ++install_DATA = \ ++ pakenham.ttf |