#
-# Copyright (C) 2008-2012 OpenWrt.org
+# Copyright (C) 2008-2010 OpenWrt.org
#
# This is free software, licensed under the GNU General Public License v2.
# See /LICENSE for more information.
include $(TOPDIR)/rules.mk
PKG_NAME:=qt4
-PKG_VERSION:=4.7.0
+PKG_VERSION:=4.8.1
PKG_RELEASE:=1
-PKG_MD5SUM:=3a2f25b9b115037277f4fb759194a7a5
+PKG_MD5SUM:=7960ba8e18ca31f0c6e4895a312f92ff
PKG_SOURCE:=qt-everywhere-opensource-src-$(PKG_VERSION).tar.gz
PKG_SOURCE_URL:=ftp://ftp.qt.nokia.com/qt/source
include $(INCLUDE_DIR)/nls.mk
-include $(if $(DUMP),,./files/qmake.mk)
-# this should be moved to a more generic place later, as other packages are configured different as well depending on available nptl support
-ifeq ($(CONFIG_USE_GLIBC),y)
- NPTL:=y
-endif
-ifeq ($(CONFIG_USE_EGLIBC),y)
- NPTL:=y
-endif
-ifeq ($(CONFIG_UCLIBC_VERSION_0_9_32),y)
- NPTL:=y
-endif
-
define Package/qt4/config
source "$(SOURCE)/Config.in"
endef
DEPENDS+=+libpq
endef
-define Package/qt4-pgsql
- $(call Package/qt4/Default)
- TITLE+=(pgsql)
- DEPENDS+=+libpq
-endef
-
define Package/qt4-openssl
$(call Package/qt4/Default)
TITLE+=(openssl)
define Package/qt4-webkit
$(call Package/qt4/Default)
TITLE+=(webkit)
- DEPENDS+=@USE_GLIBC||@USE_EGLIBC||@UCLIBC_VERSION_0_9_32 +libsqlite3 +qt4-phonon +qt4-dbus +qt4-xml +qt4-gui +qt4-network # versions of uclibc prior 0.9.32 do not have nptl support
+ DEPENDS+=+libsqlite3 +qt4-phonon +qt4-dbus +qt4-xml +qt4-gui +qt4-network
endef
define Package/qt4-script
$(call Package/qt4/Default)
TITLE+=(script)
- DEPENDS+=@USE_GLIBC||@USE_EGLIBC||@UCLIBC_VERSION_0_9_32 # versions of uclibc prior 0.9.32 do not have nptl support
endef
define Package/qt4-scripttools
TITLE+=(xml)
endef
+define Package/qt4-xmlpatterns
+ $(call Package/qt4/Default)
+ TITLE+=(xmlpatterns)
+endef
+
###
define Package/qt4-drivers-mouse/Default
$(call Package/qt4/Default)
TARGET_LIBDIRS+=$(STAGING_DIR)/lib $(STAGING_DIR)/usr/lib $(TOOLCHAIN_DIR)/lib $(TOOLCHAIN_DIR)/usr/lib
TARGET_LDFLAGS+=-Wl,-rpath-link=$(STAGING_DIR)/usr/lib,-rpath-link=$(PKG_BUILD_DIR)/lib
TARGET_CFLAGS+=-I$(STAGING_DIR)/usr/include/freetype2 -I$(PKG_BUILD_DIR)/include -I$(STAGING_DIR)/usr/include/directfb
+TARGET_CFLAGS+=-fpermissive
ifeq ($(CONFIG_QT4_WS_QWS),y)
FILEPFX:=qws-
-release \
-confirm-license \
-opensource \
+ -stl \
+ $(if $(CONFIG_PACKAGE_qt4-xmlpatterns),-xmlpatterns,-no-xmlpatterns) \
+ -no-fast \
+ -no-largefile \
+ -exceptions \
-no-mmx \
-no-3dnow \
-no-sse \
-no-sse2 \
+ -no-sse3 \
+ -no-ssse3 \
+ -no-sse4.1 \
+ -no-sse4.2 \
+ -no-avx \
+ -no-neon \
+ -no-armfpa \
-system-zlib \
-system-libtiff \
-system-libpng \
$(1)/usr/lib/
endef
+define Package/qt4-xmlpatterns/install
+ $(INSTALL_DIR) \
+ $(1)/usr/lib
+
+ $(CP) \
+ $(PKG_INSTALL_DIR)/usr/lib/libQtXmlPatterns.so* \
+ $(1)/usr/lib/
+endef
+
# plugins
# mouse drivers
define Package/qt4-drivers-mouse-tpmousedriver/install
$(eval $(call BuildPackage,qt4-qt3support))
$(eval $(call BuildPackage,qt4-declarative))
$(eval $(call BuildPackage,qt4-xml))
+$(eval $(call BuildPackage,qt4-xmlpatterns))
$(eval $(call BuildPackage,qt4-drivers-mouse-tpmousedriver))
$(eval $(call BuildPackage,qt4-drivers-mouse-pcmousedriver))
+++ /dev/null
-commit 57ad39ec62175eeea023ca802448ebb1605dca23
-Author: Andreas Kling <andreas.kling@nokia.com>
-Date: Fri Nov 12 16:08:35 2010 +0100
-
- Don't pack Harfbuzz structs, this causes unaligned access crashes.
-
- The memory-greediest structs have been reordered anyway, so the gain
- from forcibly packing them is mostly negligible.
-
- Task-number: QTBUG-13395
- Reviewed-by: Thiago Macieira <thiago.macieira@nokia.com>
-
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
-index 0d7c2c2..0d631b2 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-buffer.h
-@@ -32,10 +32,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- typedef struct HB_GlyphItemRec_ {
- HB_UInt gindex;
- HB_UInt properties;
-@@ -93,10 +89,6 @@ hb_buffer_add_glyph( HB_Buffer buffer,
- HB_UInt properties,
- HB_UInt cluster );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_BUFFER_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
-index 2a6d958..94e9b43 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef-private.h
-@@ -33,11 +33,6 @@
-
- HB_BEGIN_HEADER
-
--
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /* Attachment related structures */
-
- struct HB_AttachPoint_
-@@ -126,10 +121,6 @@ _HB_GDEF_LoadMarkAttachClassDef_From_LookupFlags( HB_GDEFHeader* gdef,
- HB_Lookup* lo,
- HB_UShort num_lookups );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_GDEF_PRIVATE_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
-index f9a03dd..ccb6bf9 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gdef.h
-@@ -31,10 +31,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /* GDEF glyph properties. Note that HB_GDEF_COMPONENT has no corresponding
- * flag in the LookupFlag field. */
- #define HB_GDEF_BASE_GLYPH 0x0002
-@@ -131,10 +127,6 @@ HB_Error HB_GDEF_Build_ClassDefinition( HB_GDEFHeader* gdef,
- HB_UShort* glyph_array,
- HB_UShort* class_array );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_GDEF_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-global.h b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
-index bccd6a2..d4e6b46 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-global.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-global.h
-@@ -39,10 +39,6 @@
- #define HB_END_HEADER /* nothing */
- #endif
-
--#if defined(__GNUC__) || defined(_MSC_VER)
--#define HB_USE_PACKED_STRUCTS
--#endif
--
- HB_BEGIN_HEADER
-
- #ifndef FALSE
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
-index 39f3159..63ba907 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gpos-private.h
-@@ -32,10 +32,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /* shared tables */
-
- #define VR_X_PLACEMENT_DEVICE 0
-@@ -720,10 +716,6 @@ HB_INTERNAL void
- _HB_GPOS_Free_SubTable( HB_GPOS_SubTable* st,
- HB_UShort lookup_type );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_GPOS_PRIVATE_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
-index 7eb329e..df0c3f6 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub-private.h
-@@ -32,10 +32,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- typedef union HB_GSUB_SubTable_ HB_GSUB_SubTable;
-
- /* LookupType 1 */
-@@ -474,10 +470,6 @@ HB_INTERNAL void
- _HB_GSUB_Free_SubTable( HB_GSUB_SubTable* st,
- HB_UShort lookup_type );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_GSUB_PRIVATE_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
-index b00df44..6e452bd 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-gsub.h
-@@ -31,11 +31,6 @@
-
- HB_BEGIN_HEADER
-
--
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /* Lookup types for glyph substitution */
-
- #define HB_GSUB_LOOKUP_SINGLE 1
-@@ -139,10 +134,6 @@ HB_Error HB_GSUB_Register_Alternate_Function( HB_GSUBHeader* gsub,
- HB_Error HB_GSUB_Apply_String( HB_GSUBHeader* gsub,
- HB_Buffer buffer );
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_GSUB_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-open.h b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
-index 4ba6cf5..9ad7c98 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-open.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-open.h
-@@ -30,10 +30,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /* Use this if a feature applies to all glyphs */
- #define HB_ALL_GLYPHS 0xFFFF
-
-@@ -279,10 +275,6 @@ enum HB_Type_
-
- typedef enum HB_Type_ HB_Type;
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif /* HARFBUZZ_OPEN_H */
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
-index ab5c07a..470e27b 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-shaper.h
-@@ -34,10 +34,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- /*
- using anything else than signed or unsigned for bitfields in C is non standard,
- but accepted by almost all compilers. And it gives a significant reduction in
-@@ -258,10 +254,6 @@ typedef struct HB_Font_ {
- void *userData;
- } HB_FontRec;
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- typedef struct HB_ShaperItem_ HB_ShaperItem;
-
- struct HB_ShaperItem_ {
-diff --git a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
-index a155cc2..cfbfb1c 100644
---- a/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
-+++ b/src/3rdparty/harfbuzz/src/harfbuzz-stream.h
-@@ -30,10 +30,6 @@
-
- HB_BEGIN_HEADER
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(push, 1)
--#endif
--
- typedef struct HB_StreamRec_
- {
- HB_Byte* base;
-@@ -42,10 +38,6 @@ typedef struct HB_StreamRec_
- HB_UInt pos;
- } HB_StreamRec;
-
--#ifdef HB_USE_PACKED_STRUCTS
--#pragma pack(pop)
--#endif
--
- HB_END_HEADER
-
- #endif
+++ /dev/null
---- qt-everywhere-opensource-src-4.7.0/src/gui/embedded/qkbdlinuxinput_qws.cpp 2010-09-10 11:05:24.000000000 +0200
-+++ qt-everywhere-opensource-src-4.7.0/src/gui/embedded/qkbdlinuxinput_qws.cpp.mod 2011-04-28 21:57:04.208449828 +0200
-@@ -103,6 +103,7 @@
- QString dev = QLatin1String("/dev/input/event1");
- int repeat_delay = -1;
- int repeat_rate = -1;
-+ int grab = 0;
-
- QStringList args = device.split(QLatin1Char(':'));
- foreach (const QString &arg, args) {
-@@ -110,12 +111,15 @@
- repeat_delay = arg.mid(13).toInt();
- else if (arg.startsWith(QLatin1String("repeat-rate=")))
- repeat_rate = arg.mid(12).toInt();
-+ else if (arg.startsWith(QLatin1String("grab=")))
-+ grab = arg.mid(5).toInt();
- else if (arg.startsWith(QLatin1String("/dev/")))
- dev = arg;
- }
-
- m_fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDWR, 0);
- if (m_fd >= 0) {
-+ ::ioctl(m_fd, EVIOCGRAB, grab);
- if (repeat_delay > 0 && repeat_rate > 0) {
- int kbdrep[2] = { repeat_delay, repeat_rate };
- ::ioctl(m_fd, EVIOCSREP, kbdrep);
---- qt-everywhere-opensource-src-4.7.0/src/gui/embedded/qmouselinuxinput_qws.cpp 2010-09-10 11:05:24.000000000 +0200
-+++ qt-everywhere-opensource-src-4.7.0/src/gui/embedded/qmouselinuxinput_qws.cpp.mod 2011-04-28 21:57:13.358562410 +0200
-@@ -43,6 +43,7 @@
-
- #include <QScreen>
- #include <QSocketNotifier>
-+#include <QStringList>
-
- #include <qplatformdefs.h>
- #include <private/qcore_unix_p.h> // overrides QT_OPEN
-@@ -101,11 +102,19 @@
- setObjectName(QLatin1String("LinuxInputSubsystem Mouse Handler"));
-
- QString dev = QLatin1String("/dev/input/event0");
-- if (device.startsWith(QLatin1String("/dev/")))
-- dev = device;
-+ int grab = 0;
-+
-+ QStringList args = device.split(QLatin1Char(':'));
-+ foreach (const QString &arg, args) {
-+ if (arg.startsWith(QLatin1String("grab=")))
-+ grab = arg.mid(5).toInt();
-+ else if (arg.startsWith(QLatin1String("/dev/")))
-+ dev = arg;
-+ }
-
- m_fd = QT_OPEN(dev.toLocal8Bit().constData(), O_RDONLY | O_NDELAY, 0);
- if (m_fd >= 0) {
-+ ::ioctl(m_fd, EVIOCGRAB, grab);
- m_notify = new QSocketNotifier(m_fd, QSocketNotifier::Read, this);
- connect(m_notify, SIGNAL(activated(int)), this, SLOT(readMouseData()));
- } else {