aboutsummaryrefslogtreecommitdiffstats
path: root/recipes/libopie
diff options
context:
space:
mode:
authorDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
committerDenys Dmytriyenko <denis@denix.org>2009-03-17 14:32:59 -0400
commit709c4d66e0b107ca606941b988bad717c0b45d9b (patch)
tree37ee08b1eb308f3b2b6426d5793545c38396b838 /recipes/libopie
parentfa6cd5a3b993f16c27de4ff82b42684516d433ba (diff)
downloadopenembedded-709c4d66e0b107ca606941b988bad717c0b45d9b.tar.gz
rename packages/ to recipes/ per earlier agreement
See links below for more details: http://thread.gmane.org/gmane.comp.handhelds.openembedded/21326 http://thread.gmane.org/gmane.comp.handhelds.openembedded/21816 Signed-off-by: Denys Dmytriyenko <denis@denix.org> Acked-by: Mike Westerhof <mwester@dls.net> Acked-by: Philip Balister <philip@balister.org> Acked-by: Khem Raj <raj.khem@gmail.com> Acked-by: Marcin Juszkiewicz <hrw@openembedded.org> Acked-by: Koen Kooi <koen@openembedded.org> Acked-by: Frans Meulenbroeks <fransmeulenbroeks@gmail.com>
Diffstat (limited to 'recipes/libopie')
-rw-r--r--recipes/libopie/libopie2.inc99
-rw-r--r--recipes/libopie/libopie2/c7x0_w100_disable.patch20
-rw-r--r--recipes/libopie/libopie2/exports.patch11
-rw-r--r--recipes/libopie/libopie2/gcc-syntax-fix.patch13
-rw-r--r--recipes/libopie/libopie2/h4000_and_default_rot.patch25
-rw-r--r--recipes/libopie/libopie2/include.pro36
-rw-r--r--recipes/libopie/libopie2/ipaq-2.6-sys-class-backlight-support.patch144
-rw-r--r--recipes/libopie/libopie2/ipaq-lcd-rotate-cleanup.patch39
-rw-r--r--recipes/libopie/libopie2/ipaq_rotate_fix.patch23
-rw-r--r--recipes/libopie/libopie2/keyboardless-buttonmap.patch176
-rw-r--r--recipes/libopie/libopie2/libopie2-tosa.patch14
-rw-r--r--recipes/libopie/libopie2/odevice.h-jornada-fixup.patch13
-rw-r--r--recipes/libopie/libopie2/odevice_jornada.cpp-fixup.patch57
-rw-r--r--recipes/libopie/libopie2/poodle-2.6-hotkeys.patch16
-rw-r--r--recipes/libopie/libopie2/spitz_rotate_fix.patch23
-rw-r--r--recipes/libopie/libopie2/wireless.patch12
-rw-r--r--recipes/libopie/libopie2_1.2.2.bb9
-rw-r--r--recipes/libopie/libopie2_1.2.3.bb13
-rw-r--r--recipes/libopie/libopie2_1.2.4.bb10
-rw-r--r--recipes/libopie/libopie2_cvs.bb17
20 files changed, 770 insertions, 0 deletions
diff --git a/recipes/libopie/libopie2.inc b/recipes/libopie/libopie2.inc
new file mode 100644
index 0000000000..a5a5cef0bd
--- /dev/null
+++ b/recipes/libopie/libopie2.inc
@@ -0,0 +1,99 @@
+DESCRIPTION = "Base libraries for the Open Palmtop Integrated Environment"
+HOMEPAGE = "http://opie.handhelds.org"
+SECTION = "opie/libs"
+LICENSE = "LGPL"
+I18N_FILES = "libopiecore2.ts libopiesecurity2.ts"
+DEPENDS = "libqpe-opie libpcap sqlite3 bluez-libs"
+PROVIDES = "libopiecore2 libopiedb2 libopiemm2 libopiesecurity2 libopienet2 libopiepim2 libopieui2"
+
+S = "${WORKDIR}/libopie2"
+
+inherit opie
+
+PARALLEL_MAKE = ""
+
+#FIXME: Add machine specific bits here. Best use oe_machinstall and read from a given file
+
+EXTRA_QMAKEVARS_POST += 'DEFINES+=OPIE_NEW_MALLOC \
+ DEFINES+="OPIE_SOUND_FRAGMENT_SHIFT=16" \
+ DEFINES+=OPIE_NO_ERASE_RECT_HACKFIX \
+ LIBS+=-L${S} LIBS+="-Wl,-rpath-link,${S}"'
+
+ENABLE_SQL_PIM_BACKEND = "y"
+# NOTE: Machines with too little amount of flash may want to disable SQL backend support
+# (known not to fit in 16MB). Also, XML backend is still used by default, as SQL doesn't
+# support sync yet.
+#ENABLE_SQL_PIM_BACKEND_smallmachine = "n"
+EXTRA_QMAKEVARS_PRE += 'ENABLE_SQL_PIM_BACKEND=${ENABLE_SQL_PIM_BACKEND}'
+
+MODULES = "opiecore opiedb opiemm opienet opiepim opiesecurity opieui opiebluez"
+LIBS = "core2 db2 mm2 net2 pim2 security2 ui2 bluez2"
+PRIVATE = "opimcontactsortvector.h opimoccurrence_p.h opimsortvector.h opimtodosortvector.h vobject_p.h opimeventsortvector.h"
+
+# uclibc doesn't have backtrace()
+python __anonymous () {
+ import bb, re
+ if (re.match('.*uclibc$', bb.data.getVar('TARGET_OS', d, 1)) != None):
+ bb.data.setVar("EXTRA_QMAKEVARS_POST_append", " DEFINES+=OPIE_NO_BACKTRACE ", d)
+}
+
+do_compile() {
+ install -d ${STAGING_INCDIR}/opie2
+ install -d ${STAGING_INCDIR}/opie2/private
+ for module in ${MODULES}
+ do
+ cd $module
+ for i in `find . -name "*.h"`
+ do
+ install -m 0644 $i ${STAGING_INCDIR}/opie2/`basename $i`
+ done
+ cd ..
+ done
+
+ for header in ${PRIVATE}
+ do
+ install -m 0644 opiepim/private/$header ${STAGING_INCDIR}/opie2/private/
+ done
+
+ oe_runmake MOC=${STAGING_BINDIR_NATIVE}/moc UIC=${STAGING_BINDIR_NATIVE}/uic DESTDIR=${S}
+}
+
+do_stage() {
+ for f in ${LIBS}
+ do
+ oe_libinstall -so libopie$f ${STAGING_LIBDIR}/
+ done
+ install -m 0644 ${WORKDIR}/include.pro ${OPIEDIR}/include.pro
+ # special case for uic-created header files
+ install -m 0644 opiepim/ui/opimrecurrencebase.h ${STAGING_INCDIR}/opie2/
+ install -m 0644 opieui/otimepickerbase.h ${STAGING_INCDIR}/opie2/
+ install -m 0644 opiepim/core/opimtemplatebase.h ${STAGING_INCDIR}/opie2/
+}
+
+do_install() {
+ install -d ${D}${libdir}
+ for f in ${LIBS}
+ do
+ oe_libinstall -so libopie$f ${D}${libdir}
+ done
+}
+
+PACKAGES_prepend = " libopiecore2 libopiedb2 libopiesecurity2 libopiemm2 libopienet2 libopiepim2 libopieui2 libopiebluez2 "
+
+DESCRIPTION_libopiecore2 = "Opie Development Platform 1.x Core Library"
+FILES_libopiecore2 = "${libdir}/libopiecore2.so.*"
+DESCRIPTION_libopiedb2 = "Opie Development Platform 1.x Database Library"
+FILES_libopiedb2 = "${libdir}/libopiedb2.so.*"
+DESCRIPTION_libopiemm2 = "Opie Development Platform 1.x Multimedia Library"
+FILES_libopiemm2 = "${libdir}/libopiemm2.so.*"
+DESCRIPTION_libopienet2 = "Opie Development Platform 1.x Network Library"
+FILES_libopienet2 = "${libdir}/libopienet2.so.*"
+DESCRIPTION_libopiepim2 = "Opie Development Platform 1.x PIM Library"
+FILES_libopiepim2 = "${libdir}/libopiepim2.so.*"
+DESCRIPTION_libopieui2 = "Opie Development Platform 1.x User Interface Library"
+FILES_libopieui2 = "${libdir}/libopieui2.so.*"
+DESCRIPTION_libopiesecurity2 = "Opie Development Platform 1.x Security Library"
+FILES_libopiesecurity2 = "${libdir}/libopiesecurity2.so.*"
+DESCRIPTION_libopiebluez2 = "Opie Development Platform 1.x Bluetooth Library"
+FILES_libopiebluez2 = "${libdir}/libopiebluez2.so.*"
+
diff --git a/recipes/libopie/libopie2/c7x0_w100_disable.patch b/recipes/libopie/libopie2/c7x0_w100_disable.patch
new file mode 100644
index 0000000000..959c56c443
--- /dev/null
+++ b/recipes/libopie/libopie2/c7x0_w100_disable.patch
@@ -0,0 +1,20 @@
+--- libopie2/opiecore/device/odevice_zaurus.cpp 10 Aug 2008 09:07:32 -0000 1.55
++++ libopie2/opiecore/device/odevice_zaurus.cpp 20 Sep 2008 23:56:20 -0000
+@@ -313,14 +313,14 @@
+ }
+
+ // set default qte driver
+- switch( d->m_model )
++/* switch( d->m_model )
+ {
+ case Model_Zaurus_SLC7x0:
+ d->m_qteDriver = "W100";
+ break;
+- default:
++ default:*/
+ d->m_qteDriver = "Transformed";
+- }
++// }
+
+ m_leds[0] = Led_Off;
+
diff --git a/recipes/libopie/libopie2/exports.patch b/recipes/libopie/libopie2/exports.patch
new file mode 100644
index 0000000000..2ff06287be
--- /dev/null
+++ b/recipes/libopie/libopie2/exports.patch
@@ -0,0 +1,11 @@
+--- libopie2/opiecore/ostorageinfo.h.org 2007-03-09 11:20:17.000000000 +0000
++++ libopie2/opiecore/ostorageinfo.h 2007-03-08 23:43:56.000000000 +0000
+@@ -35,7 +35,7 @@
+ namespace Opie {
+ namespace Core {
+
+-class OStorageInfo : public StorageInfo
++class Q_EXPORT OStorageInfo : public StorageInfo
+ {
+ Q_OBJECT
+
diff --git a/recipes/libopie/libopie2/gcc-syntax-fix.patch b/recipes/libopie/libopie2/gcc-syntax-fix.patch
new file mode 100644
index 0000000000..12b64d7d37
--- /dev/null
+++ b/recipes/libopie/libopie2/gcc-syntax-fix.patch
@@ -0,0 +1,13 @@
+diff --git a/opiedb/osqldriver.h b/opiedb/osqldriver.h
+index 492b8dd..29fbfd6 100644
+--- a/opiedb/osqldriver.h
++++ b/opiedb/osqldriver.h
+@@ -77,7 +77,7 @@ public:
+ /**
+ * Get a list of tables
+ */
+- virtual OSQLTable::ValueList tables() const = 0l;
++ virtual OSQLTable::ValueList tables() const = 0;
+ virtual bool sync();
+
+
diff --git a/recipes/libopie/libopie2/h4000_and_default_rot.patch b/recipes/libopie/libopie2/h4000_and_default_rot.patch
new file mode 100644
index 0000000000..c10160d0b8
--- /dev/null
+++ b/recipes/libopie/libopie2/h4000_and_default_rot.patch
@@ -0,0 +1,25 @@
+--- libopie2/opiecore/device/odevice_ipaq.cpp.org 2007-09-09 02:44:41.000000000 +0300
++++ libopie2/opiecore/device/odevice_ipaq.cpp 2007-11-09 12:01:56.000000000 +0200
+@@ -178,6 +178,10 @@
+ d->m_model = Model_iPAQ_HX4700;
+ else if ( d->m_modelstr == "H4000" )
+ d->m_model = Model_iPAQ_H4xxx;
++ else if ( d->m_modelstr == "H4100" )
++ d->m_model = Model_iPAQ_H4xxx;
++ else if ( d->m_modelstr == "H4300" )
++ d->m_model = Model_iPAQ_H4xxx;
+
+ else
+ d->m_model = Model_Unknown;
+@@ -198,8 +202,10 @@
+ case Model_iPAQ_H36xx:
+ case Model_iPAQ_H37xx:
+ case Model_iPAQ_H39xx:
+- default:
+ d->m_rotation = Rot270;
++ break;
++ default:
++ d->m_rotation = Rot0;
+ break;
+
+ }
diff --git a/recipes/libopie/libopie2/include.pro b/recipes/libopie/libopie2/include.pro
new file mode 100644
index 0000000000..c76634a239
--- /dev/null
+++ b/recipes/libopie/libopie2/include.pro
@@ -0,0 +1,36 @@
+# we don't want to modify subdir .pro's
+!contains( TEMPLATE, subdirs ) {
+# if it's already a lib, we ignore it
+!contains( TEMPLATE, lib ) {
+
+ contains( CONFIG, quick-app ) {
+ message ( Building a quicklaunch application )
+ TEMPLATE = lib
+ CONFIG += plugin
+ DEFINES += OPIE_APP_INTERFACE
+ DEFINES += QUICKAPP_NAME="\"$${TARGET}\""
+
+ system ( touch visibility_qmake_test.c )
+ # Test if the compiler supports visibility
+ system ( $$(CC) -fvisibility=hidden -c -o visibility_qmake_test.o visibility_qmake_test.c ) {
+ message ( "Your compiler does support visibility, we will use it" )
+ DEFINES += GCC_SUPPORTS_VISIBILITY
+ QMAKE_CFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
+ QMAKE_CXXFLAGS += -fvisibility=hidden -fvisibility-inlines-hidden
+ system ( rm visibility_qmake_test.o )
+ }
+ system ( rm visibility_qmake_test.c )
+
+ }
+
+ !contains ( CONFIG, quick-app ) {
+ message( Building a standalone application )
+ TEMPLATE = app
+ DEFINES -= OPIE_APP_INTERFACE
+ DEFINES += QUICKAPP_NAME="\"$${TARGET}\""
+ }
+}
+}
+
+DEFINES += OPIE_NEW_MALLOC
+DEFINES += OPIE_NO_ERASE_RECT_HACKFIX
diff --git a/recipes/libopie/libopie2/ipaq-2.6-sys-class-backlight-support.patch b/recipes/libopie/libopie2/ipaq-2.6-sys-class-backlight-support.patch
new file mode 100644
index 0000000000..4095502c32
--- /dev/null
+++ b/recipes/libopie/libopie2/ipaq-2.6-sys-class-backlight-support.patch
@@ -0,0 +1,144 @@
+Index: libopie2/opiecore/device/odevice_ipaq.cpp
+===================================================================
+RCS file: /cvs/opie/libopie2/opiecore/device/odevice_ipaq.cpp,v
+retrieving revision 1.26
+diff -u -r1.26 odevice_ipaq.cpp
+--- libopie2/opiecore/device/odevice_ipaq.cpp 2 Aug 2006 19:12:39 -0000 1.26
++++ libopie2/opiecore/device/odevice_ipaq.cpp 11 Oct 2006 00:46:38 -0000
+@@ -408,45 +408,19 @@
+ if ( bright < 0 )
+ bright = 0;
+
+- QString cmdline;
+-
+- switch ( model()) {
+- case Model_iPAQ_H191x:
+- case Model_iPAQ_H4xxx:
+- {
+- QDir sysClass( "/sys/class/backlight/pxafb/" );
+- sysClass.setFilter(QDir::Dirs);
+- int fd;
+- if ( sysClass.exists() ) {
+- QString sysClassPath = sysClass.absFilePath( "/sys/class/backlight/pxafb/power" );
+- fd = ::open( sysClassPath, O_WRONLY | O_NONBLOCK );
+- if ( fd ) {
+- char buf[10];
+- buf[0] = bright ? 0 : 4;
+- buf[1] = '\0';
+- res = ( ::write( fd, &buf[0], 2 ) == 0 );
+- ::close( fd );
+- }
+- sysClassPath = sysClass.absFilePath( "/sys/class/backlight/pxafb/brightness" );
+- fd = ::open( sysClassPath, O_WRONLY | O_NONBLOCK );
+- if ( fd ) {
+- char buf[100];
+- int len = ::snprintf( &buf[0], sizeof buf, "%d", bright );
+- res = ( ::write( fd, &buf[0], len ) == 0 );
+- ::close( fd );
+- }
+- }
+- }
+- break;
+-
+- case Model_iPAQ_HX4700:
+- cmdline = QString::fromLatin1( "echo %1 > /sys/class/backlight/w100fb/brightness" ).arg( bright );
+- // No Global::shellQuote as we gurantee it to be sane
+- res = ( ::system( QFile::encodeName(cmdline) ) == 0 );
+- break;
+-
+-
+- default:
++ QDir sysClass( "/sys/class/backlight/" );
++ sysClass.setFilter(QDir::Dirs);
++ if ( sysClass.exists() && sysClass.count() > 2 ) {
++ QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/brightness" );
++ int fd = ::open( sysClassPath, O_WRONLY|O_NONBLOCK );
++ if ( fd ) {
++ char buf[100];
++ int val = bright * displayBrightnessResolution() / 255;
++ int len = ::snprintf( &buf[0], sizeof buf, "%d", val );
++ res = ( ::write( fd, &buf[0], len ) == 0 );
++ ::close( fd );
++ }
++ } else {
+ if (( fd = ::open ( "/dev/touchscreen/0", O_WRONLY )) >= 0 ) {
+ FLITE_IN bl;
+ bl. mode = 1;
+@@ -456,11 +430,28 @@
+ ::close ( fd );
+ }
+ }
++
+ return res;
+ }
+
+ int iPAQ::displayBrightnessResolution() const
+ {
++ int res = 16;
++
++ QDir sysClass( "/sys/class/backlight/" );
++ sysClass.setFilter(QDir::Dirs);
++ if ( sysClass.exists() && sysClass.count() > 2 ) {
++ QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/max_brightness" );
++ int fd = ::open( sysClassPath, O_RDONLY|O_NONBLOCK );
++ if ( fd ) {
++ char buf[100];
++ if ( ::read( fd, &buf[0], sizeof buf ) )
++ ::sscanf( &buf[0], "%d", &res );
++ ::close( fd );
++ }
++ return res;
++ }
++
+ switch ( model()) {
+ case Model_iPAQ_H31xx:
+ case Model_iPAQ_H36xx:
+@@ -489,27 +480,22 @@
+
+ QString cmdline;
+
+- if ( model() == Model_iPAQ_H191x ) {
+- QDir sysClass( "/sys/class/lcd/pxafb/" );
+- sysClass.setFilter(QDir::Dirs);
+- if ( sysClass.exists() ) {
+- QString sysClassPath = sysClass.absFilePath( "/sys/class/lcd/pxafb/power" );
+- int fd = ::open( sysClassPath, O_WRONLY | O_NONBLOCK );
+- if ( fd ) {
+- char buf[10];
+- buf[0] = on ? 0 : 4;
+- buf[1] = '\0';
+- res = ( ::write( fd, &buf[0], 2 ) == 0 );
+- ::close( fd );
+- }
+- }
+- return res;
++ QDir sysClass( "/sys/class/lcd/" );
++ sysClass.setFilter(QDir::Dirs);
++ if ( sysClass.exists() && sysClass.count() > 2 ) {
++ QString sysClassPath = sysClass.absFilePath( sysClass[2] + "/power" );
++ int fd = ::open( sysClassPath, O_WRONLY|O_NONBLOCK );
++ if ( fd ) {
++ char buf[10];
++ buf[0] = on ? 0 : 4;
++ buf[1] = '\0';
++ res = ( ::write( fd, &buf[0], 2 ) == 0 );
++ ::close( fd );
++ }
+ } else {
+- return OAbstractMobileDevice::setDisplayStatus(on);
++ res = OAbstractMobileDevice::setDisplayStatus(on);
+ }
+
+- res = ( ::system( QFile::encodeName(cmdline) ) == 0 );
+-
+ return res;
+ }
+
+@@ -517,6 +503,7 @@
+ {
+ switch (model()) {
+ case Model_iPAQ_H191x:
++ case Model_iPAQ_H22xx:
+ case Model_iPAQ_H4xxx:
+ return false;
+ default:
diff --git a/recipes/libopie/libopie2/ipaq-lcd-rotate-cleanup.patch b/recipes/libopie/libopie2/ipaq-lcd-rotate-cleanup.patch
new file mode 100644
index 0000000000..735663f343
--- /dev/null
+++ b/recipes/libopie/libopie2/ipaq-lcd-rotate-cleanup.patch
@@ -0,0 +1,39 @@
+Index: libopie2/opiecore/device/odevice_ipaq.cpp
+===================================================================
+--- libopie2.orig/opiecore/device/odevice_ipaq.cpp 2007-02-05 21:40:33.000000000 +0000
++++ libopie2/opiecore/device/odevice_ipaq.cpp 2007-02-05 21:51:43.000000000 +0000
+@@ -317,24 +317,20 @@
+ break;
+ }
+
+- // Rotate cursor keys 180 or 270
++ // QT has strange screen coordinate system, so depending
++ // on native device screen orientation, we need to rotate cursor keys
+ case Key_Left :
+ case Key_Right:
+ case Key_Up :
+ case Key_Down : {
+- if (( d->m_model == Model_iPAQ_H31xx ) ||
+- ( d->m_model == Model_iPAQ_H38xx )) {
+- newkeycode = Key_Left + ( keycode - Key_Left + 2 ) % 4;
+- }
+- // Rotate the cursor keys by 270
+- // keycode - Key_Left = position of the button starting from left clockwise
+- // add the rotation to it and modolo. No we've the original offset
+- // add the offset to the Key_Left key
+- if (( d->m_model == Model_iPAQ_H5xxx ) ||
+- ( d->m_model == Model_iPAQ_H191x ) ||
+- ( d->m_model == Model_iPAQ_H4xxx ) ||
+- ( d->m_model == Model_iPAQ_H1940 ))
+- newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
++ int quarters;
++ switch (d->m_rotation) {
++ case Rot0: quarters = 3/*270deg*/; break;
++ case Rot90: quarters = 2/*270deg*/; break;
++ case Rot180: quarters = 1/*270deg*/; break;
++ case Rot270: quarters = 0/*270deg*/; break;
++ }
++ newkeycode = Key_Left + ( keycode - Key_Left + quarters ) % 4;
+ break;
+ }
+
diff --git a/recipes/libopie/libopie2/ipaq_rotate_fix.patch b/recipes/libopie/libopie2/ipaq_rotate_fix.patch
new file mode 100644
index 0000000000..9dfdb4fbf7
--- /dev/null
+++ b/recipes/libopie/libopie2/ipaq_rotate_fix.patch
@@ -0,0 +1,23 @@
+--- libopie2/opiecore/device/odevice_ipaq.cpp 2008-05-26 16:33:01.000000000 +0100
++++ libopie2/opiecore/device/odevice_ipaq.cpp 2008-05-26 16:33:40.000000000 +0100
+@@ -331,16 +331,10 @@
+ case Key_Down : {
+ int quarters;
+ switch (d->m_rotation) {
+- case Rot0: quarters = 3/*270deg*/; break;
+- case Rot90: quarters = 2/*270deg*/; break;
+- case Rot180: quarters = 1/*270deg*/; break;
+- case Rot270: quarters = 0/*270deg*/; break;
+- }
+- if( d->m_model == Model_iPAQ_H22xx ) {
+- // FIXME: there's something screwed with the keycodes being sent on h2200. I have
+- // added a temporary workaround for this here, but the bug should be fixed properly
+- // later in the right place. - Paul Eggleton 25/07/2007
+- quarters = 0;
++ case Rot0: quarters = 0/*0deg*/; break;
++ case Rot90: quarters = 1/*90deg*/; break;
++ case Rot180: quarters = 2/*180deg*/; break;
++ case Rot270: quarters = 3/*270deg*/; break;
+ }
+ newkeycode = Key_Left + ( keycode - Key_Left + quarters ) % 4;
+ break;
diff --git a/recipes/libopie/libopie2/keyboardless-buttonmap.patch b/recipes/libopie/libopie2/keyboardless-buttonmap.patch
new file mode 100644
index 0000000000..288f28a68a
--- /dev/null
+++ b/recipes/libopie/libopie2/keyboardless-buttonmap.patch
@@ -0,0 +1,176 @@
+Index: libopie2/opiecore/device/odevice_ipaq.cpp
+===================================================================
+RCS file: /cvs/opie/libopie2/opiecore/device/odevice_ipaq.cpp,v
+retrieving revision 1.26
+diff -u -r1.26 odevice_ipaq.cpp
+--- libopie2/opiecore/device/odevice_ipaq.cpp 2 Aug 2006 19:12:39 -0000 1.26
++++ libopie2/opiecore/device/odevice_ipaq.cpp 10 Oct 2006 15:07:21 -0000
+@@ -84,76 +84,68 @@
+ #define LED_ON OD_IOW( 'f', 5, LED_IN )
+ #define FLITE_ON OD_IOW( 'f', 7, FLITE_IN )
+
++#define Model_Keyboardless_2_6 (Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx)
++
+ struct i_button ipaq_buttons [] = {
+- { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx,
++
++ // Common button map for all keyboardless devices with 2.6 kernel
++ { Model_Keyboardless_2_6,
+ Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
+ "devicebuttons/ipaq_calendar",
+ "datebook", "nextView()",
+ "today", "raise()" },
+- { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H22xx | Model_iPAQ_HX4700 | Model_iPAQ_H4xxx,
++ { Model_Keyboardless_2_6,
+ Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
+ "devicebuttons/ipaq_contact",
+ "addressbook", "raise()",
+ "addressbook", "beamBusinessCard()" },
+- { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx,
+- Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
+- "devicebuttons/ipaq_menu",
+- "QPE/TaskBar", "toggleMenu()",
+- "QPE/TaskBar", "toggleStartMenu()" },
+- { Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
+- Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"),
++ { Model_Keyboardless_2_6,
++ Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Mail Button"),
+ "devicebuttons/ipaq_mail",
+ "opiemail", "raise()",
+ "opiemail", "newMail()" },
+- { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx | Model_iPAQ_H191x | Model_iPAQ_H4xxx,
++ { Model_Keyboardless_2_6,
+ Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
+ "devicebuttons/ipaq_home",
+ "QPE/Launcher", "home()",
+ "buttonsettings", "raise()" },
+- { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ { Model_Keyboardless_2_6,
+ Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"),
+ "devicebuttons/ipaq_record",
+ "QPE/VMemo", "toggleRecord()",
+ "sound", "raise()" },
+
+- { Model_iPAQ_H191x | Model_iPAQ_H4xxx,
+- Qt::Key_F8, QT_TRANSLATE_NOOP("Button", "Mail Button"),
+- "devicebuttons/ipaq_mail",
+- "opiemail", "raise()",
+- "opiemail", "newMail()" },
+- { Model_iPAQ_H191x | Model_iPAQ_H4xxx,
+- Qt::Key_F7, QT_TRANSLATE_NOOP("Button", "Record Button"),
+- "devicebuttons/ipaq_record",
+- "QPE/VMemo", "toggleRecord()",
+- "sound", "raise()" },
+-
+- //h2200 has different button mapping
+- { Model_iPAQ_H22xx,
+- Qt::Key_NumLock, QT_TRANSLATE_NOOP("Button", "Mail Button"),
+- "devicebuttons/ipaq_mail",
+- "opiemail", "raise()",
+- "opiemail", "newMail()" },
+- { Model_iPAQ_H22xx,
+- Qt::Key_ScrollLock, QT_TRANSLATE_NOOP("Button", "Menu Button"),
++ // Devices with 2.4 kernel
++ { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
++ "devicebuttons/ipaq_calendar",
++ "datebook", "nextView()",
++ "today", "raise()" },
++ { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
++ "devicebuttons/ipaq_contact",
++ "addressbook", "raise()",
++ "addressbook", "beamBusinessCard()" },
++ { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx,
++ Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Menu Button"),
+ "devicebuttons/ipaq_menu",
+ "QPE/TaskBar", "toggleMenu()",
+ "QPE/TaskBar", "toggleStartMenu()" },
+- // and hx4700 has different button mapping still
+- { Model_iPAQ_HX4700,
+- Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Mail Button"),
++ { Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ Qt::Key_F13, QT_TRANSLATE_NOOP("Button", "Mail Button"),
+ "devicebuttons/ipaq_mail",
+ "opiemail", "raise()",
+ "opiemail", "newMail()" },
+- { Model_iPAQ_HX4700,
+- Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Record Button"),
+- "devicebuttons/ipaq_record",
+- "QPE/VMemo", "toggleRecord()",
+- "sound", "raise()" },
+- { Model_iPAQ_HX4700,
+- Qt::Key_Home, QT_TRANSLATE_NOOP("Button", "Home Button"),
++ { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
+ "devicebuttons/ipaq_home",
+ "QPE/Launcher", "home()",
+ "buttonsettings", "raise()" },
++ { Model_iPAQ_H31xx | Model_iPAQ_H36xx | Model_iPAQ_H37xx | Model_iPAQ_H38xx | Model_iPAQ_H39xx | Model_iPAQ_H5xxx,
++ Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"),
++ "devicebuttons/ipaq_record",
++ "QPE/VMemo", "toggleRecord()",
++ "sound", "raise()" },
+
+ };
+
+@@ -346,11 +338,8 @@
+ break;
+ }
+
+- // map Power Button short/long press to F6 for h191x
+- case Key_F6:
+- if ( d->m_model != Model_iPAQ_H191x && d->m_model != Model_iPAQ_H4xxx )
+- break;
+ // map Power Button short/long press to F34/F35
++ case HardKey_Suspend: // Hope we don't have infinite recursion here
+ case Key_SysReq: {
+ if ( isPress ) {
+ if ( m_power_timer )
+Index: libopie2/opiecore/device/odevice_mypal.cpp
+===================================================================
+RCS file: /cvs/opie/libopie2/opiecore/device/odevice_mypal.cpp,v
+retrieving revision 1.4
+diff -u -r1.4 odevice_mypal.cpp
+--- libopie2/opiecore/device/odevice_mypal.cpp 9 Jun 2006 08:27:01 -0000 1.4
++++ libopie2/opiecore/device/odevice_mypal.cpp 10 Oct 2006 15:07:21 -0000
+@@ -60,29 +60,32 @@
+ using namespace Opie::Core;
+ using namespace Opie::Core::Internal;
+
++#define Model_Keyboardless_2_6 (Model_MyPal_716)
++
+ struct m_button mypal_buttons [] = {
+- { Model_MyPal_716,
++ // Common button map for all keyboardless devices with 2.6 kernel
++ { Model_Keyboardless_2_6,
+ Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
+ "devicebuttons/ipaq_calendar",
+ "datebook", "nextView()",
+ "today", "raise()" },
+- { Model_MyPal_716,
++ { Model_Keyboardless_2_6,
+ Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
+ "devicebuttons/ipaq_contact",
+ "addressbook", "raise()",
+ "addressbook", "beamBusinessCard()" },
+- { Model_MyPal_716,
+- Qt::Key_F8, QT_TRANSLATE_NOOP("Button", "Mail Button"),
++ { Model_Keyboardless_2_6,
++ Qt::Key_F11, QT_TRANSLATE_NOOP("Button", "Mail Button"),
+ "devicebuttons/ipaq_mail",
+ "opiemail", "raise()",
+ "opiemail", "newMail()" },
+- { Model_MyPal_716,
++ { Model_Keyboardless_2_6,
+ Qt::Key_F12, QT_TRANSLATE_NOOP("Button", "Home Button"),
+ "devicebuttons/ipaq_home",
+ "QPE/Launcher", "home()",
+ "buttonsettings", "raise()" },
+- { Model_MyPal_716,
+- Qt::Key_F7, QT_TRANSLATE_NOOP("Button", "Record Button"),
++ { Model_Keyboardless_2_6,
++ Qt::Key_F24, QT_TRANSLATE_NOOP("Button", "Record Button"),
+ "devicebuttons/ipaq_record",
+ "QPE/VMemo", "toggleRecord()",
+ "sound", "raise()" },
diff --git a/recipes/libopie/libopie2/libopie2-tosa.patch b/recipes/libopie/libopie2/libopie2-tosa.patch
new file mode 100644
index 0000000000..f62c4643d1
--- /dev/null
+++ b/recipes/libopie/libopie2/libopie2-tosa.patch
@@ -0,0 +1,14 @@
+Index: libopie2/opiecore/device/odevice_zaurus.cpp
+===================================================================
+--- libopie2.orig/opiecore/device/odevice_zaurus.cpp 2008-12-01 06:38:14.670256416 +0300
++++ libopie2/opiecore/device/odevice_zaurus.cpp 2008-12-01 07:47:16.045256590 +0300
+@@ -286,6 +286,9 @@ void Zaurus::init(const QString& cpu_inf
+ case Model_Zaurus_SL5500:
+ m_backlightdev = "/sys/class/backlight/locomo-bl/";
+ break;
++ case Model_Zaurus_SL6000:
++ m_backlightdev = "/sys/class/backlight/tosa_bl/";
++ break;
+ default:
+ m_backlightdev = "/sys/class/backlight/corgi-bl/";
+ }
diff --git a/recipes/libopie/libopie2/odevice.h-jornada-fixup.patch b/recipes/libopie/libopie2/odevice.h-jornada-fixup.patch
new file mode 100644
index 0000000000..6b50f5de79
--- /dev/null
+++ b/recipes/libopie/libopie2/odevice.h-jornada-fixup.patch
@@ -0,0 +1,13 @@
+--- libopie2/opiecore/device/odevice.h_orig 2006-08-06 14:22:16.000000000 +0000
++++ libopie2/opiecore/device/odevice.h 2006-08-06 14:22:58.000000000 +0000
+@@ -73,7 +73,9 @@
+ Model_iPAQ_HX4700 = ( Model_iPAQ | 0x000A ),
+ Model_Jornada = ( 6 << 16 ),
+ Model_Jornada_56x = ( Model_Jornada | 0x0001 ),
+- Model_Jornada_720 = ( Model_Jornada | 0x0002 ),
++ Model_Jornada_6xx = ( Model_Jornada | 0x0003 ),
++ Model_Jornada_7xx = ( Model_Jornada | 0x0002 ),
++
+
+ Model_Zaurus = ( 2 << 16 ),
+
diff --git a/recipes/libopie/libopie2/odevice_jornada.cpp-fixup.patch b/recipes/libopie/libopie2/odevice_jornada.cpp-fixup.patch
new file mode 100644
index 0000000000..8481f0f419
--- /dev/null
+++ b/recipes/libopie/libopie2/odevice_jornada.cpp-fixup.patch
@@ -0,0 +1,57 @@
+--- libopie2/opiecore/device/odevice_jornada.cpp_orig 2006-08-06 14:34:15.000000000 +0000
++++ libopie2/opiecore/device/odevice_jornada.cpp 2006-08-06 14:34:53.000000000 +0000
+@@ -125,9 +125,12 @@
+ if ( model == "HP Jornada 56x" ) {
+ d->m_modelstr = "Jornada 56x";
+ d->m_model = Model_Jornada_56x;
+- } else if ( model == "HP Jornada 720" ) {
+- d->m_modelstr = "Jornada 720";
+- d->m_model = Model_Jornada_720;
++ } else if ( model == "HP Jornada 7xx" ) {
++ d->m_modelstr = "Jornada 7xx";
++ d->m_model = Model_Jornada_7xx;
++ } else if ( model == "HP Jornada 6xx" ) {
++ d->m_modelstr = "Jornada 6xx";
++ d->m_model = Model_Jornada_6xx;
+ }
+
+ d->m_rotation = Rot0; //all Jornadas need this rotation
+@@ -162,7 +165,9 @@
+ {
+ if ( d->m_model == Model_Jornada_56x )
+ return 190;
+- else if (d->m_model == Model_Jornada_720 )
++ else if (d->m_model == Model_Jornada_7xx )
++ return 255;
++ else if (d->m_model == Model_Jornada_6xx )
+ return 255;
+ else
+ return 0;
+@@ -185,10 +190,11 @@
+ cmdline = QString::fromLatin1( "echo 4 > /sys/class/backlight/sa1100fb/power");
+ else
+ cmdline = QString::fromLatin1( "echo 0 > /sys/class/backlight/sa1100fb/power; echo %1 > /sys/class/backlight/sa1100fb/brightness" ).arg( bright );
+- } else if ( d->m_model == Model_Jornada_720 ) {
++ } else if ( d->m_model == Model_Jornada_7xx ) {
+ cmdline = QString::fromLatin1( "echo %1 > /sys/class/backlight/e1356fb/brightness" ).arg( bright );
++ } else if ( d->m_model == Model_Jornada_6xx ) {
++ cmdline = QString::fromLatin1( "echo %1 > /sys/class/backlight/hp680-bl/brightness" ).arg( bright );
+ }
+-
+ // No Global::shellQuote as we gurantee it to be sane
+ res = ( ::system( QFile::encodeName(cmdline) ) == 0 );
+
+@@ -204,9 +210,11 @@
+
+ if ( d->m_model == Model_Jornada_56x ) {
+ cmdline = QString::fromLatin1( "echo %1 > /sys/class/lcd/sa1100fb/power; echo %2 > /sys/class/backlight/sa1100fb/power").arg( on ? "0" : "4" ).arg( on ? "0" : "4" );
+- } else if ( d->m_model == Model_Jornada_720 ) {
++ } else if ( d->m_model == Model_Jornada_7xx ) {
+ cmdline = QString::fromLatin1( "echo %1 > /sys/class/lcd/e1356fb/power").arg( on ? "0" : "4" );
+- }
++ } else if ( d->m_model == Model_Jornada_6xx ) {
++ cmdline = QString::fromLatin1( "echo %1 > /sys/class/lcd/hp680-bl/power").arg( on ? "0" : "4" );
++ }
+
+ res = ( ::system( QFile::encodeName(cmdline) ) == 0 );
+
diff --git a/recipes/libopie/libopie2/poodle-2.6-hotkeys.patch b/recipes/libopie/libopie2/poodle-2.6-hotkeys.patch
new file mode 100644
index 0000000000..748f316a33
--- /dev/null
+++ b/recipes/libopie/libopie2/poodle-2.6-hotkeys.patch
@@ -0,0 +1,16 @@
+--- libopie2/opiecore/device/odevice_zaurus.cpp.orig 2006-05-16 13:53:40.190417936 +0200
++++ libopie2/opiecore/device/odevice_zaurus.cpp 2006-05-16 13:53:56.606922248 +0200
+@@ -61,11 +61,11 @@
+ using namespace Opie::Core::Internal;
+
+ struct z_button z_buttons [] = {
+- { Qt::Key_F9, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
++ { Qt::Key_Control, QT_TRANSLATE_NOOP("Button", "Calendar Button"),
+ "devicebuttons/z_calendar",
+ "datebook", "nextView()",
+ "today", "raise()" },
+- { Qt::Key_F10, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
++ { Qt::Key_Alt, QT_TRANSLATE_NOOP("Button", "Contacts Button"),
+ "devicebuttons/z_contact",
+ "addressbook", "raise()",
+ "addressbook", "beamBusinessCard()" },
diff --git a/recipes/libopie/libopie2/spitz_rotate_fix.patch b/recipes/libopie/libopie2/spitz_rotate_fix.patch
new file mode 100644
index 0000000000..428ec0d4cf
--- /dev/null
+++ b/recipes/libopie/libopie2/spitz_rotate_fix.patch
@@ -0,0 +1,23 @@
+--- libopie2/opiecore/device/odevice_zaurus.cpp 30 Jul 2007 19:10:52 -0000 1.53
++++ libopie2/opiecore/device/odevice_zaurus.cpp 8 Aug 2008 23:15:15 -0000
+@@ -760,9 +760,18 @@
+ case Key_Up :
+ case Key_Down :
+ {
+- if (rotation()==Rot90) {
+- newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
++ if (d->m_model == Model_Zaurus_SLC3000) {
++ // This ensures that the cursor keys work correctly and that the
++ // side wheel works as expected when the screen is flipped over
++ if (rotation() == Rot270)
++ newkeycode = Key_Left + ( keycode - Key_Left + 1 ) % 4;
+ }
++ else {
++ if (rotation()==Rot90)
++ newkeycode = Key_Left + ( keycode - Key_Left + 3 ) % 4;
++ }
++ break;
++
+ }
+ break;
+
diff --git a/recipes/libopie/libopie2/wireless.patch b/recipes/libopie/libopie2/wireless.patch
new file mode 100644
index 0000000000..c0b2fa0f55
--- /dev/null
+++ b/recipes/libopie/libopie2/wireless.patch
@@ -0,0 +1,12 @@
+diff --git a/opienet/onetwork.h b/opienet/onetwork.h
+index b13c7a3..370ad59 100644
+--- a/opienet/onetwork.h
++++ b/opienet/onetwork.h
+@@ -45,6 +45,7 @@
+ // hacky workarounds until we have a true user space wireless.h
+ #include <net/if.h>
+ #define _LINUX_IF_H
++#include <linux/types.h>
+ #include <linux/wireless.h>
+ #ifndef IW_MAX_PRIV_DEF
+ #define IW_MAX_PRIV_DEF 128
diff --git a/recipes/libopie/libopie2_1.2.2.bb b/recipes/libopie/libopie2_1.2.2.bb
new file mode 100644
index 0000000000..8409e4c523
--- /dev/null
+++ b/recipes/libopie/libopie2_1.2.2.bb
@@ -0,0 +1,9 @@
+require ${PN}.inc
+PR = "r2"
+
+SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/libopie2 \
+ file://include.pro \
+ file://odevice.h-jornada-fixup.patch;patch=1 \
+ file://odevice_jornada.cpp-fixup.patch;patch=1"
+
+SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch;patch=1"
diff --git a/recipes/libopie/libopie2_1.2.3.bb b/recipes/libopie/libopie2_1.2.3.bb
new file mode 100644
index 0000000000..d0f9e9e17a
--- /dev/null
+++ b/recipes/libopie/libopie2_1.2.3.bb
@@ -0,0 +1,13 @@
+require ${PN}.inc
+
+PR = "r6"
+
+SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/libopie2 \
+ file://include.pro \
+ file://gcc-syntax-fix.patch;patch=1 \
+ file://h4000_and_default_rot.patch;patch=1 \
+ file://ipaq_rotate_fix.patch;patch=1 \
+ file://spitz_rotate_fix.patch;patch=1 \
+ file://c7x0_w100_disable.patch;patch=1"
+
+SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch;patch=1"
diff --git a/recipes/libopie/libopie2_1.2.4.bb b/recipes/libopie/libopie2_1.2.4.bb
new file mode 100644
index 0000000000..0634ad7d22
--- /dev/null
+++ b/recipes/libopie/libopie2_1.2.4.bb
@@ -0,0 +1,10 @@
+require ${PN}.inc
+
+PR = "r1"
+
+SRC_URI = "${HANDHELDS_CVS};tag=${TAG};module=opie/libopie2 \
+ file://include.pro \
+ file://libopie2-tosa.patch;patch=1 \
+ file://c7x0_w100_disable.patch;patch=1"
+
+SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch;patch=1"
diff --git a/recipes/libopie/libopie2_cvs.bb b/recipes/libopie/libopie2_cvs.bb
new file mode 100644
index 0000000000..c9f11b23e2
--- /dev/null
+++ b/recipes/libopie/libopie2_cvs.bb
@@ -0,0 +1,17 @@
+require ${PN}.inc
+
+PV = "${OPIE_CVS_PV}"
+PR = "r12"
+
+DEFAULT_PREFERENCE = "-1"
+
+SRC_URI = "${HANDHELDS_CVS};module=opie/libopie2 \
+ file://c7x0_w100_disable.patch;patch=1 \
+ file://include.pro"
+
+# Patches merged upstream, keep for reference (for 1.2.2)
+# file://ipaq-lcd-rotate-cleanup.patch;patch=1 \
+# file://exports.patch;patch=1 \
+# file://wireless.patch;patch=1"
+
+SRC_URI_append_poodle = " file://poodle-2.6-hotkeys.patch;patch=1"