kbounce, new recipe for version 25.04.0 (#12390)

Icon based on Zumi's tennis ball icon
This commit is contained in:
Schrijvers Luc
2025-05-16 11:31:47 +02:00
committed by GitHub
parent 02fa616b50
commit 8c90fd637c
3 changed files with 181 additions and 0 deletions

Binary file not shown.

View File

@@ -0,0 +1,26 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "KBounce",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E636966040500040168020106033D00000000000000003D0000490000490000"
$"00FFFF807BE9FF00FF7F9900020106023E40000000000000003E400048000048"
$"000045FFFFF2FFBFBFB5010204402EC3B52EBBC92E2E402EBBC92EC3B54052BB"
$"C952C3B552524052C3B552BBC9040A010100024028A200000000000040082046"
$"4208470D340A0001000A40FDF7000000000000410C30C87E38C88AAA00180A00"
$"01000A40D3B200000000000040D053C83DC9C83AF718FF0A0201000240A2E600"
$"0000000000409FC1C7B865C7B3A9"
};

View File

@@ -0,0 +1,155 @@
SUMMARY="Ball bouncing game"
DESCRIPTION="KBounce is a single player arcade game with the elements of puzzle. It is played on \
a field, surrounded by wall, with two or more balls that move about in the field bouncing off of \
walls. The player can build new walls, decreasing the size of active field. The goal of the game \
is to fill at least 75% of the field and advance to the next level."
HOMEPAGE="https://apps.kde.org/kbounce/"
COPYRIGHT="2010-2025 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kbounce-$portVersion.tar.xz"
CHECKSUM_SHA256="12458149d36048d4387ac274a3a813d051c14415e9b7ac464e76121189e5b9cd"
SOURCE_DIR="kbounce-$portVersion"
ADDITIONAL_FILES="kbounce.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
kbounce$secondaryArchSuffix = $portVersion
app:KBounce = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libKDEGames6$secondaryArchSuffix
# KF6
lib:libKF6AuthCore$secondaryArchSuffix
lib:libKF6Codecs$secondaryArchSuffix
lib:libKF6ColorScheme$secondaryArchSuffix
lib:libKF6Completion$secondaryArchSuffix
lib:libKF6ConfigCore$secondaryArchSuffix
lib:libKF6ConfigGui$secondaryArchSuffix
lib:libKF6ConfigWidgets$secondaryArchSuffix
lib:libKF6CoreAddons$secondaryArchSuffix
lib:libKF6Crash$secondaryArchSuffix
lib:libKF6DBusAddons$secondaryArchSuffix
lib:libKF6GuiAddons$secondaryArchSuffix
lib:libKF6I18n$secondaryArchSuffix
lib:libKF6IconThemes$secondaryArchSuffix
lib:libKF6ItemViews$secondaryArchSuffix
lib:libKF6JobWidgets$secondaryArchSuffix
lib:libKF6KIOCore$secondaryArchSuffix
lib:libKF6Notifications$secondaryArchSuffix
lib:libKF6NotifyConfig$secondaryArchSuffix
lib:libKF6Package$secondaryArchSuffix
lib:libKF6Service$secondaryArchSuffix
lib:libKF6Solid$secondaryArchSuffix
lib:libKF6SonnetUi$secondaryArchSuffix
lib:libKF6TextWidgets$secondaryArchSuffix
lib:libKF6WidgetsAddons$secondaryArchSuffix
lib:libKF6WindowSystem$secondaryArchSuffix
lib:libKF6XmlGui$secondaryArchSuffix
# Qt6
lib:libQt6Core$secondaryArchSuffix
lib:libQt6DBus$secondaryArchSuffix
lib:libQt6Gui$secondaryArchSuffix
lib:libQt6Qml$secondaryArchSuffix
lib:libQt6Svg$secondaryArchSuffix
lib:libQt6Widgets$secondaryArchSuffix
lib:libQt6Xml$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix
devel:libKDEGames6$secondaryArchSuffix
# KF6
devel:libKF6AuthCore$secondaryArchSuffix
devel:libKF6Bookmarks$secondaryArchSuffix
devel:libKF6Codecs$secondaryArchSuffix
devel:libKF6ColorScheme$secondaryArchSuffix
devel:libKF6Completion$secondaryArchSuffix
devel:libKF6ConfigCore$secondaryArchSuffix
devel:libKF6ConfigWidgets$secondaryArchSuffix
devel:libKF6CoreAddons$secondaryArchSuffix
devel:libKF6Crash$secondaryArchSuffix
devel:libKF6DBusAddons$secondaryArchSuffix
devel:libKF6DocTools$secondaryArchSuffix
devel:libKF6GuiAddons$secondaryArchSuffix
devel:libKF6I18n$secondaryArchSuffix
devel:libKF6IconThemes$secondaryArchSuffix
devel:libKF6ItemModels$secondaryArchSuffix
devel:libKF6ItemViews$secondaryArchSuffix
devel:libKF6JobWidgets$secondaryArchSuffix
devel:libKF6KIOCore$secondaryArchSuffix
devel:libKF6Notifications$secondaryArchSuffix
devel:libKF6NotifyConfig$secondaryArchSuffix
devel:libKF6Package$secondaryArchSuffix
devel:libKF6Service$secondaryArchSuffix
devel:libKF6Solid$secondaryArchSuffix
devel:libKF6SonnetUi$secondaryArchSuffix
devel:libKF6TextWidgets$secondaryArchSuffix
devel:libKF6WidgetsAddons$secondaryArchSuffix
devel:libKF6WindowSystem$secondaryArchSuffix
devel:libKF6XmlGui$secondaryArchSuffix
# Qt6
devel:libQt6Core$secondaryArchSuffix
devel:libQt6Qml$secondaryArchSuffix
devel:libQt6Svg$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:make
cmd:msgfmt$secondaryArchSuffix
cmd:msgmerge$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
"
PATCH()
{
# disable docs generation
sed -e '/add_subdirectory(doc)/ s/^#*/#/' -i CMakeLists.txt
sed -e '/kdoctools_install(po)/ s/^#*/#/' -i CMakeLists.txt
# remove dbus service
sed -e '/KDBusService service;/d' -i src/main.cpp
# use Haiku's icon theme
sed -e 's,\ KIconTheme::initTheme();,\// KIconTheme::initTheme();,g' -i src/main.cpp
}
BUILD()
{
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
$cmakeDirArgs \
-DCMAKE_INSTALL_BINDIR=$appsDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make -Cbuild $jobArgs
}
INSTALL()
{
make -Cbuild install
# cleanup
rm -rf $dataDir/{applications,metainfo}
mv $appsDir/kbounce $appsDir/KBounce
local MAJOR="`echo "$portVersion" | cut -d. -f1`"
local MIDDLE="`echo "$portVersion" | cut -d. -f2`"
local MINOR="`echo "$portVersion" | cut -d. -f3`"
local LONG_INFO="$SUMMARY"
local APP_SIGNATURE="application/x-vnd.kde-kbounce"
sed \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
$portDir/additional-files/kbounce.rdef.in > kbounce.rdef
addResourcesToBinaries kbounce.rdef $appsDir/KBounce
addAppDeskbarSymlink $appsDir/KBounce
}