Files
haikuports/games-action/classicube/classicube-1.3.7.recipe
2024-12-04 09:13:36 +01:00

99 lines
3.1 KiB
Bash

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/ClassiCube/ClassiCube/archive/$portVersion.tar.gz"
CHECKSUM_SHA256="04f96eb2cc338b81a36a843b7d1f23de54ef539a80d2b793bbef69aa9043585f"
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()
{
make $jobArgs
}
INSTALL()
{
mkdir -p $appsDir/ClassiCube
cp $portDir/additional-files/launcher.sh "$appsDir/ClassiCube/ClassiCube Launcher"
cp 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"
}