Skip to contentSkip to conversation

mesa3d: don't remove OpenGL pc when installing Gallium

PATCH New Akihiko Odaki 4 participants 16 messages Jun 1, 2016 – Jul 7, 2016

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 mesa3d: don't remove OpenGL pc when installing Gallium

Gallium driver also provides DRI-like infrastructure and OpenGL. This change prevents from removing pkg-configs of them also when installing the driver.

---
 package/mesa3d/mesa3d.mk | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)
package/mesa3d/mesa3d.mk +6 -1
index 4e0d255..a4d84e4 100644
@@ -94,7 +94,6 @@ endef
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
 MESA3D_CONF_OPTS += \
 	--without-dri-drivers --disable-dri3
-MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_PC
 else
 ifeq ($(BR2_PACKAGE_XPROTO_DRI3PROTO),y)
 MESA3D_DEPENDENCIES += xlib_libxshmfence xproto_dri3proto xproto_presentproto
@@ -115,6 +114,10 @@ MESA3D_CONF_OPTS += \
 	--with-dri-drivers=$(subst $(space),$(comma),$(MESA3D_DRI_DRIVERS-y))
 endif
 
+ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER)$(BR2_PACKAGE_MESA3D_DRI_DRIVER),)
+MESA3D_POST_INSTALL_STAGING_HOOKS += MESA3D_REMOVE_OPENGL_PC
+endif
+
 # APIs
 
 ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)
@@ -137,6 +140,8 @@ ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
 MESA3D_PROVIDES += libegl
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
 MESA3D_EGL_PLATFORMS = drm
+else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y)
+MESA3D_EGL_PLATFORMS = drm
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
 MESA3D_EGL_PLATFORMS = drm
 endif
Signature · 1 line
2.8.3
#1 lore raw

PATCH 1/1 qt5base: Enable KMS and GBM if Mesa 3D provides EGL

---
 package/qt5/qt5base/qt5base.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)
package/qt5/qt5base/qt5base.mk +8 -1
index 9ff7af1..3378804 100644
@@ -20,7 +20,6 @@ QT5BASE_INSTALL_STAGING = YES
 #    want to use the one packaged in Buildroot
 QT5BASE_CONFIGURE_OPTS += \
 	-optimized-qmake \
-	-no-kms \
 	-no-cups \
 	-no-nis \
 	-no-iconv \
@@ -29,6 +28,14 @@ QT5BASE_CONFIGURE_OPTS += \
 	-no-pch \
 	-shared
 
+# Uses libgbm from mesa3d
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
+QT5BASE_CONFIGURE_OPTS += -kms -gbm
+QT5BASE_DEPENDENCIES += mesa3d
+else
+QT5BASE_CONFIGURE_OPTS += -no-kms
+endif
+
 ifeq ($(BR2_ENABLE_DEBUG),y)
 QT5BASE_CONFIGURE_OPTS += -debug
 else
Signature · 1 line
2.8.3
#2 lore raw

PATCH 1/1 qt5base: Enable KMS and GBM if Mesa 3D provides EGL

ping with CC

#4 lore raw

PATCH 1/1 qt5base: Enable KMS and GBM if Mesa 3D provides EGL

In reply to Akihiko Odaki

Hello,

Quoted 4 lines · Akihiko Odaki
---
 package/qt5/qt5base/qt5base.mk | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

Applied to master, thanks.

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#5 lore raw

PATCH 1/1 qt5base: Enable KMS and GBM if Mesa 3D provides EGL

In reply to Akihiko Odaki

Hello,

package/qt5/qt5base/qt5base.mk QT5BASE_CONFIGURE_OPTS += \ · line 37

Quoted 7 lines · Akihiko Odaki
package/qt5/qt5base/qt5base.mk +7 -0
+# Uses libgbm from mesa3d
+ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
+QT5BASE_CONFIGURE_OPTS += -kms -gbm
+QT5BASE_DEPENDENCIES += mesa3d
+else
+QT5BASE_CONFIGURE_OPTS += -no-kms
+endif

This is apparently causing some build issue:

http://autobuild.buildroot.net/results/2d5/2d580f9439679fd8fe292e2c4dc768dff1ad1867/build-end.log

