Skip to contentSkip to conversation

qt5cinex: Add new Qt5CinematicExperience package.

PATCH New pierre.lemagourou at openwide.fr 2 participants 2 messages Jan 7, 2015

lore
Share & tools
lore
#0 lore raw

PATCH 1/1 qt5cinex: Add new Qt5CinematicExperience package.

From: Pierre Le Magourou <[email protected]>

---
v1: added suggestions by Yann E. Morin <[email protected]>.

Despite the name (RPi Edition), the HD option of this package is not Raspberry Pi specific. It can be run on any platform that supports Qt5 with QT5GRAPHICALEFFECTS (Qt5 graphicaleffects module provides GL stuff).

I have also added a /usr/bin/CinematicExperience-demo script that calls the Qt5_CinematicExperience binary in /usr/share/Qt5/CinematicExperience/ because some qml files needed to be in a sub-directory of the binary file location and I didn' t want to put this in /usr/bin/.

---
 package/Config.in                                  |  1 +
 .../0001-Fix-execution-problem-with-Qt5.3.patch    | 64 ++++++++++++++++++++++
 package/qt5cinex/CinematicExperience-demo          |  2 +
 package/qt5cinex/Config.in                         | 28 ++++++++++
 package/qt5cinex/qt5cinex.hash                     |  9 +++
 package/qt5cinex/qt5cinex.mk                       | 38 +++++++++++++
 6 files changed, 142 insertions(+)
 create mode 100644 package/qt5cinex/0001-Fix-execution-problem-with-Qt5.3.patch
 create mode 100755 package/qt5cinex/CinematicExperience-demo
 create mode 100644 package/qt5cinex/Config.in
 create mode 100644 package/qt5cinex/qt5cinex.hash
 create mode 100644 package/qt5cinex/qt5cinex.mk
package/Config.in +1 -0
index 8d91b04..cab8f2f 100644
@@ -193,6 +193,7 @@ comment "Graphic applications"
 	source "package/gnuplot/Config.in"
 	source "package/jhead/Config.in"
 	source "package/mesa3d-demos/Config.in"
+	source "package/qt5cinex/Config.in"
 	source "package/rrdtool/Config.in"
 
 comment "Graphic libraries"
package/qt5cinex/0001-Fix-execution-problem-with-Qt5.3.patch new file +64 -0

64 lines not on this page · raw message

