summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Westerhof <mwester@dls.net>2008-09-07 03:56:12 +0000
committerMike Westerhof <mwester@dls.net>2008-09-07 03:56:12 +0000
commit60547ded403dd699b9505963a9ecd7d8b5131c0d (patch)
treebad995bcb58896f3bba5df1885fc64a9c6f39b04
parente91fb86bac727e1331bd2e881ee31229a4861db9 (diff)
parent77d22b463d3fc3982db26d7e8d54ce3df9989077 (diff)
merge of '36d8e178bafb50c7881d637db537e08c72510ace'
and '409f0e4c54eb53279e57c78f8ba5c98e3fa9ceb3'
-rw-r--r--contrib/angstrom/upload-packages.sh2
-rw-r--r--packages/cairo/cairo_1.6.4.bb2
-rw-r--r--packages/gdb/gdb-cross_6.7.1.bb19
-rw-r--r--packages/gdb/gdb.inc2
-rw-r--r--packages/gdb/gdb_6.7.1.bb5
-rw-r--r--packages/gdb/gdbserver.inc66
-rw-r--r--packages/gdb/gdbserver_6.7.1.bb6
-rw-r--r--packages/gnash/gnash-minimal.inc10
-rw-r--r--packages/libxcomp/.mtn2git_empty0
-rw-r--r--packages/libxcomp/files/.mtn2git_empty0
-rw-r--r--packages/libxcomp/files/sa_restorer.patch25
-rw-r--r--packages/libxcomp/libxcomp_3.2.0-7.bb28
-rw-r--r--packages/mozilla/fennec/mozconfig22
-rw-r--r--packages/mozilla/fennec_hg.bb45
-rw-r--r--packages/mozilla/firefox.inc40
-rw-r--r--packages/nxcl/.mtn2git_empty0
-rw-r--r--packages/nxcl/files/.mtn2git_empty0
-rw-r--r--packages/nxcl/files/gcc4.3-ftbfs.patch41
-rw-r--r--packages/nxcl/libnxcl_0.9.bb23
-rw-r--r--packages/nxproxy/.mtn2git_empty0
-rw-r--r--packages/nxproxy/files/.mtn2git_empty0
-rw-r--r--packages/nxproxy/files/stdin.patch73
-rw-r--r--packages/nxproxy/nxproxy_3.2.0-1.bb18
-rw-r--r--packages/qt4/qt-embedded_4.4.1.bb2
-rw-r--r--packages/qt4/qt4-x11-free_4.4.1.bb2
-rw-r--r--packages/qt4/qt_staging.inc1
-rw-r--r--packages/qt4/qtopia-core_4.4.1.bb2
-rw-r--r--packages/uclibc/uclibc-0.9.29/uClibc.distro2
-rw-r--r--packages/uclibc/uclibc-initial_0.9.28.bb9
-rw-r--r--packages/uclibc/uclibc.inc12
-rw-r--r--packages/uclibc/uclibc_0.9.28.bb3
-rw-r--r--packages/uclibc/uclibc_0.9.29.bb2
-rw-r--r--packages/xorg-lib/pixman/pixman-arm.patch195
-rw-r--r--packages/xorg-lib/pixman_0.11.8.bb2
-rw-r--r--packages/xorg-xserver/xserver-xorg_1.4.2.bb2
35 files changed, 556 insertions, 105 deletions
diff --git a/contrib/angstrom/upload-packages.sh b/contrib/angstrom/upload-packages.sh
index 8942a0929c..d6a3884f5b 100644
--- a/contrib/angstrom/upload-packages.sh
+++ b/contrib/angstrom/upload-packages.sh
@@ -33,7 +33,7 @@ cat files-uniq files-local | sort | uniq -d > files-trans
# Copy over non-duplicate files
echo "Starting rsync..."
-rsync -vz --files-from=files-trans upload-queue/ $REMOTEM:$REMOTED/unsorted/
+rsync -avz --progress --files-from=files-trans upload-queue/ $REMOTEM:$REMOTED/unsorted/
# Clean up temporary files
echo "Removing upload queue"
diff --git a/packages/cairo/cairo_1.6.4.bb b/packages/cairo/cairo_1.6.4.bb
index 9cac359636..0c262b80ee 100644
--- a/packages/cairo/cairo_1.6.4.bb
+++ b/packages/cairo/cairo_1.6.4.bb
@@ -5,5 +5,5 @@ DEFAULT_PREFERENCE = "-1"
SRC_URI = "http://cairographics.org/releases/cairo-${PV}.tar.gz \
file://configure_fix.patch;patch=1 "
-PR = "r3"
+PR = "r4"
diff --git a/packages/gdb/gdb-cross_6.7.1.bb b/packages/gdb/gdb-cross_6.7.1.bb
new file mode 100644
index 0000000000..adccebe115
--- /dev/null
+++ b/packages/gdb/gdb-cross_6.7.1.bb
@@ -0,0 +1,19 @@
+require gdb-cross.inc
+inherit cross
+
+DEFAULT_PREFERENCE_avr32 = "99"
+SRC_URI_avr32 = " http://avr32linux.org/twiki/pub/Main/GDBPatches/gdb-6.7.1.atmel.1.0.3.tar.bz2"
+S_avr32 = "${WORKDIR}/gdb-6.7.1.atmel.1.0.3"
+
+do_configure_prepend() {
+ for i in $(find ${S} -name "warning*m4") ; do
+ sed -i -e s:-Werror::g $i
+ done
+ for i in $(find ${S} -name "configure.ac") ; do
+ sed -i -e s:-Werror::g $i
+ done
+ for i in $(find ${S} -name "configure") ; do
+ sed -i -e s:-Werror::g $i
+ done
+}
+
diff --git a/packages/gdb/gdb.inc b/packages/gdb/gdb.inc
index d3b9d864e7..8e7121bd49 100644
--- a/packages/gdb/gdb.inc
+++ b/packages/gdb/gdb.inc
@@ -1,5 +1,7 @@
require gdb-common.inc
+DEFAULT_PREFERENCE_avr32 = "-99"
+
DEPENDS = "ncurses readline"
PACKAGES =+ "gdbserver"
diff --git a/packages/gdb/gdb_6.7.1.bb b/packages/gdb/gdb_6.7.1.bb
new file mode 100644
index 0000000000..a411974b15
--- /dev/null
+++ b/packages/gdb/gdb_6.7.1.bb
@@ -0,0 +1,5 @@
+require gdb.inc
+
+DEFAULT_PREFERENCE_avr32 = "99"
+SRC_URI_avr32 = " http://avr32linux.org/twiki/pub/Main/GDBPatches/gdb-6.7.1.atmel.1.0.3.tar.bz2"
+S_avr32 = "${WORKDIR}/gdb-6.7.1.atmel.1.0.3"
diff --git a/packages/gdb/gdbserver.inc b/packages/gdb/gdbserver.inc
new file mode 100644
index 0000000000..a1610daff8
--- /dev/null
+++ b/packages/gdb/gdbserver.inc
@@ -0,0 +1,66 @@
+require gdb-common.inc
+
+DEFAULT_PREFERENCE_avr32 = "-99"
+
+DEPENDS = "ncurses readline"
+
+FILES_gdbserver = "${bindir}/gdbserver"
+
+RRECOMMENDS_gdb_append_linux = " glibc-thread-db "
+RRECOMMENDS_gdb_append_linux-gnueabi = " glibc-thread-db "
+
+inherit gettext
+
+SRC_URI += "file://kill_arm_map_symbols.patch;patch=1 \
+ file://gdbserver-cflags-last.diff;patch=1;pnum=0"
+#FIXME file://uclibc.patch;patch=1 \
+
+EXTRA_OEMAKE = "'SUBDIRS=intl mmalloc libiberty opcodes bfd sim gdb etc utils'"
+
+EXTRA_OECONF = "--disable-gdbtk --disable-tui --disable-x \
+ --with-curses --disable-multilib --with-readline --disable-sim \
+ --program-prefix=''"
+
+LDFLAGS_append = " -s"
+export CFLAGS_append=" -L${STAGING_LIBDIR}"
+
+do_configure () {
+ # override this function to avoid the autoconf/automake/aclocal/autoheader
+ # calls for now
+ (cd ${S}/gdb/gdbserver && gnu-configize) || die "failure in running gnu-configize"
+ CPPFLAGS="" oe_rungdbserverconf
+}
+
+do_install () {
+ install -d ${D}${bindir}
+ install -m 0755 ${B}/gdbserver ${D}${bindir}
+}
+
+oe_rungdbserverconf() {
+ if [ -x ${S}/gdb/gdbserver/configure ] ; then
+ cfgcmd="${S}/gdb/gdbserver/configure \
+ --build=${BUILD_SYS} \
+ --host=${HOST_SYS} \
+ --target=${TARGET_SYS} \
+ --prefix=${prefix} \
+ --exec_prefix=${exec_prefix} \
+ --bindir=${bindir} \
+ --sbindir=${sbindir} \
+ --libexecdir=${libexecdir} \
+ --datadir=${datadir} \
+ --sysconfdir=${sysconfdir} \
+ --sharedstatedir=${sharedstatedir} \
+ --localstatedir=${localstatedir} \
+ --libdir=${libdir} \
+ --includedir=${includedir} \
+ --oldincludedir=${oldincludedir} \
+ --infodir=${infodir} \
+ --mandir=${mandir} \
+ ${EXTRA_OECONF} \
+ $@"
+ oenote "Running $cfgcmd..."
+ $cfgcmd || oefatal "oe_runconf failed"
+ else
+ oefatal "no configure script found"
+ fi
+}
diff --git a/packages/gdb/gdbserver_6.7.1.bb b/packages/gdb/gdbserver_6.7.1.bb
new file mode 100644
index 0000000000..fb92ebc424
--- /dev/null
+++ b/packages/gdb/gdbserver_6.7.1.bb
@@ -0,0 +1,6 @@
+require gdbserver.inc
+
+DEFAULT_PREFERENCE_avr32 = "99"
+SRC_URI_avr32 = " http://avr32linux.org/twiki/pub/Main/GDBPatches/gdb-6.7.1.atmel.1.0.3.tar.bz2"
+S_avr32 = "${WORKDIR}/gdb-6.7.1.atmel.1.0.3"
+
diff --git a/packages/gnash/gnash-minimal.inc b/packages/gnash/gnash-minimal.inc
index 597f22bd70..fddf030e29 100644
--- a/packages/gnash/gnash-minimal.inc
+++ b/packages/gnash/gnash-minimal.inc
@@ -3,6 +3,7 @@ HOMEPAGE = "http://www.gnu.org/software/gnash"
LICENSE = "GPL-2"
DEPENDS = "virtual/libiconv virtual/libintl ffmpeg libtool agg libxml2 libmad zlib boost jpeg pango curl freetype"
+RRECOMMENDS_${PN} = "libltdl"
SRC_URI = "ftp://ftp.gnu.org/pub/gnu/gnash/${PV}/gnash-${PV}.tar.bz2"
S = ${WORKDIR}/gnash-${PV}
@@ -49,10 +50,11 @@ CFLAGS += " -D_GNU_SOURCE -I${S}/libltdl -I${STAGING_INCDIR}/libltdl"
PACKAGES =+ "libgnashnet libgnashamf libgnashbase libgnashserver libgnashmedia"
+FILES_${PN} += "${datadir}/gnash/*png ${datadir}/gnash/*ico"
FILES_${PN}-dbg += "${libdir}/gnash/.debug"
FILES_${PN}-dev += "${libdir}/gnash/*a"
-FILES_libgnashamf = "${libdir}/gnash/libgnashamf-${PV}.so"
-FILES_libgnashbase = "${libdir}/gnash/libgnashbase-${PV}.so"
-FILES_libgnashmedia = "${libdir}/gnash/libgnashmedia-${PV}.so"
-FILES_libgnashserver = "${libdir}/gnash/libgnashserver-${PV}.so"
+FILES_libgnashamf = "${libdir}/gnash/libgnashamf-*.so"
+FILES_libgnashbase = "${libdir}/gnash/libgnashbase-*.so"
+FILES_libgnashmedia = "${libdir}/gnash/libgnashmedia-*.so"
+FILES_libgnashserver = "${libdir}/gnash/libgnashserver-*.so"
FILES_libgnashnet = "${libdir}/gnash/libgnashnet.so.*"
diff --git a/packages/libxcomp/.mtn2git_empty b/packages/libxcomp/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/libxcomp/.mtn2git_empty
diff --git a/packages/libxcomp/files/.mtn2git_empty b/packages/libxcomp/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/libxcomp/files/.mtn2git_empty
diff --git a/packages/libxcomp/files/sa_restorer.patch b/packages/libxcomp/files/sa_restorer.patch
new file mode 100644
index 0000000000..570b302dd3
--- /dev/null
+++ b/packages/libxcomp/files/sa_restorer.patch
@@ -0,0 +1,25 @@
+Patch taken from the debian unstable package
+
+
+Index: nxcomp/Loop.cpp
+===================================================================
+--- nxcomp/Loop.cpp 2008-06-16 18:49:56.330011773 +0100
++++ nxcomp/Loop.cpp 2008-06-16 18:50:18.093320515 +0100
+@@ -5888,7 +5888,7 @@
+
+ #if defined(__linux__)
+
+- newAction.sa_restorer = NULL;
++ memset(&newAction, NULL, sizeof(newAction));
+
+ #endif
+
+@@ -6506,7 +6506,7 @@
+
+ #if defined(__linux__)
+
+- action.sa_restorer = NULL;
++ memset(&action, NULL, sizeof(action));
+
+ #endif
+
diff --git a/packages/libxcomp/libxcomp_3.2.0-7.bb b/packages/libxcomp/libxcomp_3.2.0-7.bb
new file mode 100644
index 0000000000..84ab8d2396
--- /dev/null
+++ b/packages/libxcomp/libxcomp_3.2.0-7.bb
@@ -0,0 +1,28 @@
+DESCRIPTION = "Compression library for x-protocol from nomachine"
+HOMEPAGE = "http://www.nomachine.com/"
+SECTION = "libs"
+LICENSE = "GPL"
+PR = "r0"
+
+DEPENDS = "virtual/libx11 zlib jpeg libpng"
+
+SRC_URI = "http://64.34.161.181/download/3.2.0/sources/nxcomp-${PV}.tar.gz \
+ file://sa_restorer.patch;patch=1 \
+ "
+
+
+inherit autotools
+
+S = "${WORKDIR}/nxcomp"
+
+do_install () {
+ oe_libinstall -a -so libXcomp ${D}${libdir}
+ install -d ${D}${includedir}/
+ install -m 0644 NX.h ${D}${includedir}/
+}
+
+
+do_stage () {
+ oe_libinstall -a -so libXcomp ${STAGING_LIBDIR}
+ install -m 0644 NX.h ${STAGING_INCDIR}/
+}
diff --git a/packages/mozilla/fennec/mozconfig b/packages/mozilla/fennec/mozconfig
index f4b2c5aa95..ba4099d691 100644
--- a/packages/mozilla/fennec/mozconfig
+++ b/packages/mozilla/fennec/mozconfig
@@ -1,25 +1,9 @@
-# Options for client.mk.
mk_add_options MOZ_BUILD_PROJECTS="xulrunner mobile"
-mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/../mobilebase
-
-# Global options
-#ac_add_options --enable-debug
-#ac_add_options --disable-optimize
-#ac_add_options --enable-logging
-#ac_cv_visibility_pragma=no
+mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/objdir
+mk_add_options AUTOCONF=autoconf2.13
-#ac_add_options --enable-timeline
+ac_add_options --disable-javaxpcom
-# XULRunner options
ac_add_app_options xulrunner --enable-application=xulrunner
-ac_add_app_options xulrunner --disable-javaxpcom
-# mobile options
ac_add_app_options mobile --enable-application=mobile
-ac_add_app_options mobile --with-libxul-sdk=../xulrunner/dist
-
-# configure will be automatically generated using the 'autoconf-2.13'
-# command. If autoconf-2.13 isn't the right name for your system, as
-# is the case on OS X using MacPorts, use the real command name as
-# demonstrated below.
-mk_add_options AUTOCONF=autoconf2.13
diff --git a/packages/mozilla/fennec_hg.bb b/packages/mozilla/fennec_hg.bb
index 8aeca90f6e..24ff40dd2e 100644
--- a/packages/mozilla/fennec_hg.bb
+++ b/packages/mozilla/fennec_hg.bb
@@ -1,9 +1,10 @@
-DEPENDS += "cairo"
+DEPENDS += "cairo alsa-lib "
-PV = "0.0"
+PV = "0.7"
+PR = "r1"
-SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=d14db8996980 \
- hg://hg.mozilla.org/;module=mobile-browser;rev=60dd20721284 \
+SRC_URI = "hg://hg.mozilla.org/;module=mozilla-central;rev=7352ef83055a \
+ hg://hg.mozilla.org/;module=mobile-browser;rev=767c0315369c \
file://jsautocfg.h \
"
@@ -12,9 +13,12 @@ S = "${WORKDIR}/mozilla-central"
inherit mozilla
require firefox.inc
+PARALLEL_MAKE = ""
export HOST_LIBIDL_CONFIG = "${STAGING_BINDIR_NATIVE}/libIDL-config-2"
FULL_OPTIMIZATION = "-fexpensive-optimizations -fomit-frame-pointer -frename-registers -O2"
+export LIBXUL_DIST="${S}/objdir/xulrunner/dist/"
+
do_configure_prepend() {
if [ -e ${WORKDIR}/mobile-browser ] ; then
mv ${WORKDIR}/mobile-browser ${S}/mobile
@@ -24,19 +28,28 @@ do_configure_prepend() {
do_compile_prepend() {
cp ${WORKDIR}/jsautocfg.h ${S}/js/src/
- sed -i "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" security/coreconf/Linux.mk
+ cp ${WORKDIR}/jsautocfg.h ${S}/objdir/xulrunner/js/src/
+ sed -i -e "s|CPU_ARCH =|CPU_ARCH = ${TARGET_ARCH}|" \
+ -e s:'$(OS_TEST)':${TARGET_ARCH}:g \
+ ${S}/security/coreconf/Linux.mk
+
+ sed -i -e /LIBXUL_DIST/d \
+ -e /LIBXUL_SDK/d \
+ ${S}/objdir/mobile/config/autoconf.mk
+
+ echo "LIBXUL_DIST = ${S}/objdir/xulrunner/dist" >> ${S}/objdir/mobile/config/autoconf.mk
+ echo "LIBXUL_SDK = ${S}/objdir/xulrunner/dist" >> ${S}/objdir/mobile/config/autoconf.mk
}
-do_stage() {
- install -d ${STAGING_INCDIR}/fennec-${PV}
- cd dist/sdk/include
- rm -rf obsolete
- headers=`find . -name "*.h"`
- for f in $headers
- do
- install -D -m 0644 $f ${STAGING_INCDIR}/fennec-${PV}/
- done
- # removes 2 lines that call absent headers
- sed -e '178,179d' ${STAGING_INCDIR}/fennec-${PV}/nsIServiceManager.h
+
+do_install() {
+ cd ${S}/objdir/mobile/
+ oe_runmake package
+ install -d ${D}/${libdir}
+ tar xjf ${S}/objdir/mobile/dist/fennec-${PV}*.tar.bz2 -C ${D}/${libdir}
+ # remove x86 binary
+ rm ${D}/${libdir}/fennec/xulrunner/nsinstall
}
+FILES_${PN} += "${libdir}/fennec"
+
diff --git a/packages/mozilla/firefox.inc b/packages/mozilla/firefox.inc
index 1fae3a759e..76f12df365 100644
--- a/packages/mozilla/firefox.inc
+++ b/packages/mozilla/firefox.inc
@@ -1,26 +1,26 @@
SRC_URI += "file://mozilla-firefox.png file://mozilla-firefox.desktop"
-PACKAGES =+ "firefox-inspector"
+PACKAGES =+ "${PN}-inspector"
-PACKAGES += "firefox-sdk"
+PACKAGES += "${PN}-sdk"
-FILES_firefox-inspector = " ${libdir}/firefox-${PV}/chrome/inspector* \
- ${libdir}/firefox-${PV}/components/*nspector* \
- ${libdir}/firefox-${PV}/extensions/inspector* \
- ${libdir}/firefox-${PV}/defaults/preferences/inspector* \
+FILES_${PN}-inspector = " ${libdir}/${PN}-${PV}/chrome/inspector* \
+ ${libdir}/${PN}-${PV}/components/*nspector* \
+ ${libdir}/${PN}-${PV}/extensions/inspector* \
+ ${libdir}/${PN}-${PV}/defaults/preferences/inspector* \
"
-FILES_${PN} = "${bindir}/firefox \
+FILES_${PN} = "${bindir}/${PN} \
${datadir}/applications/ \
${datadir}/pixmaps/ \
- ${libdir}/firefox-${PV}/* \
- ${libdir}/firefox-${PV}/.autoreg \
+ ${libdir}/${PN}-${PV}/* \
+ ${libdir}/${PN}-${PV}/.autoreg \
${bindir}/defaults"
-FILES_${PN}-dev += "${datadir}/idl ${bindir}/firefox-config"
-FILES_firefox-sdk += "${libdir}/firefox-devel-${PV}"
-FILES_${PN}-dbg += " ${libdir}/firefox-*/.debug \
- ${libdir}/firefox-*/*/.debug \
- ${libdir}/firefox-*/*/*/.debug \
- ${libdir}/firefox-*/*/*/*/.debug \
+FILES_${PN}-dev += "${datadir}/idl ${bindir}/${PN}-config"
+FILES_${PN}-sdk += "${libdir}/${PN}-devel-${PV}"
+FILES_${PN}-dbg += " ${libdir}/${PN}-*/.debug \
+ ${libdir}/${PN}-*/*/.debug \
+ ${libdir}/${PN}-*/*/*/.debug \
+ ${libdir}/${PN}-*/*/*/*/.debug \
${bindir}/.debug \
"
@@ -28,14 +28,14 @@ do_install() {
oe_runmake DESTDIR="${D}" destdir="${D}" install
install -d ${D}${datadir}/applications
install -d ${D}${datadir}/pixmaps
- install -m 0644 ${WORKDIR}/mozilla-firefox.desktop ${D}${datadir}/applications/
- install -m 0644 ${WORKDIR}/mozilla-firefox.png ${D}${datadir}/pixmaps/
- rm -f ${D}${libdir}/firefox-*/TestGtkEmbed
+ install -m 0644 ${WORKDIR}/mozilla-${PN}.desktop ${D}${datadir}/applications/
+ install -m 0644 ${WORKDIR}/mozilla-${PN}.png ${D}${datadir}/pixmaps/
+ rm -f ${D}${libdir}/${PN}-*/TestGtkEmbed
}
-pkg_postinst_firefox() {
+pkg_postinst_${PN}() {
# work around requirement for root access on first startup
- chmod -R a+w ${libdir}/firefox* ||true
+ chmod -R a+w ${libdir}/${PN}* ||true
}
do_stage() {
diff --git a/packages/nxcl/.mtn2git_empty b/packages/nxcl/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nxcl/.mtn2git_empty
diff --git a/packages/nxcl/files/.mtn2git_empty b/packages/nxcl/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nxcl/files/.mtn2git_empty
diff --git a/packages/nxcl/files/gcc4.3-ftbfs.patch b/packages/nxcl/files/gcc4.3-ftbfs.patch
new file mode 100644
index 0000000000..d73e828677
--- /dev/null
+++ b/packages/nxcl/files/gcc4.3-ftbfs.patch
@@ -0,0 +1,41 @@
+patch taken from the debian unstable package
+to let nxcl build with gcc-4.3
+
+
+Index: nxcl/lib/notQt.cpp
+===================================================================
+--- nxcl/lib/notQt.cpp 2008-04-10 11:05:10.338942907 +0000
++++ nxcl/lib/notQt.cpp 2008-04-10 11:05:10.338942907 +0000
+@@ -19,6 +19,7 @@
+
+ #include <iostream>
+ #include <sstream>
++#include <cstdlib>
+ extern "C" {
+ #include <unistd.h>
+ #include <errno.h>
+Index: nxcl/lib/nxclientlib.cpp
+===================================================================
+--- nxcl/lib/nxclientlib.cpp 2008-04-10 11:05:10.338942907 +0000
++++ nxcl/lib/nxclientlib.cpp 2008-04-10 11:05:10.338942907 +0000
+@@ -42,6 +42,8 @@
+ #include <sys/types.h>
+ #include <sys/stat.h>
+ #include <unistd.h>
++ #include <stdlib.h>
++ #include <string.h>
+ }
+
+ /*
+Index: nxcl/nxcl/nxcl.cpp
+===================================================================
+--- nxcl/nxcl/nxcl.cpp 2008-04-10 11:06:21.840797475 +0000
++++ nxcl/nxcl/nxcl.cpp 2008-04-10 11:06:47.841471864 +0000
+@@ -29,6 +29,7 @@
+ extern "C" {
+ #include <dbus/dbus.h>
+ #include <X11/Xlib.h>
++#include <stdlib.h>
+ }
+
+ using namespace nxcl;
diff --git a/packages/nxcl/libnxcl_0.9.bb b/packages/nxcl/libnxcl_0.9.bb
new file mode 100644
index 0000000000..ea62579019
--- /dev/null
+++ b/packages/nxcl/libnxcl_0.9.bb
@@ -0,0 +1,23 @@
+DESCRIPTION = "Backend library for the free nx-clients"
+HOMEPAGE = "http://freenx.berlios.de/"
+SECTION = "libs"
+LICENSE = "GPL"
+PR = "r0"
+
+RDEPENDS = "nxproxy ssh"
+
+SRC_URI = "http://download.berlios.de/freenx/freenx-client-${PV}.tar.bz2 \
+ file://gcc4.3-ftbfs.patch;patch=1 \
+ "
+
+S = "${WORKDIR}/freenx-client-${PV}/nxcl"
+
+EXTRA_OECONF += "--without-nxcmd \
+ --without-doxygen \
+ "
+
+inherit lib_package autotools pkgconfig
+
+do_stage () {
+ autotools_stage_all
+}
diff --git a/packages/nxproxy/.mtn2git_empty b/packages/nxproxy/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nxproxy/.mtn2git_empty
diff --git a/packages/nxproxy/files/.mtn2git_empty b/packages/nxproxy/files/.mtn2git_empty
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/packages/nxproxy/files/.mtn2git_empty
diff --git a/packages/nxproxy/files/stdin.patch b/packages/nxproxy/files/stdin.patch
new file mode 100644
index 0000000000..20c71dbf76
--- /dev/null
+++ b/packages/nxproxy/files/stdin.patch
@@ -0,0 +1,73 @@
+Patch taken from the debian unstable package
+original posted by Fabian Franz on the freenx mailinglist
+
+
+Index: nxproxy/Main.c
+--- nxproxy/Main.c.old 2007-07-18 17:39:13.000000000 +0200
++++ nxproxy/Main.c 2008-03-12 04:40:30.000000000 +0100
+@@ -36,28 +36,48 @@
+ int result = -1;
+
+ char *options = NULL;
+-
++
++ char *nx_commfd_str = NULL;
++
+ options = getenv("NX_DISPLAY");
+-
+- if (NXTransParseCommandLine(argc, argv) < 0)
++
++ if ((nx_commfd_str = getenv("NX_COMMFD")) != NULL)
+ {
+- NXTransCleanup();
+- }
++ int nx_commfd = atoi(nx_commfd_str);
+
+- if (NXTransParseEnvironment(options, 0) < 0)
+- {
+- NXTransCleanup();
++ if (result)
++ result = NXTransCreate(nx_commfd, NX_MODE_SERVER, options);
++
++ // go into endless loop
++
++ if (result)
++ {
++ while (NXTransRunning(NX_FD_ANY))
++ result = NXTransContinue(NULL);
++ }
+ }
++ else
++ {
++ if (NXTransParseCommandLine(argc, argv) < 0)
++ {
++ NXTransCleanup();
++ }
++
++ if (NXTransParseEnvironment(options, 0) < 0)
++ {
++ NXTransCleanup();
++ }
++
++ /*
++ * This should not return...
++ */
++
++ #ifdef TEST
++ fprintf(stderr, "Main: Yielding control to NX entry point.\n");
++ #endif
+
+- /*
+- * This should not return...
+- */
+-
+- #ifdef TEST
+- fprintf(stderr, "Main: Yielding control to NX entry point.\n");
+- #endif
+-
+- result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
++ result = NXTransProxy(NX_FD_ANY, NX_MODE_ANY, NX_DISPLAY_ANY);
++ }
+
+ /*
+ * ...So these should not be called.
diff --git a/packages/nxproxy/nxproxy_3.2.0-1.bb b/packages/nxproxy/nxproxy_3.2.0-1.bb
new file mode 100644
index 0000000000..162945f0d3
--- /dev/null
+++ b/packages/nxproxy/nxproxy_3.2.0-1.bb
@@ -0,0 +1,18 @@
+DESCRIPTION = "The binary which uses libxcomp from nomachine"
+HOMEPAGE = "http://www.nomachine.com/"
+LICENSE = "GPL"
+PR = "r0"
+
+DEPENDS = "libxcomp"
+
+SRC_URI = "http://64.34.161.181/download/3.2.0/sources/${PN}-${PV}.tar.gz \
+ file://stdin.patch;patch=1 \
+ "
+inherit autotools
+
+S = "${WORKDIR}/nxproxy"
+
+do_install () {
+ install -d ${D}${bindir}/
+ install -s -m 0644 nxproxy ${D}${bindir}/
+}
diff --git a/packages/qt4/qt-embedded_4.4.1.bb b/packages/qt4/qt-embedded_4.4.1.bb
index 70a461d2d2..0bc82e77af 100644
--- a/packages/qt4/qt-embedded_4.4.1.bb
+++ b/packages/qt4/qt-embedded_4.4.1.bb
@@ -3,7 +3,7 @@ require qtopia-core.inc
PROVIDES += "qtopia-core"
RPROVIDES_${PN} = "qtopia-core"
-PR = "r0"
+PR = "r1"
SRC_URI = "ftp://ftp.trolltech.com/qt/source/qt-embedded-linux-opensource-src-${PV}.tar.bz2 \
file://qconfig-oe.h \
diff --git a/packages/qt4/qt4-x11-free_4.4.1.bb b/packages/qt4/qt4-x11-free_4.4.1.bb
index 7d30503c07..3bef76f138 100644
--- a/packages/qt4/qt4-x11-free_4.4.1.bb
+++ b/packages/qt4/qt4-x11-free_4.4.1.bb
@@ -1,4 +1,6 @@
require qt4-x11-free.inc
+PR = "r1"
+
SRC_URI += " \
file://0002-fix-resinit-declaration.patch;patch=1 \
file://0006-freetype-host-includes.patch;patch=1 \
diff --git a/packages/qt4/qt_staging.inc b/packages/qt4/qt_staging.inc
index 75b5b5735d..49f51a2714 100644
--- a/packages/qt4/qt_staging.inc
+++ b/packages/qt4/qt_staging.inc
@@ -18,6 +18,7 @@ do_stage_append() {
install -d ${STAGING_DIR_TARGET}/qt4/bin
cp ${STAGING_DIR_NATIVE}/qt4/bin/* ${STAGING_DIR_TARGET}/qt4/bin/ || true
+ cp ${STAGING_DIR_NATIVE}/${bindir}/{rcc*,uic*,moc*} ${STAGING_DIR_TARGET}/qt4/bin/ || true
for qttool in ${STAGING_DIR_TARGET}/qt4/bin/*4 ; do
ln -sf $qttool ${STAGING_DIR_TARGET}/qt4/bin/$(basename $qttool |sed s:4::g)
done
diff --git a/packages/qt4/qtopia-core_4.4.1.bb b/packages/qt4/qtopia-core_4.4.1.bb
index 158e29c432..061fd2cd6c 100644
--- a/packages/qt4/qtopia-core_4.4.1.bb
+++ b/packages/qt4/qtopia-core_4.4.1.bb
@@ -3,4 +3,4 @@ DEFAULT_PREFERENCE = "-1"
DEFAULT_PREFERENCE_angstrom = "1"
#keep in sync with qt-embedded_${PV}.bb
-PR = "r0"
+PR = "r1"
diff --git a/packages/uclibc/uclibc-0.9.29/uClibc.distro b/packages/uclibc/uclibc-0.9.29/uClibc.distro
index 022d2474d1..af02b0683c 100644
--- a/packages/uclibc/uclibc-0.9.29/uClibc.distro
+++ b/packages/uclibc/uclibc-0.9.29/uClibc.distro
@@ -132,7 +132,7 @@ CROSS_COMPILER_PREFIX=""
UCLIBC_EXTRA_CFLAGS=""
# DODEBUG is not set
# DODEBUG_PT is not set
-DOSTRIP=y
+DOSTRIP=n
# DOASSERTS is not set
# SUPPORT_LD_DEBUG is not set
# SUPPORT_LD_DEBUG_EARLY is not set
diff --git a/packages/uclibc/uclibc-initial_0.9.28.bb b/packages/uclibc/uclibc-initial_0.9.28.bb
index 4bfbdb6d16..b996f64e75 100644
--- a/packages/uclibc/uclibc-initial_0.9.28.bb
+++ b/packages/uclibc/uclibc-initial_0.9.28.bb
@@ -3,7 +3,7 @@ require uclibc_${PV}.bb
FILESPATH = "${@base_set_filespath([ '${FILE_DIRNAME}/uclibc-${PV}', '${FILE_DIRNAME}/uclibc', '${FILE_DIRNAME}/files', '${FILE_DIRNAME}' ], d)}"
-DEPENDS = "linux-libc-headers virtual/${TARGET_PREFIX}gcc-initial"
+DEPENDS = "linux-libc-headers ncurses-native virtual/${TARGET_PREFIX}gcc-initial"
PROVIDES = "virtual/${TARGET_PREFIX}libc-initial"
PACKAGES = ""
@@ -14,10 +14,11 @@ do_stage() {
pregen install_dev
make PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
- libc/sysdeps/linux/${TARGET_ARCH}/crt1.o \
- libc/sysdeps/linux/${TARGET_ARCH}/crti.o \
- libc/sysdeps/linux/${TARGET_ARCH}/crtn.o
+ libc/sysdeps/linux/${TARGET_ARCH}/crt1.o \
+ libc/sysdeps/linux/${TARGET_ARCH}/crti.o \
+ libc/sysdeps/linux/${TARGET_ARCH}/crtn.o
+ install -d ${CROSS_DIR}/${TARGET_SYS}
ln -sf include ${CROSS_DIR}/${TARGET_SYS}/sys-include
# This conflicts with the c++ version of this header
diff --git a/packages/uclibc/uclibc.inc b/packages/uclibc/uclibc.inc
index 5b0ef914dd..f20caa29f1 100644
--- a/packages/uclibc/uclibc.inc
+++ b/packages/uclibc/uclibc.inc
@@ -26,7 +26,7 @@ DEPENDS = "virtual/${TARGET_PREFIX}binutils \
RDEPENDS_${PN}-dev = "linux-libc-headers-dev"
# Blackfin needs a wrapper around ld
-DEPENDS_append_bfin = " elf2flt "
+#DEPENDS_append_bfin = " elf2flt "
INHIBIT_DEFAULT_DEPS = "1"
PARALLEL_MAKE = ""
@@ -132,6 +132,7 @@ do_configure() {
# Mangle the resulting .config depending on OE variables
perl -i -p -e 's,^CROSS=.*,TARGET_ARCH=${TARGET_ARCH}\nCROSS=${TARGET_PREFIX},g' ${S}/Rules.mak
+ sed -i -e s:'$(CROSS)strip':true: ${S}/Rules.mak
perl -i -p -e '${configmangle}' ${S}/.config
sed -i -e '/CONFIG_ARM_EABI/d' ${S}/.config
@@ -176,11 +177,11 @@ do_stage() {
do_install() {
# Tis MUST be done first because we
# will install crt1.o in the install_dev stage and gcc needs it)
- oe_runmake PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
+ oe_runmake STRIPTOOL=true PREFIX= DEVEL_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
RUNTIME_PREFIX=${UCLIBC_STAGE_PREFIX}/ \
install_dev install_runtime
- oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
+ oe_runmake STRIPTOOL=true PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
install_dev install_runtime
# We don't really need this in ${includedir}
@@ -209,7 +210,10 @@ do_install() {
fi
oe_runmake utils
- oe_runmake PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
+ oe_runmake STRIPTOOL=true PREFIX=${D} DEVEL_PREFIX=${prefix}/ RUNTIME_PREFIX=/ \
install_utils
+
+ # oe_runstrip needs +x on files
+ chmod +x ${D}/${base_libdir}/*
}
diff --git a/packages/uclibc/uclibc_0.9.28.bb b/packages/uclibc/uclibc_0.9.28.bb
index 0aed389df3..4c69155b52 100644
--- a/packages/uclibc/uclibc_0.9.28.bb
+++ b/packages/uclibc/uclibc_0.9.28.bb
@@ -1,5 +1,5 @@
DEFAULT_PREFERENCE = "1"
-PR = "r15"
+PR = "r16"
require uclibc.inc
@@ -7,6 +7,7 @@ require uclibc.inc
# fix_includes.sh script is run (see nokernelheader.patch below)
# this must be correct.
KERNEL_SOURCE = "${STAGING_DIR_HOST}/${exec_prefix}"
+PROVIDES += "virtual/${TARGET_PREFIX}libc-for-gcc"
SRC_URI += "http://www.uclibc.org/downloads/uClibc-${PV}.tar.bz2"
diff --git a/packages/uclibc/uclibc_0.9.29.bb b/packages/uclibc/uclibc_0.9.29.bb
index 90b52b3f8d..6431e3e2bd 100644
--- a/packages/uclibc/uclibc_0.9.29.bb
+++ b/packages/uclibc/uclibc_0.9.29.bb
@@ -7,7 +7,7 @@
# on whether the base patches apply to the selected (SRCDATE) svn release.
#
UCLIBC_BASE ?= "0.9.29"
-PR = "r26"
+PR = "r27"
DEFAULT_PREFERENCE = "1"
require uclibc.inc
diff --git a/packages/xorg-lib/pixman/pixman-arm.patch b/packages/xorg-lib/pixman/pixman-arm.patch
index 6520a52d68..b9280edf10 100644
--- a/packages/xorg-lib/pixman/pixman-arm.patch
+++ b/packages/xorg-lib/pixman/pixman-arm.patch
@@ -1,11 +1,5 @@
-commit 44d4231272bdf08fac077cdcaeaac1aec0dd1500
-Author: Jeff Muizelaar <jmuizelaar@mozilla.com>
-Date: Thu Aug 28 13:02:17 2008 -0400
-
- arm-simd
-
diff --git a/configure.ac b/configure.ac
-index 702bed0..7f24db5 100644
+index 702bed0..59e0d99 100644
--- a/configure.ac
+++ b/configure.ac
@@ -301,6 +301,44 @@ AC_SUBST(VMX_CFLAGS)
@@ -14,7 +8,7 @@ index 702bed0..7f24db5 100644
+dnl Check for ARM
+
-+have_armv5_simd=no
++have_armv6_simd=no
+AC_MSG_CHECKING(whether to use ARM assembler)
+xserver_save_CFLAGS=$CFLAGS
+CFLAGS="$CFLAGS $ARM_CFLAGS"
@@ -22,7 +16,7 @@ index 702bed0..7f24db5 100644
+int main () {
+ asm("uqadd8 r1, r1, r2");
+ return 0;
-+}], have_armv5_simd=yes)
++}], have_armv6_simd=yes)
+CFLAGS=$xserver_save_CFLAGS
+
+AC_ARG_ENABLE(arm,
@@ -31,23 +25,23 @@ index 702bed0..7f24db5 100644
+ [enable_arm=$enableval], [enable_arm=auto])
+
+if test $enable_arm = no ; then
-+ have_armv5_simd=disabled
++ have_armv6_simd=disabled
+fi
+
-+if test $have_armv5_simd = yes ; then
++if test $have_armv6_simd = yes ; then
+ AC_DEFINE(USE_ARM, 1, [use ARM compiler intrinsics])
+else
+ ARM_CFLAGS=
+fi
+
-+AC_MSG_RESULT($have_armv5_simd)
-+if test $enable_arm = yes && test $have_armv5_simd = no ; then
++AC_MSG_RESULT($have_armv6_simd)
++if test $enable_arm = yes && test $have_armv6_simd = no ; then
+ AC_MSG_ERROR([ARM intrinsics not detected])
+fi
+
+AC_SUBST(ARM_CFLAGS)
+
-+AM_CONDITIONAL(USE_ARM, test $have_armv5_simd = yes)
++AM_CONDITIONAL(USE_ARM, test $have_armv6_simd = yes)
+
+
AC_ARG_ENABLE(gtk,
@@ -76,10 +70,10 @@ index 4f046f1..2cad71a 100644
+
diff --git a/pixman/pixman-arm.c b/pixman/pixman-arm.c
new file mode 100644
-index 0000000..9750730
+index 0000000..5ea65cb
--- /dev/null
+++ b/pixman/pixman-arm.c
-@@ -0,0 +1,312 @@
+@@ -0,0 +1,433 @@
+/*
+ * Copyright © 2008 Mozilla Corporation
+ *
@@ -203,6 +197,7 @@ index 0000000..9750730
+ uint16_t w;
+ uint32_t component_mask = 0xff00ff;
+ uint32_t component_half = 0x800080;
++ uint32_t alpha_mask = 0xff;
+
+ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
+ fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
@@ -230,8 +225,7 @@ index 0000000..9750730
+ "blt 3f\n\t"
+
+ /* = 255 - alpha */
-+ "mvn r8, r5\n\t"
-+ "mov r8, r8, lsr #24\n\t"
++ "sub r8, %[alpha_mask], r5, lsr #24\n\t"
+
+ "ldr r4, [%[dest]] \n\t"
+
@@ -239,8 +233,7 @@ index 0000000..9750730
+ "ldr r4, [%[dest]] \n\t"
+
+ /* = 255 - alpha */
-+ "mvn r8, r5\n\t"
-+ "mov r8, r8, lsr #24\n\t"
++ "sub r8, %[alpha_mask], r5, lsr #24\n\t"
+#endif
+ "and r6, %[component_mask], r4\n\t"
+ "and r7, %[component_mask], r4, lsr #8\n\t"
@@ -273,7 +266,8 @@ index 0000000..9750730
+ "bne 1b\n\t"
+ "2:\n\t"
+ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src)
-+ : [component_half] "r" (component_half), [component_mask] "r" (component_mask)
++ : [component_half] "r" (component_half), [component_mask] "r" (component_mask),
++ [alpha_mask] "r" (alpha_mask)
+ : "r4", "r5", "r6", "r7", "r8", "r9", "cc", "memory"
+ );
+ }
@@ -300,6 +294,7 @@ index 0000000..9750730
+ uint16_t w;
+ uint32_t component_mask = 0xff00ff;
+ uint32_t component_half = 0x800080;
++ uint32_t alpha_mask = 0xff;
+
+ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
+ fbComposeGetStart (pSrc, xSrc, ySrc, uint32_t, srcStride, srcLine, 1);
@@ -354,8 +349,8 @@ index 0000000..9750730
+ "and r6, %[component_mask], r4\n\t"
+ "and r7, %[component_mask], r4, lsr #8\n\t"
+
-+ "mvn r8, r5\n\t"
-+ "mov r8, r8, lsr #24\n\t"
++ /* 255 - alpha */
++ "sub r8, %[alpha_mask], r5, lsr #24\n\t"
+
+ /* multiply by alpha (r8) then by 257 and divide by 65536 */
+ "mla r6, r6, r8, %[component_half]\n\t"
@@ -385,19 +380,139 @@ index 0000000..9750730
+ "bne 1b\n\t"
+ "2:\n\t"
+ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src)
-+ : [component_half] "r" (component_half), [component_mask] "r" (component_mask), [mask_alpha] "r" (mask)
++ : [component_half] "r" (component_half), [component_mask] "r" (component_mask), [mask_alpha] "r" (mask),
++ [alpha_mask] "r" (alpha_mask)
+ : "r4", "r5", "r6", "r7", "r8", "r9", "cc", "memory"
+ );
+ }
+}
+
++void
++fbCompositeSolidMask_nx8x8888arm (pixman_op_t op,
++ pixman_image_t * pSrc,
++ pixman_image_t * pMask,
++ pixman_image_t * pDst,
++ int16_t xSrc,
++ int16_t ySrc,
++ int16_t xMask,
++ int16_t yMask,
++ int16_t xDst,
++ int16_t yDst,
++ uint16_t width,
++ uint16_t height)
++{
++ uint32_t src, srca;
++ uint32_t *dstLine, *dst;
++ uint8_t *maskLine, *mask;
++ int dstStride, maskStride;
++ uint16_t w;
+
++ fbComposeGetSolid(pSrc, src, pDst->bits.format);
++
++ srca = src >> 24;
++ if (src == 0)
++ return;
++
++ uint32_t component_mask = 0xff00ff;
++ uint32_t component_half = 0x800080;
++
++ uint32_t src_hi = (src >> 8) & component_mask;
++ uint32_t src_lo = src & component_mask;
++
++ fbComposeGetStart (pDst, xDst, yDst, uint32_t, dstStride, dstLine, 1);
++ fbComposeGetStart (pMask, xMask, yMask, uint8_t, maskStride, maskLine, 1);
++
++ while (height--)
++ {
++ dst = dstLine;
++ dstLine += dstStride;
++ mask = maskLine;
++ maskLine += maskStride;
++ w = width;
++
++//#define inner_branch
++ asm volatile (
++ "cmp %[w], #0\n\t"
++ "beq 2f\n\t"
++ "1:\n\t"
++ /* load mask */
++ "ldrb r5, [%[mask]], #1\n\t"
++#ifdef inner_branch
++ /* We can avoid doing the multiplication in two cases: 0x0 or 0xff.
++ * The 0x0 case also allows us to avoid doing an unecessary data
++ * write which is more valuable so we only check for that */
++ /* 0x1000000 is the least value that contains alpha all values
++ * less than it have a 0 alpha value */
++ "cmp r5, #0x0\n\t"
++ "beq 3f\n\t"
++
++#endif
++ "ldr r4, [%[dest]] \n\t"
++
++ /* multiply by alpha (r8) then by 257 and divide by 65536 */
++ "mla r6, %[src_lo], r5, %[component_half]\n\t"
++ "mla r7, %[src_hi], r5, %[component_half]\n\t"
++
++ "and r8, %[component_mask], r6, lsr #8\n\t"
++ "and r5, %[component_mask], r7, lsr #8\n\t"
++
++ "add r6, r6, r8\n\t"
++ "add r7, r7, r5\n\t"
++
++ "and r6, %[component_mask], r6, lsr #8\n\t"
++ "and r7, %[component_mask], r7, lsr #8\n\t"
++
++ /* recombine */
++ "orr r5, r6, r7, lsl #8\n\t"
++
++ "and r6, %[component_mask], r4\n\t"
++ "and r7, %[component_mask], r4, lsr #8\n\t"
++
++ /* we could simplify this to use 'sub' if we were
++ * willing to give up a register for alpha_mask */
++ "mvn r8, r5\n\t"
++ "mov r8, r8, lsr #24\n\t"
++
++ /* multiply by alpha (r8) then by 257 and divide by 65536 */
++ "mla r6, r6, r8, %[component_half]\n\t"
++ "mla r7, r7, r8, %[component_half]\n\t"
++
++ "and r8, %[component_mask], r6, lsr #8\n\t"
++ "and r4, %[component_mask], r7, lsr #8\n\t"
++
++ "add r6, r6, r8\n\t"
++ "add r7, r7, r4\n\t"
++
++ "and r6, %[component_mask], r6, lsr #8\n\t"
++ "and r7, %[component_mask], r7, lsr #8\n\t"
++
++ /* recombine */
++ "orr r6, r6, r7, lsl #8\n\t"
++
++ "uqadd8 r5, r6, r5\n\t"
++
++#ifdef inner_branch
++ "3:\n\t"
++
++#endif
++ "str r5, [%[dest]], #4\n\t"
++ /* increment counter and jmp to top */
++ "subs %[w], %[w], #1\n\t"
++ "bne 1b\n\t"
++ "2:\n\t"
++ : [w] "+r" (w), [dest] "+r" (dst), [src] "+r" (src), [mask] "+r" (mask)
++ : [component_half] "r" (component_half), [component_mask] "r" (component_mask),
++ [src_hi] "r" (src_hi), [src_lo] "r" (src_lo)
++ : "r4", "r5", "r6", "r7", "r8", "cc", "memory"
++ );
++ }
++}
diff --git a/pixman/pixman-arm.h b/pixman/pixman-arm.h
new file mode 100644
-index 0000000..06a3121
+index 0000000..258054a
--- /dev/null
+++ b/pixman/pixman-arm.h
-@@ -0,0 +1,80 @@
+@@ -0,0 +1,94 @@
+/*
+ * Copyright © 2008 Mozilla Corporation
+ *
@@ -476,10 +591,24 @@ index 0000000..06a3121
+ int16_t yDst,
+ uint16_t width,
+ uint16_t height);
++void
++fbCompositeSolidMask_nx8x8888arm (pixman_op_t op,
++ pixman_image_t * pSrc,
++ pixman_image_t * pMask,
++ pixman_image_t * pDst,
++ int16_t xSrc,
++ int16_t ySrc,
++ int16_t xMask,
++ int16_t yMask,
++ int16_t xDst,
++ int16_t yDst,
++ uint16_t width,
++ uint16_t height);
++
+
+#endif /* USE_ARM */
diff --git a/pixman/pixman-pict.c b/pixman/pixman-pict.c
-index b918219..05abc82 100644
+index b918219..e59e904 100644
--- a/pixman/pixman-pict.c
+++ b/pixman/pixman-pict.c
@@ -34,6 +34,7 @@
@@ -490,7 +619,7 @@ index b918219..05abc82 100644
#include "pixman-combine32.h"
#ifdef __GNUC__
-@@ -1479,6 +1480,18 @@ static const FastPathInfo vmx_fast_paths[] =
+@@ -1479,6 +1480,26 @@ static const FastPathInfo vmx_fast_paths[] =
};
#endif
@@ -498,18 +627,26 @@ index b918219..05abc82 100644
+static const FastPathInfo arm_fast_paths[] =
+{
+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_a8r8g8b8, fbCompositeSrc_8888x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_null, PIXMAN_x8r8g8b8, fbCompositeSrc_8888x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_a8b8g8r8, fbCompositeSrc_8888x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_a8b8g8r8, PIXMAN_null, PIXMAN_x8b8g8r8, fbCompositeSrc_8888x8888arm, 0 },
+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_a8r8g8b8, fbCompositeSrc_8888x8x8888arm, NEED_SOLID_MASK },
+ { PIXMAN_OP_OVER, PIXMAN_a8r8g8b8, PIXMAN_a8, PIXMAN_x8r8g8b8, fbCompositeSrc_8888x8x8888arm, NEED_SOLID_MASK },
+
+ { PIXMAN_OP_ADD, PIXMAN_a8, PIXMAN_null, PIXMAN_a8, fbCompositeSrcAdd_8000x8000arm, 0 },
+
++ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8r8g8b8, fbCompositeSolidMask_nx8x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8r8g8b8, fbCompositeSolidMask_nx8x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_a8b8g8r8, fbCompositeSolidMask_nx8x8888arm, 0 },
++ { PIXMAN_OP_OVER, PIXMAN_solid, PIXMAN_a8, PIXMAN_x8b8g8r8, fbCompositeSolidMask_nx8x8888arm, 0 },
++
+ { PIXMAN_OP_NONE },
+};
+#endif
static const FastPathInfo c_fast_paths[] =
{
-@@ -1829,6 +1842,12 @@ pixman_image_composite (pixman_op_t op,
+@@ -1829,6 +1850,12 @@ pixman_image_composite (pixman_op_t op,
if (!info && pixman_have_vmx())
info = get_fast_path (vmx_fast_paths, op, pSrc, pMask, pDst, pixbuf);
#endif
diff --git a/packages/xorg-lib/pixman_0.11.8.bb b/packages/xorg-lib/pixman_0.11.8.bb
index 6a4ce74d8f..a66041da74 100644
--- a/packages/xorg-lib/pixman_0.11.8.bb
+++ b/packages/xorg-lib/pixman_0.11.8.bb
@@ -3,7 +3,7 @@ PRIORITY = "optional"
DESCRIPTION = "Low-level pixel manipulation library."
LICENSE = "X11"
-PR = "r2"
+PR = "r3"
SRC_URI = "http://cairographics.org/releases/pixman-${PV}.tar.gz \
file://pixman-arm.patch;patch=1 \
diff --git a/packages/xorg-xserver/xserver-xorg_1.4.2.bb b/packages/xorg-xserver/xserver-xorg_1.4.2.bb
index 0a61cb2c7e..c9f6e3d29b 100644
--- a/packages/xorg-xserver/xserver-xorg_1.4.2.bb
+++ b/packages/xorg-xserver/xserver-xorg_1.4.2.bb
@@ -3,7 +3,7 @@ require xorg-xserver-common.inc
DESCRIPTION = "the X.Org X server"
DEPENDS += "pixman"
PE = "1"
-PR = "r3"
+PR = "r4"
SRC_URI += "file://drmfix.patch;patch=1 \
file://pkgconfig_fix.patch;patch=1 \