Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 942291 - games-engines/openmw-9999 - improved ebuild based on OpenMW dev feedback
Summary: games-engines/openmw-9999 - improved ebuild based on OpenMW dev feedback
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Low enhancement
Assignee: Alexey
URL:
Whiteboard:
Keywords: PullRequest
Depends on:
Blocks:
 
Reported: 2024-10-26 15:02 UTC by Alec Stewart
Modified: 2024-11-29 00:12 UTC (History)
5 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
patch file (openmw-9999.patch,6.07 KB, patch)
2024-10-26 15:02 UTC, Alec Stewart
Details | Diff
opemw-9999 with Qt6 patch (openmw-9999-qt6.patch,10.28 KB, patch)
2024-10-26 16:24 UTC, Alec Stewart
Details | Diff
openmw with option to not build gui tools (openmw-9999-with-without-gui.patch,15.32 KB, patch)
2024-10-26 18:00 UTC, Alec Stewart
Details | Diff
openmw-9999 optional gui and needs openscenegraph with same lua (openmw-9999-opt-gui-same-lua.patch,5.09 KB, patch)
2024-10-26 18:12 UTC, Alec Stewart
Details | Diff
cleanup version (openmw-9999.ebuild,5.26 KB, text/plain)
2024-10-26 18:32 UTC, Paul Zander
Details
with the extra Qt dependencies (openmw-9999-extra-qt-deps.patch,5.37 KB, patch)
2024-10-26 18:58 UTC, Alec Stewart
Details | Diff
cleanup version v2 (openmw-9999.ebuild,5.16 KB, text/plain)
2024-10-26 19:17 UTC, Paul Zander
Details
build.log with Cmake error regarding QT_WRAP_UI (last-cleaned-ebuild-build.log,14.05 KB, text/x-log)
2024-10-27 15:01 UTC, Alec Stewart
Details
cleanup version v3 (openmw-9999.ebuild,5.29 KB, text/plain)
2024-10-27 20:59 UTC, Paul Zander
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alec Stewart 2024-10-26 15:02:35 UTC
Created attachment 906859 [details, diff]
patch file

The following attached in a patch for an "improved" ebuild for games-engines/openmw-9999 based off of input from some devs working the OpenMW project. 

There's not too many changes compared to openscenegraph-openmw-9999.ebuild I have (which I will post a little later), but the main thing to note is

1. There is not really much of a point in OpenMW with a non-LuaJIT Lua version. 

While is _possible_ to do, the development of OpenMW will always (erm at least for now) use LuaJIT for the scripting capabilities. This simplifies some things with the ebuild.

2. Updated mode template version


A more recent commit fixes a few things.

3. openscenegraph-openmw doesn't need to be built with zlib

This was something I was told by the devs.


I imagine there's a few things to tidy up, but with the ebuild (and the openscenegraph-openmw-9999 I will post) I can build OpenMW's master branch without issue with gcc and clang.
Comment 1 Paul Zander 2024-10-26 15:19:49 UTC
Small feedback incoming.

Seems like you can build with Qt6? Gentoo is in the process of moving to Qt6.

https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.txt?ref_type=heads#L256

looking at https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.txt?ref_type=heads#L52
and 
https://projects.gentoo.org/qa/policy-guide/use-flags.html#pg0802


> -DBUILD_LAUNCHER=$(usex qt5)
> -DBUILD_OPENCS=$(usex devtools $(usex qt5))
> -DBUILD_WIZARD=$(usex qt5)
I am not sure building the wizard is useful. So I would move the launcher behind $(usex launcher) $(usex launcher $(usex gui)). Move BUILD_OPENCS behind $(usex devtools $(usex gui)).

