games/openage: games/openage: upgrade to v0.4.1

- release notes at <https://github.com/SFTtech/openage/releases/tag/v0.4.1>

- also chase the upgrade of py-Pygments to 2.9, with a patch from upstream.

PR:		257471
Approved by:	freebsd (at) sysctl.cz (maintainer)
This commit is contained in:
Thierry Thomas 2022-01-20 22:39:01 +01:00
parent 2d75dd0108
commit 05b6fd6a75
7 changed files with 125 additions and 89 deletions

View File

@ -1,13 +1,8 @@
PORTNAME= openage
DISTVERSIONPREFIX= v
DISTVERSION= 0.3.0-1262
DISTVERSIONSUFFIX= -ga554ab49
PORTREVISION= 5
DISTVERSION= 0.4.1
CATEGORIES= games
PATCH_SITES= https://github.com/SFTtech/openage/commit/
PATCHFILES= 663b1158018d839eb5cfed63f4b228c1590c6104.patch:-p1
MAINTAINER= freebsd@sysctl.cz
COMMENT= Free engine clone of the Genie Engine
@ -32,8 +27,8 @@ RUN_DEPENDS= ${PYNUMPY} \
${PY_PILLOW} \
${PYTHON_PKGNAMEPREFIX}pygments>0:textproc/py-pygments@${PY_FLAVOR}
USES= cmake compiler:c++17-lang gl python:3.4+ qt:5 sdl shebangfix
SHEBANG_FILES= configure run.py buildsystem/cythonize.py
USES= cmake compiler:c++17-lang eigen:3 gl ncurses:base python:3.4+ qt:5 sdl shebangfix
SHEBANG_FILES= configure run.py.in buildsystem/cythonize.py
USE_GITHUB= yes
GH_ACCOUNT= SFTtech
USE_SDL= image2 sdl2
@ -45,8 +40,8 @@ USE_LDCONFIG= yes
CMAKE_OFF= WANT_BACKTRACE WANT_GPERFTOOLS_PROFILER WANT_INOTIFY
CMAKE_ARGS= -DGLOBAL_CONFIG_DIR:STRING=${ETCDIR}
post-patch:
@${REINPLACE_CMD} -e 's|/usr/bin/env python3|${PYTHON_CMD}|' ${WRKSRC}/buildsystem/modules/FindPython.cmake
pre-configure:
${REINPLACE_CMD} -e 's|python3|${PYTHON_CMD}|' ${WRKSRC}/openage/codegen/main.py
post-install:
@${MKDIR} ${STAGEDIR}${PREFIX}/etc/openage

View File

@ -1,5 +1,3 @@
TIMESTAMP = 1586003415
SHA256 (SFTtech-openage-v0.3.0-1262-ga554ab49_GH0.tar.gz) = a0c7de5b4a187fb991c4f3e560d80f1a7afc411812ab4d7ab49a63c61b446e29
SIZE (SFTtech-openage-v0.3.0-1262-ga554ab49_GH0.tar.gz) = 2081730
SHA256 (663b1158018d839eb5cfed63f4b228c1590c6104.patch) = defe0d166e0c70524b53ebaa61e6e220e7e1b6c569b3dd33088eb4d47bf8779a
SIZE (663b1158018d839eb5cfed63f4b228c1590c6104.patch) = 1365
TIMESTAMP = 1628960206
SHA256 (SFTtech-openage-v0.4.1_GH0.tar.gz) = 9d83138cc0f544b0fae799f10cbbaec7671511f9600a869bdb755668db0e5ccf
SIZE (SFTtech-openage-v0.4.1_GH0.tar.gz) = 2321890

View File

@ -0,0 +1,23 @@
--- buildsystem/pxdgen.py.orig 2020-08-15 10:50:07 UTC
+++ buildsystem/pxdgen.py
@@ -23,6 +23,7 @@ class ParserError(Exception):
"""
Represents a fatal parsing error in PXDGenerator.
"""
+
def __init__(self, filename, lineno, message):
super().__init__("{}:{} {}".format(filename, lineno, message))
@@ -218,8 +219,11 @@ class PXDGenerator:
return self.handle_token(token, val)
def handle_state_1(self, token, val, namespace_parts):
+ # Patch from upstream, commit 3aa91ea4d4a72a5f3b6f90ad0390b9e07de7aa77
# we're inside a namespace definition; expect Token.Name
- if token != Token.Name:
+ # TODO: pygments 2.9 correctly reports Token.Name.Namespace
+ # we can require this version eventually and change the condition
+ if token not in Token.Name:
raise self.parser_error(
"expected identifier after 'namespace'")
namespace_parts.append(val)

