From aca48875559506cd1b97af2a0929bbef8c0b584f Mon Sep 17 00:00:00 2001 From: jc_gargma Date: Mon, 6 Jun 2022 22:57:47 -0700 Subject: 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. --- PKGBUILD | 53 ++++++++++++++++++++++++++++++++++------------------- 1 file changed, 34 insertions(+), 19 deletions(-) (limited to 'PKGBUILD') 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" } -- cgit v1.2.1