[Buildroot] [PATCH 1/1] qt5wayland: new package
Peter Seiderer
ps.report at gmx.net
Mon Jun 27 18:38:12 UTC 2016
Hello Akihiko,
thanks for patch submission, some comments below...
On Wed, 1 Jun 2016 12:38:10 +0900, Akihiko Odaki <akihiko.odaki.4i at stu.hosei.ac.jp> wrote:
> Signed-off-by: Akihiko Odaki <akihiko.odaki.4i at stu.hosei.ac.jp>
> ---
> package/qt5/Config.in | 1 +
> package/qt5/qt5base/Config.in | 3 ++-
> package/qt5/qt5base/qt5base.mk | 4 ++++
> package/qt5/qt5wayland/Config.in | 16 ++++++++++++++++
> package/qt5/qt5wayland/qt5wayland.hash | 4 ++++
> package/qt5/qt5wayland/qt5wayland.mk | 34 ++++++++++++++++++++++++++++++++++
> 6 files changed, 61 insertions(+), 1 deletion(-)
> create mode 100644 package/qt5/qt5wayland/Config.in
> create mode 100644 package/qt5/qt5wayland/qt5wayland.hash
> create mode 100644 package/qt5/qt5wayland/qt5wayland.mk
>
> diff --git a/package/qt5/Config.in b/package/qt5/Config.in
> index 84cbb0f..b18c135 100644
> --- a/package/qt5/Config.in
> +++ b/package/qt5/Config.in
> @@ -48,6 +48,7 @@ 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/qt5wayland/Config.in"
> source "package/qt5/qt5x11extras/Config.in"
> source "package/qt5/qt5xmlpatterns/Config.in"
> comment "technology preview"
> diff --git a/package/qt5/qt5base/Config.in b/package/qt5/qt5base/Config.in
> index 64a7f65..2b8e278 100644
> --- a/package/qt5/qt5base/Config.in
> +++ b/package/qt5/qt5base/Config.in
> @@ -122,7 +122,8 @@ config BR2_PACKAGE_QT5BASE_GUI
> select BR2_PACKAGE_QT5BASE_LINUXFB if \
> !BR2_PACKAGE_QT5BASE_DIRECTFB && \
> !BR2_PACKAGE_QT5BASE_XCB && \
> - !BR2_PACKAGE_QT5BASE_EGLFS
> + !BR2_PACKAGE_QT5BASE_EGLFS && \
> + !BR2_PACKAGE_QT5WAYLAND
> help
> This option enables the Qt5Gui library.
>
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index 9ff7af1..dcc4967 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -118,6 +118,10 @@ else
> QT5BASE_CONFIGURE_OPTS += -no-eglfs
> endif
>
> +ifeq ($(BR2_PACKAGE_QT5WAYLAND),y)
> +QT5BASE_CONFIGURE_OPTS += -no-qpa-platform-guard
> +endif
> +
> QT5BASE_CONFIGURE_OPTS += $(if $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
> QT5BASE_DEPENDENCIES += $(if $(BR2_PACKAGE_OPENSSL),openssl)
>
> diff --git a/package/qt5/qt5wayland/Config.in b/package/qt5/qt5wayland/Config.in
> new file mode 100644
> index 0000000..acfff15
> --- /dev/null
> +++ b/package/qt5/qt5wayland/Config.in
> @@ -0,0 +1,16 @@
> +config BR2_PACKAGE_QT5WAYLAND
> + bool "qt5wayland"
> + select BR2_PACKAGE_QT5BASE
> + select BR2_PACKAGE_QT5DECLARATIVE
> + select BR2_PACKAGE_QT5JSBACKEND
BR2_PACKAGE_QT5JSBACKEND was remove move Buildroot (in 2013?), please remove this line...
> + select BR2_PACKAGE_LIBXKBCOMMON
> + select BR2_PACKAGE_XKEYBOARD_CONFIG
First compile try (for imx6) bailed out with an error about missing 'wayland-egl', fixed
by adding:
depends on BR2_PACKAGE_MESA3D # provides wayland-egl
> + depends on BR2_PACKAGE_WAYLAND
> + depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
This dependency is from qt5declarative?
Please change to:
depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
> + help
> + Qt is a cross-platform application and UI framework for
> + developers using C++.
> +
> + This package corresponds to the qt5wayland module.
> +
> + http://qt.io
Comment section missing, e.g.:
+
+comment "qt5wayland needs mesa3d and wayland"
+ depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+ depends on !BR2_PACKAGE_MESA3D || !BR2_PACKAGE_WAYLAND
> diff --git a/package/qt5/qt5wayland/qt5wayland.hash b/package/qt5/qt5wayland/qt5wayland.hash
> new file mode 100644
> index 0000000..297a208
> --- /dev/null
> +++ b/package/qt5/qt5wayland/qt5wayland.hash
> @@ -0,0 +1,4 @@
> +# Hashes from: http://download.qt.io/official_releases/qt/5.6/5.6.0/submodules/qtwayland-opensource-src-5.6.0.tar.xz.mirrorlist
> +sha256 b55d0142f245c927970031ef908e98cb20f1d7a2a5441647ed937252fed3bfcc qtwayland-opensource-src-5.6.0.tar.xz
> +sha1 db3fc8bfa78f808d060e6ce5d79ae4a94e280b33 qtwayland-opensource-src-5.6.0.tar.xz
> +md5 9dbfb0278eb0891e50b136d8b6eaa62b qtwayland-opensource-src-5.6.0.tar.xz
One (the strongest) hash is enough, just keep sha256 and remove sha1/md5...
> diff --git a/package/qt5/qt5wayland/qt5wayland.mk b/package/qt5/qt5wayland/qt5wayland.mk
> new file mode 100644
> index 0000000..be6cf8f
> --- /dev/null
> +++ b/package/qt5/qt5wayland/qt5wayland.mk
> @@ -0,0 +1,34 @@
> +################################################################################
> +#
> +# qt5wayland
> +#
> +################################################################################
> +
> +QT5WAYLAND_VERSION = $(QT5_VERSION)
> +QT5WAYLAND_SITE = $(QT5_SITE)
> +QT5WAYLAND_SOURCE = qtwayland-opensource-src-$(QT5WAYLAND_VERSION).tar.xz
> +QT5WAYLAND_DEPENDENCIES = qt5base qt5declarative wayland libxkbcommon xkeyboard-config
> +ifeq ($(BR2_PACKAGE_HAS_LIBEGL),y)
> +QT5WAYLAND_DEPENDENCIES += libegl
> +endif
> +QT5WAYLAND_INSTALL_STAGING = YES
> +
> +define QT5WAYLAND_CONFIGURE_CMDS
> + (cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake)
> +endef
> +
> +define QT5WAYLAND_BUILD_CMDS
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
> +endef
> +
> +define QT5WAYLAND_INSTALL_STAGING_CMDS
> + $(TARGET_MAKE_ENV) $(MAKE) -C $(@D) install
Please add
$(QT5_LA_PRL_FILES_FIXUP)
as all the other qt5 packages do...
> +endef
> +
Same for:
ifeq ($(BR2_STATIC_LIBS),)
> +define QT5WAYLAND_INSTALL_TARGET_CMDS
> + cp -dpf $(STAGING_DIR)/usr/lib/libQt5WaylandClient.so* $(TARGET_DIR)/usr/lib
> + cp -dpfr $(STAGING_DIR)/usr/lib/qt/plugins/wayland-*-client $(TARGET_DIR)/usr/lib/qt/plugins
> + cp -dpf $(STAGING_DIR)/usr/lib/qt/plugins/platforms/libqwayland-*.so $(TARGET_DIR)/usr/lib/qt/plugins/platforms
> +endef
endif
> +
> +$(eval $(generic-package))
Only compile tested the package (yet), because weston did not start up without
errors on my test system...
Regards,
Peter
More information about the buildroot
mailing list