fife, bump to current commit (#8925)

This commit is contained in:
Schrijvers Luc
2023-07-07 11:29:37 +02:00
committed by GitHub
parent 4bf72e17cb
commit a5a27fcd97
3 changed files with 84 additions and 376 deletions

View File

@@ -1,79 +0,0 @@
SUMMARY="A free, open-source cross-platform game engine"
DESCRIPTION="FIFE is a free, open-source cross-platform game engine. It \
features hardware-accelerated 2D graphics, integrated GUI, audio support, \
lighting, map editor supporting top-down and isometric maps, pathfinding, \
virtual filesystem and more!"
HOMEPAGE="http://www.fifengine.net/"
COPYRIGHT="2003-2015 FIFE"
LICENSE="GNU LGPL v2.1"
REVISION="4"
SOURCE_URI="https://github.com/fifengine/fifengine/archive/50d2f7cf9a5d5433102c32851e587e3e9142d2e0.tar.gz"
CHECKSUM_SHA256="b84ee1792df881d716ad1df4c75f90fd3b16ac63f1208ccdada3e28cb233288c"
SOURCE_DIR="fifengine-50d2f7cf9a5d5433102c32851e587e3e9142d2e0"
PATCHES="fife-$portVersion.patchset"
ARCHITECTURES="?all !x86_gcc2"
SECONDARY_ARCHITECTURES="!x86" # Would need hybrid python?
PROVIDES="
fife$secondaryArchSuffix = $portVersion
"
REQUIRES="
haiku$secondaryArchSuffix
python
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_regex$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libfifechan$secondaryArchSuffix
lib:libfifechan_sdl$secondaryArchSuffix
lib:libgl$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL_1.2$secondaryArchSuffix
lib:libSDL_image_1.2$secondaryArchSuffix
lib:libSDL_ttf_2.0$secondaryArchSuffix
lib:libvorbisfile$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
devel:libboost_filesystem$secondaryArchSuffix
devel:libboost_regex$secondaryArchSuffix
devel:libboost_system$secondaryArchSuffix
devel:libfifechan$secondaryArchSuffix
devel:libfifechan_sdl$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libSDL$secondaryArchSuffix
devel:libSDL_image$secondaryArchSuffix
devel:libSDL_ttf$secondaryArchSuffix
devel:libvorbisfile$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
haiku${secondaryArchSuffix}_devel
cmd:gcc$secondaryArchSuffix
cmd:pkg_config$secondaryArchSuffix
cmd:scons
cmd:swig
"
BUILD()
{
scons --disable-opengl --disable-githash --local-tinyxml $jobArgs \
fife-python
}
INSTALL()
{
pythonVersion=$(python -c 'import sys; print(str(sys.version_info[0]) + "." + str(sys.version_info[1]))')
vendorPackagesPath="$libDir/python$pythonVersion/vendor-packages"
mkdir -p "$vendorPackagesPath"
scons --disable-opengl --disable-githash --local-tinyxml $jobArgs \
--python-prefix="$vendorPackagesPath" install-python
}

View File

@@ -0,0 +1,84 @@
SUMMARY="A free, open-source cross-platform game engine"
DESCRIPTION="FIFE is a free, open-source cross-platform game engine. It \
features hardware-accelerated 2D graphics, integrated GUI, audio support, \
lighting, map editor supporting top-down and isometric maps, pathfinding, \
virtual filesystem and more!"
HOMEPAGE="http://www.fifengine.net/"
COPYRIGHT="2003-2015 FIFE"
LICENSE="GNU LGPL v2.1"
REVISION="5"
srcGitRev="be64c707dea6b3250bd4355bf5c825d25920087d"
SOURCE_URI="https://github.com/fifengine/fifengine/archive/$srcGitRev.tar.gz"
CHECKSUM_SHA256="740ca241ac2bb9508b83de7cb3f05c66e068f60414b8ead8cbaa25d4fcdcd589"
SOURCE_DIR="fifengine-$srcGitRev"
ARCHITECTURES="all !x86_gcc2"
SECONDARY_ARCHITECTURES="x86"
PROVIDES="
fife$secondaryArchSuffix = $portVersion
lib:libfife$secondaryArchSuffix
"
REQUIRES="
haiku$secondaryArchSuffix
lib:libboost_filesystem$secondaryArchSuffix
lib:libboost_regex$secondaryArchSuffix
lib:libboost_system$secondaryArchSuffix
lib:libfifechan$secondaryArchSuffix
lib:libfifechan_sdl$secondaryArchSuffix
lib:libGL$secondaryArchSuffix
lib:libogg$secondaryArchSuffix
lib:libopenal$secondaryArchSuffix
lib:libpng16$secondaryArchSuffix
lib:libSDL2_2.0$secondaryArchSuffix
lib:libSDL2_image_2.0$secondaryArchSuffix
lib:libSDL2_ttf_2.0$secondaryArchSuffix
lib:libtinyxml$secondaryArchSuffix
lib:libvorbisfile$secondaryArchSuffix
lib:libz$secondaryArchSuffix
"
BUILD_REQUIRES="
haiku${secondaryArchSuffix}_devel
devel:libboost_filesystem$secondaryArchSuffix >= 1.69.0
devel:libboost_regex$secondaryArchSuffix >= 1.69.0
devel:libboost_system$secondaryArchSuffix >= 1.69.0
devel:libfifechan$secondaryArchSuffix
devel:libfifechan_sdl$secondaryArchSuffix
devel:libfifechan_opengl$secondaryArchSuffix
devel:libGL$secondaryArchSuffix
devel:libglew$secondaryArchSuffix
devel:libogg$secondaryArchSuffix
devel:libopenal$secondaryArchSuffix
devel:libpng$secondaryArchSuffix
devel:libSDL2_2.0$secondaryArchSuffix
devel:libSDL2_image_2.0$secondaryArchSuffix
devel:libSDL2_ttf_2.0$secondaryArchSuffix
devel:libtinyxml$secondaryArchSuffix
devel:libvorbisfile$secondaryArchSuffix
devel:libz$secondaryArchSuffix
"
BUILD_PREREQUIRES="
cmd:cmake
cmd:gcc$secondaryArchSuffix
cmd:make
cmd:pkg_config$secondaryArchSuffix
cmd:python3
cmd:swig
"
BUILD()
{
cmake -Bbuild -S. -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=$prefix \
-DOPENALSOFT_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`${secondaryArchSubDir} \
-DSDL2_INCLUDE_DIR=`finddir B_SYSTEM_HEADERS_DIRECTORY`${secondaryArchSubDir}/SDL2 \
-DPYTHON_SITE_PACKAGES=$prefix/lib/python3.9/vendor-packages \
-Wno-dev
make -C build $jobArgs
}
INSTALL()
{
make -C build install
}

View File

@@ -1,297 +0,0 @@
From d74fa4b9ca371e8a16882016b71a08b8e87261e4 Mon Sep 17 00:00:00 2001
From: Michael Lotz <mmlr@mlotz.ch>
Date: Fri, 9 Oct 2015 22:48:56 +0000
Subject: [PATCH 1/3] Avoid compiling OpenGL parts when OpenGL is disabled.
---
SConstruct | 2 ++
engine/SConscript | 14 +++++++++++++-
.../core/gui/fifechan/base/opengl/opengl_gui_graphics.cpp | 4 ++++
engine/core/video/opengl/fife_opengl.h | 2 +-
engine/core/video/opengl/glimage.cpp | 4 ++++
engine/core/video/opengl/glimage.h | 2 +-
engine/core/video/opengl/renderbackendopengl.cpp | 4 ++++
engine/core/video/opengl/renderbackendopengl.h | 3 ++-
8 files changed, 31 insertions(+), 4 deletions(-)
diff --git a/SConstruct b/SConstruct
index 71966d8..ced3e90 100644
--- a/SConstruct
+++ b/SConstruct
@@ -198,9 +198,11 @@ else:
if GetOption('disable-opengl'):
opengl = 0
+ env['ENABLE_OPENGL'] = False
extra_libs['opengl'] = False
else:
opengl = 1
+ env['ENABLE_OPENGL'] = True
extra_libs['opengl'] = True
if GetOption('disable-zip'):
diff --git a/engine/SConscript b/engine/SConscript
index e9348c3..1fe1ffa 100644
--- a/engine/SConscript
+++ b/engine/SConscript
@@ -35,6 +35,7 @@ core_path = os.path.join('engine', 'core')
extensionpath = upath(os.path.join(opts['SRC'], 'python', 'fife', 'extensions'))
local_tinyxml = env['LOCAL_TINYXML']
+opengl = env['ENABLE_OPENGL']
fifechan = env['ENABLE_FIFECHAN']
librocket = env['ENABLE_LIBROCKET']
cegui = env['ENABLE_CEGUI']
@@ -46,7 +47,7 @@ if fifechan:
#**************************************************************************
#Compile the list of source code to be used
#**************************************************************************
-dirfilters = ['swigwrappers', 'tinyxml', 'fifechan', 'librocket', 'cegui', 'cegui-0']
+dirfilters = ['swigwrappers', 'tinyxml', 'fifechan', 'librocket', 'cegui', 'cegui-0', 'glee']
allfiles = list(src_path.walkfiles())
allfiles_base = list()
@@ -92,6 +93,17 @@ if (local_tinyxml):
compilefiles = compilefiles + local_tinyxml_implfiles
#**************************************************************************
+# if opengl is enabled add the local glee header/impl files to the overall
+# compile list
+#**************************************************************************
+if opengl:
+ local_glee_header_files = utils.include_by_dir(['glee'], headerfiles)
+ local_glee_impl_files = utils.include_by_dir(['glee'], implfiles)
+
+ headerfiles = headerfiles + local_glee_header_files
+ compilefiles = compilefiles + local_glee_impl_files
+
+#**************************************************************************
#Compile the list of fifechan glue code
#**************************************************************************
fifechan_glue_headerfiles = utils.include_by_dir(['fifechan'], headerfiles)
diff --git a/engine/core/gui/fifechan/base/opengl/opengl_gui_graphics.cpp b/engine/core/gui/fifechan/base/opengl/opengl_gui_graphics.cpp
index f12cc4d..33ab24f 100644
--- a/engine/core/gui/fifechan/base/opengl/opengl_gui_graphics.cpp
+++ b/engine/core/gui/fifechan/base/opengl/opengl_gui_graphics.cpp
@@ -19,6 +19,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
+#ifdef HAVE_OPENGL
+
// Standard C++ library includes
// This needs to be here, before fifechan includes gl.h
@@ -168,3 +170,5 @@ namespace FIFE {
mColor = color;
}
}
+
+#endif // HAVE_OPENGL
diff --git a/engine/core/video/opengl/fife_opengl.h b/engine/core/video/opengl/fife_opengl.h
index b4ce51a..a3bdcf0 100644
--- a/engine/core/video/opengl/fife_opengl.h
+++ b/engine/core/video/opengl/fife_opengl.h
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#ifndef FIFE_UTIL_FIFEGL_H
+#if !defined(FIFE_UTIL_FIFEGL_H) && defined(HAVE_OPENGL)
#define FIFE_UTIL_FIFEGL_H
// Standard C++ library includes
diff --git a/engine/core/video/opengl/glimage.cpp b/engine/core/video/opengl/glimage.cpp
index 76c13d7..c24eeb8 100644
--- a/engine/core/video/opengl/glimage.cpp
+++ b/engine/core/video/opengl/glimage.cpp
@@ -19,6 +19,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
+#ifdef HAVE_OPENGL
+
// Standard C++ library includes
#include <cassert>
#include <iostream>
@@ -588,3 +590,5 @@ namespace FIFE {
return m_tex_coords;
}
}
+
+#endif // HAVE_OPENGL
diff --git a/engine/core/video/opengl/glimage.h b/engine/core/video/opengl/glimage.h
index 61e185a..9ab2391 100644
--- a/engine/core/video/opengl/glimage.h
+++ b/engine/core/video/opengl/glimage.h
@@ -19,7 +19,7 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#ifndef FIFE_VIDEO_RENDERBACKENDS_OPENGL_GLIMAGE_H
+#if !defined(FIFE_VIDEO_RENDERBACKENDS_OPENGL_GLIMAGE_H) && defined(HAVE_OPENGL)
#define FIFE_VIDEO_RENDERBACKENDS_OPENGL_GLIMAGE_H
// Standard C++ library includes
diff --git a/engine/core/video/opengl/renderbackendopengl.cpp b/engine/core/video/opengl/renderbackendopengl.cpp
index fbabc17..d470880 100644
--- a/engine/core/video/opengl/renderbackendopengl.cpp
+++ b/engine/core/video/opengl/renderbackendopengl.cpp
@@ -19,6 +19,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
+#ifdef HAVE_OPENGL
+
// Standard C++ library includes
// Platform specific includes
@@ -2310,3 +2312,5 @@ namespace FIFE {
glPopMatrix();
}
}
+
+#endif // HAVE_OPENGL
diff --git a/engine/core/video/opengl/renderbackendopengl.h b/engine/core/video/opengl/renderbackendopengl.h
index f12c4d5..ef92eb0 100644
--- a/engine/core/video/opengl/renderbackendopengl.h
+++ b/engine/core/video/opengl/renderbackendopengl.h
@@ -19,7 +19,8 @@
* 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA *
***************************************************************************/
-#ifndef FIFE_VIDEO_RENDERBACKENSD_OPENGL_RENDERBACKENDOPENGL_H
+#if !defined(FIFE_VIDEO_RENDERBACKENSD_OPENGL_RENDERBACKENDOPENGL_H) \
+ && defined(HAVE_OPENGL)
#define FIFE_VIDEO_RENDERBACKENSD_OPENGL_RENDERBACKENDOPENGL_H
// Standard C++ library includes
--
2.2.2
From 02790672ac0464e8b0585ad637b84182ee416573 Mon Sep 17 00:00:00 2001
From: Michael Lotz <mmlr@mlotz.ch>
Date: Sat, 10 Oct 2015 17:08:37 +0000
Subject: [PATCH 2/3] Fix build with "--disable-githash" option set.
---
SConstruct | 2 ++
1 file changed, 2 insertions(+)
diff --git a/SConstruct b/SConstruct
index ced3e90..a3b1a1e 100644
--- a/SConstruct
+++ b/SConstruct
@@ -441,6 +441,8 @@ opts['FIFE_VERSION'] = utils.get_fife_version(os.path.join(opts['SRC'], 'core'))
if get_githash:
opts['FIFE_GIT_HASH'] = utils.get_fife_git_hash(os.getcwd())
+else:
+ opts['FIFE_GIT_HASH'] = ''
if debug:
opts['LIBPATH'] = os.path.join(os.getcwd(), 'build', 'engine', 'debug')
--
2.2.2
From 4eeac1dbedfa9ee1fdf9168b80699e1c8377b616 Mon Sep 17 00:00:00 2001
From: Michael Lotz <mmlr@mlotz.ch>
Date: Fri, 9 Oct 2015 22:51:23 +0000
Subject: [PATCH 3/3] Initial Haiku port.
---
build/haiku1-config.py | 52 ++++++++++++++++++++++
engine/core/audio/fife_openal.h | 2 +-
.../core/loaders/native/audio/sounddecoder_ogg.h | 2 +-
3 files changed, 54 insertions(+), 2 deletions(-)
create mode 100644 build/haiku1-config.py
diff --git a/build/haiku1-config.py b/build/haiku1-config.py
new file mode 100644
index 0000000..8afb550
--- /dev/null
+++ b/build/haiku1-config.py
@@ -0,0 +1,52 @@
+import os
+import subprocess
+import sys
+
+
+def initEnvironment(env):
+ env.AppendUnique(CPPDEFINES = ['TIXML_USE_STL'])
+ env.Append(CXXFLAGS = ['-Wl,--no-undefined'])
+ env.Append(LIBS = ['ogg', 'vorbis'])
+ env.Tool('swig')
+ return env
+
+def addExtras(env, opengl):
+ if opengl:
+ env.Append(LIBS = ['stdc++', 'GL'])
+ return env
+
+def getRequiredHeaders(opengl):
+ return None
+
+def getRequiredLibs(reqLibs):
+ libs = [
+ ('boost_system', ''),
+ ('boost_filesystem', 'boost/filesystem.hpp'),
+ ('boost_regex', 'boost/regex.hpp'),
+ ('openal', 'AL/al.h'),
+ ('png', 'png.h'),
+ ('python', 'Python.h'),
+ ('sdl', 'SDL.h'),
+ ('SDL_ttf', 'SDL_ttf.h'),
+ ('SDL_image', 'SDL_image.h'),
+ ('vorbisfile', 'vorbis/vorbisfile.h') ]
+
+ opengl = reqLibs['opengl']
+ fifechan = reqLibs['fifechan']
+
+ if fifechan:
+ libs.append(('fifechan', 'fifechan.hpp'))
+ libs.append(('fifechan_sdl', ''))
+ if opengl:
+ libs.append(('fifechan_opengl', ''))
+
+ return libs
+
+def createFifechanEnv(standard_env):
+ fifechan_lib_env = standard_env.Clone(LIBS = ['python2.7', 'fifechan'])
+ return fifechan_lib_env
+
+def getOptionalLibs(opengl):
+ return None
+
+# vim: ft=python:
diff --git a/engine/core/audio/fife_openal.h b/engine/core/audio/fife_openal.h
index db198b6..1a9cb08 100644
--- a/engine/core/audio/fife_openal.h
+++ b/engine/core/audio/fife_openal.h
@@ -26,7 +26,7 @@
// Platform specific includes
// Linux
-#if defined( __unix__ )
+#if defined( __unix__ ) || defined( __HAIKU__ )
#include <AL/al.h>
#include <AL/alc.h>
#endif
diff --git a/engine/core/loaders/native/audio/sounddecoder_ogg.h b/engine/core/loaders/native/audio/sounddecoder_ogg.h
index 0e2d4fa..0f79cea 100644
--- a/engine/core/loaders/native/audio/sounddecoder_ogg.h
+++ b/engine/core/loaders/native/audio/sounddecoder_ogg.h
@@ -27,7 +27,7 @@
// Platform specific includes
// 3rd party library includes
-#include <vorbisfile.h>
+#include <vorbis/vorbisfile.h>
#include <boost/scoped_ptr.hpp>
// FIFE includes
--
2.2.2