diff options
-rw-r--r-- | MAINTAINERS | 5 | ||||
-rw-r--r-- | packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig | 1 | ||||
-rw-r--r-- | packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch | 144 | ||||
-rw-r--r-- | packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb | 4 | ||||
-rw-r--r-- | packages/swt/files/swt-hildon.patch | 159 | ||||
-rw-r--r-- | packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb | 4 | ||||
-rw-r--r-- | packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb | 7 | ||||
-rw-r--r-- | packages/swt/swt3.4-gtk_3.3+3.4M5.bb | 12 | ||||
-rw-r--r-- | packages/xorg-lib/libx11_1.1.1.bb | 13 |
9 files changed, 325 insertions, 24 deletions
diff --git a/MAINTAINERS b/MAINTAINERS index f772855b58..e5a9cf1a98 100644 --- a/MAINTAINERS +++ b/MAINTAINERS @@ -268,10 +268,13 @@ Recipes: avahi, libgsmd Person: Robert Schuster 'thebohemian' Mail: robert.schuster@tarent.de, thebohemian@gmx.net Website: http://fsfe.org/en/fellows/robertschuster/weblog -Interests: free software, java, games +Interests: free software, java, games, packages/maemo4/* Distros: chinook-compat Recipes: jikes-native, jikes-initial, ecj-initial, ecj-bootstrap-native Recipes: classpath*, cacao*, jamvm* Recipes: swt-gtk, rxtx, dbus-java, libmatthew, kxml2, xmlpull Recipes: midpath*, logic-analyze Recipes: kobodeluxe +Recipes: hildon-thumbnail, libhildon*, libosso*, mce-dev, libconic +Recipes: libgpsbt, libgpsmgr, osso-gnome-vfs2, osso-gwconnect, osso-ic-oss + diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig index da93637bd6..d752bc8c37 100644 --- a/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig +++ b/packages/linux/linux-handhelds-2.6-2.6.21/h3900/defconfig @@ -1434,3 +1434,4 @@ CONFIG_ZLIB_DEFLATE=y CONFIG_PLIST=y CONFIG_HAS_IOMEM=y CONFIG_HAS_IOPORT=y +CONFIG_ATAGS_PROC=y diff --git a/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch b/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch new file mode 100644 index 0000000000..f3c27d33a8 --- /dev/null +++ b/packages/linux/linux-handhelds-2.6-2.6.21/linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch @@ -0,0 +1,144 @@ +From: Bill Gatliff <bgat@billgatliff.com> +Date: Thu, 31 May 2007 21:02:22 +0000 (+0100) +Subject: [ARM] 4423/1: add ATAGS support +X-Git-Tag: v2.6.23-rc1~1101^2^7~5 +X-Git-Url: http://git.kernel.org/?p=linux%2Fkernel%2Fgit%2Ftorvalds%2Flinux-2.6.git;a=commitdiff_plain;h=9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a + +[ARM] 4423/1: add ATAGS support + +Examines the ATAGS pointer (r2) at boot, and interprets +a nonzero value as a reference to an ATAGS structure. A +suitable ATAGS structure replaces the kernel's command line. + +Signed-off-by: Bill Gatliff <bgat@billgatliff.com> +Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk> +--- + +diff --git a/arch/arm/kernel/head-common.S b/arch/arm/kernel/head-common.S +index a52da0d..024a9cf 100644 +--- a/arch/arm/kernel/head-common.S ++++ b/arch/arm/kernel/head-common.S +@@ -20,7 +20,8 @@ __switch_data: + .long _end @ r7 + .long processor_id @ r4 + .long __machine_arch_type @ r5 +- .long cr_alignment @ r6 ++ .long __atags_pointer @ r6 ++ .long cr_alignment @ r7 + .long init_thread_union + THREAD_START_SP @ sp + + /* +@@ -29,6 +30,7 @@ __switch_data: + * + * r0 = cp#15 control register + * r1 = machine ID ++ * r2 = atags pointer + * r9 = processor ID + */ + .type __mmap_switched, %function +@@ -47,11 +49,12 @@ __mmap_switched: + strcc fp, [r6],#4 + bcc 1b + +- ldmia r3, {r4, r5, r6, sp} ++ ldmia r3, {r4, r5, r6, r7, sp} + str r9, [r4] @ Save processor ID + str r1, [r5] @ Save machine type ++ str r2, [r6] @ Save atags pointer + bic r4, r0, #CR_A @ Clear 'A' bit +- stmia r6, {r0, r4} @ Save control register values ++ stmia r7, {r0, r4} @ Save control register values + b start_kernel + + /* +@@ -215,3 +218,34 @@ ENTRY(lookup_machine_type) + bl __lookup_machine_type + mov r0, r5 + ldmfd sp!, {r4 - r6, pc} ++ ++/* Determine validity of the r2 atags pointer. The heuristic requires ++ * that the pointer be aligned, in the first 16k of physical RAM and ++ * that the ATAG_CORE marker is first and present. Future revisions ++ * of this function may be more lenient with the physical address and ++ * may also be able to move the ATAGS block if necessary. ++ * ++ * r8 = machinfo ++ * ++ * Returns: ++ * r2 either valid atags pointer, or zero ++ * r5, r6 corrupted ++ */ ++ ++ .type __vet_atags, %function ++__vet_atags: ++ tst r2, #0x3 @ aligned? ++ bne 1f ++ ++ ldr r5, [r2, #0] @ is first tag ATAG_CORE? ++ subs r5, r5, #ATAG_CORE_SIZE ++ bne 1f ++ ldr r5, [r2, #4] ++ ldr r6, =ATAG_CORE ++ cmp r5, r6 ++ bne 1f ++ ++ mov pc, lr @ atag pointer is ok ++ ++1: mov r2, #0 ++ mov pc, lr +diff --git a/arch/arm/kernel/head.S b/arch/arm/kernel/head.S +index 41f98b4..7898cbc 100644 +--- a/arch/arm/kernel/head.S ++++ b/arch/arm/kernel/head.S +@@ -29,6 +29,10 @@ + #define KERNEL_RAM_VADDR (PAGE_OFFSET + TEXT_OFFSET) + #define KERNEL_RAM_PADDR (PHYS_OFFSET + TEXT_OFFSET) + ++#define ATAG_CORE 0x54410001 ++#define ATAG_CORE_SIZE ((2*4 + 3*4) >> 2) ++ ++ + /* + * swapper_pg_dir is the virtual address of the initial page table. + * We place the page tables 16K below KERNEL_RAM_VADDR. Therefore, we must +@@ -61,7 +65,7 @@ + * + * This is normally called from the decompressor code. The requirements + * are: MMU = off, D-cache = off, I-cache = dont care, r0 = 0, +- * r1 = machine nr. ++ * r1 = machine nr, r2 = atags pointer. + * + * This code is mostly position independent, so if you link the kernel at + * 0xc0008000, you call this at __pa(0xc0008000). +@@ -85,6 +89,7 @@ ENTRY(stext) + bl __lookup_machine_type @ r5=machinfo + movs r8, r5 @ invalid machine (r5=0)? + beq __error_a @ yes, error 'a' ++ bl __vet_atags + bl __create_page_tables + + /* +diff --git a/arch/arm/kernel/setup.c b/arch/arm/kernel/setup.c +index 650eac1..5be2e98 100644 +--- a/arch/arm/kernel/setup.c ++++ b/arch/arm/kernel/setup.c +@@ -63,6 +63,8 @@ unsigned int processor_id; + unsigned int __machine_arch_type; + EXPORT_SYMBOL(__machine_arch_type); + ++unsigned int __atags_pointer __initdata; ++ + unsigned int system_rev; + EXPORT_SYMBOL(system_rev); + +@@ -780,7 +782,9 @@ void __init setup_arch(char **cmdline_p) + if (mdesc->soft_reboot) + reboot_setup("s"); + +- if (mdesc->boot_params) ++ if (__atags_pointer) ++ tags = phys_to_virt(__atags_pointer); ++ else if (mdesc->boot_params) + tags = phys_to_virt(mdesc->boot_params); + + /* diff --git a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb index ec822284cf..b45d3e0987 100644 --- a/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb +++ b/packages/linux/linux-handhelds-2.6_2.6.21-hh20.bb @@ -1,7 +1,7 @@ SECTION = "kernel" DESCRIPTION = "handhelds.org Linux kernel 2.6 for PocketPCs and other consumer handheld devices." LICENSE = "GPL" -PR = "r11" +PR = "r12" DEFAULT_PREFERENCE = "-1" @@ -10,6 +10,8 @@ DEFAULT_PREFERENCE = "-1" FILESPATH = "${FILE_DIRNAME}/linux-handhelds-2.6-2.6.21/${MACHINE}:${FILE_DIRNAME}/linux-handhelds-2.6-2.6.21" SRC_URI = "${HANDHELDS_CVS};module=linux/kernel26;tag=${@'K' + bb.data.getVar('PV',d,1).replace('.', '-')} \ + file://linux-2.6.git-9d20fdd58e74d4d26dc5216efaaa0f800c23dd3a.patch;patch=1 \ + http://www.rpsys.net/openzaurus/patches/archive/export_atags-r0a.patch;patch=1 \ file://defconfig" require linux-handhelds-2.6.inc diff --git a/packages/swt/files/swt-hildon.patch b/packages/swt/files/swt-hildon.patch index 728dd3070c..5f095e08fc 100644 --- a/packages/swt/files/swt-hildon.patch +++ b/packages/swt/files/swt-hildon.patch @@ -1,15 +1,15 @@ -Index: swt-hildon/swt-source/make_linux.mak +Index: swt/swt-source/make_linux.mak =================================================================== ---- swt-hildon.orig/swt-source/make_linux.mak 2008-01-08 09:35:29.000000000 +0100 -+++ swt-hildon/swt-source/make_linux.mak 2008-01-08 11:35:01.000000000 +0100 +--- swt.orig/swt-source/make_linux.mak 2007-06-20 12:01:22.000000000 +0200 ++++ swt/swt-source/make_linux.mak 2008-02-14 11:32:49.000000000 +0100 @@ -45,8 +45,8 @@ CAIROLIBS = `pkg-config --libs-only-L cairo` -lcairo # Do not use pkg-config to get libs because it includes unnecessary dependencies (i.e. pangoxft-1.0) -GTKCFLAGS = `pkg-config --cflags gtk+-2.0` -GTKLIBS = `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst -+GTKCFLAGS = `pkg-config --cflags gtk+-2.0 hildon-1` -+GTKLIBS = -lhildon-1 `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst ++GTKCFLAGS = `pkg-config --cflags gtk+-2.0 hildon-1 hildon-fm-2` ++GTKLIBS = -lhildon-1 -lhildonfm `pkg-config --libs-only-L gtk+-2.0 gthread-2.0` -lgtk-x11-2.0 -lgthread-2.0 -L/usr/X11R6/lib $(XLIB64) -lXtst CDE_LIBS = -L$(CDE_HOME)/lib -R$(CDE_HOME)/lib -lXt -lX11 -lDtSvc @@ -31,10 +31,10 @@ Index: swt-hildon/swt-source/make_linux.mak -fPIC \ ${SWT_PTR_CFLAGS} LIBS = -shared -fPIC -Index: swt-hildon/swt-source/os.c +Index: swt/swt-source/os.c =================================================================== ---- swt-hildon.orig/swt-source/os.c 2008-01-08 09:35:29.000000000 +0100 -+++ swt-hildon/swt-source/os.c 2008-01-08 09:37:00.000000000 +0100 +--- swt.orig/swt-source/os.c 2007-10-30 16:24:28.000000000 +0100 ++++ swt/swt-source/os.c 2008-02-14 09:32:49.000000000 +0100 @@ -17,6 +17,9 @@ #include "os_structs.h" #include "os_stats.h" @@ -80,7 +80,7 @@ Index: swt-hildon/swt-source/os.c OS_NATIVE_EXIT(env, that, _1gtk_1menu_1bar_1new_FUNC); return rc; } -@@ -15464,8 +15479,22 @@ +@@ -15464,8 +15479,23 @@ (JNIEnv *env, jclass that, jint arg0) { jint rc = 0; @@ -95,6 +95,7 @@ Index: swt-hildon/swt-source/os.c + p = hildon_program_get_instance(); + w = hildon_window_new(); + hildon_program_add_window(p, HILDON_WINDOW(w)); ++/* gtk_window_fullscreen(GTK_WINDOW(w));*/ +/* + } + else @@ -104,10 +105,10 @@ Index: swt-hildon/swt-source/os.c OS_NATIVE_EXIT(env, that, _1gtk_1window_1new_FUNC); return rc; } -Index: swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java +Index: swt/swt-source/org/eclipse/swt/widgets/Menu.java =================================================================== ---- swt-hildon.orig/swt-source/org/eclipse/swt/widgets/Menu.java 2008-01-08 09:34:55.000000000 +0100 -+++ swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java 2008-01-08 09:36:01.000000000 +0100 +--- swt.orig/swt-source/org/eclipse/swt/widgets/Menu.java 2007-05-31 18:03:50.000000000 +0200 ++++ swt/swt-source/org/eclipse/swt/widgets/Menu.java 2008-02-14 09:05:04.000000000 +0100 @@ -259,9 +259,17 @@ if ((style & SWT.BAR) != 0) { handle = OS.gtk_menu_bar_new (); @@ -126,3 +127,137 @@ Index: swt-hildon/swt-source/org/eclipse/swt/widgets/Menu.java } else { handle = OS.gtk_menu_new (); if (handle == 0) error (SWT.ERROR_NO_HANDLES); +Index: swt/swt-source/org/eclipse/swt/internal/gtk/OS.java +=================================================================== +--- swt.orig/swt-source/org/eclipse/swt/internal/gtk/OS.java 2007-10-30 16:06:36.000000000 +0100 ++++ swt/swt-source/org/eclipse/swt/internal/gtk/OS.java 2008-02-14 09:05:04.000000000 +0100 +@@ -471,6 +471,11 @@ + public static final byte[] window_state_event = ascii("window-state-event"); + + /** Properties */ ++ /* Maemo hildon specific - border added due to toolbar */ ++ public static final byte[] toolbar_borders = ascii("toolbar-borders"); ++ /* Maemo hildon specific - border added due to skin graphics area */ ++ public static final byte[] borders = ascii("borders"); ++ + public static final byte[] active = ascii("active"); + public static final byte[] background_gdk = ascii("background-gdk"); + public static final byte[] button_relief = ascii("button-relief"); +Index: swt/swt-source/org/eclipse/swt/widgets/Shell.java +=================================================================== +--- swt.orig/swt-source/org/eclipse/swt/widgets/Shell.java 2007-11-01 11:31:12.000000000 +0100 ++++ swt/swt-source/org/eclipse/swt/widgets/Shell.java 2008-02-14 10:51:37.000000000 +0100 +@@ -1028,6 +1028,14 @@ + int /*long*/ gtk_size_allocate (int /*long*/ widget, int /*long*/ allocation) { + int width = OS.GTK_WIDGET_WIDTH (shellHandle); + int height = OS.GTK_WIDGET_HEIGHT (shellHandle); ++ ++ if (!fullScreen) ++ { ++ GtkBorder b = getMaemoBorder(false); ++ width -= (b.left + b.right); ++ height -= (b.top + b.bottom); ++ } ++ + if (!resized || oldWidth != width || oldHeight != height) { + oldWidth = width; + oldHeight = height; +@@ -1384,14 +1392,53 @@ + if ((state & FOREIGN_HANDLE) != 0) return; + Monitor monitor = getMonitor (); + Rectangle rect = monitor.getClientArea (); ++/* + int width = rect.width * 5 / 8; + int height = rect.height * 5 / 8; ++*/ ++ ++ int width = rect.width; ++ int height = rect.height; ++ ++ // Instead of some arbitrary defaults we can use the complete "application ++ // area" on the maemo platform. ++ if (!fullScreen) ++ { ++ GtkBorder b = getMaemoBorder(false); ++ width -= (b.left + b.right); ++ height -= (b.top + b.bottom); ++ } ++ + if ((style & SWT.RESIZE) != 0) { + OS.gtk_window_resize (shellHandle, width, height); + } + resizeBounds (width, height, false); + } + ++/** ++ * Retrieves the "borders" or "toolbar-borders" property ++ * from the Shell. ++ * ++ * That is neccessary to calculate correct Shell sizes on ++ * the Maemo platform. ++ * ++ */ ++private GtkBorder getMaemoBorder(boolean wantToolbarBorder) ++{ ++ GtkBorder b = new GtkBorder(); ++ ++ int /*long*/ [] result = new int /*long*/[1]; ++ OS.gtk_widget_style_get(shellHandle, ++ (wantToolbarBorder ? OS.toolbar_borders ++ : OS.borders), ++ result, 0); ++ ++ if (result[0] != 0) ++ OS.memmove(b, result[0], GtkBorder.sizeof); ++ ++ return b; ++} ++ + public void setMaximized (boolean maximized) { + checkWidget(); + super.setMaximized (maximized); +Index: swt/swt-source/os_custom.c +=================================================================== +--- swt.orig/swt-source/os_custom.c 2007-05-31 18:04:22.000000000 +0200 ++++ swt/swt-source/os_custom.c 2008-02-14 13:55:49.000000000 +0100 +@@ -13,6 +13,8 @@ + * IBM Corporation - initial API and implementation + *******************************************************************************/ + ++#include <hildon/hildon-file-chooser-dialog.h> ++ + #include "swt.h" + #include "os_structs.h" + #include "os_stats.h" +@@ -41,11 +43,22 @@ + { + jbyte *lparg0=NULL; + SWT_PTR rc = 0; ++ GtkWidget *widget = NULL; + OS_NATIVE_ENTER(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC); + if (arg0) if ((lparg0 = (*env)->GetByteArrayElements(env, arg0, NULL)) == NULL) goto fail; + /* + rc = (SWT_PTR)gtk_file_chooser_dialog_new(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + */ ++ /* Remaining arguments are thrown away as they cannot be used for the ++ * HildonFileChooserDialog anyways. ++ */ ++ widget = (SWT_PTR) hildon_file_chooser_dialog_new(arg1, (GtkFileChooserAction) arg2); ++ gtk_window_set_title(GTK_WINDOW(widget), (const gchar *) lparg0); ++ ++ rc = (SWT_PTR) widget; ++#if 0 ++// The code is not supposed to run on AMD64. ++ + { + static int initialized = 0; + static void *handle = NULL; +@@ -70,6 +83,8 @@ + rc = (SWT_PTR)(*fptr)(lparg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7); + } + } ++#endif ++ + fail: + if (arg0 && lparg0) (*env)->ReleaseByteArrayElements(env, arg0, lparg0, 0); + OS_NATIVE_EXIT(env, that, _1gtk_1file_1chooser_1dialog_1new_FUNC); diff --git a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb index 628dcdd810..d3dfe4d216 100644 --- a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb +++ b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M3.bb @@ -1,7 +1,7 @@ require swt3.4-gtk_${PV}.bb -PR = "r1" +PR = "r2" -DEPENDS += "hildon-1" +DEPENDS += "libhildon libhildonfm" SRC_URI += "file://swt-hildon.patch;patch=1;pnum=2" diff --git a/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb new file mode 100644 index 0000000000..17d85b46f3 --- /dev/null +++ b/packages/swt/swt3.4-gtk-hildon_3.3+3.4M5.bb @@ -0,0 +1,7 @@ +require swt3.4-gtk_${PV}.bb + +PR = "r0" + +DEPENDS += "libhildon libhildonfm" + +SRC_URI += "file://swt-hildon.patch;patch=1;pnum=2" diff --git a/packages/swt/swt3.4-gtk_3.3+3.4M5.bb b/packages/swt/swt3.4-gtk_3.3+3.4M5.bb new file mode 100644 index 0000000000..4035d083f7 --- /dev/null +++ b/packages/swt/swt3.4-gtk_3.3+3.4M5.bb @@ -0,0 +1,12 @@ +require swt-gtk.inc + +SRC_URI = "http://ftp.wh2.tu-dresden.de/pub/mirrors/eclipse/eclipse/downloads/drops/S-3.4M5-200802071530/swt-3.4M5-gtk-linux-x86.zip \ + file://Makefile" + +# A number which is used by SWT to mark the shared libraries. +SWTVERSION = "3428" +SWT_API_VERSION = "3.4" + +PROVIDES = "swt3.4-gtk" + +RCONFLICTS = "libswt3.3-gtk-java" diff --git a/packages/xorg-lib/libx11_1.1.1.bb b/packages/xorg-lib/libx11_1.1.1.bb index 7ac5b58345..5b1e304d51 100644 --- a/packages/xorg-lib/libx11_1.1.1.bb +++ b/packages/xorg-lib/libx11_1.1.1.bb @@ -1,23 +1,18 @@ require xorg-lib-common.inc PE = "1" -PR = "r4" +PR = "r5" DESCRIPTION = "Base X libs." - DEPENDS += " bigreqsproto xproto xextproto xtrans libxau xcmiscproto \ - libxcb libxdmcp xf86bigfontproto kbproto inputproto" + libxdmcp xf86bigfontproto kbproto inputproto" PROVIDES = "virtual/libx11" XORG_PN = "libX11" -PACKAGES =+ "libx11-xcb" +EXTRA_OECONF += "--without-xcb" SRC_URI += " file://ruutf8.patch;patch=1" -FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt" -FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" -FILES_${PN}-xcb = "${libdir}/libX11-xcb.so.*" - do_compile() { ( unset CC LD CXX CCLD CFLAGS CPPFLAGS LDFLAGS CXXFLAGS @@ -27,3 +22,5 @@ do_compile() { oe_runmake } +FILES_${PN} += "${datadir}/X11/XKeysymDB ${datadir}/X11/XErrorDB ${libdir}/X11/Xcms.txt" +FILES_${PN}-locale += "${datadir}/X11/locale ${libdir}/X11/locale" |