Kubrick: add recipe

This commit is contained in:
Gerasim Troeglazov
2022-05-12 11:55:12 +10:00
parent 8561309723
commit 05ca97ec2e
2 changed files with 185 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "Blinken",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon {
$"6E636966130500020006023B55F13C5CD2BE755C3D78974A454E48FFCB000EB3"
$"B5FF003BFF020006023CD471BA2F923B0FF33DF6F048DA184417BB0000FBFFFF"
$"0000FF020006023C318B3A487CBD09B43EEB2D4B485C48176F0000AAFFFF0537"
$"C704016D05FF03FFAA000300FF0003FF0000034163F303C5830503187F000327"
$"05BA05CE05FF03FFE5B303C8FB660360C8FF03FF82821E0A062231224E3E5C52"
$"48522B37260A043E5E4E5E60485444080331294C314C4E0803292D4535465508"
$"033F282A332A520803492A343734580803223A3E445335080322453E51533E0A"
$"04223A22312A332A3C0A04344C34403E443E510A042A34343734402A3D0A0422"
$"45344D3456224D0A04344D3E523E5B34560A04223A2A3D2A4822450A042A3D34"
$"41344D2A480A04344034373E3A3E440A083E433E3A4534453F4C3A4C44464A46"
$"3E0A043E44453F454A3E500A044C3A523652474C4D0A043E51454A45543E5B0A"
$"044C30522D52364C390A0445354C314C3A453E0A04464A4C444C4D46530A0832"
$"2F392B322938263F28392B432E3C320A04322E2B2D312A382B0A042231292E31"
$"2F2A330A083D32432E392B4028482A422E4B3145350A042A34312F3B3234370A"
$"04432E492A522C4C310A0435373C3245353E3A100A040101000A000100100117"
$"8400040A0D021516000A06020809000A0F0118000A07020A0B000A09020F0E00"
$"0A0C021314000A11011B000A1002191A000A12021D1C000A0A0110000A0E0117"
$"000A0B021112000A08020C0D000A0006030204050607100117820004"
};

View File

