From e0e9098d130e2de18c09cb60617fbe6fa54a7bfb Mon Sep 17 00:00:00 2001 From: Marcin Serwin Date: Wed, 29 Oct 2025 22:42:02 +0100 Subject: [PATCH] openmw: 0.49.0 -> 0.50.0 Signed-off-by: Marcin Serwin --- ...tly-convert-QByteArray-to-const-char.patch | 122 ------------------ pkgs/by-name/op/openmw/package.nix | 10 +- 2 files changed, 2 insertions(+), 130 deletions(-) delete mode 100644 pkgs/by-name/op/openmw/0001-Do-not-implicitly-convert-QByteArray-to-const-char.patch diff --git a/pkgs/by-name/op/openmw/0001-Do-not-implicitly-convert-QByteArray-to-const-char.patch b/pkgs/by-name/op/openmw/0001-Do-not-implicitly-convert-QByteArray-to-const-char.patch deleted file mode 100644 index f35c72c93b39..000000000000 --- a/pkgs/by-name/op/openmw/0001-Do-not-implicitly-convert-QByteArray-to-const-char.patch +++ /dev/null @@ -1,122 +0,0 @@ -From 0de42e9a1640e74b2c94ce16ecaf7367ece5f4b0 Mon Sep 17 00:00:00 2001 -From: elsid -Date: Sun, 5 Oct 2025 23:40:17 +0200 -Subject: [PATCH] Do not implicitly convert QByteArray to const char* - -Operators supporting this conversion can be disabled via -QT_NO_CAST_FROM_BYTEARRAY breaking the build. For example: - -https://koschei.fedoraproject.org//package/openmw -https://kojipkgs.fedoraproject.org/work/tasks/5096/137735096/build.log - -Backported to OpenMW 0.49.x - -Co-authored-by: Sirius902 <10891979+Sirius902@users.noreply.github.com> ---- - apps/opencs/model/world/nestedtableproxymodel.cpp | 4 +++- - apps/opencs/view/world/util.cpp | 5 +++-- - components/files/qtconversion.cpp | 11 ++++++----- - components/vfs/qtconversion.cpp | 11 ++++++----- - 4 files changed, 18 insertions(+), 13 deletions(-) - -diff --git a/apps/opencs/model/world/nestedtableproxymodel.cpp b/apps/opencs/model/world/nestedtableproxymodel.cpp -index f542ce4def..5278710e4a 100644 ---- a/apps/opencs/model/world/nestedtableproxymodel.cpp -+++ b/apps/opencs/model/world/nestedtableproxymodel.cpp -@@ -13,7 +13,9 @@ CSMWorld::NestedTableProxyModel::NestedTableProxyModel( - { - const int parentRow = parent.row(); - -- mId = std::string(parentModel->index(parentRow, 0).data().toString().toUtf8()); -+ const QByteArray utf8 = parentModel->index(parentRow, 0).data().toString().toUtf8(); -+ -+ mId = std::string(utf8.constData(), utf8.size()); - - QAbstractProxyModel::setSourceModel(parentModel); - -diff --git a/apps/opencs/view/world/util.cpp b/apps/opencs/view/world/util.cpp -index dfb587cd96..5fd32d78b4 100644 ---- a/apps/opencs/view/world/util.cpp -+++ b/apps/opencs/view/world/util.cpp -@@ -363,11 +363,12 @@ void CSVWorld::CommandDelegate::setEditorData(QWidget* editor, const QModelIndex - { - if (!variant.isValid()) - #if QT_VERSION >= QT_VERSION_CHECK(6, 0, 0) -- variant = QVariant(editor->property(n).metaType(), (const void*)nullptr); -+ variant = QVariant(editor->property(n.constData()).metaType(), (const void*)nullptr); -+ editor->setProperty(n.constData(), variant); - #else - variant = QVariant(editor->property(n).userType(), (const void*)nullptr); -+ editor->setProperty(n, variant); - #endif -- editor->setProperty(n, variant); - } - } - -diff --git a/components/files/qtconversion.cpp b/components/files/qtconversion.cpp -index d56832cb78..ac7ca6ec8b 100644 ---- a/components/files/qtconversion.cpp -+++ b/components/files/qtconversion.cpp -@@ -1,8 +1,9 @@ -- - #include "qtconversion.hpp" - - #include - -+#include -+ - QString Files::pathToQString(const std::filesystem::path& path) - { - const auto tmp = path.u8string(); -@@ -17,12 +18,12 @@ QString Files::pathToQString(std::filesystem::path&& path) - - std::filesystem::path Files::pathFromQString(QStringView path) - { -- const auto tmp = path.toUtf8(); -- return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; -+ const QByteArray tmp = path.toUtf8(); -+ return std::filesystem::path(Misc::StringUtils::stringToU8String(std::string_view(tmp.constData(), tmp.size()))); - } - - std::filesystem::path Files::pathFromQString(QString&& path) - { -- const auto tmp = path.toUtf8(); -- return std::filesystem::path{ Misc::StringUtils::stringToU8String(tmp) }; -+ const QByteArray tmp = path.toUtf8(); -+ return std::filesystem::path(Misc::StringUtils::stringToU8String(std::string_view(tmp.constData(), tmp.size()))); - } -diff --git a/components/vfs/qtconversion.cpp b/components/vfs/qtconversion.cpp -index 472e3dd0b4..fc8a0fb78e 100644 ---- a/components/vfs/qtconversion.cpp -+++ b/components/vfs/qtconversion.cpp -@@ -1,8 +1,9 @@ -- - #include "qtconversion.hpp" - - #include - -+#include -+ - QString VFS::Path::normalizedToQString(NormalizedView path) - { - return QString::fromUtf8(path.value().data(), path.value().size()); -@@ -15,12 +16,12 @@ QString VFS::Path::normalizedToQString(Normalized&& path) - - VFS::Path::Normalized VFS::Path::normalizedFromQString(QStringView path) - { -- const auto tmp = path.toUtf8(); -- return Normalized{ tmp }; -+ const QByteArray tmp = path.toUtf8(); -+ return Normalized(std::string_view(tmp.constData(), tmp.size())); - } - - VFS::Path::Normalized VFS::Path::normalizedFromQString(QString&& path) - { -- const auto tmp = path.toUtf8(); -- return Normalized{ tmp }; -+ const QByteArray tmp = std::move(path).toUtf8(); -+ return Normalized(std::string_view(tmp.constData(), tmp.size())); - } --- -2.51.0 - diff --git a/pkgs/by-name/op/openmw/package.nix b/pkgs/by-name/op/openmw/package.nix index 35a9fa87bb99..f3f3a15aece9 100644 --- a/pkgs/by-name/op/openmw/package.nix +++ b/pkgs/by-name/op/openmw/package.nix @@ -35,7 +35,7 @@ assert lib.assertOneOf "GLPreference" GLPreference [ ]; stdenv.mkDerivation (finalAttrs: { pname = "openmw"; - version = "0.49.0"; + version = "0.50.0"; __structuredAttrs = true; strictDeps = true; @@ -82,15 +82,9 @@ stdenv.mkDerivation (finalAttrs: { owner = "OpenMW"; repo = "openmw"; tag = "openmw-${finalAttrs.version}"; - hash = "sha256-Eyjn3jPpo0d7XENg0Ea/3MN60lZBSUAMkz1UtTiIP80="; + hash = "sha256-mPwNyKKqPSZJtcIyx3IhLe3iHOpx6p4+l1wJZqyDMqg="; }; - patches = [ - # https://gitlab.com/OpenMW/openmw/-/merge_requests/4941 - # FIXME: Remove after next release - ./0001-Do-not-implicitly-convert-QByteArray-to-const-char.patch - ]; - postPatch = '' sed '1i#include ' -i components/myguiplatform/myguidatamanager.cpp # gcc12 ''