# Maintainer: jc_gargma # Maintainer (Arch): Sven-Hendrik Haase # Contributor (Arch): Sandy Carter # # I maintain this because: # Arch version lacks additional optimization and hardening flags # 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 due to -Wp,-D_GLIBCXX_ASSERTIONS pkgname=openmw pkgver=0.48.0 pkgrel=9 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' 'qt5-base' 'ffmpeg4.4' 'sdl2' 'unshield' 'libxt' 'boost-libs' 'bullet-dp' 'yaml-cpp' 'luajit' 'recastnavigation-openmw') makedepends=('cmake' 'boost' 'doxygen' 'ninja') options=(lto) source=("https://github.com/OpenMW/openmw/archive/openmw-${pkgver}.tar.gz" gcc14.patch) sha512sums=('969c10b285c039b54810c56f202f9c33bd03c83d87fec722c3389525e87fc7104760ea12527be5fb19a3f7ae2dc9aef0e4c6b7375d8bbcd6eb726e1d7859b833' '3e691a23836eafea31cecab0cce8090f2fe3f5c83f28bd23b9f879f7aee2e66af2e30e52d6096708769f38f3ce770dd25839ffbb7777fdfa5001e31ca49f6bd8') b2sums=('6a6f710f06efc0e844115018365db8148e9f6acefd453df74904144f53f5e896e9ab4d4f563ab95a3231500a2c1a5e1f8c5b6d6ac5c1315805c61657d13a7aa8' '471ae6f33152eb7a1fb7ccaf2daba9e3a039087e480ef24cc73611e552276d491d659f98cbf005bd751a8dfd200fbc44da95b23b1b2343bcabcd531b55be1fac') prepare() { cd openmw-openmw-$pkgver patch -p1 -i ../gcc14.patch # Fix build with GCC 14 } build() { cd ${pkgname}-${pkgname}-${pkgver} # gcc 10.2 + qt 5.15 + pie = segfault 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//' - )" # No longer works export CXXFLAGS="$(echo $CXXFLAGS | sed 's/-Wp,-D_GLIBCXX_ASSERTIONS//')" # Build with ffmpeg 4.4 PKG_CONFIG_LIBDIR='/usr/lib/ffmpeg4.4/pkgconfig' \ cmake \ -DCMAKE_INSTALL_PREFIX=/usr \ -DCMAKE_BUILD_TYPE=Release \ -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" } package() { cd ${pkgname}-${pkgname}-${pkgver} DESTDIR="$pkgdir" ninja -C build install }