diff --git a/games/openmw/Makefile b/games/openmw/Makefile index fbb43aa0aa90..6999dd3042ca 100644 --- a/games/openmw/Makefile +++ b/games/openmw/Makefile @@ -1,56 +1,71 @@ PORTNAME= openmw DISTVERSIONPREFIX= openmw- DISTVERSION= 0.48.0 PORTREVISION= 3 CATEGORIES= games MAINTAINER= fluffy@FreeBSD.org COMMENT= Unofficial open source engine reimplementation of the game Morrowind WWW= https://openmw.org/ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE BROKEN_FreeBSD_15_aarch64= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276702 BROKEN_FreeBSD_15_amd64= clang crashes, see https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=276702 LIB_DEPENDS= libavcodec.so.60:multimedia/ffmpeg \ libboost_thread.so:devel/boost-libs \ libMyGUIEngine.so:x11-toolkits/mygui \ libBulletCollision.so:devel/bullet@double \ libosg.so:graphics/osg \ libRecast.so:graphics/recastnavigation \ libunshield.so:archivers/unshield \ liblz4.so:archivers/liblz4 \ libicui18n.so:devel/icu \ libyaml-cpp.so:devel/yaml-cpp USES= cmake compiler:c++17-lang desktop-file-utils gl luajit openal \ pkgconfig qt:5 sdl sqlite xorg USE_GITHUB= yes GH_ACCOUNT= OpenMW USE_GL= gl USE_QT= core gui network opengl printsupport widgets buildtools:build \ qmake:build USE_SDL= sdl2 CMAKE_ARGS= -DDESIRED_QT_VERSION=5 \ -DOPENMW_USE_SYSTEM_BULLET=ON \ -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON \ -DGLOBAL_DATA_PATH="${PREFIX}/share" \ -DMORROWIND_DATA_FILES="${DATADIR}/data" \ -DOPENMW_RESOURCE_FILES="${DATADIR}/resources" +# passed from openal to prevent linker errors +LDFLAGS+= -Wl,--as-needed +LDFLAGS_i386= -Wl,-z,notext + OPTIONS_DEFINE= DOCS DOCS_CMAKE_BOOL= BUILD_DOCS +DOCS_BINARY_ALIAS= sphinx-build=sphinx-build-${PYTHON_VER} DOCS_BUILD_DEPENDS= doxygen>0:devel/doxygen \ - sphinx-build:textproc/py-sphinx@${PY_FLAVOR} + ${PYTHON_PKGNAMEPREFIX}sphinx>=0,1:textproc/py-sphinx@${PY_FLAVOR} DOCS_USES= python:build PORTDOCS= * +.include + +# The following is actually meant for lld 15.0 and later, but the ports +# framework does not support LINKER_TYPE and LINKER_VERSION yet. +.if ${COMPILER_TYPE} == "clang" +# Turn off checking of dynamic relocations, to avoid lld diagnostics about +# possibly incorrect addend values. +LDFLAGS_i386+= -Wl,--no-check-dynamic-relocations +.endif + post-install: @${STRIP_CMD} ${STAGEDIR}${PREFIX}/bin/* -.include +.include diff --git a/games/openmw/files/patch-apps_openmw_mwstate_charactermanager.hpp b/games/openmw/files/patch-apps_openmw_mwstate_charactermanager.hpp new file mode 100644 index 000000000000..fe61c1fc661e --- /dev/null +++ b/games/openmw/files/patch-apps_openmw_mwstate_charactermanager.hpp @@ -0,0 +1,11 @@ +--- apps/openmw/mwstate/charactermanager.hpp.orig 2023-08-08 09:23:20 UTC ++++ apps/openmw/mwstate/charactermanager.hpp +@@ -1,6 +1,8 @@ + #ifndef GAME_STATE_CHARACTERMANAGER_H + #define GAME_STATE_CHARACTERMANAGER_H + ++#include ++ + #include + + #include "character.hpp" diff --git a/games/openmw/files/patch-components_bsa_bsa__file.cpp b/games/openmw/files/patch-components_bsa_bsa__file.cpp new file mode 100644 index 000000000000..0dcb26d6581f --- /dev/null +++ b/games/openmw/files/patch-components_bsa_bsa__file.cpp @@ -0,0 +1,10 @@ +--- components/bsa/bsa_file.cpp.orig 2023-08-08 09:23:20 UTC ++++ components/bsa/bsa_file.cpp +@@ -26,6 +26,7 @@ + #include + + #include ++#include + + #include + #include