Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 942298 - dev-games/openscenegraph-openmw-9999
Summary: dev-games/openscenegraph-openmw-9999
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Alexey
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-10-26 16:02 UTC by Alec Stewart
Modified: 2025-02-08 04:10 UTC (History)
5 users (show)

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


Attachments
ebuild (openscenegraph-openmw-9999.ebuild,4.23 KB, application/vnd.gentoo.ebuild)
2024-10-26 16:02 UTC, Alec Stewart
Details
patch file (openscenegraph-openmw-9999.ebuild,4.23 KB, patch)
2024-10-26 16:03 UTC, Alec Stewart
Details | Diff
patch allowing different lua versions (openscenegraph-openmw-9999-lua-versions.patch,2.16 KB, patch)
2024-10-26 18:21 UTC, Alec Stewart
Details | Diff
updated ~amd64 openscenegraph-openmw-3.6_p20230203 ebuild (openscenegraph-openmw-3.6_p20230203.ebuild,4.14 KB, application/vnd.gentoo.ebuild)
2025-02-08 04:08 UTC, Alec Stewart
Details
unstable/** openscenegraph-openmw ebuild (openscenegraph-openmw-9999.ebuild,4.23 KB, application/vnd.gentoo.ebuild)
2025-02-08 04:10 UTC, Alec Stewart
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Alec Stewart 2024-10-26 16:02:49 UTC
Created attachment 906907 [details]
ebuild

Attached is an ebuild for following the master version of openscenegraph-openmw, as when using openmw-9999 it's recommended to be following the upstream 3.6 branch of openscenegraph-openmw.

There's also a patch in comparison to the openscenegraph-openmw-3.6_p20221115-r1.ebuild

One thing of note is that the patch files are not used, as I was told by some devs that the patches were seemingly unnecessary. I can conclude this having used this along with my local ebuild of games-engines/openmw-9999.

I can make a patch file of the whole directory of changes if needed.
Comment 1 Alec Stewart 2024-10-26 16:03:23 UTC
Created attachment 906908 [details, diff]
patch file
Comment 2 Alec Stewart 2024-10-26 18:21:48 UTC
Created attachment 906912 [details, diff]
patch allowing different lua versions

Allow to use different Lua versions.
Comment 3 Alexey 2024-10-28 16:23:18 UTC
Why all these changes?

OpenMW doesn't even care which Lua is used in OSG.

See the discussion in the openmw bug
Comment 4 Alec Stewart 2024-10-28 17:20:05 UTC
(In reply to Alexey from comment #3)
> Why all these changes?

I was told the patches where unnecessary by the devs. 

As for the CMake arguments:

https://wiki.openmw.org/index.php/Development_Environment_Setup#OSG_plugins

I was also told to specifically follow the 3.6 branch if you're following the upstream.

b02abe2_tag is the most recent release tag.

https://github.com/OpenMW/osg/tags

> OpenMW doesn't even care which Lua is used in OSG.
> 
> See the discussion in the openmw bug

Can/should OSG be build with any version of Lua, or just 5.1? If just 5.1, then I understand the reason to not make changes.
Comment 5 Alexey 2024-10-28 22:09:03 UTC
> I was told the patches where unnecessary by the devs. 

OpenMW devs only care about OpenMW, which is understandable.

However, since forked OSG is not coinstallable with upstream OSG, we can't just tell users who need OSG as dependency for other apps to stop using these other apps. These other apps may need OSG plugins, which you're here removing.

> Can/should OSG be build with any version of Lua, or just 5.1?

For OpenMW, it doesn't matter at all. OpenMW doesn't use OSG's Lua support, it has its own. For non-OpenMW, if upstream OSG only supports Lua 5.1, apps which use this feature might be surprised to encounter Luajit there instead.

Hence I asked to keep this ebuild close to upstream OSG ebuild.
Comment 6 Alec Stewart 2024-10-29 16:28:10 UTC
(In reply to Alexey from comment #5)
> These other apps may need OSG plugins, which you're here
> removing.

If we have 

-DBUILD_OSG_PLUGINS_BY_DEFAULT=0

Then all plugins won't be built by default, and only the ones specified after with corresponding USE flags will be.

In the wiki page I linked earlier:

> When using the OSG git master (to be 3.6), **or** the OpenMW OSG fork, you can use the following cmake arguments to avoid **unneeded** plugins from being built: 
> 
> -DBUILD_OSG_PLUGINS_BY_DEFAULT=0 -DBUILD_OSG_PLUGIN_OSG=1 -DBUILD_OSG_PLUGIN_DAE=1 -DBUILD_OSG_PLUGIN_DDS=1 -DBUILD_OSG_PLUGIN_TGA=1 -DBUILD_OSG_PLUGIN_BMP=1 -DBUILD_OSG_PLUGIN_JPEG=1 -DBUILD_OSG_PLUGIN_PNG=1 -DBUILD_OSG_PLUGIN_FREETYPE=1 -DBUILD_OSG_DEPRECATED_SERIALIZERS=0

In their example the osgdb_osg, osgdb_serializers_osg, osgdb_dae, osgdb_dds, osgdb_tga, osgdb_bmp, osgdb_jpeg, osgdb_png, and osgdb_freetype will all be built and not any others.

If the user for the openscenegraph or openscenegraph-openmw has the 

- collada
- curl
- jpeg
- png
- gif
- lua
- sdl2
- svg
- truetype
- zlib

USE flags enabled and we have -DBUILD_OSG_PLUGINS_BY_DEFAULT=0 in the CMake arguments, then all of those corresponding plugins will be built and not the plugins for LIBLAS, GDAL, GStreamer, Poppler, Inventor, VNC, etc.

So even in upstream non-OpenMW OSG, if we're going the Gentoo way, we shouldn't necessarily enable building all OSG plugins by default, except for the sensible ones that require the user to go out of their way to not build.

I'm aware that some people might use the openscenegraph-openmw for things other than OpenMW, but that doesn't necessarily mean they'll want all of the plugins to be built. They might, but they might want all of the plugins but one, or even just the ones that OpenMW requires, or the ones OpenMW requires plus one or two more. USE flag usage allows this.

If the current ebuild allows users to not have to built all of the plugins they don't want already, then yes, let's not change anything.

> For OpenMW, it doesn't matter at all. OpenMW doesn't use OSG's Lua support,
> it has its own. For non-OpenMW, if upstream OSG only supports Lua 5.1, apps
> which use this feature might be surprised to encounter Luajit there instead.

Okay, that's fine.
Comment 7 Alexey 2024-11-04 01:11:21 UTC
> So even in upstream non-OpenMW OSG, if we're going the Gentoo way, we shouldn't necessarily enable building all OSG plugins by default

Could you update that ebuild as well then? Just to keep these ebiulds as similar as possible
Comment 8 Alec Stewart 2024-11-24 23:51:13 UTC
(In reply to Alexey from comment #7)
> > So even in upstream non-OpenMW OSG, if we're going the Gentoo way, we shouldn't necessarily enable building all OSG plugins by default
> 
> Could you update that ebuild as well then? Just to keep these ebiulds as
> similar as possible

Apologies, let me get on this now.
Comment 9 Alec Stewart 2025-02-08 04:08:50 UTC
Created attachment 918317 [details]
updated ~amd64 openscenegraph-openmw-3.6_p20230203 ebuild

Good Lord, so sorry. Life gets in the way of a lot of stuff sometimes. 
Here's the ebuild for ~amd64, I'll upload the one for unstable/** in a sec.
Comment 10 Alec Stewart 2025-02-08 04:10:47 UTC
Created attachment 918318 [details]
unstable/** openscenegraph-openmw ebuild

Here's the unstable/** ebuild. 

Both only support lua 5.1 and have the other changes mentioned earlier in this issue.