package/qt5cinex/CinematicExperience-demo new file +2 -0
new file mode 100755
index 0000000..919958f
@@ -0,0 +1,2 @@
+#!/bin/sh
+exec /usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience "$@"
package/qt5cinex/Config.in new file +28 -0
new file mode 100644
index 0000000..c6a4f38
@@ -0,0 +1,28 @@
+comment "Qt5 Cinematic Experience needs Qt5 graphical effects"
+	depends on !BR2_PACKAGE_QT5GRAPHICALEFFECTS
+
+config BR2_PACKAGE_QT5CINEX
+	bool "Qt5 Cinematic Experience"
+	depends on BR2_PACKAGE_QT5GRAPHICALEFFECTS
+	select BR2_PACKAGE_QT5BASE_NETWORK
+	select BR2_PACKAGE_QT5BASE_PNG
+	select BR2_PACKAGE_QT5BASE_WIDGETS
+	select BR2_PACKAGE_QT5BASE_EGLFS
+	depends on BR2_PACKAGE_HAS_LIBEGL # eglfs
+	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # eglfs
+	help
+	  This application demonstrates the power of Qt5 and few of the new
+	  additions available in QtQuick 2.0.
+
+	  http://quitcoding.com/?page=work#cinex
+
+if BR2_PACKAGE_QT5CINEX
+
+config BR2_PACKAGE_QT5CINEX_HD
+	bool "High-definition support (aka RPi Edition)"
+	help
+	  High definifition version (1920x1080 resolution) of the
+	  application, optimised for Raspberry PI cards. This version can
+	  also be run on any platform supported by Qt5.
+
+endif
package/qt5cinex/qt5cinex.hash new file +9 -0
new file mode 100644
index 0000000..aec4b70
@@ -0,0 +1,9 @@
+# No upstream hashes for this file.
+sha256 0dd602983ced5f7c0cfd5ad0fbfe2b0b7e3c9ff715e4ef23eef818ccc2b6c60b Qt5_CinematicExperience_rpi_1.0.tgz
+sha1   a68d7c5f133d380f9a8b85cfd617deb6b8cc99e2                         Qt5_CinematicExperience_rpi_1.0.tgz
+md5    935a5db0a6b2a72c67236e72f52be7d1                                 Qt5_CinematicExperience_rpi_1.0.tgz
+
+# No upstream hashes for this file.
+sha256 0e547e0259667915a24e84ade5efdcd0c553f81786734452c2c8dbce19a19f44 Qt5_CinematicExperience_1.0.tgz
+sha1   8c746a64c458b5c9ff3c6d01f284875d3aa11dcb                         Qt5_CinematicExperience_1.0.tgz
+md5    1c4f9bf5411c985fc5d3dbfc5d826a29                                 Qt5_CinematicExperience_1.0.tgz
package/qt5cinex/qt5cinex.mk new file +38 -0
new file mode 100644
index 0000000..031a673
@@ -0,0 +1,38 @@
+################################################################################
+#
+# qt5cinex
+#
+################################################################################
+
+QT5CINEX_VERSION = 1.0
+QT5CINEX_SITE = http://quitcoding.com/download/
+
+ifeq ($(BR2_PACKAGE_QT5CINEX_HD),y)
+QT5CINEX_HD = "rpi_"
+endif
+
+QT5CINEX_SOURCE = Qt5_CinematicExperience_$(QT5CINEX_HD)$(QT5CINEX_VERSION).tgz
+QT5CINEX_DEPENDENCIES = qt5base qt5declarative
+
+QT5CINEX_LICENSE = CC-BY-3.0
+QT5CINEX_LICENSE_FILE = README
+
+define QT5CINEX_CONFIGURE_CMDS
+	cd $(@D); $(TARGET_MAKE_ENV) $(HOST_DIR)/usr/bin/qmake
+endef
+
+define QT5CINEX_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5CINEX_INSTALL_TARGET_CMDS
+	$(INSTALL) -D -m 0755 $(@D)/Qt5_CinematicExperience \
+	  $(TARGET_DIR)/usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience
+	$(INSTALL) -D -m 0664 $(@D)/Qt5_CinematicExperience.qml \
+	  $(TARGET_DIR)/usr/share/Qt5/CinematicExperience/Qt5_CinematicExperience.qml
+	cp -dpfr $(@D)/content $(TARGET_DIR)/usr/share/Qt5/CinematicExperience/content
+	$(INSTALL) -m 0755 -D package/qt5cinex/CinematicExperience-demo \
+	  $(TARGET_DIR)/usr/bin/CinematicExperience-demo
+endef
+
+$(eval $(generic-package))
Signature · 1 line
2.1.4
#1 lore raw

PATCH 1/1 qt5cinex: Add new Qt5CinematicExperience package.

Hello,

Quoted 3 lines · pierre.lemagourou at openwide.fr

From: Pierre Le Magourou <[email protected]>

Thanks, applied, after doing a number of additional changes:

[Thomas:
- Change the dependency logic in the Config.in file. We don't want to have a 'depends on BR2_PACKAGE_QT5GRAPHICALEFFECTS': it should be selected automatically. Instead, let's have a dependency on Qt5 and OpenGL, and select everything else automatically. A comment is added, shown only when Qt5 is available, on the right platforms (which have JSCore support), to explain that we need an OpenGL backend.
- Change the prompt of the package to be qt5cinex, to match the package name.
- Replace "High-definition support" by "High-definition version".
- Fix a typo in the Config.in help text: definifition -> definition.
- Add a comment in the .mk file explaining why we install a wrapper shell script (explanation taken from Pierre's e-mail).
- Fix indentation in the install target commands.
- Keep only sha256 hashes, those are sufficient. Replace the comment in the hash file by the more traditional "Locally computed".]

If you could test the latest Buildroot master (which has your patch applied) and check that everything works fine, it would be great.

Thanks,

Thomas

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