diff --git a/games-action/classicube/additional-files/classicube.rdef.in b/games-action/classicube/additional-files/classicube.rdef.in new file mode 100644 index 000000000..542293a96 --- /dev/null +++ b/games-action/classicube/additional-files/classicube.rdef.in @@ -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" +}; diff --git a/games-action/classicube/additional-files/launcher.sh b/games-action/classicube/additional-files/launcher.sh new file mode 100644 index 000000000..355a12f75 --- /dev/null +++ b/games-action/classicube/additional-files/launcher.sh @@ -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} diff --git a/games-action/classicube/classicube-1.3.0.recipe b/games-action/classicube/classicube-1.3.0.recipe new file mode 100644 index 000000000..52f285884 --- /dev/null +++ b/games-action/classicube/classicube-1.3.0.recipe @@ -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" +}