diff --git a/kde-apps/kbounce/additional-files/kbounce.iom b/kde-apps/kbounce/additional-files/kbounce.iom new file mode 100644 index 000000000..9966acc5b Binary files /dev/null and b/kde-apps/kbounce/additional-files/kbounce.iom differ diff --git a/kde-apps/kbounce/additional-files/kbounce.rdef.in b/kde-apps/kbounce/additional-files/kbounce.rdef.in new file mode 100644 index 000000000..79005e674 --- /dev/null +++ b/kde-apps/kbounce/additional-files/kbounce.rdef.in @@ -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" +}; diff --git a/kde-apps/kbounce/kbounce-25.04.0.recipe b/kde-apps/kbounce/kbounce-25.04.0.recipe new file mode 100644 index 000000000..c198d6f55 --- /dev/null +++ b/kde-apps/kbounce/kbounce-25.04.0.recipe @@ -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 +}