KMS auto-detection... ()
Project ERROR: libudev development package not found
KMS disabled.
KMS support cannot be enabled due to functionality tests! Turn on verbose messaging (-v) to ./configure to see the final report. If you believe this message is in error you may use the continue switch (-continue) to ./configure to continue.

It looks like to enable KMS you also need udev support to be enabled.

Thanks,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#6 lore raw

PATCH 1/1 qt5wayland: new package

In reply to Akihiko Odaki
---
 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
package/qt5/Config.in +1 -0
index 84cbb0f..b18c135 100644
@@ -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"
package/qt5/qt5base/Config.in +2 -1
index 64a7f65..2b8e278 100644
@@ -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.
 
package/qt5/qt5base/qt5base.mk +4 -0
index 9ff7af1..dcc4967 100644
@@ -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)
 
package/qt5/qt5wayland/Config.in new file +16 -0
new file mode 100644
index 0000000..acfff15
@@ -0,0 +1,16 @@
+config BR2_PACKAGE_QT5WAYLAND
+	bool "qt5wayland"
+	select BR2_PACKAGE_QT5BASE
+	select BR2_PACKAGE_QT5DECLARATIVE
+	select BR2_PACKAGE_QT5JSBACKEND
+	select BR2_PACKAGE_LIBXKBCOMMON
+	select BR2_PACKAGE_XKEYBOARD_CONFIG
+	depends on BR2_PACKAGE_WAYLAND
+	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+	help
+	  Qt is a cross-platform application and UI framework for
+	  developers using C++.
+
+	  This package corresponds to the qt5wayland module.
+
+	  http://qt.io
package/qt5/qt5wayland/qt5wayland.hash new file +4 -0
new file mode 100644
index 0000000..297a208
@@ -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
package/qt5/qt5wayland/qt5wayland.mk new file +34 -0
new file mode 100644
index 0000000..be6cf8f
@@ -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
+endef
+
+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
+
+$(eval $(generic-package))
Signature · 1 line
2.8.3
#9 lore raw

PATCH 1/1 qt5wayland: new package

In reply to Akihiko Odaki

Hello Akihiko,

thanks for patch submission, some comments below...

Quoted 60 lines · Akihiko Odaki
---
 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
package/qt5/Config.in +1 -0
index 84cbb0f..b18c135 100644
@@ -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"
package/qt5/qt5base/Config.in +2 -1
index 64a7f65..2b8e278 100644
@@ -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.
 
package/qt5/qt5base/qt5base.mk +4 -0
index 9ff7af1..dcc4967 100644
@@ -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)
 
package/qt5/qt5wayland/Config.in new file +0 -0
new file mode 100644
index 0000000..acfff15

package/qt5/qt5wayland/Config.in line 5

Quoted 5 lines
package/qt5/qt5wayland/Config.in new file +5 -0
@@ -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...

package/qt5/qt5wayland/Config.in line 7

Quoted 2 lines
package/qt5/qt5wayland/Config.in new file +2 -0
+	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

package/qt5/qt5wayland/Config.in line 9

Quoted 2 lines
package/qt5/qt5wayland/Config.in new file +2 -0
+	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

package/qt5/qt5wayland/Config.in line 16

Quoted 7 lines
package/qt5/qt5wayland/Config.in new file +7 -0
+	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

package/qt5/qt5wayland/qt5wayland.hash line 4

Quoted 10 lines
package/qt5/qt5wayland/qt5wayland.hash new file +4 -0
new file mode 100644
index 0000000..297a208
@@ -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...

Quoted 21 lines
package/qt5/qt5wayland/qt5wayland.mk new file +15 -0
new file mode 100644
index 0000000..be6cf8f
@@ -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
+

package/qt5/qt5wayland/qt5wayland.mk line 25

Quoted 10 lines
package/qt5/qt5wayland/qt5wayland.mk new file +10 -0
+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...

package/qt5/qt5wayland/qt5wayland.mk line 27

Quoted 2 lines
package/qt5/qt5wayland/qt5wayland.mk new file +2 -0
+endef
+

Same for:

ifeq ($(BR2_STATIC_LIBS),)

package/qt5/qt5wayland/qt5wayland.mk line 32

