Download raw body.
[update] games/openmw 0.51.0
Update to OpenMW 0.51.0.
Using the built-in TinyXML leads to numerous crashes, which I have not
seen with the system one.
The crash catcher will try to call egdb, then lldb in case of a crash for
supplying additional information. I have not added a RUN_DEPENDS on
devel/gdb intentionally.
Works very well so far on:
amdgpu0: RENOIR GC 9.3.0 7 CU rev 0x00
Will commit in a few days if I don't hear negative reports.
Index: Makefile
===================================================================
RCS file: /home/cvs/ports/games/openmw/Makefile,v
diff -u -p -r1.45 Makefile
--- Makefile 9 Jun 2026 03:25:29 -0000 1.45
+++ Makefile 21 Jun 2026 16:20:13 -0000
@@ -4,14 +4,13 @@ ONLY_FOR_ARCHS = amd64 i386
COMMENT = open source implementation of TES III: Morrowind
-V = 0.50.0
-REVISION = 2
+V = 0.51.0
GH_ACCOUNT = OpenMW
GH_PROJECT = openmw
GH_TAGNAME = openmw-$V
DISTNAME = openmw-$V
-DISTFILES.a = c393777d26d2ff6519ac23612abf8af42678c9dd.zip
+DISTFILES.a = 03259f3287ff8330f0d66fcd98d022edddffaa97.zip
DIST_SUBDIR = openmw
SITES.a = https://github.com/recastnavigation/recastnavigation/archive/
@@ -26,12 +25,13 @@ PERMIT_PACKAGE = Yes
WANTLIB += ${COMPILER_LIBCXX} BulletCollision GL LinearMath MyGUIEngine
WANTLIB += OpenThreads Qt6Core Qt6Gui Qt6Network Qt6OpenGL Qt6OpenGLWidgets
-WANTLIB += Qt6Svg Qt6Widgets SDL2 avcodec avformat avutil boost_iostreams-mt
-WANTLIB += boost_program_options-mt boost_random-mt boost_regex-mt
-WANTLIB += c collada-dom2.4-dp icudata icui18n icuuc luajit-5.1
-WANTLIB += lz4 m openal osg osgAnimation osgDB osgFX osgGA osgParticle
-WANTLIB += osgShadow osgSim osgText osgUtil osgViewer sqlite3
-WANTLIB += swresample swscale unshield yaml-cpp z
+WANTLIB += Qt6Svg Qt6Widgets SDL2 avcodec avformat avutil boost_container-mt
+WANTLIB += boost_iostreams-mt boost_program_options-mt boost_random-mt
+WANTLIB += boost_regex-mt c collada-dom2.4-dp icudata icui18n
+WANTLIB += icuuc luajit-5.1 lz4 m openal osg osgAnimation osgDB
+WANTLIB += osgFX osgGA osgParticle osgShadow osgSim osgText osgUtil
+WANTLIB += osgViewer sqlite3 swresample swscale tinyxml unshield
+WANTLIB += yaml-cpp z
MODULES = devel/cmake lang/lua x11/qt6 lang/clang
MODCLANG_VERSION = 22
@@ -52,6 +52,7 @@ LIB_DEPENDS = archivers/unshield \
graphics/openscenegraph>=3.6.5p11 \
lang/luajit \
textproc/icu4c \
+ textproc/tinyxml \
x11/qt6/qtsvg
RUN_DEPENDS = devel/desktop-file-utils
@@ -62,7 +63,8 @@ CONFIGURE_ARGS += -DBINDIR=${LOCALBASE}/
-DOPENMW_RESOURCE_FILES="${LOCALBASE}/share/openmw/resources" \
-DCMAKE_PREFIX_PATH="${LOCALBASE}/lib/qt5/cmake:${LOCALBASE}" \
-DCMAKE_DISABLE_FIND_PACKAGE_Doxygen=ON \
- -DCOLLADA_DOM_VERSION_MINOR=4
+ -DCOLLADA_DOM_VERSION_MINOR=4 \
+ -DUSE_SYSTEM_TINYXML=ON
NO_TEST = Yes
@@ -72,10 +74,11 @@ MODCMAKE_LDFLAGS = -L${X11BASE}/lib
post-extract:
mkdir ${WRKDIST}/extern/fetched
- mv ${WRKDIR}/recastnavigation-c393777d26d2ff6519ac23612abf8af42678c9dd \
+ mv ${WRKDIR}/recastnavigation-03259f3287ff8330f0d66fcd98d022edddffaa97 \
${WRKDIST}/extern/fetched/recastnavigation
post-patch:
- ${SUBST_CMD} ${WRKSRC}/components/files/linuxpath.cpp
+ ${SUBST_CMD} ${WRKSRC}/components/files/linuxpath.cpp \
+ ${WRKSRC}/components/crashcatcher/crashcatcher.cpp
.include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /home/cvs/ports/games/openmw/distinfo,v
diff -u -p -r1.14 distinfo
--- distinfo 15 Nov 2025 17:26:09 -0000 1.14
+++ distinfo 21 Jun 2026 09:03:15 -0000
@@ -1,4 +1,4 @@
-SHA256 (openmw/c393777d26d2ff6519ac23612abf8af42678c9dd.zip) = fX/DjJpS29oLodq3DR7VnaEXirHE+iCc23zC3Pzo5Oo=
-SHA256 (openmw/openmw-0.50.0.tar.gz) = cJOozvJlhSIGWFaeuEY2xauQHoL3TIo/ejqK7DW/xUw=
-SIZE (openmw/c393777d26d2ff6519ac23612abf8af42678c9dd.zip) = 1406094
-SIZE (openmw/openmw-0.50.0.tar.gz) = 6244084
+SHA256 (openmw/03259f3287ff8330f0d66fcd98d022edddffaa97.zip) = szfYzuvWZkHhqbnKLD2668WqaKOjDwlDXlxCDBd7LGI=
+SHA256 (openmw/openmw-0.51.0.tar.gz) = emXmOlaH/w1R8xnr1Smp6Tdw/tPMVAggHeRYjRFA8UQ=
+SIZE (openmw/03259f3287ff8330f0d66fcd98d022edddffaa97.zip) = 1446030
+SIZE (openmw/openmw-0.51.0.tar.gz) = 6325148
Index: patches/patch-components_crashcatcher_crashcatcher_cpp
===================================================================
RCS file: patches/patch-components_crashcatcher_crashcatcher_cpp
diff -N patches/patch-components_crashcatcher_crashcatcher_cpp
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-components_crashcatcher_crashcatcher_cpp 21 Jun 2026 12:43:05 -0000
@@ -0,0 +1,33 @@
+Index: components/crashcatcher/crashcatcher.cpp
+--- components/crashcatcher/crashcatcher.cpp.orig
++++ components/crashcatcher/crashcatcher.cpp
+@@ -217,7 +217,7 @@ namespace
+
+ struct Gdb
+ {
+- static constexpr char sName[] = "gdb";
++ static constexpr char sName[] = "egdb";
+ static constexpr char sScript[] = R"(shell echo ""
+ shell echo "* Loaded Libraries"
+ info sharedlibrary
+@@ -236,7 +236,7 @@ thread apply all backtrace full 1000
+ detach
+ quit
+ )";
+- static constexpr char sCommandTemplate[] = "gdb --pid %d --quiet --batch --command %s";
++ static constexpr char sCommandTemplate[] = "egdb --pid %d --quiet --batch --command %s";
+ };
+
+ struct Lldb
+@@ -472,6 +472,11 @@ static void getExecPath(char** argv)
+ if (argv[0][0] == '/')
+ {
+ snprintf(argv0, sizeof(argv0), "%s", argv[0]);
++ return;
++ }
++ else
++ {
++ snprintf(argv0, sizeof(argv0), "%s/%s", "${TRUEPREFIX}/bin", argv[0]);
+ return;
+ }
+
Index: patches/patch-components_files_linuxpath_cpp
===================================================================
RCS file: /home/cvs/ports/games/openmw/patches/patch-components_files_linuxpath_cpp,v
diff -u -p -r1.3 patch-components_files_linuxpath_cpp
--- patches/patch-components_files_linuxpath_cpp 15 Nov 2025 21:39:12 -0000 1.3
+++ patches/patch-components_files_linuxpath_cpp 21 Jun 2026 09:03:18 -0000
@@ -1,7 +1,7 @@
Index: components/files/linuxpath.cpp
--- components/files/linuxpath.cpp.orig
+++ components/files/linuxpath.cpp
-@@ -75,6 +75,10 @@ namespace Files
+@@ -77,6 +77,10 @@ namespace Files
std::filesystem::path LinuxPath::getLocalPath() const
{
@@ -12,7 +12,7 @@ Index: components/files/linuxpath.cpp
auto localPath = std::filesystem::current_path() / "";
static const std::filesystem::path statusPaths[]
-@@ -92,6 +96,7 @@ namespace Files
+@@ -94,6 +98,7 @@ namespace Files
}
return localPath;
Index: patches/patch-components_sceneutil_texturetype_hpp
===================================================================
RCS file: patches/patch-components_sceneutil_texturetype_hpp
diff -N patches/patch-components_sceneutil_texturetype_hpp
--- patches/patch-components_sceneutil_texturetype_hpp 9 Jun 2026 03:25:29 -0000 1.1
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-https://gitlab.com/OpenMW/openmw/-/commit/307a131ca09f705b97f15ede1f702630cca6b396
-
-Index: components/sceneutil/texturetype.hpp
---- components/sceneutil/texturetype.hpp.orig
-+++ components/sceneutil/texturetype.hpp
-@@ -18,7 +18,7 @@ namespace SceneUtil
- {
- }
-
-- static const osg::StateAttribute::Type AttributeType = static_cast<osg::StateAttribute::Type>(69420);
-+ static const osg::StateAttribute::Type AttributeType = static_cast<osg::StateAttribute::Type>(69);
- META_StateAttribute(SceneUtil, TextureType, AttributeType)
-
- bool isTextureAttribute() const override { return true; }
Index: patches/patch-extern_CMakeLists_txt
===================================================================
RCS file: /home/cvs/ports/games/openmw/patches/patch-extern_CMakeLists_txt,v
diff -u -p -r1.4 patch-extern_CMakeLists_txt
--- patches/patch-extern_CMakeLists_txt 15 Nov 2025 17:26:09 -0000 1.4
+++ patches/patch-extern_CMakeLists_txt 21 Jun 2026 09:03:18 -0000
@@ -1,17 +1,17 @@
Index: extern/CMakeLists.txt
--- extern/CMakeLists.txt.orig
+++ extern/CMakeLists.txt
-@@ -173,13 +173,7 @@ if(NOT OPENMW_USE_SYSTEM_RECASTNAVIGATION)
+@@ -159,13 +159,7 @@ if(NOT OPENMW_USE_SYSTEM_RECASTNAVIGATION)
set(RECASTNAVIGATION_TESTS OFF CACHE BOOL "")
set(RECASTNAVIGATION_EXAMPLES OFF CACHE BOOL "")
- include(FetchContent)
- FetchContent_Declare(recastnavigation
-- URL https://github.com/recastnavigation/recastnavigation/archive/c393777d26d2ff6519ac23612abf8af42678c9dd.zip
-- URL_HASH SHA512=48f20cee7a70c2f20f4c68bb74d5af11a1434be85294e37f5fe7b7aae820fbcdff4f35d3be286eaf6f9cbce0aed4201fcc090df409a5bd04aec5fd7c29b3ad94
+- URL https://github.com/OpenMW/recastnavigation/archive/03259f3287ff8330f0d66fcd98d022edddffaa97.zip
+- URL_HASH SHA512=63db2ac90904764d7f1466d3c95994ec51d777cddd870b70f8ef674c09ed166b3d16ffc4ac1d18d0eab865fda4bf51b6ea17049025b66a338d3cadd0f48dc712
- SOURCE_DIR fetched/recastnavigation
- )
-- FetchContent_MakeAvailableExcludeFromAll(recastnavigation)
+- FetchContent_MakeAvailable(recastnavigation)
+ add_subdirectory("fetched/recastnavigation")
endif()
Index: pkg/PLIST
===================================================================
RCS file: /home/cvs/ports/games/openmw/pkg/PLIST,v
diff -u -p -r1.14 PLIST
--- pkg/PLIST 15 Nov 2025 17:26:09 -0000 1.14
+++ pkg/PLIST 21 Jun 2026 09:39:29 -0000
@@ -9,43 +9,6 @@
@bin bin/openmw-launcher
@bin bin/openmw-navmeshtool
@bin bin/openmw-wizard
-include/recastnavigation/
-include/recastnavigation/DebugDraw.h
-include/recastnavigation/DetourAlloc.h
-include/recastnavigation/DetourAssert.h
-include/recastnavigation/DetourCommon.h
-include/recastnavigation/DetourCrowd.h
-include/recastnavigation/DetourDebugDraw.h
-include/recastnavigation/DetourLocalBoundary.h
-include/recastnavigation/DetourMath.h
-include/recastnavigation/DetourNavMesh.h
-include/recastnavigation/DetourNavMeshBuilder.h
-include/recastnavigation/DetourNavMeshQuery.h
-include/recastnavigation/DetourNode.h
-include/recastnavigation/DetourObstacleAvoidance.h
-include/recastnavigation/DetourPathCorridor.h
-include/recastnavigation/DetourPathQueue.h
-include/recastnavigation/DetourProximityGrid.h
-include/recastnavigation/DetourStatus.h
-include/recastnavigation/DetourTileCache.h
-include/recastnavigation/DetourTileCacheBuilder.h
-include/recastnavigation/Recast.h
-include/recastnavigation/RecastAlloc.h
-include/recastnavigation/RecastAssert.h
-include/recastnavigation/RecastDebugDraw.h
-include/recastnavigation/RecastDump.h
-include/recastnavigation/version.h
-lib/cmake/recastnavigation/
-lib/cmake/recastnavigation/recastnavigation-config-version.cmake
-lib/cmake/recastnavigation/recastnavigation-config.cmake
-lib/cmake/recastnavigation/recastnavigation-targets${MODCMAKE_BUILD_SUFFIX}
-lib/cmake/recastnavigation/recastnavigation-targets.cmake
-@static-lib lib/libDebugUtils.a
-@static-lib lib/libDetour.a
-@static-lib lib/libDetourCrowd.a
-@static-lib lib/libDetourTileCache.a
-@static-lib lib/libRecast.a
-lib/pkgconfig/recastnavigation.pc
share/applications/org.openmw.cs.desktop
share/applications/org.openmw.launcher.desktop
share/doc/pkg-readmes/${PKGSTEM}
@@ -74,6 +37,7 @@ share/openmw/resources/lua_api/openmw/am
share/openmw/resources/lua_api/openmw/animation.lua
share/openmw/resources/lua_api/openmw/async.lua
share/openmw/resources/lua_api/openmw/camera.lua
+share/openmw/resources/lua_api/openmw/content.lua
share/openmw/resources/lua_api/openmw/core.lua
share/openmw/resources/lua_api/openmw/debug.lua
share/openmw/resources/lua_api/openmw/input.lua
@@ -121,6 +85,8 @@ share/openmw/resources/shaders/compatibi
share/openmw/resources/shaders/compatibility/normals.glsl
share/openmw/resources/shaders/compatibility/objects.frag
share/openmw/resources/shaders/compatibility/objects.vert
+share/openmw/resources/shaders/compatibility/outline.frag
+share/openmw/resources/shaders/compatibility/outline.vert
share/openmw/resources/shaders/compatibility/ripples_blobber.frag
share/openmw/resources/shaders/compatibility/ripples_simulate.frag
share/openmw/resources/shaders/compatibility/shadowcasting.frag
@@ -131,6 +97,8 @@ share/openmw/resources/shaders/compatibi
share/openmw/resources/shaders/compatibility/sky.vert
share/openmw/resources/shaders/compatibility/terrain.frag
share/openmw/resources/shaders/compatibility/terrain.vert
+share/openmw/resources/shaders/compatibility/terrain_composite.frag
+share/openmw/resources/shaders/compatibility/terrain_composite.vert
share/openmw/resources/shaders/compatibility/vertexcolors.glsl
share/openmw/resources/shaders/compatibility/water.frag
share/openmw/resources/shaders/compatibility/water.vert
@@ -171,18 +139,21 @@ share/openmw/resources/shaders/lib/water
share/openmw/resources/shaders/lib/water/rain_ripples.glsl
share/openmw/resources/shaders/lib/water/ripples.glsl
share/openmw/resources/translations/
+share/openmw/resources/translations/components_bg.qm
share/openmw/resources/translations/components_de.qm
share/openmw/resources/translations/components_en.qm
share/openmw/resources/translations/components_fr.qm
share/openmw/resources/translations/components_pl.qm
share/openmw/resources/translations/components_ru.qm
share/openmw/resources/translations/components_sv.qm
+share/openmw/resources/translations/launcher_bg.qm
share/openmw/resources/translations/launcher_de.qm
share/openmw/resources/translations/launcher_en.qm
share/openmw/resources/translations/launcher_fr.qm
share/openmw/resources/translations/launcher_pl.qm
share/openmw/resources/translations/launcher_ru.qm
share/openmw/resources/translations/launcher_sv.qm
+share/openmw/resources/translations/wizard_bg.qm
share/openmw/resources/translations/wizard_de.qm
share/openmw/resources/translations/wizard_en.qm
share/openmw/resources/translations/wizard_fr.qm
@@ -192,6 +163,7 @@ share/openmw/resources/translations/wiza
share/openmw/resources/version
share/openmw/resources/vfs/
share/openmw/resources/vfs-mw/
+share/openmw/resources/vfs-mw/builtin.omwscripts
share/openmw/resources/vfs-mw/l10n/
share/openmw/resources/vfs-mw/l10n/Calendar/
share/openmw/resources/vfs-mw/l10n/Calendar/de.yaml
@@ -203,10 +175,26 @@ share/openmw/resources/vfs-mw/l10n/Calen
share/openmw/resources/vfs-mw/l10n/Calendar/sv.yaml
share/openmw/resources/vfs-mw/l10n/Interface/
share/openmw/resources/vfs-mw/l10n/Interface/gmst.yaml
+share/openmw/resources/vfs-mw/l10n/Mechanics/
+share/openmw/resources/vfs-mw/l10n/Mechanics/gmst.yaml
share/openmw/resources/vfs-mw/l10n/OMWEngine/
share/openmw/resources/vfs-mw/l10n/OMWEngine/gmst.yaml
share/openmw/resources/vfs-mw/openmw_aux/
share/openmw/resources/vfs-mw/openmw_aux/calendarconfig.lua
+share/openmw/resources/vfs-mw/scripts/
+share/openmw/resources/vfs-mw/scripts/omw/
+share/openmw/resources/vfs-mw/scripts/omw/cellhandlers.lua
+share/openmw/resources/vfs-mw/scripts/omw/combat/
+share/openmw/resources/vfs-mw/scripts/omw/combat/common.lua
+share/openmw/resources/vfs-mw/scripts/omw/combat/global.lua
+share/openmw/resources/vfs-mw/scripts/omw/combat/local.lua
+share/openmw/resources/vfs-mw/scripts/omw/combat/menu.lua
+share/openmw/resources/vfs-mw/scripts/omw/esmfallbacks.lua
+share/openmw/resources/vfs-mw/scripts/omw/music/
+share/openmw/resources/vfs-mw/scripts/omw/music/helpers.lua
+share/openmw/resources/vfs-mw/scripts/omw/music/music.lua
+share/openmw/resources/vfs-mw/scripts/omw/music/settings.lua
+share/openmw/resources/vfs-mw/scripts/omw/playerskillhandlers.lua
share/openmw/resources/vfs/animations/
share/openmw/resources/vfs/animations/animation-config.yaml
share/openmw/resources/vfs/builtin.omwscripts
@@ -382,12 +370,8 @@ share/openmw/resources/vfs/scripts/omw/c
share/openmw/resources/vfs/scripts/omw/camera/move360.lua
share/openmw/resources/vfs/scripts/omw/camera/settings.lua
share/openmw/resources/vfs/scripts/omw/camera/third_person.lua
-share/openmw/resources/vfs/scripts/omw/cellhandlers.lua
share/openmw/resources/vfs/scripts/omw/combat/
-share/openmw/resources/vfs/scripts/omw/combat/common.lua
-share/openmw/resources/vfs/scripts/omw/combat/global.lua
-share/openmw/resources/vfs/scripts/omw/combat/local.lua
-share/openmw/resources/vfs/scripts/omw/combat/menu.lua
+share/openmw/resources/vfs/scripts/omw/combat/interface.lua
share/openmw/resources/vfs/scripts/omw/console/
share/openmw/resources/vfs/scripts/omw/console/global.lua
share/openmw/resources/vfs/scripts/omw/console/local.lua
@@ -407,9 +391,6 @@ share/openmw/resources/vfs/scripts/omw/m
share/openmw/resources/vfs/scripts/omw/mechanics/playercontroller.lua
share/openmw/resources/vfs/scripts/omw/music/
share/openmw/resources/vfs/scripts/omw/music/actor.lua
-share/openmw/resources/vfs/scripts/omw/music/helpers.lua
-share/openmw/resources/vfs/scripts/omw/music/music.lua
-share/openmw/resources/vfs/scripts/omw/music/settings.lua
share/openmw/resources/vfs/scripts/omw/mwui/
share/openmw/resources/vfs/scripts/omw/mwui/borders.lua
share/openmw/resources/vfs/scripts/omw/mwui/constants.lua
@@ -436,6 +417,7 @@ share/openmw/resources/vfs/shaders/inter
share/openmw/resources/vfs/textures/
share/openmw/resources/vfs/textures/omw/
share/openmw/resources/vfs/textures/omw/water_nm.png
+share/openmw/resources/vfs/textures/omw_map_color_palette.dds
share/openmw/resources/vfs/textures/omw_menu_icon_active.dds
share/openmw/resources/vfs/textures/omw_menu_scroll_center_h.dds
share/openmw/resources/vfs/textures/omw_menu_scroll_center_v.dds
[update] games/openmw 0.51.0