Make gui default to Qt6. If there is any reason to keep Qt5 support add a default-off qt5 flag.
Comment 2 Alec Stewart 2024-10-26 16:05:19 UTC
(In reply to Paul Zander from comment #1)
> Small feedback incoming.
> 
> Seems like you can build with Qt6? Gentoo is in the process of moving to Qt6.
> 
> https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.
> txt?ref_type=heads#L256
> 
> looking at
> https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.
> txt?ref_type=heads#L52
> and 
> https://projects.gentoo.org/qa/policy-guide/use-flags.html#pg0802
> 
> 
> > -DBUILD_LAUNCHER=$(usex qt5)
> > -DBUILD_OPENCS=$(usex devtools $(usex qt5))
> > -DBUILD_WIZARD=$(usex qt5)
> I am not sure building the wizard is useful. So I would move the launcher
> behind $(usex launcher) $(usex launcher $(usex gui)). Move BUILD_OPENCS
> behind $(usex devtools $(usex gui)).
> 
> Make gui default to Qt6. If there is any reason to keep Qt5 support add a
> default-off qt5 flag.

I think at the time when I first made this was when not all of the Qt5 packages necessary to build OpenMW were available. I'll double check and see if that's changed (probably has).
Comment 3 Alec Stewart 2024-10-26 16:05:40 UTC
(In reply to Alec Stewart from comment #2)
> (In reply to Paul Zander from comment #1)
> > Small feedback incoming.
> > 
> > Seems like you can build with Qt6? Gentoo is in the process of moving to Qt6.
> > 
> > https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.
> > txt?ref_type=heads#L256
> > 
> > looking at
> > https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.
> > txt?ref_type=heads#L52
> > and 
> > https://projects.gentoo.org/qa/policy-guide/use-flags.html#pg0802
> > 
> > 
> > > -DBUILD_LAUNCHER=$(usex qt5)
> > > -DBUILD_OPENCS=$(usex devtools $(usex qt5))
> > > -DBUILD_WIZARD=$(usex qt5)
> > I am not sure building the wizard is useful. So I would move the launcher
> > behind $(usex launcher) $(usex launcher $(usex gui)). Move BUILD_OPENCS
> > behind $(usex devtools $(usex gui)).
> > 
> > Make gui default to Qt6. If there is any reason to keep Qt5 support add a
> > default-off qt5 flag.
> 
> I think at the time when I first made this was when not all of the Qt5
> packages necessary to build OpenMW were available. I'll double check and see
> if that's changed (probably has).

Sorry, *Qt6 packages.
Comment 4 Paul Zander 2024-10-26 16:10:38 UTC
https://wiki.gentoo.org/wiki/Project:Qt/Qt6_migration_notes is going to be helpful
Comment 5 Alexey 2024-10-26 16:24:04 UTC
Why did you remove the keywords?

> There is not really much of a point in OpenMW with a non-LuaJIT Lua version.

2 reasons:

1. S3ctor in that your conversation said "You can use regular Lua", and since you *can*, I just gave the choice to the user.

2. Arch support. E.g. dev-lang/lua and games-engines/openmw are keyworded on ~ppc64, but dev-lang/luajit is not. Yes, there are people who play OpenMW on ppc64 :)

Why did you add IUSE=lua? Is it possible to build it without lua support?

> Seems like you can build with Qt6?

Some features are missing in that build: https://gitlab.com/OpenMW/openmw/-/issues/6491#note_1274825059

Re openscenegraph-openmw ebuild: it's mostly just a copy of openscenegraph ebuild, with very little changes. And because the two OSGs can't be installed together, I don't want to remove features from it which are not used by OpenMW itself - someone can require dev-games/openscenegraph for some other app, but still want to enjoy improved performance in OpenMW. For this case it's possible to use the fork for other apps, via packages.provided. Another reason is if the 2 ebuilds are similar, it's easier to copy changes from one to another. So please don't change the ebuild too much, unless you also want the same changes to the openscenegraph ebuild.

> I am not sure building the wizard is useful

It's hard to start the game without importing certain files from Morrowind installation. Either way, wizard's only dependency is Qt itself, so I'd be against putting it behind its own USE flag.
Comment 6 Alec Stewart 2024-10-26 16:24:23 UTC
Created attachment 906909 [details, diff]
opemw-9999 with Qt6 patch
Comment 7 Alec Stewart 2024-10-26 16:25:22 UTC
Huzzah!

OpenMW builds fine with Qt6 and the launcher works fine.

I'll try to move some other stuff around to not compile with the launcher and wizard as options.
Comment 8 Alec Stewart 2024-10-26 16:34:16 UTC
(In reply to Alexey from comment #5)
> > There is not really much of a point in OpenMW with a non-LuaJIT Lua version.
> 
> 2 reasons:
> 
> 1. S3ctor in that your conversation said "You can use regular Lua", and
> since you *can*, I just gave the choice to the user. 

Sure, that's understandable.

>2. Arch support. E.g. dev-lang/lua and games-engines/openmw are keyworded on >~ppc64, but dev-lang/luajit is not. Yes, there are people who play OpenMW on  ppc64 :)

Ah, okay that's more important than the first to me.
 
> Why did you add IUSE=lua? Is it possible to build it without lua support?

I'm not 100% sure, but I assume it's possible. It's kind of one of those things of "you can do it, but I don't know why you would". But I guess it shouldn't be removed.

> > Seems like you can build with Qt6?
> 
> Some features are missing in that build:
> https://gitlab.com/OpenMW/openmw/-/issues/6491#note_1274825059
> 
> Re openscenegraph-openmw ebuild: it's mostly just a copy of openscenegraph
> ebuild, with very little changes. And because the two OSGs can't be
> installed together, I don't want to remove features from it which are not
> used by OpenMW itself - someone can require dev-games/openscenegraph for
> some other app, but still want to enjoy improved performance in OpenMW. For
> this case it's possible to use the fork for other apps, via
> packages.provided. Another reason is if the 2 ebuilds are similar, it's
> easier to copy changes from one to another. So please don't change the
> ebuild too much, unless you also want the same changes to the openscenegraph
> ebuild.

Ah okay. Makes sense. So keep zlib then *and* the patches?

> > I am not sure building the wizard is useful
> 
> It's hard to start the game without importing certain files from Morrowind
> installation. Either way, wizard's only dependency is Qt itself, so I'd be
> against putting it behind its own USE flag.

That was my thought, but if we're saying that we can allow users to build OpenMW with a non-JIT Lua, even if they aren't on ppc64, I don't know if restricting building without with wizard and launcher should be out of the question.
Comment 9 Paul Zander 2024-10-26 16:36:47 UTC
(In reply to Alexey from comment #5)
> > Seems like you can build with Qt6?
> 
> Some features are missing in that build:
> https://gitlab.com/OpenMW/openmw/-/issues/6491#note_1274825059
> 

That issue is closed. Is that still an issue?

> > I am not sure building the wizard is useful
> 
> It's hard to start the game without importing certain files from Morrowind
> installation. Either way, wizard's only dependency is Qt itself, so I'd be
> against putting it behind its own USE flag.

Yeah. That's a very good reason to keep.


@Alec:

No qt6 use-flag, make it gui per https://projects.gentoo.org/qa/policy-guide/use-flags.html#pg0802

If you should add a qt5 fallback, add a qt5 flag.
Comment 10 Alec Stewart 2024-10-26 16:42:30 UTC
(In reply to Paul Zander from comment #9)

> > > I am not sure building the wizard is useful
> > 
> > It's hard to start the game without importing certain files from Morrowind
> > installation. Either way, wizard's only dependency is Qt itself, so I'd be
> > against putting it behind its own USE flag.
> 
> Yeah. That's a very good reason to keep.

Sure, but it is _possible_ as noted in the comment: 

> USE flag 'qt5' is disabled, 'openmw-launcher' and
> 'openmw-wizard' are not available. You are on your own for
> making the Morrowind data files available and pointing
> openmw at them.\n\n

So it's really what seems to be best to y'all, I'm still pretty new to all of this.

The new gui flag could be enabled by default, and it's up to the user to disable it if they really want.
 
> @Alec:
> 
> No qt6 use-flag, make it gui per
> https://projects.gentoo.org/qa/policy-guide/use-flags.html#pg0802
> 
> If you should add a qt5 fallback, add a qt5 flag.

Got it.
Comment 11 Alexey 2024-10-26 17:06:42 UTC
> That was my thought, but if we're saying that we can allow users to build OpenMW with a non-JIT Lua, even if they aren't on ppc64, I don't know if restricting building without with wizard and launcher should be out of the question.

I don't understand this sentence, sorry.

After the initial import is done, wizard is no longer useful. Launcher is used to change some settings like list of mods enabled, which is possible to do by editing configs manually. Neither of these 2 tools got any dependencies except Qt, so I don't see a reason to add a USE flags for enabling these tools specifically.

What's your proposal, and what it has to do with Lua on ppc64?
Comment 12 Paul Zander 2024-10-26 17:16:10 UTC
Do this:
> -DBUILD_LAUNCHER=$(usex gui)
> -DBUILD_OPENCS=$(usex devtools $(usex gui))
> -DBUILD_WIZARD=$(usex gui)
Comment 13 Alexey 2024-10-26 17:24:49 UTC
Yeah, that works. Basically, just rename existing "qt5" to "gui"
Comment 14 Alexey 2024-10-26 17:30:55 UTC
> Ah okay. Makes sense. So keep zlib then *and* the patches?

Inside osg-openmw ebuild, yes.

The usedep string in openmw ebuild - if [zlib] part is not actually used by openmw, can be removed from openmw ebuild
Comment 15 Alec Stewart 2024-10-26 17:32:28 UTC
(In reply to Alexey from comment #11)
> > That was my thought, but if we're saying that we can allow users to build OpenMW with a non-JIT Lua, even if they aren't on ppc64, I don't know if restricting building without with wizard and launcher should be out of the question.
> 
> I don't understand this sentence, sorry.
> 
> After the initial import is done, wizard is no longer useful. Launcher is
> used to change some settings like list of mods enabled, which is possible to
> do by editing configs manually. Neither of these 2 tools got any
> dependencies except Qt, so I don't see a reason to add a USE flags for
> enabling these tools specifically.
> 

Sorry, I didn't explain it well.

So say we're on amd64. If the user can either compile OpenMW with Lua 5.[1-4] or LuaJIT, why is it out the the question to let the user keep or disable the GUI tools?

> What's your proposal, and what it has to do with Lua on ppc64?

Nothing with Lua on ppc64, that obviously can't change. It's simply about allowing the user to disable the GUI tools, should they desire. 

So by default, the gui USE flags would be +gui, and it'd be up to the user to go to their package.use to do -gui.
Comment 16 Paul Zander 2024-10-26 17:34:43 UTC
The question was about allowing to disable launcher / wizard outside of USE=gui. Which is not useful. So don't do it. Do https://bugs.gentoo.org/942291#c12
Comment 17 Alexey 2024-10-26 17:42:23 UTC
> why is it out the the question to let the user keep or disable the GUI tools?

The user can keep or disable it via USE=qt5 (currently) or via USE=gui (after the rename). We shouldn't take this choice away, enforcing the dependency on qt.

> So by default, the gui USE flags would be +gui, and it'd be up to the user to go to their package.use to do -gui.

Looks reasonable, yes.
Comment 18 Alec Stewart 2024-10-26 18:00:29 UTC
Created attachment 906910 [details, diff]
openmw with option to not build gui tools

Okay, I think I'm getting closer. Again, apologies for any silly mistakes or poor explanations.
Comment 19 Alec Stewart 2024-10-26 18:12:31 UTC
Created attachment 906911 [details, diff]
openmw-9999 optional gui and needs openscenegraph with same lua

Realized we probably want OpensceneGraph (omw fork or not) to be built with the same version of Lua as OpenMW.
Comment 20 Alexey 2024-10-26 18:29:18 UTC
I've just tested the Qt6 build, and CS seems to work now. Though for some reason it was picking up Qt5 until I patched the find_package() line to remove Qt5 from there.
Comment 21 Paul Zander 2024-10-26 18:32:25 UTC
Created attachment 906913 [details]
cleanup version

- you can not do -qt5, qt5 has the same meaning
- sorted IUSE
- sorted RDEPEND
- cleaned up gui? duplicate
- fixed lua deps. you need to depend dev-games/openscenegraph[lua] if you have lua, and there is no reason to force your LUA_SINGLE_USEDEP onto it if you don't use lua
- removed duplicate ${LUA_DEPS}
- fixed qt lookup
Comment 22 Alexey 2024-10-26 18:38:23 UTC
`MY_TEMPLATE_COMMIT="master"` won't work. It may download it once, but then use that copy forever. Moreover, in case if you don't have it downloaded yet, the Manifest will complain when a commit happens there, because hash changed.

If you really want, the template would need to be plumbed via git-r3 eclass. But IMHO specifying a single commit and updating the number from time to time is good enough, considering that the 9999 ebuild needs to change itself from time to time.

Something happened with indentation of qt5 deps there. Why is qt5 useful for this anyway since switch to qt6? Btw, you forgot dev-qt/qtsvg:6 and dev-qt/qttools:6[linguist]
Comment 23 Alexey 2024-10-26 18:44:30 UTC
> openmw *can* be built without lua, however this is a "why would you" situation.

Looking at https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.txt?ref_type=heads#L474-481 - the word REQUIRED makes me suspicious. How exactly it works without lua? Can you share the build log?
Comment 24 Alexey 2024-10-26 18:48:05 UTC
I stand corrected - wizard has an additional dependency. https://gitlab.com/OpenMW/openmw/-/blob/master/CMakeLists.txt?ref_type=heads#L425-426

What I mean, you shouldn't put app-arch/unshield inside qt5 branch.
Comment 25 Alec Stewart 2024-10-26 18:50:56 UTC
(In reply to Alexey from comment #22)

> Something happened with indentation of qt5 deps there. Why is qt5 useful for
> this anyway since switch to qt6? 

If qt5 is no longer needed, then we can get rid of it.

> Btw, you forgot dev-qt/qtsvg:6 and
> dev-qt/qttools:6[linguist]

Ah, that's right.

I'll need to change the openscenegraph-openmw-9999 ebuild I have because I get:

[ebuild   R   ~] dev-games/openscenegraph-openmw-9999:0/162::local-repo  USE="collada gif gstreamer jpeg lua png sdl sdl2 svg truetype zlib -curl -debug -dicom -doc -egl -examples -fltk -fox -gdal -las -openexr -openinventor -osgapps -pdf -tiff -vnc -wxwidgets -xrandr" LUA_SINGLE_TARGET="lua5-1%* -lua5-3% -lua5-4% -luajit*" 0 KiB
[ebuild   R   *] games-engines/openmw-improved-9999::local-repo  USE="gui%* lua osg-fork -devtools -doc -qt5% -test (-qt6%*)" LUA_SINGLE_TARGET="lua5-1%* -lua5-3% -lua5-4% -luajit*" 0 KiB

So it doesn't try to build with luajit even when I have something in my package.env to make sure luajit is used.
Comment 26 Alec Stewart 2024-10-26 18:58:22 UTC
Created attachment 906916 [details, diff]
with the extra Qt dependencies
Comment 27 Alexey 2024-10-26 19:06:39 UTC
I don't know what you changed in osg-openmw ebuild, but openscenegraph-openmw-3.6_p20221115-r1.ebuild only supports lua5-1, just like dev-games/openscenegraph-3.6.5-r114

Was it selecting luajit before the usedep change? It currently uses luajit for me

> Realized we probably want OpensceneGraph (omw fork or not) to be built with the same version of Lua as OpenMW.

Can you explain why? OSG's lua is not used by OpenMW.
Comment 28 Paul Zander 2024-10-26 19:17:22 UTC
Created attachment 906917 [details]
cleanup version v2

- adds fetching the test file via git
- drops USE=lua
- drops USE=qt5
Comment 29 Alec Stewart 2024-10-27 15:00:35 UTC
An issue I found when building with the cleaned version:

CMake Error at CMakeLists.txt:254 (find_package):
  find_package for module Qt5 called with REQUIRED, but
  CMAKE_DISABLE_FIND_PACKAGE_Qt5 is enabled.  A REQUIRED package cannot be
  disabled.

CMake Error at components/CMakeLists.txt:561 (QT_WRAP_UI):
  QT_WRAP_UI called with incorrect number of arguments


-- Found SQLite3: /usr/include (found version "3.46.1")
CMake Error at apps/launcher/CMakeLists.txt:59 (QT_ADD_RESOURCES):
  Unknown CMake command "QT_ADD_RESOURCES".


That first one is odd, being that Qt5 is marked REQUIRED but even the project is moving to Qt6. I'll post the build.log I have.
Comment 30 Alec Stewart 2024-10-27 15:01:13 UTC
Created attachment 907016 [details]
build.log with Cmake error regarding QT_WRAP_UI

Here's that build.log file.
Comment 32 Paul Zander 2024-10-27 20:59:23 UTC
Created attachment 907082 [details]
cleanup version v3

Try this.

The cmake code first tries to find either Qt5 or Qt6. Which breaks with CMAKE_DISABLE_FIND_PACKAGE_Qt5, because it it declares Qt5 as required. That code is really suboptimal.
Comment 33 Alec Stewart 2024-10-28 01:43:28 UTC
(In reply to Paul Zander from comment #32)
> Created attachment 907082 [details]
> cleanup version v3
> 
> Try this.
> 
> The cmake code first tries to find either Qt5 or Qt6. Which breaks with
> CMAKE_DISABLE_FIND_PACKAGE_Qt5, because it it declares Qt5 as required. That
> code is really suboptimal.

That ebuild works.
Comment 34 Alexey 2024-10-28 16:53:49 UTC
If you just change github.com with gitlab.com in the SRC_URI it won't work, it shows error 403 with the 0.48 release with that URL. The correct URL would look like https://gitlab.com/OpenMW/openmw/-/archive/openmw-0.48.0/openmw-openmw-0.48.0.tar.bz2

But main reason it's using github instead of gitlab there is because https://openmw.org/downloads/ points at github. I'll just revert this change if you don't mind.

I'll also copy KEYWORDS from the 0.48.0 (still hidden behind else), not limiting it to just amd64. Dropping only x86 from it because devs did say that x86 doesn't have enough RAM to play even the base game.

Moved dev-qt/qttools:6 to BDEPEND, because it's only executed during build, not linked to etc.

Added another missing dep sys-libs/zlib.

`rm -rf || die` is redundant: -f hides errors

Why ln instead of just copy the test file to the right place from the start?

`sed -e 's/player/Player/g' -i apps/openmw_tests/mwworld/testptr.cpp || die` why? If it's a bug in the test, fix it upstream?

----

I'll test it again today, and upload updated ebuild
Comment 35 Alec Stewart 2024-10-28 17:06:03 UTC
(In reply to Alexey from comment #34)
> If you just change github.com with gitlab.com in the SRC_URI it won't work,
> it shows error 403 with the 0.48 release with that URL. The correct URL
> would look like
> https://gitlab.com/OpenMW/openmw/-/archive/openmw-0.48.0/openmw-openmw-0.48.
> 0.tar.bz2
> 
> But main reason it's using github instead of gitlab there is because
> https://openmw.org/downloads/ points at github. I'll just revert this change
> if you don't mind.

I was told by the devs that Gitlab was supposed to be the upstream, not Github. That's probably something they've forgotten to change on the website. :P

> I'll also copy KEYWORDS from the 0.48.0 (still hidden behind else), not
> limiting it to just amd64. Dropping only x86 from it because devs did say
> that x86 doesn't have enough RAM to play even the base game.
> 
> Moved dev-qt/qttools:6 to BDEPEND, because it's only executed during build,
> not linked to etc.

Makes sense.

> `rm -rf || die` is redundant: -f hides errors
> 
> Why ln instead of just copy the test file to the right place from the start?
> 
> `sed -e 's/player/Player/g' -i apps/openmw_tests/mwworld/testptr.cpp || die`
> why? If it's a bug in the test, fix it upstream?

That's not a question for me, I didn't add that.
Comment 36 Paul Zander 2024-10-28 17:12:30 UTC
(In reply to Alexey from comment #34)
> `rm -rf || die` is redundant: -f hides errors

Drop the -f?

> Why ln instead of just copy the test file to the right place from the start?

Because for -9999 it's copied out of the git checkout. And the rest of the checkout is removed after.

> `sed -e 's/player/Player/g' -i apps/openmw_tests/mwworld/testptr.cpp || die`
> why? If it's a bug in the test, fix it upstream?

I didn't want to split out the patch to make the build work. Yes, sending a patch upstream is the right thing to do.
Comment 37 Alexey 2024-10-28 21:55:34 UTC
This git-r3_fetch didn't put the correct file there, but a small text file with a reference to Git LFS.

In fact, this file was not used by test at all in the latest git version, because they moved some directories around. Now it's supposed to be in components_tests/data/ instead.

And... changing the version of the template doesn't work, because it's hardcoded in cmake to that specific version: https://gitlab.com/OpenMW/openmw/-/blob/master/apps/components_tests/CMakeLists.txt#L114-118 If the file's hash doesn't match, src_configure tries to download the file anew, and fails due to the sandbox.

I'll revert this change as well.
Comment 38 Alexey 2024-10-28 22:02:32 UTC
The PR is at https://github.com/gentoo/gentoo/pull/39146, now just need to wait for a dev to look at it and merge

Thanks for contribution!
Comment 39 Larry the Git Cow gentoo-dev 2024-11-29 00:12:25 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b56388833c6fae1dc67abe789f891ca9ba248bc6

commit b56388833c6fae1dc67abe789f891ca9ba248bc6
Author:     Alexey Sokolov <alexey+gentoo@asokolov.org>
AuthorDate: 2024-10-28 21:52:05 +0000
Commit:     Sam James <sam@gentoo.org>
CommitDate: 2024-11-29 00:11:54 +0000

    games-engines/openmw: update live
    
    * Use Qt 6
    * Update USE flag from qt5 to gui
    * Update directory layout to match upstream
    * Copy KEYWORDS from release, but drop x86: devs say that it doesn't
      have enough RAM to even play the vanilla game
    
    Closes: https://bugs.gentoo.org/942291
    Signed-off-by: Alexey Sokolov <alexey+gentoo@asokolov.org>
    Co-authored-by: Alec Stewart <alec-stewart@protonmail.com>
    Co-authored-by: Paul Zander <negril.nx+gentoo@gmail.com>
    Closes: https://github.com/gentoo/gentoo/pull/39146
    Signed-off-by: Sam James <sam@gentoo.org>

 games-engines/openmw/openmw-9999.ebuild | 70 +++++++++++++++++++++------------
 1 file changed, 45 insertions(+), 25 deletions(-)