Skip to contentSkip to conversation

package/waylandpp: new package

PATCH Superseded Bernd Kuhls 2 participants 2 messages Nov 6, 2017

v4 of 6 Superseded Latest is v6 →

lore
Share & tools
lore
#0 lore raw

PATCH v4 1/1 package/waylandpp: new package

Needed for Wayland support in the next Kodi release 18-Leia:

https://kodi.tv/article/gsoc-2017-update-wayland-support
https://forum.kodi.tv/showthread.php?tid=309254

---
v4: bumped to version 0.1.4, added license hashes
v3: bumped to version 0.1.3
v2: switched to cmake, added dependency on host-gcc >= 4.9

 DEVELOPERS                       |  1 +
 package/Config.in                |  1 +
 package/waylandpp/Config.in      | 15 +++++++++++++++
 package/waylandpp/waylandpp.hash |  4 ++++
 package/waylandpp/waylandpp.mk   | 24 ++++++++++++++++++++++++
 5 files changed, 45 insertions(+)
 create mode 100644 package/waylandpp/Config.in
 create mode 100644 package/waylandpp/waylandpp.hash
 create mode 100644 package/waylandpp/waylandpp.mk
DEVELOPERS +1 -0
index c651bf26fa..4ec248d844 100644
@@ -331,6 +331,7 @@ F:	package/vdr/
 F:	package/vdr-plugin-vnsiserver/
 F:	package/vlc/
 F:	package/vnstat/
+F:	package/waylandpp/
 F:	package/x11r7/
 F:	package/x264/
 F:	package/x265/
package/Config.in +1 -0
index fe5ccc434e..73d53c6074 100644
@@ -1141,6 +1141,7 @@ menu "Graphics"
 	source "package/powervr/Config.in"
 	source "package/tiff/Config.in"
 	source "package/wayland/Config.in"
+	source "package/waylandpp/Config.in"
 	source "package/wayland-protocols/Config.in"
 	source "package/webkitgtk/Config.in"
 	source "package/webp/Config.in"
package/waylandpp/Config.in new file +15 -0
new file mode 100644
index 0000000000..92af363789
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_WAYLANDPP
+	bool "waylandpp"
+	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+	depends on BR2_HOST_GCC_AT_LEAST_4_9
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+	select BR2_PACKAGE_WAYLAND
+	help
+	  Wayland C++ bindings
+
+	  https://github.com/NilsBrause/waylandpp
+
+comment "waylandpp needs an OpenGL-EGL/wayland backend, gcc >= 4.9, host gcc >= 4.9"
+	depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
+		!BR2_HOST_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
package/waylandpp/waylandpp.hash new file +4 -0
new file mode 100644
index 0000000000..11b8e3cda9
@@ -0,0 +1,4 @@
+# Locally computed
+sha256 fc767573f7334525839221ac52e3dc4b56ebaf3f7a7cdaf4f05eb6baa6dd88ab  waylandpp-0.1.4.tar.gz
+sha256 49aa6d728fd13226952c9e3a5a9cae46379b2a501010064760172b5ce7cd94bb  LICENSE
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  scanner/gpl-3.0.txt
package/waylandpp/waylandpp.mk new file +24 -0
new file mode 100644
index 0000000000..b1560f16d1
@@ -0,0 +1,24 @@
+################################################################################
+#
+# waylandpp
+#
+################################################################################
+
+WAYLANDPP_VERSION = 0.1.4
+WAYLANDPP_SITE = $(call github,NilsBrause,waylandpp,$(WAYLANDPP_VERSION))
+WAYLANDPP_LICENSE = MIT, GPL-3.0+ (wayland_scanner)
+WAYLANDPP_LICENSE_FILES = LICENSE scanner/gpl-3.0.txt
+WAYLANDPP_INSTALL_STAGING = YES
+HOST_WAYLANDPP_DEPENDENCIES = host-pkgconf host-wayland
+WAYLANDPP_DEPENDENCIES = libegl host-pkgconf wayland host-waylandpp
+
+HOST_WAYLANDPP_CONF_OPTS = \
+	-DBUILD_LIBRARIES=OFF \
+	-DBUILD_SCANNER=ON
+WAYLANDPP_CONF_OPTS = \
+	-DBUILD_LIBRARIES=ON \
+	-DBUILD_SCANNER=OFF \
+	-DWAYLAND_SCANNERPP=$(HOST_DIR)/bin/wayland-scanner++
+
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 1 line
2.11.0
#1 lore raw

PATCH v4 1/1 package/waylandpp: new package

Bernd, All,

On 2017-11-06 20:54 +0100, Bernd Kuhls spake thusly:

Quoted 4 lines

Needed for Wayland support in the next Kodi release 18-Leia:

https://kodi.tv/article/gsoc-2017-update-wayland-support
https://forum.kodi.tv/showthread.php?tid=309254

When reading a commit log, I am not that interested about the reason why a new package is introduced. Someone has a need for it, and that's enough. Having it after a --- line would be probably OK in this case.

What I really like to read however, is the peculiarity of the packaging, if any.

For example, here, you would explain why the host variant is required.

Quoted 33 lines

---
v4: bumped to version 0.1.4, added license hashes
v3: bumped to version 0.1.3
v2: switched to cmake, added dependency on host-gcc >= 4.9

 DEVELOPERS                       |  1 +
 package/Config.in                |  1 +
 package/waylandpp/Config.in      | 15 +++++++++++++++
 package/waylandpp/waylandpp.hash |  4 ++++
 package/waylandpp/waylandpp.mk   | 24 ++++++++++++++++++++++++
 5 files changed, 45 insertions(+)
 create mode 100644 package/waylandpp/Config.in
 create mode 100644 package/waylandpp/waylandpp.hash
 create mode 100644 package/waylandpp/waylandpp.mk
