From: Antoine Tenart <antoine.tenart@free-electrons.com>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v5] qt5tools: new package
Date: Tue, 1 Mar 2016 14:10:16 +0100 [thread overview]
Message-ID: <20160301131016.GC3242@kwain> (raw)
In-Reply-To: <1456006083-15740-1-git-send-email-ps.report@gmx.net>
Hello Peter,
On Sat, Feb 20, 2016 at 11:08:03PM +0100, Peter Seiderer wrote:
> - host programs: lconvert, lrelease and lupdate
> - target programs: pixeltool, qtdiag, qtpath and qtplugininfo
>
> Signed-off-by: Peter Seiderer <ps.report@gmx.net>
> ---
> Changes v4 -> v5:
> - use install target for linguist staging install, copy
> cmake module files too (suggested by Antoine Tenart)
I tested this new version, and used the cmake modules provided by
qt5tools. It worked fine.
Thanks!
Antoine
> Changes v3 -> v4:
> - fix trailing whitespace
>
> Changes v2 -> v3:
> - rebased (update to qt-5.5.1)
> - drop unneeded select libpng line (Thomas Petazzoni)
> - drop unneeded line break (Thomas Petazzoni)
> - pixeltool needs BR2_PACKAGE_QT5BASE_GUI and
> BR2_PACKAGE_QT5BASE_WIDGETS too
> - use foreach instead of repetitive open coding (Thomas Petazzoni)
> - install host tools to host directory instead of staging
> directory (Thomas Petazzoni)
> - add more comment about linguist tools dependency on
> qt5declarative (Thomas Petazzoni)
>
> Changes v1 -> v2:
> - add target programs, reword commit message
> ---
> package/qt5/Config.in | 1 +
> package/qt5/qt5tools/Config.in | 42 ++++++++++++++++++++++++
> package/qt5/qt5tools/qt5tools.hash | 2 ++
> package/qt5/qt5tools/qt5tools.mk | 66 ++++++++++++++++++++++++++++++++++++++
> 4 files changed, 111 insertions(+)
> create mode 100644 package/qt5/qt5tools/Config.in
> create mode 100644 package/qt5/qt5tools/qt5tools.hash
> create mode 100644 package/qt5/qt5tools/qt5tools.mk
>
> diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> index ad6226e..1c42102 100644
> --- a/package/qt5/Config.in
> +++ b/package/qt5/Config.in
> @@ -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
> index 0000000..9e939f2
> --- /dev/null
> +++ b/package/qt5/qt5tools/Config.in
> @@ -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
> index 0000000..f54c94a
> --- /dev/null
> +++ b/package/qt5/qt5tools/qt5tools.hash
> @@ -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
> index 0000000..f3d78ce
> --- /dev/null
> +++ b/package/qt5/qt5tools/qt5tools.mk
> @@ -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))
> --
> 2.1.4
>
--
Antoine T?nart, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: Digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20160301/7a865853/attachment.asc>
prev parent reply other threads:[~2016-03-01 13:10 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2016-02-20 22:08 [Buildroot] [PATCH v5] qt5tools: new package Peter Seiderer
2016-02-29 20:45 ` Thomas Petazzoni
2016-03-01 13:10 ` Antoine Tenart [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20160301131016.GC3242@kwain \
--to=antoine.tenart@free-electrons.com \
--cc=buildroot@busybox.net \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.