Quoted 5 lines
package/qt5/qt5wayland/qt5wayland.mk new file +5 -0
+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

package/qt5/qt5wayland/qt5wayland.mk line 34

Quoted 2 lines
package/qt5/qt5wayland/qt5wayland.mk new file +2 -0
+
+$(eval $(generic-package))

Only compile tested the package (yet), because weston did not start up without errors on my test system...

Regards,
Peter

#10 lore raw

PATCH 1/1 qt5wayland: new package

Hello Akihiko,

Quoted 5 lines · Peter Seiderer

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

Tried on RPi, compiles without mesa3d. Here the test for brcm_egl succeeds...

Quoted 3 lines

Only compile tested the package (yet), because weston did not start up without errors on my test system...

Weston on RPi starts up and:

	$ ./analogclock -platform wayland
Failed to load client buffer integration: wayland-egl

But runs and shows the clock on the weston desktop...

Regards,
Peter

Quoted 7 lines

Regards,
Peter
_______________________________________________
buildroot mailing list
buildroot at busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot

#11 lore raw

PATCH 1/1 qt5wayland: new package

In reply to Peter Seiderer

Peter, Akihiko

On 2016-06-27 20:38 +0200, Peter Seiderer spake thusly:

Quoted 1 line

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

Quoted 3 lines · Akihiko Odaki
Quoted 2 lines

---

[--SNIP--]

Quoted 5 lines
Quoted 5 lines
package/qt5/qt5wayland/Config.in new file +0 -0
new file mode 100644
index 0000000..acfff15
Quoted 8 lines

package/qt5/qt5wayland/Config.in line 5

Quoted 6 lines
package/qt5/qt5wayland/Config.in new file +5 -0
@@ -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.

Quoted 7 lines

package/qt5/qt5wayland/Config.in line 7

Quoted 2 lines
package/qt5/qt5wayland/Config.in new file +2 -0
+	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.

Quoted 24 lines

package/qt5/qt5wayland/Config.in line 9

Quoted 2 lines
package/qt5/qt5wayland/Config.in new file +2 -0
+	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

package/qt5/qt5wayland/Config.in line 16

Quoted 7 lines
package/qt5/qt5wayland/Config.in new file +7 -0
+	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.:

(quoted diff) +4 -0
+
+comment "qt5wayland needs mesa3d and wayland"
+       depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
+       depends on !BR2_PACKAGE_MESA3D || !BR2_PACKAGE_WAYLAND
Quoted 12 lines

package/qt5/qt5wayland/qt5wayland.hash line 4

Quoted 10 lines
package/qt5/qt5wayland/qt5wayland.hash new file +4 -0
new file mode 100644
index 0000000..297a208
@@ -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.

Quoted 63 lines
Quoted 21 lines
package/qt5/qt5wayland/qt5wayland.mk new file +15 -0
new file mode 100644
index 0000000..be6cf8f
@@ -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
+

package/qt5/qt5wayland/qt5wayland.mk line 25

Quoted 10 lines
package/qt5/qt5wayland/qt5wayland.mk new file +10 -0
+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...

package/qt5/qt5wayland/qt5wayland.mk line 27

Quoted 2 lines
package/qt5/qt5wayland/qt5wayland.mk new file +2 -0
+endef
+

Same for:

ifeq ($(BR2_STATIC_LIBS),)

package/qt5/qt5wayland/qt5wayland.mk line 32

Quoted 5 lines
package/qt5/qt5wayland/qt5wayland.mk new file +5 -0
+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

package/qt5/qt5wayland/qt5wayland.mk line 34

