-
-
Notifications
You must be signed in to change notification settings - Fork 17.6k
openmw: 0.48.0 -> 0.49.0 #422562
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
openmw: 0.48.0 -> 0.49.0 #422562
Conversation
|
cc @marius851000. Please request a new invite to the NixOS GitHub org so you can be requested for reviews. |
0b7f5aa to
c822d68
Compare
|
Compilation fail on my side, with Linux NixOS on x86-64 (as a result of running And let me check that NixOS org. Don’t even remember what it’s used for. |
|
Yep, seeing the same here.
|
eljamm
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Btw, this PR also closes #314030
c822d68 to
d941918
Compare
|
|
Can't test as I'm encountering this issue: #326874 |
|
Builds and loads for me by reverting 290366 and patching for boost: [PATCH] collada-dom: reinit at 0-unstable-2020-01-03From d3a2949cc8022a2c7406f041d69b109fb6a2d53c Mon Sep 17 00:00:00 2001
From: qubitnano <146656568+qubitnano@users.noreply.github.com>
Date: Sat, 5 Jul 2025 16:48:06 -0400
Subject: [PATCH] collada-dom: reinit at 0-unstable-2020-01-03
---
pkgs/by-name/co/collada-dom/package.nix | 54 ++++++++++++++++++++++
pkgs/by-name/op/openscenegraph/package.nix | 4 +-
pkgs/top-level/aliases.nix | 1 -
3 files changed, 56 insertions(+), 3 deletions(-)
create mode 100644 pkgs/by-name/co/collada-dom/package.nix
diff --git a/pkgs/by-name/co/collada-dom/package.nix b/pkgs/by-name/co/collada-dom/package.nix
new file mode 100644
index 000000000000..fa790e5aaacd
--- /dev/null
+++ b/pkgs/by-name/co/collada-dom/package.nix
@@ -0,0 +1,54 @@
+{
+ stdenv,
+ lib,
+ fetchFromGitHub,
+ cmake,
+ boost,
+ libxml2,
+ minizip,
+ readline,
+ fetchpatch,
+}:
+
+stdenv.mkDerivation {
+ pname = "collada-dom";
+ version = "0-unstable-2020-01-03";
+
+ src = fetchFromGitHub {
+ owner = "rdiankov";
+ repo = "collada-dom";
+ rev = "c1e20b7d6ff806237030fe82f126cb86d661f063";
+ hash = "sha256-A1ne/D6S0shwCzb9spd1MoSt/238HWA8dvgd+DC9cXc=";
+ };
+
+ patches = [
+ # Fix building on boost >=1.85.0
+ (fetchpatch {
+ name = "boost1.85.patch";
+ url = "https://github.com/rdiankov/collada-dom/pull/43.patch";
+ hash = "sha256-8aSc21IaBdvhX8QKhBt8mzy/WfinRMI22ZlH9M0QJKg=";
+ })
+ ];
+
+ postInstall = ''
+ chmod +w -R $out
+ ln -s $out/include/*/* $out/include
+ '';
+
+ nativeBuildInputs = [ cmake ];
+
+ buildInputs = [
+ boost
+ libxml2
+ minizip
+ readline
+ ];
+
+ meta = with lib; {
+ description = "Lightweight version of collada-dom, with only the parser.";
+ homepage = "https://github.com/rdiankov/collada-dom";
+ license = licenses.mit;
+ maintainers = with maintainers; [ marius851000 ];
+ platforms = platforms.all;
+ };
+}
diff --git a/pkgs/by-name/op/openscenegraph/package.nix b/pkgs/by-name/op/openscenegraph/package.nix
index e4c12742965b..9ae2b719dab2 100644
--- a/pkgs/by-name/op/openscenegraph/package.nix
+++ b/pkgs/by-name/op/openscenegraph/package.nix
@@ -32,7 +32,7 @@
curlSupport ? true,
curl,
colladaSupport ? false,
- opencollada,
+ collada-dom,
opencascadeSupport ? false,
opencascade-occt,
ffmpegSupport ? false,
@@ -98,7 +98,7 @@ stdenv.mkDerivation rec {
++ lib.optional gdalSupport gdal
++ lib.optional curlSupport curl
++ lib.optionals colladaSupport [
- opencollada
+ collada-dom
pcre
]
++ lib.optional opencascadeSupport opencascade-occt
diff --git a/pkgs/top-level/aliases.nix b/pkgs/top-level/aliases.nix
index c69ff6e49ecf..ac7a3b5e9838 100644
--- a/pkgs/top-level/aliases.nix
+++ b/pkgs/top-level/aliases.nix
@@ -449,7 +449,6 @@ mapAliases {
cloudlogoffline = throw "cloudlogoffline has been removed"; # added 2025-05-18
clwrapperFunction = throw "Lisp packages have been redesigned. See 'lisp-modules' in the nixpkgs manual."; # Added 2024-05-07
CoinMP = coinmp; # Added 2024-06-12
- collada-dom = opencollada; # added 2024-02-21
colorpicker = throw "'colorpicker' has been removed due to lack of maintenance upstream. Consider using 'xcolor', 'gcolor3', 'eyedropper' or 'gpick' instead"; # Added 2024-10-19
colorstorm = throw "'colorstorm' has been removed because it was unmaintained in nixpkgs and upstream was rewritten."; # Added 2025-06-15
connman-ncurses = throw "'connman-ncurses' has been removed due to lack of maintenance upstream."; # Added 2025-05-27
--
2.49.0 |
|
I guess the way forward is to re-add @K900: Would it be alright to add |
|
I guess so? |
|
Interesting. I don’t remember the lack of collada causing a fatal error on 0.48. I have this PR ( #339058 ), if you need some help into that. I’ll be happy if you include the work there into this PR. I can also provide a mod using those DAE model if needed. (in any case, adding the good version of opencollada in this PR will obsolete this other PR) |
|
it works with @marius851000: I've used your commits, but couldn't figure out how to preserve the authorship information when I edited them slightly. I've added your information to a |
d941918 to
d1322e8
Compare
|
Confirmed playing on x86_64-linux. Also didn't break any of my mod setups.
|
|
now that is one broken reverse dependency path. Pretty late over here, but tomorrow I'll see what I can do about |
|
Interesting. Portmod build on my side (x86-64 linux). It looks like the way the sandbox is set up does not allow portmod to use its own sandboxing mechanism. It work on my machine, which does have the nix sandbox enabled. A solution to that may be to disable the failing tests, but that’s about 1/4th of them. (and otherwise, I’m fine with how you credited me in the re-used commit. It’s not something I bring a lot of attention to anyway) |
|
As far as tes3mp is concerned, however, it looks like this custom OSG is causing issues. I haven’t tested, but something along the line of (in |
d1322e8 to
bc61567
Compare
peterhoeg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Other than the small things mentioned here, there is also:
- with the move to
pkgs/by-name, you need to drop the reference inpkgs/top-level/all-packages.nix - with the move to
pkgs/by-name, you need to pass inqt6Packagesand drop the mainqttools, wrapQtAppsHooket al arguments. - fix merge conflicts
bc61567 to
f43f567
Compare
`opencollada` is not the same as `collada-dom`. OpenSceneGraph requires `collada-dom` to generate some shared object files required by OpenMW. Co-authored-by: Marius David <marius@mariusdavid.fr> Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
0b97795 to
720b8dd
Compare
|
I don't have the hardware to maintain Darwin or Aarch64 Linux, so I've set them to |
|
This is ready for a final review. I'd recommend going commit-by-commit. |
I've poked around but couldn't figure out anything, I've opened an issue that can be added as a comment near the |
|
Devs suggested to switch from LuaJIT to Lua as a workaround and I confirmed it works: diff --git a/pkgs/by-name/op/openmw/package.nix b/pkgs/by-name/op/openmw/package.nix
index e6e6fc66c0..0cd173ac82 100644
--- a/pkgs/by-name/op/openmw/package.nix
+++ b/pkgs/by-name/op/openmw/package.nix
@@ -11,6 +11,7 @@
collada-dom,
ffmpeg,
libXt,
+ lua,
luajit,
lz4,
mygui,
@@ -23,6 +24,9 @@
yaml-cpp,
GLPreference ? "GLVND",
+ # aarch64-linux with LuaJIT crashes before reaching menu
+ # https://gitlab.com/OpenMW/openmw/-/issues/8689
+ useLuaJIT ? !(stdenv.hostPlatform.isLinux && stdenv.hostPlatform.isAarch64),
}:
assert lib.assertOneOf "GLPreference" GLPreference [
@@ -107,7 +111,7 @@
collada-dom
ffmpeg
libXt
- luajit
+ (if useLuaJIT then luajit else lua)
lz4
mygui
openal
@@ -127,6 +131,7 @@
(lib.cmakeFeature "OpenGL_GL_PREFERENCE" GLPreference)
(lib.cmakeBool "OPENMW_USE_SYSTEM_RECASTNAVIGATION" true)
(lib.cmakeBool "OPENMW_OSX_DEPLOYMENT" stdenv.hostPlatform.isDarwin)
+ (lib.cmakeBool "USE_LUAJIT" useLuaJIT)
];
meta = {
@@ -140,8 +145,6 @@
];
platforms = with lib.platforms; linux ++ darwin ++ windows;
- # Address not mapped to object (signal 11).
- broken = with stdenv.hostPlatform; isAarch64 && isLinux;
# Nixpkgs' NT infrastructure is currently incapable of building this.
badPlatforms = lib.platforms.windows;
}; |
720b8dd to
2bbb311
Compare
The usual code modernisation (finalAttrs, no with lib; in meta, no pname interpolation), and CMAKE variables now use lib.cmake*. Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
The multiplayer fork of OpenMW is currently unmaintained, fails to build with OpenMW 0.49.0, and needs multiple GCC 14 compilation patches. Signed-off-by: Fernando Rodrigues <alpha@sigmasquadron.net>
2bbb311 to
f63a34f
Compare
|
I went for a more generic isAarch64Linux approach, but the result is the same. |
nim65s
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'm happy to report that with this, gepetto-gui is able to display robots with collada meshes, eg:
- switch to this PR
- remove qtwebengine from pythonqt to fix it
- replace
openscenegraphwithopenscenegraph.override { colladaSupport = true; }in gepetto-viewer as it is done in openmw nix-shell -I nixpkgs=. -p 'python3.withPackages(p: [p.example-robot-data p.gepetto-gui])'- run
gepetto-gui &andpython -m example_robot_data romeo(talos works without collada-dom, but not romeo)
Thanks for the work !
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
| ]; | |
| nim65s | |
| ]; |
Since I maintain that fork, it would be better for me to get the right notifications about issues :)
Changes addressed. Please re-review if possible!
marcin-serwin
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Builds and runs on aarch64-linux.
|
|
cc @pSub: Looks like this breaks |
Looks like stuntrally is seriously outdated, version I'm not sure the package is maintained anymore, last maintainer commit is from 1189 days ago. |
|
oh, lmao |
|
regarding stuntrally, from the repo: "NOTE: development in stuntrally3 repo. " |
|
Yeah, I linked the changelog for the stuntrally3 repo above. |

Updates OpenMW to the latest major version, 0.49. This also required an update to MyGUI, so I ended up adopting that package. It also adds
collada-domback to Nixpkgs, as it is now a required dependency for OpenMW.Closes #422453, closes #314030, closes #339058, reverts #290366, closes #326874, closes #410968, closes #434886.
Things done
nix.conf? (See Nix manual)sandbox = relaxedsandbox = truenix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage./result/bin/)Add a 👍 reaction to pull requests you find important.