All of lore.kernel.org
 help / color / mirror / Atom feed
From: Yann E. MORIN <yann.morin.1998@free.fr>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 1/1] qt5wayland: new package
Date: Mon, 27 Jun 2016 22:10:18 +0200	[thread overview]
Message-ID: <20160627201018.GA3714@free.fr> (raw)
In-Reply-To: <20160627203812.4d1d6148@gmx.net>

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@stu.hosei.ac.jp> wrote:
> > Signed-off-by: Akihiko Odaki <akihiko.odaki.4i@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.  |
'------------------------------^-------^------------------^--------------------'

  parent reply	other threads:[~2016-06-27 20:10 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-06-01  3:38 [Buildroot] [PATCH 1/1] mesa3d: don't remove OpenGL pc when installing Gallium Akihiko Odaki
2016-06-01  3:38 ` [Buildroot] [PATCH 1/1] qt5base: Enable KMS and GBM if Mesa 3D provides EGL Akihiko Odaki
2016-06-01 22:14   ` Akihiko Odaki
2016-06-25 11:33   ` Akihiko Odaki
2016-07-05 10:44   ` Thomas Petazzoni
2016-07-07  7:15   ` Thomas Petazzoni
2016-06-01  3:38 ` [Buildroot] [PATCH 1/1] qt5wayland: new package Akihiko Odaki
2016-06-01 22:14   ` Akihiko Odaki
2016-06-25 11:33   ` Akihiko Odaki
2016-06-27 18:38   ` Peter Seiderer
2016-06-27 20:05     ` Peter Seiderer
2016-06-27 20:10     ` Yann E. MORIN [this message]
2016-06-01  3:38 ` [Buildroot] [PATCH 1/1] webp: allow to enable demux Akihiko Odaki
2016-06-01 22:14   ` Akihiko Odaki
2016-06-03 12:45   ` Thomas Petazzoni
2016-06-01  6:47 ` [Buildroot] [PATCH 1/1] mesa3d: don't remove OpenGL pc when installing Gallium Thomas Petazzoni

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=20160627201018.GA3714@free.fr \
    --to=yann.morin.1998@free.fr \
    --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.