View File

@ -1,8 +1,8 @@
--- libopenage/CMakeLists.txt.orig 2018-07-14 15:12:15 UTC
--- libopenage/CMakeLists.txt.orig 2020-08-15 10:50:07 UTC
+++ libopenage/CMakeLists.txt
@@ -86,13 +86,21 @@ if(MSVC)
@@ -38,13 +38,21 @@ if(WIN32)
endif()
if(NOT APPLE AND NOT MSVC)
if(NOT APPLE AND NOT WIN32)
find_library(RT_LIB rt)
- if (${CMAKE_SYSTEM_NAME} STREQUAL "FreeBSD")
- find_library(EXECINFO_LIB execinfo)
@ -16,17 +16,17 @@
+ find_library(NYAN_LIBRARY NAMES "nyan" PATHS /usr/local/lib )
+ list(APPEND CMAKE_REQUIRED_INCLUDES ${NYAN_INCLUDE_DIR})
+ list(APPEND CMAKE_REQUIRED_LIBRARIES ${NYAN_LIBRARY})
+
+# message(STATUS ${NYAN_INCLUDE_DIR})
+# message(STATUS ${NYAN_LIBRARY})
+endif()
+
+
+find_library(FONTCONFIG_LIB fontconfig)
find_package(Freetype REQUIRED)
find_package(OpenGL REQUIRED)
find_package(PNG REQUIRED)
@@ -115,74 +123,74 @@ endif()
find_package(SDL2 REQUIRED)
@@ -70,78 +78,78 @@ endif()
# first, try to locate nyan directly
# this discovers the system package or the user-registry package
@ -35,8 +35,12 @@
# if this didn't work, we can download nyan like a git submodule.
# this is the treeish to be checked out.
-set(nyan_clone_version origin/master)
+#set(nyan_clone_version origin/master)
-if(NOT DEFINED NYAN_CLONE_VERSION)
- set(NYAN_CLONE_VERSION origin/master)
-endif()
+#if(NOT DEFINED NYAN_CLONE_VERSION)
+# set(NYAN_CLONE_VERSION origin/master)
+#endif()
-option(
- DOWNLOAD_NYAN
@ -76,16 +80,57 @@
# or if it was used before.
-if((NOT nyan_FOUND AND DOWNLOAD_NYAN) OR FORCE_DOWNLOAD_NYAN)
- message(STATUS "Downloading nyan as submodule project...")
-
+#if((NOT nyan_FOUND AND DOWNLOAD_NYAN) OR FORCE_DOWNLOAD_NYAN)
+# message(STATUS "Downloading nyan as submodule project...")
+#
+# if(DISABLE_SUBPROJECT_UPDATES)
+# set(DISABLE_NYAN_UPDATES "DISABLE_UPDATES")
+# endif()
+#
+# fetch_project(
+# NAME nyan
+# ${DISABLE_NYAN_UPDATES}
+# GIT_REPOSITORY https://github.com/SFTtech/nyan
+# GIT_TAG ${NYAN_CLONE_VERSION}
+# )
+#
+# # don't register nyan to the userpackage-repo!
+# set(REGISTER_USERPACKAGE OFF)
+# # don't generate the `doc` target again (name conflict!)
+# set(DOXYGEN_ENABLE OFF)
+#
+# # register the targets
+# add_subdirectory(${nyan_SOURCE_DIR} ${nyan_BINARY_DIR})
+#
+# message(STATUS "nyan processed successfully!")
+#
+#elseif(NOT nyan_FOUND)
+# message(FATAL_ERROR "
+# Could not find the cmake package configuration file \"nyanConfig.cmake\".
+# To find it, you have several options:
+# * If your distribution provides it, install \"nyan\" through the package manager.
+# * If you want openage to automatically download \"nyan\", append `-DDOWNLOAD_NYAN=YES` to the cmake invocation or use `./configure --download-nyan`.
+# * If you want to build nyan manually, follow the build instructions:
+# [[ doc/building.md#nyan-installation ]]
+# * If you already built nyan but it still can't be found (cmake package repo fails):
+# * Try to set \"nyan_DIR\" to the nyan build directory (it contains nyanConfig.cmake)
+# either through: \"./configure $youroptions -- -Dnyan_DIR=/home/dev/nyan/build\"
+# or: \"cmake $yourotheroptions -Dnyan_DIR=/home/dev/nyan/build ..\"
+#
+# In case of other problems, please try to figure them out (and tell us what you did).
+# Contact information is in README.md.
+#")
+#endif()
- if(DISABLE_SUBPROJECT_UPDATES)
- set(DISABLE_NYAN_UPDATES "DISABLE_UPDATES")
- endif()
-
- fetch_project(
- NAME nyan
- ${DISABLE_NYAN_UPDATES}
- GIT_REPOSITORY https://github.com/SFTtech/nyan
- GIT_TAG ${nyan_clone_version}
- GIT_TAG ${NYAN_CLONE_VERSION}
- )
-
- # don't register nyan to the userpackage-repo!
@ -110,69 +155,31 @@
- * Try to set \"nyan_DIR\" to the nyan build directory (it contains nyanConfig.cmake)
- either through: \"./configure $youroptions -- -Dnyan_DIR=/home/dev/nyan/build\"
- or: \"cmake $yourotheroptions -Dnyan_DIR=/home/dev/nyan/build ..\"
+#if((NOT nyan_FOUND AND DOWNLOAD_NYAN) OR FORCE_DOWNLOAD_NYAN)
+# message(STATUS "Downloading nyan as submodule project...")
+#
+# if(DISABLE_SUBPROJECT_UPDATES)
+# set(DISABLE_NYAN_UPDATES "DISABLE_UPDATES")
+# endif()
+#
+# fetch_project(
+# NAME nyan
+# ${DISABLE_NYAN_UPDATES}
+# GIT_REPOSITORY https://github.com/SFTtech/nyan
+# GIT_TAG ${nyan_clone_version}
+# )
+#
+# # don't register nyan to the userpackage-repo!
+# set(REGISTER_USERPACKAGE OFF)
+# # don't generate the `doc` target again (name conflict!)
+# set(DOXYGEN_ENABLE OFF)
+#
+# # register the targets
+# add_subdirectory(${nyan_SOURCE_DIR} ${nyan_BINARY_DIR})
+#
+# message(STATUS "nyan processed successfully!")
-
- In case of other problems, please try to figure them out (and tell us what you did).
- Contact information is in README.md.
-")
-endif()
+#elseif(NOT nyan_FOUND)
+# message(FATAL_ERROR "
+# Could not find the cmake package configuration file \"nyanConfig.cmake\".
+# To find it, you have several options:
+# * If your distribution provides it, install \"nyan\" through the package manager.
+# * If you want openage to automatically download \"nyan\", append `-DDOWNLOAD_NYAN=YES` to the cmake invocation or use `./configure --download-nyan`.
+# * If you want to build nyan manually, follow the build instructions:
+# [[ doc/building.md#nyan-installation ]]
+# * If you already built nyan but it still can't be found (cmake package repo fails):
+# * Try to set \"nyan_DIR\" to the nyan build directory (it contains nyanConfig.cmake)
+# either through: \"./configure $youroptions -- -Dnyan_DIR=/home/dev/nyan/build\"
+# or: \"cmake $yourotheroptions -Dnyan_DIR=/home/dev/nyan/build ..\"
+#
+# In case of other problems, please try to figure them out (and tell us what you did).
+# Contact information is in README.md.
+#")
+#endif()
-
-
##################################################
# optional dependencies
if(GCCBacktrace_FOUND)
@@ -245,6 +253,7 @@ include_directories(
@@ -264,6 +272,7 @@ target_include_directories(libopenage
${SDL2IMAGE_INCLUDE_DIRS}
${HarfBuzz_INCLUDE_DIRS}
${QTPLATFORM_INCLUDE_DIRS}
+ ${NYAN_INCLUDE_DIRS}
)
# link the executable to those libraries
@@ -265,7 +274,8 @@ target_link_libraries(libopenage
${RT_LIB}
${OGG_LIB}
${EXECINFO_LIB}
##################################################
@@ -274,7 +283,8 @@ target_include_directories(libopenage
target_link_libraries(libopenage
PRIVATE
Threads::Threads
- nyan::nyan
+ ${NYAN_LIBRARY}
+# nyan::nyan
# TODO: change to PUBLIC (or, alternatively, remove all keywords
# of this type) when qt cmake scripts change declarations of the
Eigen3::Eigen
${PNG_LIBRARIES}
${OPUS_LIBRARIES}

View File

@ -1,4 +1,4 @@
--- openage/default_dirs.py.orig 2018-07-15 14:29:49 UTC
--- openage/default_dirs.py.orig 2020-08-15 10:50:07 UTC
+++ openage/default_dirs.py
@@ -33,6 +33,14 @@ LINUX_DIRS = {
"runtime_dir": ("XDG_RUNTIME_DIR", ("/run/user/$UID")),
@ -15,13 +15,13 @@
# Windows-specific paths
WINDOWS_DIRS = {
@@ -60,6 +68,9 @@ def get_dir(which):
@@ -59,6 +67,9 @@ def get_dir(which):
elif sys.platform.startswith("win32"):
platform_table = WINDOWS_DIRS
+
+ elif sys.platform.startswith("freebsd"):
+ platform_table = FREEBSD_DIRS
+
else:
raise Exception("unsupported platform: '%s'" % sys.platform)

View File

@ -1,8 +1,8 @@
Openage: a volunteer project to create a free engine clone of the Genie Engine
used by Age of Empires, Age of Empires II (HD) and Star Wars: Galactic
Battlegrounds, comparable to projects like OpenMW, OpenRA, OpenTTD and
OpenRCT2. Openage uses the original game assets (such as sounds and graphics),
but (for obvious reasons) doesn't ship them. To play, you require an original
used by Age of Empires, Age of Empires II (HD) and Star Wars: Galactic
Battlegrounds, comparable to projects like OpenMW, OpenRA, OpenTTD and
OpenRCT2. Openage uses the original game assets (such as sounds and graphics),
but (for obvious reasons) doesn't ship them. To play, you require an original
AoE II : TC installation or AoE II: HD (installation via Wine).
WWW: https://openage.sft.mx/

View File

@ -1,5 +1,5 @@
%%ETCDIR%%/keybinds.oac
bin/openage
%%ETCDIR%%/keybinds.oac
lib/libopenage.so
lib/libopenage.so.0
%%PYTHON_SITELIBDIR%%/openage/__init__.py
@ -144,6 +144,8 @@ lib/libopenage.so.0
%%PYTHON_SITELIBDIR%%/openage/convert/singlefile.py
%%PYTHON_SITELIBDIR%%/openage/convert/slp%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/convert/slp_converter_pool.py
%%PYTHON_SITELIBDIR%%/openage/convert/smp%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/convert/smx%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/convert/stringresource.py
%%PYTHON_SITELIBDIR%%/openage/convert/texture.py
%%PYTHON_SITELIBDIR%%/openage/cppinterface/__init__.py
@ -161,7 +163,11 @@ lib/libopenage.so.0
%%PYTHON_SITELIBDIR%%/openage/cvar/config_file.py
%%PYTHON_SITELIBDIR%%/openage/cvar/cvar%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/cvar/location.py
%%PYTHON_SITELIBDIR%%/openage/cython_check%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/default_dirs.py
%%PYTHON_SITELIBDIR%%/openage/event/__init__.py
%%PYTHON_SITELIBDIR%%/openage/event/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/event/demo%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/game/__init__.py
%%PYTHON_SITELIBDIR%%/openage/game/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/game/__pycache__/main.cpython-%%PYTHON_SUFFIX%%.pyc
@ -172,6 +178,10 @@ lib/libopenage.so.0
%%PYTHON_SITELIBDIR%%/openage/log/__pycache__/tests.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/log/log_cpp%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/log/tests.py
%%PYTHON_SITELIBDIR%%/openage/renderer/__init__.py
%%PYTHON_SITELIBDIR%%/openage/renderer/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/renderer/renderer_cpp%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/renderer/tests%%PYTHON_EXT_SUFFIX%%.so
%%PYTHON_SITELIBDIR%%/openage/testing/__init__.py
%%PYTHON_SITELIBDIR%%/openage/testing/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/testing/__pycache__/benchmark.cpython-%%PYTHON_SUFFIX%%.pyc
@ -242,6 +252,9 @@ lib/libopenage.so.0
%%PYTHON_SITELIBDIR%%/openage/util/struct.py
%%PYTHON_SITELIBDIR%%/openage/util/system.py
%%PYTHON_SITELIBDIR%%/openage/util/threading.py
%%PYTHON_SITELIBDIR%%/openage/versions/__init__.py
%%PYTHON_SITELIBDIR%%/openage/versions/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc
%%PYTHON_SITELIBDIR%%/openage/versions/versions%%PYTHON_EXT_SUFFIX%%.so
share/applications/openage.desktop
%%DATADIR%%/banner.svg
%%DATADIR%%/gaben.png