[meta-games,v3] neverball: Add neverball

Message ID 20211120154401.10390-1-marex@denx.de
State New
Headers show
Series [meta-games,v3] neverball: Add neverball | expand

Commit Message

Marek Vasut Nov. 20, 2021, 3:44 p.m. UTC
This is an interactive game with a rolling ball, useful for
testing whether point sprites work correctly in GPU drivers.

The user should install both neverball neverball-data packages.

Signed-off-by: Marek Vasut <marex@denx.de>
---
V2: Use cp -R --no-dereference --preserve=mode,links
V3: - Add the missing branch name to fix bitbake warning.
    - Update SRCREV to latest
---
 recipes-games/neverball/neverball-data_git.bb | 16 ++++++++++++
 recipes-games/neverball/neverball.inc         | 26 +++++++++++++++++++
 recipes-games/neverball/neverball_git.bb      | 16 ++++++++++++
 3 files changed, 58 insertions(+)
 create mode 100644 recipes-games/neverball/neverball-data_git.bb
 create mode 100644 recipes-games/neverball/neverball.inc
 create mode 100644 recipes-games/neverball/neverball_git.bb

Patch

diff --git a/recipes-games/neverball/neverball-data_git.bb b/recipes-games/neverball/neverball-data_git.bb
new file mode 100644
index 0000000..b520f58
--- /dev/null
+++ b/recipes-games/neverball/neverball-data_git.bb
@@ -0,0 +1,16 @@ 
+require neverball.inc
+
+inherit allarch
+
+DEPENDS:append = " jpeg-native libpng-native libsdl2-native"
+
+do_compile() {
+	oe_runmake CC="${BUILD_CC}" CFLAGS="${BUILD_CFLAGS} -I${STAGING_INCDIR_NATIVE}/SDL2/" LDFLAGS="${BUILD_LDFLAGS} -lpng" mapc sols
+}
+
+do_install() {
+	install -d -m 755 ${D}${datadir}/neverball
+	cp -R --no-dereference --preserve=mode,links ${B}/data ${D}${datadir}/neverball/
+}
+
+FILES:${PN}:append = " ${datadir}/neverball"
diff --git a/recipes-games/neverball/neverball.inc b/recipes-games/neverball/neverball.inc
new file mode 100644
index 0000000..504622c
--- /dev/null
+++ b/recipes-games/neverball/neverball.inc
@@ -0,0 +1,26 @@ 
+SUMMARY = "Tilt the floor to roll a ball through an obstacle course before time runs out. Neverball is part puzzle game, part action game, and entirely a test of skill."
+SECTION = "graphics"
+HOMEPAGE = "https://neverball.org/"
+
+LICENSE = "GPLv2+"
+LIC_FILES_CHKSUM = "file://LICENSE.md;md5=200ddba3b50e856bfb681a2b13dfb523"
+
+SRC_URI = "git://github.com/Neverball/neverball.git;branch=master;protocol=https"
+SRCREV = "b1617ed0db2c908ff1b96d6a252a85881f0574c0"
+PV = "1.6.0+git${SRCPV}"
+
+S = "${WORKDIR}/git"
+
+inherit pkgconfig
+
+EXTRA_OEMAKE:append = " \
+	ENABLE_FETCH=0 \
+	ENABLE_OPENGLES=1 \
+	DATADIR=/usr/share/neverball/data \
+	LOCALEDIR=/usr/share/neverball/locale \
+	"
+
+do_configure:append() {
+	sed -i "s@sdl2-config@pkg-config sdl2@" ${S}/Makefile
+	sed -i "s@libpng-config@pkg-config libpng@" ${S}/Makefile
+}
diff --git a/recipes-games/neverball/neverball_git.bb b/recipes-games/neverball/neverball_git.bb
new file mode 100644
index 0000000..5e2c358
--- /dev/null
+++ b/recipes-games/neverball/neverball_git.bb
@@ -0,0 +1,16 @@ 
+require neverball.inc
+
+DEPENDS:append = " gettext-native virtual/libgles1 virtual/libintl libvorbis jpeg libpng libsdl2 libsdl2-ttf"
+
+do_compile() {
+	oe_runmake neverball neverputt locales desktops
+}
+
+do_install() {
+	install -d -m 755 ${D}${bindir}
+	install -m 755 ${B}/neverball ${D}/${bindir}/
+	install -m 755 ${B}/neverputt ${D}/${bindir}/
+
+	install -d -m 755 ${D}${datadir}/neverball
+	cp -R --no-dereference --preserve=mode,links ${B}/locale ${D}${datadir}/neverball/
+}