Bump openmw-0.44.0 and ported to Qt5

#1

Bump openmw to 0.44.0 and ported to Qt5.
https://github.com/NixOS/nixpkgs/pull/46153 + https://github.com/NixOS/nixpkgs/pull/33239

> cat openmw-0.44.0-qt5.patch
diff --git a/pkgs/games/openmw/default.nix b/pkgs/games/openmw/default.nix
index 4d01feaccc0..9fc0868f329 100644
--- a/pkgs/games/openmw/default.nix
+++ b/pkgs/games/openmw/default.nix
@@ -1,8 +1,11 @@
-{ stdenv, fetchFromGitHub, qt4, openscenegraph, mygui, bullet, ffmpeg, boost, cmake, SDL2, unshield, openal
-, libXt, pkgconfig }:
+{ stdenv, fetchFromGitHub, cmake, doxygen, pkgconfig
+, qtbase, openscenegraph, mygui, bullet, ffmpeg, boost, SDL2, unshield, openal
+, giflib, libXt }:
 
 let
   openscenegraph_ = openscenegraph.overrideDerivation (self: {
+    name = "openmw-openscenegraph";
+
     src = fetchFromGitHub {
       owner = "OpenMW";
       repo = "osg";
@@ -10,27 +13,36 @@ let
       sha256 = "0admnllxic6dcpic0h100927yw766ab55dix002vvdx36i6994jb";
     };
   });
+
 in stdenv.mkDerivation rec {
-  version = "0.43.0";
+  version = "0.44.0";
   name = "openmw-${version}";
 
   src = fetchFromGitHub {
     owner = "OpenMW";
     repo = "openmw";
     rev = name;
-    sha256 = "1nybxwp77qswjayf0g9xayp4x1xxq799681rhjlggch127r07ifi";
+    sha256 = "0rxkw0bzag7qffifg28dyyga47aaaf5ziiccpv7p8yax1wglvymh";
   };
 
   enableParallelBuilding = true;
 
-  nativeBuildInputs = [ pkgconfig ];
-  buildInputs = [ cmake boost ffmpeg qt4 bullet mygui openscenegraph_ SDL2 unshield openal libXt ];
+  nativeBuildInputs = [ cmake doxygen pkgconfig ];
+
+  buildInputs = [
+    qtbase
+    boost bullet ffmpeg libXt mygui openal openscenegraph_ SDL2 unshield
+  ];
+
+  cmakeFlags = [
+    "-DDESIRED_QT_VERSION=5"
+  ];
 
   meta = with stdenv.lib; {
     description = "An unofficial open source engine reimplementation of the game Morrowind";
-    homepage = http://openmw.org;
-    license = licenses.gpl3;
-    platforms = platforms.linux;
+    homepage    = "https://openmw.org";
+    license     = licenses.gpl3;
     maintainers = with maintainers; [ abbradar ];
+    platforms   = platforms.linux;
   };
 }
diff --git a/pkgs/top-level/all-packages.nix b/pkgs/top-level/all-packages.nix
index 87b27bcd226..db4a2548d19 100644
--- a/pkgs/top-level/all-packages.nix
+++ b/pkgs/top-level/all-packages.nix
@@ -20889,7 +20889,7 @@ in
 
   openjk = callPackage ../games/openjk { };
 
-  openmw = callPackage ../games/openmw { };
+  openmw = callPackage ../games/openmw { qtbase = qt5.qtbase; };
 
   openmw-tes3mp = libsForQt5.callPackage ../games/openmw/tes3mp.nix { };
#2

Thanks - any chance you can turns this into a real PR on github to make it easier to comment on and try out?

#3

This seems to be mostly covered by the (independent?) https://github.com/NixOS/nixpkgs/pull/55760

#4

We explicitly have this category on Discourse to allow people to submit patches without forcing them to have a GitHub account. init_6 posted this here because I invited them to on IRC.

4 Likes
#5

Yes, I now have account on github if it’s easier for everyone.

1 Like
#6

@init_6 I tried to apply your patch, but it looks like it wasn’t created with git format-patch or something with was lost while transmitting it because I get this error message:

Patch format detection failed.

If you don’t mind opening a PR on GitHub, that is easier for most people. If you mind, please post the patch in a format that can be applied with git. I believe it is possible to use attachments on Discourse to send the patch file too.