Quoted 2 lines
package/qt5/qt5wayland/qt5wayland.mk new file +2 -0
+
+$(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

Signature · 6 lines
.-----------------.--------------------.------------------.--------------------.
|  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.  |
'------------------------------^-------^------------------^--------------------'
#12 lore raw

PATCH 1/1 webp: allow to enable demux

In reply to Akihiko Odaki
---
 package/webp/Config.in | 8 ++++++++
 package/webp/webp.mk   | 4 ++++
 2 files changed, 12 insertions(+)
package/webp/Config.in +8 -0
index e385b5e..7c4722f 100644
@@ -5,3 +5,11 @@ config BR2_PACKAGE_WEBP
 	  compression for images on the web
 
 	  https://developers.google.com/speed/webp/
+
+config BR2_PACKAGE_WEBP_DEMUX
+	bool "webpdemux"
+	depends on BR2_PACKAGE_WEBP
+	help
+	  "Demux" is a part of WebPMux for extraction and manipulation of an
+	  extended format WebP file, which can have features like color profile,
+	  metadata and animation.
package/webp/webp.mk +4 -0
index 5f2cab7..b609024 100644
@@ -17,6 +17,10 @@ WEBP_CONF_OPTS += \
 	--with-tiffincludedir=$(STAGING_DIR)/usr/include \
 	--with-tifflibdir=$(STAGING_DIR)/usr/lib
 
+ifeq ($(BR2_PACKAGE_WEBP_DEMUX),y)
+WEBP_CONF_OPTS += --enable-libwebpdemux
+endif
+
 ifeq ($(BR2_PACKAGE_LIBPNG),y)
 WEBP_DEPENDENCIES += libpng
 WEBP_CONF_ENV += ac_cv_path_LIBPNG_CONFIG=$(STAGING_DIR)/usr/bin/libpng-config
Signature · 1 line
2.8.3
#14 lore raw

PATCH 1/1 webp: allow to enable demux

In reply to Akihiko Odaki

Hello,

package/webp/Config.in config BR2_PACKAGE_WEBP · line 11

Quoted 3 lines · Akihiko Odaki
package/webp/Config.in +3 -0
+config BR2_PACKAGE_WEBP_DEMUX
+	bool "webpdemux"
+	depends on BR2_PACKAGE_WEBP

We normally use a if BR2_PACKAGE_WEBP ... endif block.

package/webp/Config.in config BR2_PACKAGE_WEBP · line 15

Quoted 4 lines
package/webp/Config.in +4 -0
+	help
+	  "Demux" is a part of WebPMux for extraction and manipulation of an
+	  extended format WebP file, which can have features like color profile,
+	  metadata and animation.

Some lines are slightly too long here, they should not be longer than 72 characters.

package/webp/webp.mk WEBP_CONF_OPTS += \ · line 22

Quoted 3 lines
package/webp/webp.mk +3 -0
+ifeq ($(BR2_PACKAGE_WEBP_DEMUX),y)
+WEBP_CONF_OPTS += --enable-libwebpdemux
+endif

And it should be disabled explicitly in an "else" clause.

I've fixed up those minor nits in a follow-up commit (I normally fix up the original commit, but I pushed it mistakenly).

Thanks for your contribution!

Best regards,

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
#15 lore raw

PATCH 1/1 mesa3d: don't remove OpenGL pc when installing Gallium

In reply to Akihiko Odaki

Hello,

Thanks for this patch! Bernd, Gustavo, could you comment on the part that changes in what condition the .pc files are removed?

Also, rather than having this hack in Buildroot, what about fixing the issue upstream? mesa3d should not install the .pc file if it is not configured to build/install the corresponding libraries.

Akihiko, I also have a comment for you below.

package/mesa3d/mesa3d.mk ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) · line 144

Quoted 7 lines · Akihiko Odaki

ifeq ($(BR2_PACKAGE_MESA3D_OSMESA),y)

package/mesa3d/mesa3d.mk +2 -0
@@ -137,6 +140,8 @@ ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y)
 MESA3D_PROVIDES += libegl
 ifeq ($(BR2_PACKAGE_MESA3D_DRI_DRIVER),y)
 MESA3D_EGL_PLATFORMS = drm
+else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VC4),y)
+MESA3D_EGL_PLATFORMS = drm

This change is unrelated, so it should be part of a separate patch.

package/mesa3d/mesa3d.mk ifeq ($(BR2_PACKAGE_MESA3D_OPENGL_EGL),y) · line 147

Quoted 3 lines
package/mesa3d/mesa3d.mk +0 -0
 else ifeq ($(BR2_PACKAGE_MESA3D_GALLIUM_DRIVER_VIRGL),y)
 MESA3D_EGL_PLATFORMS = drm
 endif

Thanks!

Thomas

Signature · 3 lines
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com