From 8a8b2def99f741cff2175eaf91cb4b465c33c2b6 Mon Sep 17 00:00:00 2001 From: Adrien Destugues Date: Sun, 5 Apr 2015 22:57:31 +0200 Subject: [PATCH] Add Klystron (development-only package) --- games-engines/klystron/klystron-0.0.0.recipe | 86 +++++++++++++++++++ media-libs/sdl2_image/sdl2_image-2.0.0.recipe | 8 +- 2 files changed, 89 insertions(+), 5 deletions(-) create mode 100644 games-engines/klystron/klystron-0.0.0.recipe diff --git a/games-engines/klystron/klystron-0.0.0.recipe b/games-engines/klystron/klystron-0.0.0.recipe new file mode 100644 index 000000000..0141d050d --- /dev/null +++ b/games-engines/klystron/klystron-0.0.0.recipe @@ -0,0 +1,86 @@ +HOMEPAGE="https://github.com/kometbomb/klystron/" +SUMMARY="Framework designed for remaking Thrust" +DESCRIPTION="This is a simple framework designed for remaking Thrust, the best \ +game that was ever created. + +So far the biggest project using the framework is klystrack, a chiptune \ +tracker that uses the klystron sound engine for great success. + +Some selling points: + +* Sound synthesis for music and effects +* Low system requirements (the audio engine uses about 20 % CPU time on a 366 MHz Dingoo, at 22 Khz) +* Pixel-accurate sprite-sprite and sprite-background collision checking +* C99 (GNU99) +* SDL +* GUI stuff for simple mouse control + +In short: the feature set is something that could be found inside an generic \ +video game console circa 1991. The API is relatively simple, yet uses some \ +(stupid) tricks. The main goal is to provide pixel-accurate collisions which \ +is a very important feature for a thrustlike game. The synth and the music \ +routine are thrown in just for fun. +" + +SRC_URI="git+https://github.com/kometbomb/klystron.git#2ba7342c1a0a5af36e027bc0f9019d347040edcf" +REVISION="1" +LICENSE="MIT" +COPYRIGHT="2009-2015 Tero Lindeman (kometbomb)" + +ARCHITECTURES="" +if [ $effectiveTargetArchitecture != x86_gcc2 ]; then + # x86_gcc2 is fine as primary target architecture as long as we're building + # for a different secondary architecture. + ARCHITECTURES="$ARCHITECTURES x86_gcc2" +else + ARCHITECTURES="$ARCHITECTURES !x86_gcc2" +fi +SECONDARY_ARCHITECTURES="x86" + +PROVIDES=" + klystron$secondaryArchSuffix = $portVersion + devel:libengine_gfx$secondaryArchSuffix + devel:libengine_gui$secondaryArchSuffix + devel:libengine_snd$secondaryArchSuffix + devel:libengine_util$secondaryArchSuffix +" + +BUILD_REQUIRES=" + devel:libsdl2$secondaryArchSuffix + devel:libsdl2_mixer$secondaryArchSuffix + haiku${secondaryArchSuffix}_devel +" + +BUILD_PREREQUIRES=" + cmd:gcc$secondaryArchSuffix + cmd:make +" + +BUILD() +{ + make +} + +INSTALL() +{ + mkdir -p $libDir + cp bin.debug/*.a $libDir + prepareInstalledDevelLibs libengine_gfx libengine_gui libengine_snd \ + libengine_util + + mkdir -p $includeDir + cp src/*.h $includeDir + + mkdir -p $includeDir/gfx + cp src/gfx/*.h $includeDir/gfx + + mkdir -p $includeDir/gui + cp src/gui/*.h $includeDir/gui + + mkdir -p $includeDir/snd + cp src/snd/*.h $includeDir/snd + + mkdir -p $includeDir/util + cp src/util/*.h $includeDir/util + +} diff --git a/media-libs/sdl2_image/sdl2_image-2.0.0.recipe b/media-libs/sdl2_image/sdl2_image-2.0.0.recipe index 07221c707..460efdd8d 100644 --- a/media-libs/sdl2_image/sdl2_image-2.0.0.recipe +++ b/media-libs/sdl2_image/sdl2_image-2.0.0.recipe @@ -24,7 +24,6 @@ PROVIDES=" REQUIRES=" haiku${secondaryArchSuffix} lib:libSDL2_2.0${secondaryArchSuffix} - lib:libGL$secondaryArchSuffix lib:libjpeg$secondaryArchSuffix lib:libpng$secondaryArchSuffix lib:libstdc++$secondaryArchSuffix @@ -37,8 +36,7 @@ REQUIRES=" BUILD_REQUIRES=" haiku${secondaryArchSuffix}_devel - devel:libGL${secondaryArchSuffix} - devel:libSDL2${secondaryArchSuffix} + devel:libsdl2${secondaryArchSuffix} devel:libjpeg$secondaryArchSuffix devel:libpng$secondaryArchSuffix devel:libtiff$secondaryArchSuffix @@ -67,8 +65,8 @@ BUILD() aclocal --install -I acinclude autoconf dos2unix miniz.h - runConfigure ./configure --enable-jpg-shared=false --enable-png-shared=false \ - --enable-tif-shared=false --enable-webp-shared=false + runConfigure ./configure --enable-jpg-shared=no --enable-png-shared=no \ + --enable-tif-shared=no --enable-webp-shared=no make $jobArgs }