diff options
author | txtsd | 2023-10-21 01:53:47 +0530 |
---|---|---|
committer | txtsd | 2023-10-21 01:53:47 +0530 |
commit | 420e94f3f95714e08f81049be48e677b08ab1f25 (patch) | |
tree | 9adf6fe834fa03f1c05984c3a2da2ac5b699b025 | |
parent | 6b4d847d314fd432215e03bb617be7399000b691 (diff) | |
download | aur-420e94f3f95714e08f81049be48e677b08ab1f25.tar.gz |
upgpkg: prismlauncher 7.2-2
Allow building prismlauncher 7.2 on Qt 6.6.0
Signed-off-by: txtsd <code@ihavea.quest>
-rw-r--r-- | .SRCINFO | 4 | ||||
-rw-r--r-- | 0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch | 131 | ||||
-rw-r--r-- | PKGBUILD | 13 |
3 files changed, 144 insertions, 4 deletions
@@ -1,7 +1,7 @@ pkgbase = prismlauncher pkgdesc = Minecraft launcher with ability to manage multiple instances. pkgver = 7.2 - pkgrel = 1 + pkgrel = 2 url = https://prismlauncher.org arch = i686 arch = x86_64 @@ -31,6 +31,8 @@ pkgbase = prismlauncher optdepends = xorg-xrandr: for older minecraft versions optdepends = java-runtime=8: for older minecraft versions source = https://github.com/PrismLauncher/PrismLauncher/releases/download/7.2/PrismLauncher-7.2.tar.gz + source = 0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch sha256sums = 5733b55c4532286813a6fb7de2f3a38e6f6db743a251919c8b646d32a84514b4 + sha256sums = 407162bb56d08c7f825632ce486bde8ab03dbceac0a0669ea751f475a1947306 pkgname = prismlauncher diff --git a/0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch b/0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch new file mode 100644 index 000000000000..49a778e08477 --- /dev/null +++ b/0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch @@ -0,0 +1,131 @@ +From 8e54a071009c1e4a7efc7b1e974e588e9c26646e Mon Sep 17 00:00:00 2001 +From: txtsd <code@ihavea.quest> +Date: Sat, 21 Oct 2023 01:49:51 +0530 +Subject: [PATCH] fix: Fix building prismlauncher 7.2 on Qt 6.6.0 + +Signed-off-by: txtsd <code@ihavea.quest> +--- + launcher/translations/TranslationsModel.cpp | 42 ++++++++++----------- + launcher/translations/TranslationsModel.h | 4 +- + 2 files changed, 22 insertions(+), 24 deletions(-) + +diff --git a/launcher/translations/TranslationsModel.cpp b/launcher/translations/TranslationsModel.cpp +index 2763cca26..fe9752b9f 100644 +--- a/launcher/translations/TranslationsModel.cpp ++++ b/launcher/translations/TranslationsModel.cpp +@@ -242,7 +242,7 @@ void TranslationsModel::indexReceived() + reloadLocalFiles(); + + auto language = d->m_system_locale; +- if (!findLanguage(language)) ++ if (!findLanguageAsOptional(language).has_value()) + { + language = d->m_system_language; + } +@@ -512,20 +512,17 @@ int TranslationsModel::columnCount(const QModelIndex& parent) const + return 2; + } + +-Language * TranslationsModel::findLanguage(const QString& key) ++QVector<Language>::Iterator TranslationsModel::findLanguage(const QString& key) + { +- auto found = std::find_if(d->m_languages.begin(), d->m_languages.end(), [&](Language & lang) +- { +- return lang.key == key; +- }); +- if(found == d->m_languages.end()) +- { +- return nullptr; +- } +- else +- { +- return found; +- } ++ return std::find_if(d->m_languages.begin(), d->m_languages.end(), [&](Language& lang) { return lang.key == key; }); ++} ++ ++std::optional<Language> TranslationsModel::findLanguageAsOptional(const QString& key) ++{ ++ auto found = findLanguage(key); ++ if (found != d->m_languages.end()) ++ return *found; ++ return {}; + } + + void TranslationsModel::setUseSystemLocale(bool useSystemLocale) +@@ -537,13 +534,13 @@ void TranslationsModel::setUseSystemLocale(bool useSystemLocale) + bool TranslationsModel::selectLanguage(QString key) + { + QString& langCode = key; +- auto langPtr = findLanguage(key); ++ auto langPtr = findLanguageAsOptional(key); + + if (langCode.isEmpty()) { + d->no_language_set = true; + } + +- if (!langPtr) { ++ if (!langPtr.has_value()) { + qWarning() << "Selected invalid language" << key << ", defaulting to" << defaultLangCode; + langCode = defaultLangCode; + } else { +@@ -653,10 +650,9 @@ bool TranslationsModel::selectLanguage(QString key) + QModelIndex TranslationsModel::selectedIndex() + { + auto found = findLanguage(d->m_selectedLanguage); +- if(found) ++ if(found != d->m_languages.end()) + { +- // QVector iterator freely converts to pointer to contained type +- return index(found - d->m_languages.begin(), 0, QModelIndex()); ++ return index(std::distance(d->m_languages.begin(), found), 0, QModelIndex()); + } + return QModelIndex(); + } +@@ -691,8 +687,8 @@ void TranslationsModel::updateLanguage(QString key) + qWarning() << "Cannot update builtin language" << key; + return; + } +- auto found = findLanguage(key); +- if(!found) ++ auto found = findLanguageAsOptional(key); ++ if(!found.has_value()) + { + qWarning() << "Cannot update invalid language" << key; + return; +@@ -710,8 +706,8 @@ void TranslationsModel::downloadTranslation(QString key) + d->m_nextDownload = key; + return; + } +- auto lang = findLanguage(key); +- if(!lang) ++ auto lang = findLanguageAsOptional(key); ++ if(!lang.has_value()) + { + qWarning() << "Will not download an unknown translation" << key; + return; +diff --git a/launcher/translations/TranslationsModel.h b/launcher/translations/TranslationsModel.h +index cff23ce74..96a0e9f8b 100644 +--- a/launcher/translations/TranslationsModel.h ++++ b/launcher/translations/TranslationsModel.h +@@ -17,6 +17,7 @@ + + #include <QAbstractListModel> + #include <memory> ++#include <optional> + + struct Language; + +@@ -40,7 +41,8 @@ class TranslationsModel : public QAbstractListModel { + void setUseSystemLocale(bool useSystemLocale); + + private: +- Language* findLanguage(const QString& key); ++ QVector<Language>::Iterator findLanguage(const QString& key); ++ std::optional<Language> findLanguageAsOptional(const QString& key); + void reloadLocalFiles(); + void downloadTranslation(QString key); + void downloadNext(); +-- +2.42.0 + @@ -9,7 +9,7 @@ pkgname=prismlauncher pkgver=7.2 -pkgrel=1 +pkgrel=2 pkgdesc="Minecraft launcher with ability to manage multiple instances." arch=('i686' 'x86_64' 'aarch64') url="https://prismlauncher.org" @@ -21,8 +21,15 @@ optdepends=('glfw: to use system GLFW libraries' 'visualvm: Profiling support' 'xorg-xrandr: for older minecraft versions' 'java-runtime=8: for older minecraft versions') -source=("https://github.com/PrismLauncher/PrismLauncher/releases/download/${pkgver}/PrismLauncher-${pkgver}.tar.gz") -sha256sums=('5733b55c4532286813a6fb7de2f3a38e6f6db743a251919c8b646d32a84514b4') +source=("https://github.com/PrismLauncher/PrismLauncher/releases/download/${pkgver}/PrismLauncher-${pkgver}.tar.gz" + "0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch") +sha256sums=('5733b55c4532286813a6fb7de2f3a38e6f6db743a251919c8b646d32a84514b4' + '407162bb56d08c7f825632ce486bde8ab03dbceac0a0669ea751f475a1947306') + +prepare() { + cd "PrismLauncher-${pkgver}" + patch -Np1 -i "${srcdir}/0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch" +} build() { cd "PrismLauncher-${pkgver}" |