Import megaglest port.

MegaGlest is an entertaining free and open source cross-platform 3D
real-time strategy game, where you control the armies of one of seven
different factions: Tech, Magic, Egypt, Indians, Norsemen, Persian or
Romans. The game is set in one of 17 naturally looking settings,
which are crafted with great appreciation for detail.

With tweaks from kirby@, bentley@, and sthen@.
ok sthen@
This commit is contained in:
stsp 2013-01-28 13:58:49 +00:00
parent 51a5a4ad80
commit 0ad1ac8fab
16 changed files with 6388 additions and 0 deletions

7
games/megaglest/Makefile Normal file
View File

@ -0,0 +1,7 @@
# $OpenBSD: Makefile,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
SUBDIR =
SUBDIR += base
SUBDIR += data
.include <bsd.port.subdir.mk>

View File

@ -0,0 +1,20 @@
# $OpenBSD: Makefile.inc,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
# Requires drm(4). Big-endian (powerpc) isn't supported according to upstream.
ONLY_FOR_ARCHS = amd64 i386
V = 3.7.1
CATEGORIES = games
HOMEPAGE = http://megaglest.org/
# GPLv3 + Creative Commons CC-BY-SA
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
MASTER_SITES = ${MASTER_SITE_SOURCEFORGE:=megaglest/}
EXTRACT_SUFX = .tar.xz
MODULES += devel/cmake
NO_REGRESS = yes

View File

@ -0,0 +1,43 @@
# $OpenBSD: Makefile,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
COMMENT = 3D real-time strategy game
DISTNAME = megaglest-source-${V}
PKGNAME = megaglest-${V}
WANTLIB += GL GLU GLEW ICE SDL SM X11 Xext c crypto curl fontconfig ftgl
WANTLIB += freetype iconv idn intl ircclient jpeg lua${MODLUA_VERSION}
WANTLIB += m miniupnpc ogg openal png pthread ssl stdc++ vlc vlccore vorbis
WANTLIB += vorbisfile wx_base wx_gtk2_core wx_gtk2_gl xerces-c z
MODULES = lang/lua
BUILD_DEPENDS = devel/help2man
RUN_DEPENDS = games/megaglest/data \
devel/desktop-file-utils
LIB_DEPENDS = audio/libogg \
audio/libvorbis \
audio/openal \
devel/sdl \
graphics/glew \
graphics/ftgl \
graphics/jpeg \
graphics/png \
net/curl \
net/libircclient \
net/miniupnp/miniupnpc \
textproc/xerces-c \
x11/vlc,-main \
x11/wxWidgets
CONFIGURE_ARGS = -DBUILD_MEGAGLEST_MODEL_IMPORT_EXPORT_TOOLS=0 \
-DMEGAGLEST_MANPAGE_INSTALL_PATH="${LOCALBASE}/man/man6"
.ifdef DEBUG
CONFIGURE_ARGS += -DCMAKE_BUILD_TYPE=Debug
.endif
WRKDIST = ${WRKDIR}/${PKGNAME}
pre-configure:
@${SUBST_CMD} ${WRKSRC}/mk/cmake/Modules/FindLUA.cmake \
${WRKSRC}/source/shared_lib/CMakeLists.txt
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (megaglest-source-3.7.1.tar.xz) = AiIZbGonTP0bX9B0IGpr7c89pPNDNF8+JoLnBPlK3CY=
SIZE (megaglest-source-3.7.1.tar.xz) = 1439864

View File