@@ -0,0 +1,148 @@
SUMMARY="Game based on the Rubik's Cube puzzle by KDE"
DESCRIPTION="Kubrick is a game based on the Rubik's Cube™ puzzle. The cube sizes range from 2x2x2 \
up to 6x6x6, or you can play with irregular \"bricks\" such as 5x3x2 or \"mats\" such as 6x4x1 or 2x2x1. \
The game has a selection of puzzles at several levels of difficulty, as well as demos of pretty patterns \
and solution moves, or you can make up your own puzzles."
HOMEPAGE="https://apps.kde.org/kubrick/"
COPYRIGHT="2010-2022 KDE Organisation"
LICENSE="GNU GPL v2"
REVISION="1"
SOURCE_URI="https://download.kde.org/stable/release-service/$portVersion/src/kubrick-$portVersion.tar.xz"
CHECKSUM_SHA256="437d60cd06a22ae3da399e81a0f0ad0a33e8ffb92df8b308c8066c26e824c24c"
SOURCE_DIR="kubrick-$portVersion"
ADDITIONAL_FILES="kubrick.rdef.in"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
kubrick$secondaryArchSuffix = $portVersion
app:Kubrick$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libGLU$secondaryArchSuffix
lib:libKF5Archive$secondaryArchSuffix
lib:libKF5Attica$secondaryArchSuffix
lib:libKF5Auth$secondaryArchSuffix
lib:libKF5Bookmarks$secondaryArchSuffix
lib:libKF5Codecs$secondaryArchSuffix
lib:libKF5Completion$secondaryArchSuffix
lib:libKF5ConfigCore$secondaryArchSuffix
lib:libKF5ConfigGui$secondaryArchSuffix
lib:libKF5ConfigWidgets$secondaryArchSuffix
lib:libKF5CoreAddons$secondaryArchSuffix
lib:libKF5Crash$secondaryArchSuffix
lib:libKF5DBusAddons$secondaryArchSuffix
lib:libKF5GuiAddons$secondaryArchSuffix
lib:libKF5I18n$secondaryArchSuffix
lib:libKF5IconThemes$secondaryArchSuffix
lib:libKF5ItemViews$secondaryArchSuffix
lib:libKF5JobWidgets$secondaryArchSuffix
lib:libKF5KDEGames$secondaryArchSuffix
lib:libKF5KIOCore$secondaryArchSuffix
lib:libKF5NewStuff$secondaryArchSuffix
lib:libKF5Service$secondaryArchSuffix
lib:libKF5Solid$secondaryArchSuffix
lib:libKF5TextEditor$secondaryArchSuffix
lib:libKF5TextWidgets$secondaryArchSuffix
lib:libKF5WidgetsAddons$secondaryArchSuffix
lib:libKF5WindowSystem$secondaryArchSuffix
lib:libKF5XmlGui$secondaryArchSuffix
lib:libQt5Core$secondaryArchSuffix
lib:libQt5DBus$secondaryArchSuffix
lib:libQt5Gui$secondaryArchSuffix
lib:libQt5Widgets$secondaryArchSuffix
lib:libQt5Xml$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
extra_cmake_modules$secondaryArchSuffix >= 5.93
devel:libGL$secondaryArchSuffix
devel:libGLU$secondaryArchSuffix
devel:libKF5Archive$secondaryArchSuffix
devel:libKF5Attica$secondaryArchSuffix
devel:libKF5Auth$secondaryArchSuffix
devel:libKF5Bookmarks$secondaryArchSuffix
devel:libKF5Codecs$secondaryArchSuffix
devel:libKF5Completion$secondaryArchSuffix
devel:libKF5ConfigCore$secondaryArchSuffix
devel:libKF5ConfigWidgets$secondaryArchSuffix
devel:libKF5CoreAddons$secondaryArchSuffix
devel:libKF5Crash$secondaryArchSuffix
devel:libKF5DBusAddons$secondaryArchSuffix
devel:libKF5DocTools$secondaryArchSuffix
devel:libKF5GuiAddons$secondaryArchSuffix
devel:libKF5I18n$secondaryArchSuffix
devel:libKF5IconThemes$secondaryArchSuffix
devel:libKF5ItemModels$secondaryArchSuffix
devel:libKF5ItemViews$secondaryArchSuffix
devel:libKF5JobWidgets$secondaryArchSuffix
devel:libKF5KDEGames$secondaryArchSuffix
devel:libKF5KIOCore$secondaryArchSuffix
devel:libKF5NewStuff$secondaryArchSuffix
devel:libKF5Service$secondaryArchSuffix
devel:libKF5Solid$secondaryArchSuffix
devel:libKF5TextEditor$secondaryArchSuffix
devel:libKF5TextWidgets$secondaryArchSuffix
devel:libKF5WidgetsAddons$secondaryArchSuffix
devel:libKF5WindowSystem$secondaryArchSuffix
devel:libKF5XmlGui$secondaryArchSuffix
devel:libQt5Core$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:g++$secondaryArchSuffix
cmd:lrelease$secondaryArchSuffix >= 5
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
# 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
mkdir -p build
cd build
cmake .. \
-DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$appsDir \
-DCMAKE_INSTALL_DATADIR=$dataDir \
-DCMAKE_INSTALL_DATAROOTDIR=$dataDir \
-DSHARE_INSTALL_PREFIX=$dataDir \
-DECM_DIR=/system/data/cmake/Modules/ECM/cmake
make $jobArgs
}
INSTALL()
{
cd build
make install
mv $appsDir/bin/kubrick $appsDir/Kubrick
rm -rf $appsDir/bin
local APP_SIGNATURE="application/x-vnd.kde-kubrick"
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"
sed \
-e "s|@APP_SIGNATURE@|$APP_SIGNATURE|" \
-e "s|@MAJOR@|$MAJOR|" \
-e "s|@MIDDLE@|$MIDDLE|" \
-e "s|@MINOR@|$MINOR|" \
-e "s|@LONG_INFO@|$LONG_INFO|" \
$portDir/additional-files/kubrick.rdef.in > kubrick.rdef
addResourcesToBinaries kubrick.rdef $appsDir/Kubrick
addAppDeskbarSymlink $appsDir/Kubrick
}