# 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 pkgname=openmw pkgver=0.47.0 pkgrel=8 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' 'ffmpeg' 'sdl2' 'unshield' 'libxt' 'boost-libs' 'recastnavigation-openmw' 'bullet-dp') makedepends=('cmake' 'boost' 'doxygen' 'ninja') options=(lto) source=("https://github.com/OpenMW/openmw/archive/openmw-${pkgver}.tar.gz" openmw-1870.patch::"https://gitlab.com/OpenMW/openmw/-/merge_requests/1870.patch" 1941.patch openmw-98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch::"https://gitlab.com/OpenMW/openmw/-/commit/98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch") sha512sums=('517e650d0054cdba8d38de05ed3975b0fcf8de32fda59c8df7c34b973e5390efa0dd9ec79babdfdaa79dee7aa8a75009776f62fad91b9aa9aa28016c5032652b' '99f721bbeba43a0e259498bbf16ae24dba2a8554e5543fce265ef6c3cc544f4b28c6a13ed3aa51b1eea97fc0552fe056b028188f326dca0265096cf29988f504' 'ca1b8601b4baca6929c928b9349e3b07d21992890d4c50c5ff4d537a5ab1b77f044c520af46e8f21480d37902e6329e5ec4459056ac9d8801ba0278d8391bcd7' '37dfc5611523bf158fe2b6c19bdc11ebd0a70837943183b16b1ec36e06df37c7e089586935753c7442720349d5a7e356dc4f11e79666af0c4d5146f8f64d4853') b2sums=('40e8b9670423259fa0cc03ef000c17ebe06d1d58c2527b51b25cea3b54978b8a698984371eac14ff212f9550253ab17d41b83d37426371f12f5ce2d30b240d3d' '8989cd81b4a61eb91123d15da6c3cbbf7d0fcf1e70561a1691c82de2cfb479a594635a8a7437989e054e293427b800bae44b1155eedf860c9320e9382620ea0b' '9f5511b5b8a02fbfa669367339db9b76d2e4c99c3d285be9c83b30ee040e88c09dc00ee5d404f33e43bce2735fe6d6e40799cbc1ec60fa1759f6c7b997eb255c' '293027182d38b0b75aa46b9a4048bec3ccb57e1d200996c3340ba4b9a3512f5952d2b2da67be89e86c799312448b23ce5d4b56801002384b41428ac9f8fe77bd') prepare () { cd openmw-openmw-$pkgver patch -Np1 -i "$srcdir"/openmw-1870.patch patch -Np1 -i "$srcdir"/1941.patch patch -Np1 -i "$srcdir"/openmw-98a7d90ee258ceef9c70b0b2955d0458ec46f048.patch } 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//' - )" 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 }