@ -0,0 +1,21 @@
$OpenBSD: patch-CMakeLists_txt,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
--- CMakeLists.txt.orig Mon Jan 28 01:50:36 2013
+++ CMakeLists.txt Mon Jan 28 01:51:20 2013
@@ -146,14 +146,14 @@ IF(CMAKE_COMPILER_IS_GNUCXX OR MINGW)
SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g3")
# Release compiler flags
- SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${CMAKE_CXX_FLAGS_RELEASE} -O3 ")
+ SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE}")
SET(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} -s") ## Strip binary
# Release with debug info compiler flags
- SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O3 ${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g -O3 ")
+ SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -g")
# Release minimum size compiler flags
- SET(CMAKE_CXX_FLAGS_MINSIZEREL "-O3 ${CMAKE_CXX_FLAGS_MINSIZEREL} -O3 ")
+ SET(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL}")
SET(CMAKE_EXE_LINKER_FLAGS_MINSIZEREL "${CMAKE_EXE_LINKER_FLAGS_MINSIZEREL} -s") ## Strip binary
SET(HAS_SVN "FALSE")

View File

@ -0,0 +1,30 @@
$OpenBSD: patch-mk_cmake_Modules_FindLUA_cmake,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
--- mk/cmake/Modules/FindLUA.cmake.orig Mon Nov 12 05:42:05 2012
+++ mk/cmake/Modules/FindLUA.cmake Wed Jan 9 15:50:08 2013
@@ -24,6 +24,8 @@ FIND_PATH(LUA_INCLUDE_DIR NAMES lua.hpp
/usr/include/lua5.1
IF(FreeBSD)
SET(PATHS "/usr/local/include/lua51")
+ IF(OpenBSD)
+ SET(PATHS "${TRUEPREFIX}/include/lua-${MODLUA_VERSION}")
ENDIF()
$ENV{LUA_HOME}
)
@@ -33,6 +35,8 @@ IF (LUA_STATIC AND NOT LUA_LIBRARIES)
PATHS
IF(FreeBSD)
SET(PATHS "/usr/local/lib/lua51")
+ IF(OpenBSD)
+ SET(PATHS "${TRUEPREFIX}/lib/lua/${MODLUA_VERSION}")
ENDIF()
$ENV{LUA_HOME})
@@ -41,6 +45,8 @@ ELSE()
PATHS
IF(FreeBSD)
SET(PATHS "/usr/local/lib/lua51")
+ IF(OpenBSD)
+ SET(PATHS "${TRUEPREFIX}/lib/lua/${MODLUA_VERSION}")
ENDIF()
$ENV{LUA_HOME})
ENDIF()

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-source_g3d_viewer_CMakeLists_txt,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
Program fails to start ("unable to init GTK") when help2man runs it.
--- source/g3d_viewer/CMakeLists.txt.orig Wed Jan 9 20:33:02 2013
+++ source/g3d_viewer/CMakeLists.txt Wed Jan 9 20:37:31 2013
@@ -149,7 +149,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
- IF(EXISTS ${HELP2MAN})
+ IF(FALSE)
MESSAGE("***-- Found help2man: ${HELP2MAN} about to build manpage in [${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME_MANPAGE}]")
SET(MG_MANPAGE_DESCRIPTION "G3D Model editor for the popular 3D realtime stragegy game")
@@ -174,7 +174,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER)
${TARGET_NAME}
DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH})
- IF(EXISTS ${HELP2MAN})
+ IF(FALSE)
MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]")
# Installation of the program manpage file

View File

@ -0,0 +1,22 @@
$OpenBSD: patch-source_glest_map_editor_CMakeLists_txt,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
Program fails to start ("unable to init GTK") when help2man runs it.
--- source/glest_map_editor/CMakeLists.txt.orig Wed Jan 9 20:28:26 2013
+++ source/glest_map_editor/CMakeLists.txt Wed Jan 9 20:36:59 2013
@@ -143,7 +143,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR)
ENDIF()
TARGET_LINK_LIBRARIES(${TARGET_NAME} ${EXTERNAL_LIBS})
- IF(EXISTS ${HELP2MAN})
+ IF(FALSE)
MESSAGE("***-- Found help2man: ${HELP2MAN} about to build manpage in [${EXECUTABLE_OUTPUT_PATH}/${TARGET_NAME_MANPAGE}]")
SET(MG_MANPAGE_DESCRIPTION "Map editor for the popular 3D realtime stragegy game")
@@ -169,7 +169,7 @@ IF(BUILD_MEGAGLEST_MAP_EDITOR)
${TARGET_NAME}
DESTINATION ${MEGAGLEST_BIN_INSTALL_PATH})
- IF(EXISTS ${HELP2MAN})
+ IF(FALSE)
MESSAGE(STATUS "**NOTE: Will Install manpage [${TARGET_NAME_MANPAGE}] to [${MEGAGLEST_MANPAGE_INSTALL_PATH}]")
# Installation of the program manpage file

