Package: openmw
Version: 0.48.0-1
Severity: wishlist
Tags: patch
User: ubuntu-de...@lists.ubuntu.com
Usertags: origin-ubuntu mantic ubuntu-patch

Hi Bret,

As of 0.48.0, openmw build-depends on luajit, which means it cannot be built
on archs where this is not supported (ppc64el and riscv64).

However, openmw upstream supports building against liblua instead of against
libluajit, it just requires a cmake flag to select this.

Please see the attached patch, which re-enables buildability of openmw on
non-jit lua archs.

Thanks for considering,
-- 
Steve Langasek                   Give me a lever long enough and a Free OS
Debian Developer                   to set it on, and I can move the world.
Ubuntu Developer                                   https://www.debian.org/
slanga...@ubuntu.com                                     vor...@debian.org
diff -Nru openmw-0.48.0/debian/control openmw-0.48.0/debian/control
--- openmw-0.48.0/debian/control        2023-07-19 08:46:22.000000000 -0700
+++ openmw-0.48.0/debian/control        2023-08-14 16:10:04.000000000 -0700
@@ -17,7 +17,8 @@
                libbullet-dev (>= 2.86),
                libgl-dev,
                libicu-dev,
-               libluajit-5.1-dev,
+               libluajit-5.1-dev [!ppc64el !riscv64],
+               liblua5.1-0-dev [ppc64el riscv64],
                liblz4-dev,
                libmygui-dev (>= 3.2.1),
                libopenal-dev,
diff -Nru openmw-0.48.0/debian/rules openmw-0.48.0/debian/rules
--- openmw-0.48.0/debian/rules  2023-07-19 08:46:22.000000000 -0700
+++ openmw-0.48.0/debian/rules  2023-08-14 16:09:58.000000000 -0700
@@ -21,6 +21,11 @@
   export DEB_LDFLAGS_MAINT_APPEND += -Wl,--no-as-needed -latomic 
-Wl,--as-needed
 endif
 
+# these archs don't have luajit but we can still support them
+ifneq (,$(filter $(DEB_HOST_ARCH), ppc64el riscv64))
+  CMAKE_ARGS = -DUSE_LUAJIT=FALSE
+endif
+
 #CMake silently ignores CPPFLAGS. Below will properly set CFLAGS/CXXFLAGS
 #https://wiki.debian.org/Hardening#Notes_for_packages_using_CMake
 CPPFLAGS:=$(shell dpkg-buildflags --get CPPFLAGS)
@@ -29,7 +34,7 @@
 LDFLAGS:=$(shell dpkg-buildflags --get LDFLAGS)
 
 override_dh_auto_configure:
-       dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/usr -DBINDIR=/usr/games 
-DCMAKE_BUILD_TYPE="RelWithDebInfo" -DUSE_SYSTEM_TINYXML="TRUE" 
-DCMAKE_VERBOSE_MAKEFILE="FALSE" -DBUILD_MYGUI_PLUGIN="FALSE" 
-DDESIRED_QT_VERSION=5 -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=On
+       dh_auto_configure -- -DCMAKE_INSTALL_PREFIX=/usr -DBINDIR=/usr/games 
-DCMAKE_BUILD_TYPE="RelWithDebInfo" -DUSE_SYSTEM_TINYXML="TRUE" 
-DCMAKE_VERBOSE_MAKEFILE="FALSE" -DBUILD_MYGUI_PLUGIN="FALSE" 
-DDESIRED_QT_VERSION=5 -DOPENMW_USE_SYSTEM_RECASTNAVIGATION=On $(CMAKE_ARGS)
 
 override_dh_installchangelogs:
        dh_installchangelogs CHANGELOG.md

Reply via email to