[Buildroot] [PATCH 1/1] qt5wayland: new package

Yann E. MORIN yann.morin.1998 at free.fr
Mon Jun 27 20:10:18 UTC 2016


Peter, Akihiko

On 2016-06-27 20:38 +0200, Peter Seiderer spake thusly:
> thanks for patch submission, some comments below...

Peter, I think Akihiko sent a new version of this package:

    http://lists.busybox.net/pipermail/buildroot/2016-June/165271.html
    https://patchwork.ozlabs.org/patch/640632/

I'll redirect my review to that newer version. Still, I have a comment
below on your own review...

> 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>
> > ---
[--SNIP--]
> > 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...

It's been removed in ecf4dff (qt5: remove qt5jsbackend package), in
December 2013.

Akihiko, please base your patches on the latest master of Buildroot.

> > +	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

Actually, this is no entirely right. It;s not wrong per-se, but there
are other EGL providers that provide wayland-egl.

For example, the nvidia-driver is supposed to provide it (I yet have to
update this package to the latest release; the version we have in
Buildroot is too old to provide wayland-egl).

Furthermore, quite a few proprietary EGL implementations may provide it
as well.

One thing that is right in Peter's comment is that the dependencies is
not correct. At the very least, qt5wayland should probably:

    depends on BR2_PACKAGE_HAS_LIBGLES

Yet, this is clearly not enough, as Peter said. We need a libgles (and
libegl) implementation that also provide wayland-egl.

Unfortunately, we do not have such a thing in Buildroot.

I would suggest that we add a new virtual package, BR2_PACKAGE_HAS_WAYLAND_EGL
which providers can select. So far, mesa3d is our only provider, but in
the future we may (will) have others.

After that new virtual package is added, we can add qt5wayland that
depend on it.

> > +	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...

It is better to add all hashes published by upstream, even for weak
hashes.

Only when upstream provides no hash do we only compute a strong ash
locally.

So what Akihiko did is correct.

Akihiko, other comments from Peter are good, so take them into account
before you resubmit. I'll further review your v2 now.

Regards,
Yann E. MORIN.

> > 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
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'



More information about the buildroot mailing list