summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-06 22:57:47 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2022-06-06 22:57:47 -0700
commitaca48875559506cd1b97af2a0929bbef8c0b584f (patch)
tree437ce94baba605bac7b71002f20b1e452a8979d2
parentRebuild and fix with mygui 3.4.0 (diff)
downloadopenmw-aca48875559506cd1b97af2a0929bbef8c0b584f.tar.xz
Updated to 0.47.0
Now with system recastnavigation and bullet. Also fixed segfaults when loading save games by removing the -Wp,-D_GLIBCXX_ASSERTIONS CXXFLAG.
-rw-r--r--PKGBUILD53
-rw-r--r--openmw-0.46.0-limits-includes.patch36
-rw-r--r--openmw-0.46.0-missing-include.patch19
3 files changed, 34 insertions, 74 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 0af4444..e746def 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -4,44 +4,59 @@
# # I maintain this because:
# Arch version lacks additional optimization and hardening flags
-# Arch version is rawgit and not a regular release
-# Arch version no longer works with mygui 3.4.1+
+# Arch version does not use system bullet
+# Arch version does not use system recastnavigation
+# Arch version cannot be built offline
+# Arch version segfaults when loading save games
pkgname=openmw
-pkgver=0.46.0
-pkgrel=10
+pkgver=0.47.0
+pkgrel=5
pkgdesc="Open-source engine reimplementation for the role-playing game Morrowind"
arch=('x86_64')
url="http://www.openmw.org"
license=('GPL3' 'MIT' 'custom')
-depends=('openal' 'openscenegraph' 'mygui-3.4.0' 'bullet' 'qt5-base' 'ffmpeg' 'sdl2' 'unshield' 'libxt' 'libvdpau')
+depends=('openal' 'openscenegraph' 'mygui' 'qt5-base' 'ffmpeg4.4' 'sdl2' 'unshield' 'libxt' 'boost-libs'
+ 'recastnavigation-openmw' 'bullet-multithreaded')
makedepends=('cmake' 'boost' 'doxygen' 'ninja')
+options=(lto)
source=("https://github.com/OpenMW/openmw/archive/openmw-${pkgver}.tar.gz"
- "openmw-0.46.0-missing-include.patch"
- "openmw-0.46.0-limits-includes.patch")
-b2sums=('8ad94a7fffe5a0739c56c778efe2ec17ef66c312a7fe5caf015cf3cad2bc17d2abe8cdc3f4134049a32fe55c4f4b3f72678d2d0ce1037fd02f6ac753b9d89b2c'
- 'fa80b94d9ce91e1b05b96c02e80f32f1e9066ba6f8ada4a1e5150cf3a278d3a233eda42269b3027c56aaa7be98dd33cbcc3932d1e0930a51bd6b5744a73d6b6e'
- 'fb90611f909ac0abaa4af00129091730196634791240e0c92e40c6c584a419503f8ec7e1d775e201ff53b5c9ff49047a6409b012f121ee76b769ac14fd56eb98')
+ "https://gitlab.com/OpenMW/openmw/-/merge_requests/1870.patch"
+ "https://gitlab.com/OpenMW/openmw/-/commit/98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch")
+sha512sums=('517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b'
+ '99f721bbeba43a0e259498bbf16ae24dba2a8554e5543fce265ef6c3cc544f4b28c6a13ed3aa51b1eea97fc0552fe056b028188f326dca0265096cf29988f504'
+ '37dfc5611523bf158fe2b6c19bdc11ebd0a70837943183b16b1ec36e06df37c7e089586935753c7442720349d5a7e356dc4f11e79666af0c4d5146f8f64d4853')
+b2sums=('40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d'
+ '8989cd81b4a61eb91123d15da6c3cbbf7d0fcf1e70561a1691c82de2cfb479a594635a8a7437989e054e293427b800bae44b1155eedf860c9320e9382620ea0b'
+ '293027182d38b0b75aa46b9a4048bec3ccb57e1d200996c3340ba4b9a3512f5952d2b2da67be89e86c799312448b23ce5d4b56801002384b41428ac9f8fe77bd')
-prepare() {
- cd ${pkgname}-${pkgname}-${pkgver}
- patch -Np1 -i ${srcdir}/openmw-0.46.0-limits-includes.patch
- patch -Np1 -i ${srcdir}/openmw-0.46.0-missing-include.patch
+prepare () {
+ cd openmw-openmw-$pkgver
+ patch -Np1 -i "$srcdir"/1870.patch
+ patch -Np1 -i "$srcdir"/98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch
}
build() {
cd ${pkgname}-${pkgname}-${pkgver}
- export MAKEFLAGS="-j1"
+ export PKG_CONFIG_LIBDIR=/usr/lib/ffmpeg4.4/pkgconfig
# gcc 10.2 + qt 5.15 + pie = segfault
- export CFLAGS="$CFLAGS -O3 -flto=auto"
- export CXXFLAGS="$CXXFLAGS -O3 -flto=auto"
- cmake . \
+ export CFLAGS="$CFLAGS -O3"
+ export CXXFLAGS="$CXXFLAGS -O3"
+
+# Prevent segfaults when loading a save game
+ export CXXFLAGS="$(echo $CXXFLAGS | sed -i 's/-Wp,-D_GLIBCXX_ASSERTIONS//' - )"
+
+ cmake \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_BUILD_TYPE=Release \
- -DDESIRED_QT_VERSION=5 \
-GNinja \
+ -DOPENMW_USE_SYSTEM_BULLET=ON \
+ -DOPENMW_USE_SYSTEM_OSG=ON \
+ -DOPENMW_USE_SYSTEM_MYGUI=ON \
+ -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=ON \
+ -DOpenGL_GL_PREFERENCE=GLVND \
-Bbuild
ninja -C build "$MAKEFLAGS"
}
diff --git a/openmw-0.46.0-limits-includes.patch b/openmw-0.46.0-limits-includes.patch
deleted file mode 100644
index 8a07df2..0000000
--- a/openmw-0.46.0-limits-includes.patch
+++ /dev/null
@@ -1,36 +0,0 @@
-diff --git a/components/sceneutil/mwshadowtechnique.cpp b/components/sceneutil/mwshadowtechnique.cpp
-index cb3a1b278..653e4d3a1 100644
---- a/components/sceneutil/mwshadowtechnique.cpp
-+++ b/components/sceneutil/mwshadowtechnique.cpp
-@@ -23,6 +23,7 @@
- #include <osg/Geometry>
- #include <osg/io_utils>
-
-+#include <limits>
- #include <sstream>
-
- namespace {
-diff --git a/components/sceneutil/shadow.cpp b/components/sceneutil/shadow.cpp
-index 035c19a5f..1ec2b1c5e 100644
---- a/components/sceneutil/shadow.cpp
-+++ b/components/sceneutil/shadow.cpp
-@@ -1,5 +1,7 @@
- #include "shadow.hpp"
-
-+#include <limits>
-+
- #include <osgShadow/ShadowedScene>
-
- #include <components/sceneutil/vismask.hpp>
-diff --git a/components/terrain/quadtreeworld.cpp b/components/terrain/quadtreeworld.cpp
-index f998b7877..cadf5eaa4 100644
---- a/components/terrain/quadtreeworld.cpp
-+++ b/components/terrain/quadtreeworld.cpp
-@@ -2,6 +2,7 @@
-
- #include <osgUtil/CullVisitor>
-
-+#include <limits>
- #include <sstream>
-
- #include <components/misc/constants.hpp>
diff --git a/openmw-0.46.0-missing-include.patch b/openmw-0.46.0-missing-include.patch
deleted file mode 100644
index 8037074..0000000
--- a/openmw-0.46.0-missing-include.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-Fixes build on ~arch system, patch from upstream, to be dropped for 0.47
-
-From 10daadefbea1f62a818c339dc7f3d69a858bc8a6 Mon Sep 17 00:00:00 2001
-From: elsid <elsid.mail@gmail.com>
-Date: Thu, 30 Apr 2020 21:57:22 +0200
-Subject: [PATCH] Add missing include
-
-diff --git a/components/detournavigator/offmeshconnectionsmanager.hpp b/components/detournavigator/offmeshconnectionsmanager.hpp
-index 30d7976aec..155ce32963 100644
---- a/components/detournavigator/offmeshconnectionsmanager.hpp
-+++ b/components/detournavigator/offmeshconnectionsmanager.hpp
-@@ -13,6 +13,7 @@
-
- #include <boost/optional.hpp>
-
-+#include <algorithm>
- #include <map>
- #include <mutex>
- #include <unordered_map>