qt5tools: new package
authorPeter Seiderer <ps.report@gmx.net>
Sat, 20 Feb 2016 22:08:03 +0000 (23:08 +0100)
committerThomas Petazzoni <thomas.petazzoni@free-electrons.com>
Sun, 28 Feb 2016 22:10:20 +0000 (23:10 +0100)
- host programs: lconvert, lrelease and lupdate
- target programs: pixeltool, qtdiag, qtpath and qtplugininfo

Signed-off-by: Peter Seiderer <ps.report@gmx.net>
Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
package/qt5/Config.in
package/qt5/qt5tools/Config.in [new file with mode: 0644]
package/qt5/qt5tools/qt5tools.hash [new file with mode: 0644]
package/qt5/qt5tools/qt5tools.mk [new file with mode: 0644]

index ad6226e07c64771f28857b1b6a3b0e6ad4aaa28f..1c42102c94aa625065b58b20b0125ec80643636b 100644 (file)
@@ -42,6 +42,7 @@ source "package/qt5/qt5quickcontrols/Config.in"
 source "package/qt5/qt5sensors/Config.in"
 source "package/qt5/qt5serialport/Config.in"
 source "package/qt5/qt5svg/Config.in"
+source "package/qt5/qt5tools/Config.in"
 source "package/qt5/qt5webchannel/Config.in"
 source "package/qt5/qt5websockets/Config.in"
 source "package/qt5/qt5x11extras/Config.in"
diff --git a/package/qt5/qt5tools/Config.in b/package/qt5/qt5tools/Config.in
new file mode 100644 (file)
index 0000000..9e939f2
--- /dev/null
@@ -0,0 +1,42 @@
+config BR2_PACKAGE_QT5TOOLS
+       bool "qt5tools"
+       help
+         Qt is a cross-platform application and UI framework for
+         developers using C++.
+
+         This package corresponds to the qt5tools module.
+
+         http://qt.io
+
+if BR2_PACKAGE_QT5TOOLS
+
+config BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS
+       bool "Linguist host tools (lconvert, lrelease, lupdate)"
+       help
+         This option enables the linguist host tools
+         lconvert, lrelease and lupdate.
+
+config BR2_PACKAGE_QT5TOOLS_PIXELTOOL
+       bool "pixeltool"
+       select BR2_PACKAGE_QT5BASE_GUI
+       select BR2_PACKAGE_QT5BASE_WIDGETS
+       select BR2_PACKAGE_QT5BASE_PNG # saving png images
+       help
+         Compile and install the pixeltool program.
+
+config BR2_PACKAGE_QT5TOOLS_QTDIAG
+       bool "qtdiag"
+       help
+         Compile and install the qtdiag program.
+
+config BR2_PACKAGE_QT5TOOLS_QTPATHS
+       bool "qtpaths"
+       help
+         Compile and install the qtpaths program.
+
+config BR2_PACKAGE_QT5TOOLS_QTPLUGININFO
+       bool "qtplugininfo"
+       help
+         Compile and install the qtplugininfo program.
+
+endif
diff --git a/package/qt5/qt5tools/qt5tools.hash b/package/qt5/qt5tools/qt5tools.hash
new file mode 100644 (file)
index 0000000..f54c94a
--- /dev/null
@@ -0,0 +1,2 @@
+# Hash from: http://download.qt.io/official_releases/qt/5.5/5.5.1/submodules/qttools-opensource-src-5.5.1.tar.xz.mirrorlist
+sha256 4361f6ce49717058160908297841a18b94645cec593d1b48fb126c9d06c87bfd qttools-opensource-src-5.5.1.tar.xz
diff --git a/package/qt5/qt5tools/qt5tools.mk b/package/qt5/qt5tools/qt5tools.mk
new file mode 100644 (file)
index 0000000..f3d78ce
--- /dev/null
@@ -0,0 +1,66 @@
+################################################################################
+#
+# qt5tools
+#
+################################################################################
+
+QT5TOOLS_VERSION = $(QT5_VERSION)
+QT5TOOLS_SITE = $(QT5_SITE)
+QT5TOOLS_SOURCE = qttools-opensource-src-$(QT5BASE_VERSION).tar.xz
+
+QT5TOOLS_DEPENDENCIES = qt5base
+QT5TOOLS_INSTALL_STAGING = YES
+
+# linguist tools compile conditionally on qtHaveModule(qmldevtools-private),
+# but the condition is used only used to decide if lupdate will support
+# parsing qml files (via setting QT_NO_QML define), no linking against
+# target qt5 will happen
+ifeq ($(BR2_PACKAGE_QT5DECLARATIVE),y)
+QT5TOOLS_DEPENDENCIES += qt5declarative
+endif
+
+ifeq ($(BR2_PACKAGE_QT5BASE_LICENSE_APPROVED),y)
+QT5TOOLS_LICENSE = LGPLv2.1 with exception or LGPLv3
+QT5TOOLS_LICENSE_FILES = LICENSE.LGPLv21 LGPL_EXCEPTION.txt LICENSE.LGPLv3
+else
+QT5TOOLS_LICENSE = Commercial license
+QT5TOOLS_REDISTRIBUTE = NO
+endif
+
+QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS) += \
+       linguist/lconvert linguist/lrelease linguist/lupdate
+ifeq ($(BR2_PACKAGE_QT5TOOLS_LINGUIST_TOOLS),y)
+# use install target to copy cmake module files
+define QT5TOOLS_INSTALL_STAGING_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/linguist install
+endef
+endif
+
+QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool
+QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_PIXELTOOL) += pixeltool
+
+QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag
+QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTDIAG) += qtdiag
+
+QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths
+QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPATHS) += qtpaths
+
+QT5TOOLS_BUILD_DIRS_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo
+QT5TOOLS_INSTALL_TARGET_$(BR2_PACKAGE_QT5TOOLS_QTPLUGININFO) += qtplugininfo
+
+define QT5TOOLS_CONFIGURE_CMDS
+       (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
+endef
+
+define QT5TOOLS_BUILD_CMDS
+       $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) sub-src-qmake_all
+       $(foreach p,$(QT5TOOLS_BUILD_DIRS_y), \
+               $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)/src/$(p)$(sep))
+endef
+
+define QT5TOOLS_INSTALL_TARGET_CMDS
+       $(foreach p,$(QT5TOOLS_INSTALL_TARGET_y), \
+               $(INSTALL) -D -m0755 $(@D)/bin/$(p) $(TARGET_DIR)/usr/bin/$(p)$(sep))
+endef
+
+$(eval $(generic-package))