DEVELOPERS +1 -0
index c651bf26fa..4ec248d844 100644
@@ -331,6 +331,7 @@ F:	package/vdr/
 F:	package/vdr-plugin-vnsiserver/
 F:	package/vlc/
 F:	package/vnstat/
+F:	package/waylandpp/
 F:	package/x11r7/
 F:	package/x264/
 F:	package/x265/
package/Config.in +0 -0
index fe5ccc434e..73d53c6074 100644

package/Config.in menu "Graphics" · line 1145

Quoted 5 lines
package/Config.in +1 -0
@@ -1141,6 +1141,7 @@ menu "Graphics"
 	source "package/powervr/Config.in"
 	source "package/tiff/Config.in"
 	source "package/wayland/Config.in"
+	source "package/waylandpp/Config.in"
 	source "package/wayland-protocols/Config.in"

Sort alphabetically, please. '-' sorts before 'p'.

(Meh, I'm nitpicking, but we never said what locale to sort in, so I say ASCII! ;-] )

Quoted 8 lines
package/Config.in +0 -0
 	source "package/webkitgtk/Config.in"
 	source "package/webp/Config.in"
package/waylandpp/Config.in new file +0 -0
new file mode 100644
index 0000000000..92af363789

package/waylandpp/Config.in line 6

Quoted 6 lines
package/waylandpp/Config.in new file +6 -0
@@ -0,0 +1,15 @@
+config BR2_PACKAGE_WAYLANDPP
+	bool "waylandpp"
+	depends on BR2_PACKAGE_HAS_LIBEGL_WAYLAND
+	depends on BR2_HOST_GCC_AT_LEAST_4_9
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_9
+	select BR2_PACKAGE_WAYLAND

wayland also requires threads and !static.

package/waylandpp/Config.in line 15

Quoted 9 lines
package/waylandpp/Config.in new file +9 -0
+	help
+	  Wayland C++ bindings
+
+	  https://github.com/NilsBrause/waylandpp
+
+comment "waylandpp needs an OpenGL-EGL/wayland backend, gcc >= 4.9, host gcc >= 4.9"
+	depends on !BR2_PACKAGE_HAS_LIBEGL_WAYLAND || \
+		!BR2_HOST_GCC_AT_LEAST_4_9 || \
+		!BR2_TOOLCHAIN_GCC_AT_LEAST_4_9

threads and !static.

Quoted 19 lines
package/waylandpp/waylandpp.hash new file +4 -0
new file mode 100644
index 0000000000..11b8e3cda9
@@ -0,0 +1,4 @@
+# Locally computed
+sha256 fc767573f7334525839221ac52e3dc4b56ebaf3f7a7cdaf4f05eb6baa6dd88ab  waylandpp-0.1.4.tar.gz
+sha256 49aa6d728fd13226952c9e3a5a9cae46379b2a501010064760172b5ce7cd94bb  LICENSE
+sha256 8ceb4b9ee5adedde47b31e975c1d90c73ad27b6b165a1dcd80c7c545eb65b903  scanner/gpl-3.0.txt
package/waylandpp/waylandpp.mk new file +3 -0
new file mode 100644
index 0000000000..b1560f16d1
@@ -0,0 +1,24 @@
+################################################################################
+#
+# waylandpp

package/waylandpp/waylandpp.mk line 13

Quoted 10 lines
package/waylandpp/waylandpp.mk new file +10 -0
+#
+################################################################################
+
+WAYLANDPP_VERSION = 0.1.4
+WAYLANDPP_SITE = $(call github,NilsBrause,waylandpp,$(WAYLANDPP_VERSION))
+WAYLANDPP_LICENSE = MIT, GPL-3.0+ (wayland_scanner)
+WAYLANDPP_LICENSE_FILES = LICENSE scanner/gpl-3.0.txt
+WAYLANDPP_INSTALL_STAGING = YES
+HOST_WAYLANDPP_DEPENDENCIES = host-pkgconf host-wayland
+WAYLANDPP_DEPENDENCIES = libegl host-pkgconf wayland host-waylandpp

So, an EGL/wayland provider is required for the target variant, but what about the host variant? What happens if the system does not have one?

What is the host variant needed for?

package/waylandpp/waylandpp.mk line 17

Quoted 3 lines
package/waylandpp/waylandpp.mk new file +3 -0
+HOST_WAYLANDPP_CONF_OPTS = \
+	-DBUILD_LIBRARIES=OFF \
+	-DBUILD_SCANNER=ON

Blank line between HOST_WAYLANDPP_CONF_OPTS and WAYLANDPP_CONF_OPTS.

OK, host variant builds a scanner...

package/waylandpp/waylandpp.mk line 21

Quoted 4 lines
package/waylandpp/waylandpp.mk new file +4 -0
+WAYLANDPP_CONF_OPTS = \
+	-DBUILD_LIBRARIES=ON \
+	-DBUILD_SCANNER=OFF \
+	-DWAYLAND_SCANNERPP=$(HOST_DIR)/bin/wayland-scanner++

That is used ehre. Makes sense somehow.

Do we need to set something like:

    WAYLANDPP_SCANNER = $(HOST_DIR)/bin/wayland-scanner++

for other packages to use?

(I'm also wondering the same about wayland-scanner.)

Regards,
Yann E. MORIN.

Quoted 9 lines
package/waylandpp/waylandpp.mk new file +2 -0
+$(eval $(cmake-package))
+$(eval $(host-cmake-package))
Signature · 6 lines
2.11.0

_______________________________________________
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.  |
'------------------------------^-------^------------------^--------------------'