ClassiCube: add recipe

This commit is contained in:
Gerasim Troeglazov
2022-01-04 14:24:11 +10:00
parent 6efcbc7628
commit 68819f3849
3 changed files with 131 additions and 0 deletions

View File

@@ -0,0 +1,27 @@
resource app_flags B_MULTIPLE_LAUNCH;
resource app_version {
major = @MAJOR@,
middle = @MIDDLE@,
minor = @MINOR@,
variety = B_APPV_FINAL,
internal = 0,
short_info = "ClassiCube",
long_info = "@LONG_INFO@"
};
resource app_signature "@APP_SIGNATURE@";
resource vector_icon array {
$"6E636966060500020016023B55F13C5CD2BE755C3D78964A454E48FFCB00E0FF"
$"6D020016023CD470BA2F913B0FF43DF6EF48DA184417BB00FFFFA5020016023C"
$"318A3A487BBD09B33EEB2D4B485C48176F0074FF0804016D05E4060A06223122"
$"4E3E5C5248522D37260A042231224E3E5C3E3A0A0422313E3A522D37260A043E"
$"5C5248522D3E3A0A043E5E4E5E60485444060AFFFB0E4644C2A0BF7D46444952"
$"C365C6D94D4D514B4F4BC684C469504DC64DC4BFC5C4C53B4A53C4ABC645C299"
$"C897455A5150C499C7F6C775C53B57475848C8A1C2415349553855384C39060A"
$"040104000A0001001001178400040A010101000A020102000A030103000A0501"
$"0502400000000000000000400000C50000C3FFFF"
};

View File

@@ -0,0 +1,5 @@
#!/bin/sh
APP=`finddir B_APPS_DIRECTORY`/ClassiCube/ClassiCube
SETTINGS_DIR=`finddir B_USER_SETTINGS_DIRECTORY`/ClassiCube
mkdir -p ${SETTINGS_DIR}
$APP -d${SETTINGS_DIR}

View File

@@ -0,0 +1,99 @@
SUMMARY="A sandbox block game inspired by Minecraft Classic"
DESCRIPTION="ClassiCube is a custom Minecraft Classic and ClassiCube client written in \
C that works on Windows, macOS, Linux, Android, FreeBSD, NetBSD, OpenBSD, Solaris, \
Haiku, and in a web browser.
It is not affiliated with (or supported by) Mojang AB, Minecraft, or Microsoft in any way.
What ClassiCube is:
* A complete re-implementation of Minecraft Classic 0.30, with optional additions
* Lightweight, minimal memory usage compared to original Minecraft Classic
* Much better performance than original Minecraft Classic
* Works with effectively all graphics cards that support OpenGL or Direct3D 9
What ClassiCube isn't:
* It does not work with Minecraft Java or Bedrock edition servers
* It does not have a survival mode (nor will such a mode be added)
* It does not reimplement Minecraft Classic versions before 0.30"
HOMEPAGE="https://www.classicube.net/"
COPYRIGHT="2014-2022 UnknownShadow200"
LICENSE="BSD (3-clause)"
REVISION="1"
SOURCE_URI="https://github.com/UnknownShadow200/ClassiCube/archive/refs/tags/$portVersion.tar.gz"
CHECKSUM_SHA256="8373605a45d89229520fe03bf8f5a1ada82377651e7330edd65a3f79327f8331"
SOURCE_DIR="ClassiCube-$portVersion"
ADDITIONAL_FILES="
classicube.rdef.in
launcher.sh
"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
classicube$secondaryArchSuffix = $portVersion
app:ClassiCube
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libcurl$secondaryArchSuffix
lib:libexecinfo$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libcurl$secondaryArchSuffix
devel:libexecinfo$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libglu$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libSDL2_image_2.0$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:gcc$secondaryArchSuffix
cmd:ld$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
"
BUILD()
{
cd src
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/ClassiCube
cp $portDir/additional-files/launcher.sh "$appsDir/ClassiCube/ClassiCube Launcher"
cp src/ClassiCube $appsDir/ClassiCube
strip $appsDir/ClassiCube/ClassiCube
local APP_SIGNATURE="application/x-vnd.classicube"
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/classicube.rdef.in > $sourceDir/classicube.rdef
rc $sourceDir/classicube.rdef
resattr -o "$appsDir/ClassiCube/ClassiCube Launcher" \
$sourceDir/classicube.rsrc
chmod +x "$appsDir/ClassiCube/ClassiCube Launcher"
addResourcesToBinaries $sourceDir/classicube.rdef \
$appsDir/ClassiCube/ClassiCube
addAppDeskbarSymlink "$appsDir/ClassiCube/ClassiCube Launcher" "ClassiCube"
}