summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authortxtsd2023-10-21 01:53:47 +0530
committertxtsd2023-10-21 01:53:47 +0530
commit420e94f3f95714e08f81049be48e677b08ab1f25 (patch)
tree9adf6fe834fa03f1c05984c3a2da2ac5b699b025
parent6b4d847d314fd432215e03bb617be7399000b691 (diff)
downloadaur-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--.SRCINFO4
-rw-r--r--0001-fix-Fix-building-prismlauncher-7.2-on-Qt-6.6.0.patch131
-rw-r--r--PKGBUILD13
3 files changed, 144 insertions, 4 deletions
diff --git a/.SRCINFO b/.SRCINFO
index 60748acc4855..8f76872a6070 100644
--- a/.SRCINFO
+++ b/.SRCINFO
@@ -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
+
diff --git a/PKGBUILD b/PKGBUILD
index 14d5e278ecac..89326982e547 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -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}"