Commit 130a4835 authored by Thomas Petazzoni's avatar Thomas Petazzoni Committed by Peter Korsgaard
Browse files

qt5/qt5jsbackend: new package

parent 55fde61f
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -17,6 +17,7 @@ menuconfig BR2_PACKAGE_QT5
if BR2_PACKAGE_QT5
source "package/qt5/qt5base/Config.in"
source "package/qt5/qt5imageformats/Config.in"
source "package/qt5/qt5jsbackend/Config.in"
source "package/qt5/qt5script/Config.in"
source "package/qt5/qt5svg/Config.in"
source "package/qt5/qt5xmlpatterns/Config.in"
+10 −0
Original line number Diff line number Diff line
config BR2_PACKAGE_QT5JSBACKEND
	bool "qt5jsbackend"
	select BR2_PACKAGE_QT5BASE
	help
	  Qt is a cross-platform application and UI framework for
	  developers using C++.

	  This package corresponds to the qt5jsbackend module.

	  http://qt-project.org
+29 −0
Original line number Diff line number Diff line
Only import bz2 python module when needed

The js2c.py script imports the bz2 module unconditionnally, which
would require us to build the bzip2 support in host-python. Since in
fact bzip2 support is not technically used when building this package,
we ensure that the bz2 module is only imported when needed.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: b/src/3rdparty/v8/tools/js2c.py
===================================================================
--- a/src/3rdparty/v8/tools/js2c.py
+++ b/src/3rdparty/v8/tools/js2c.py
@@ -33,7 +33,6 @@
 
 import os, re, sys, string
 import jsmin
-import bz2
 
 
 def ToCAsciiArray(lines):
@@ -344,6 +343,7 @@
   else:
     raw_sources_declaration = RAW_SOURCES_COMPRESSION_DECLARATION
     if env['COMPRESSION'] == 'bz2':
+      import bz2
       all_sources = bz2.compress("".join(all_sources))
     total_length = len(all_sources)
     sources_data = ToCArray(all_sources)
+33 −0
Original line number Diff line number Diff line
Fix build on uClibc

Patch taken from https://code.google.com/p/v8/source/detail?r=12094.

Review URL: https://chromiumcodereview.appspot.com/10784012
Patch from Remi Duraffort <remi.duraffort@st.com>.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Index: qt5jsbackend-5.0.0/src/3rdparty/v8/src/platform-linux.cc
===================================================================
--- qt5jsbackend-5.0.0.orig/src/3rdparty/v8/src/platform-linux.cc	2012-12-18 20:04:01.000000000 +0100
+++ qt5jsbackend-5.0.0/src/3rdparty/v8/src/platform-linux.cc	2013-03-03 20:31:46.000000000 +0100
@@ -1030,7 +1030,8 @@
   sample->fp = reinterpret_cast<Address>(mcontext.gregs[REG_RBP]);
 #elif V8_HOST_ARCH_ARM
 // An undefined macro evaluates to 0, so this applies to Android's Bionic also.
-#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
+#if (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) && \
+     !defined(__UCLIBC__))
   sample->pc = reinterpret_cast<Address>(mcontext.gregs[R15]);
   sample->sp = reinterpret_cast<Address>(mcontext.gregs[R13]);
   sample->fp = reinterpret_cast<Address>(mcontext.gregs[R11]);
@@ -1038,7 +1039,8 @@
   sample->pc = reinterpret_cast<Address>(mcontext.arm_pc);
   sample->sp = reinterpret_cast<Address>(mcontext.arm_sp);
   sample->fp = reinterpret_cast<Address>(mcontext.arm_fp);
-#endif  // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3))
+#endif  // (__GLIBC__ < 2 || (__GLIBC__ == 2 && __GLIBC_MINOR__ <= 3) &&
+        // !defined(__UCLIBC__))
 #elif V8_HOST_ARCH_MIPS
   sample->pc = reinterpret_cast<Address>(mcontext.pc);
   sample->sp = reinterpret_cast<Address>(mcontext.gregs[29]);
+43 −0
Original line number Diff line number Diff line
#############################################################
#
# qt5jsbackend
#
#############################################################

QT5JSBACKEND_VERSION = $(QT5_VERSION)
QT5JSBACKEND_SITE = http://releases.qt-project.org/qt5/$(QT5JSBACKEND_VERSION)/submodules_tar/
QT5JSBACKEND_SOURCE = qtjsbackend-opensource-src-$(QT5JSBACKEND_VERSION).tar.xz
QT5JSBACKEND_DEPENDENCIES = qt5base
QT5JSBACKEND_INSTALL_STAGING = YES

ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
QT5JSBACKEND_CONFIGURE_OPTS += -opensource -confirm-license
QT5JSBACKEND_LICENSE = LGPLv2.1 or GPLv3.0
# Here we would like to get license files from qt5base, but qt5base
# may not be extracted at the time we get the legal-info for
# qt5script.
else
QT5JSBACKEND_LICENSE = Commercial license
QT5JSBACKEND_REDISTRIBUTE = NO
endif

define QT5JSBACKEND_CONFIGURE_CMDS
	(cd $(@D); $(HOST_DIR)/usr/bin/qmake)
endef

define QT5JSBACKEND_BUILD_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
endef

define QT5JSBACKEND_INSTALL_STAGING_CMDS
	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
	$(QT5_LA_PRL_FILES_FIXUP)
endef

ifeq ($(BR2_PREFER_STATIC_LIB),)
define QT5JSBACKEND_INSTALL_TARGET_CMDS
	cp -dpf $(STAGING_DIR)/usr/lib/libQt5V8*.so.* $(TARGET_DIR)/usr/lib
endef
endif

$(eval $(generic-package))