View File

@ -0,0 +1,41 @@
$OpenBSD: patch-source_shared_lib_CMakeLists_txt,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
--- source/shared_lib/CMakeLists.txt.orig Wed Nov 14 20:20:08 2012
+++ source/shared_lib/CMakeLists.txt Wed Jan 9 17:48:38 2013
@@ -101,13 +101,13 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OPENAL_LIBRARY})
ENDIF()
- # FIND_PACKAGE(OGG REQUIRED)
- # INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR})
- # IF(UNIX)
- # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY})
- # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY})
- # SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY})
- # ENDIF()
+ FIND_PACKAGE(OGG REQUIRED)
+ INCLUDE_DIRECTORIES(${OGG_INCLUDE_DIR})
+ IF(UNIX)
+ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${OGG_LIBRARY})
+ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_LIBRARY})
+ SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${VORBIS_FILE_LIBRARY})
+ ENDIF()
# FIND_PACKAGE(LUAJIT)
@@ -123,7 +123,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP
#
FIND_PACKAGE(LUA REQUIRED)
INCLUDE_DIRECTORIES(${LUA_INCLUDE_DIR})
- IF(UNIX)
+ IF(Linux OR APPLE)
SET(EXTERNAL_LIBS ${EXTERNAL_LIBS} ${LUA_LIBRARIES} "libdl.so")
ENDIF()
# ENDIF()
@@ -341,6 +341,7 @@ IF(BUILD_MEGAGLEST_MODEL_VIEWER OR BUILD_MEGAGLEST_MAP
set(CMAKE_REQUIRED_INCLUDES "${IRCCLIENT_INCLUDE_DIR}")
set(CMAKE_REQUIRED_LIBRARIES "${IRCCLIENT_LIBRARY}")
+ set(CMAKE_REQUIRED_FLAGS "-I${LOCALBASE}/include -L${LOCALBASE}/lib -lpthread")
include(CheckCXXSourceRuns)
check_cxx_source_runs("

View File

@ -0,0 +1,106 @@
$OpenBSD: patch-source_shared_lib_sources_platform_common_platform_common_cpp,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
--- source/shared_lib/sources/platform/common/platform_common.cpp.orig Wed Jan 9 16:26:09 2013
+++ source/shared_lib/sources/platform/common/platform_common.cpp Wed Jan 9 16:29:40 2013
@@ -946,7 +946,7 @@ uint32 getFolderTreeContentsCheckSumRecursively(const
glob_t globbuf;
int res = glob(mypath.c_str(), 0, 0, &globbuf);
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#2 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -980,13 +980,13 @@ uint32 getFolderTreeContentsCheckSumRecursively(const
globfree(&globbuf);
// Look recursively for sub-folders
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
res = glob(mypath.c_str(), 0, 0, &globbuf);
#else
res = glob(mypath.c_str(), GLOB_ONLYDIR, 0, &globbuf);
#endif
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#3 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -995,7 +995,7 @@ uint32 getFolderTreeContentsCheckSumRecursively(const
#endif
for(int i = 0; i < globbuf.gl_pathc; ++i) {
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
struct stat statStruct;
// only process if dir..
int actStat = lstat( globbuf.gl_pathv[i], &statStruct);
@@ -1127,7 +1127,7 @@ vector<string> getFolderTreeContentsListRecursively(co
}
int res = glob(mypath.c_str(), globFlags, 0, &globbuf);
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#4 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -1160,14 +1160,14 @@ vector<string> getFolderTreeContentsListRecursively(co
globfree(&globbuf);
// Look recursively for sub-folders
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
res = glob(mypath.c_str(), 0, 0, &globbuf);
#else //APPLE doesn't have the GLOB_ONLYDIR definition..
globFlags |= GLOB_ONLYDIR;
res = glob(mypath.c_str(), globFlags, 0, &globbuf);
#endif
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#5 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -1176,7 +1176,7 @@ vector<string> getFolderTreeContentsListRecursively(co
#endif
for(int i = 0; i < globbuf.gl_pathc; ++i) {
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
struct stat statStruct;
// only get if dir..
int actStat = lstat( globbuf.gl_pathv[ i], &statStruct);
@@ -1268,7 +1268,7 @@ vector<std::pair<string,uint32> > getFolderTreeContent
int res = glob(mypath.c_str(), 0, 0, &globbuf);
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#6 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -1300,13 +1300,13 @@ vector<std::pair<string,uint32> > getFolderTreeContent
globfree(&globbuf);
// Look recursively for sub-folders
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
res = glob(mypath.c_str(), 0, 0, &globbuf);
#else //APPLE doesn't have the GLOB_ONLYDIR definition..
res = glob(mypath.c_str(), GLOB_ONLYDIR, 0, &globbuf);
#endif
-#if !defined(__APPLE__) && !defined(__FreeBSD__)
+#if !defined(__APPLE__) && !defined(__FreeBSD__) && !defined(__OpenBSD__)
if(res < 0) {
std::stringstream msg;
msg << "#7 Couldn't scan directory '" << mypath << "': " << strerror(errno);
@@ -1315,7 +1315,7 @@ vector<std::pair<string,uint32> > getFolderTreeContent
#endif
for(int i = 0; i < globbuf.gl_pathc; ++i) {
-#if defined(__APPLE__) || defined(__FreeBSD__)
+#if defined(__APPLE__) || defined(__FreeBSD__) || defined(__OpenBSD__)
struct stat statStruct;
// only get if dir..
int actStat = lstat( globbuf.gl_pathv[ i], &statStruct);

View File

@ -0,0 +1,5 @@
MegaGlest is an entertaining free and open source cross-platform 3D
real-time strategy game, where you control the armies of one of seven
different factions: Tech, Magic, Egypt, Indians, Norsemen, Persian or
Romans. The game is set in one of 17 naturally looking settings,
which are crafted with great appreciation for detail.

View File

@ -0,0 +1,19 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
@bin bin/megaglest
@bin bin/megaglest_editor
@bin bin/megaglest_g3dviewer
@man man/man6/megaglest.6
share/applications/megaglest.desktop
share/applications/megaglest_editor.desktop
share/applications/megaglest_g3dviewer.desktop
share/megaglest/editor.ico
share/megaglest/g3dviewer.ico
share/pixmaps/
share/pixmaps/editor.ico
share/pixmaps/g3dviewer.ico
share/pixmaps/glest.ico
share/pixmaps/megaglest.bmp
share/pixmaps/megaglest.png
share/pixmaps/megaglest.xpm
@exec %D/bin/update-desktop-database
@unexec-delete %D/bin/update-desktop-database

View File

@ -0,0 +1,8 @@
# $OpenBSD: Makefile,v 1.1.1.1 2013/01/28 13:58:49 stsp Exp $
COMMENT = megaglest game data files
DISTNAME = megaglest-data-${V}
WRKDIST = ${WRKDIR}/megaglest-${V}
PKG_ARCH = *
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (megaglest-data-3.7.1.tar.xz) = 4xqE0y41vRuW67pVGI0FCZQRSX2uS60uzpywzqVyOw0=
SIZE (megaglest-data-3.7.1.tar.xz) = 191777052

View File

@ -0,0 +1,3 @@
MegaGlest is an entertaining free and open source cross-platform 3D
real-time strategy game. This package contains game data for MegaGlest.
Additional game data can be downloaded from within the game at no cost.

File diff suppressed because it is too large Load Diff