added prismlauncher 11.0.0 and fix for it dying

This commit is contained in:
TheK0tYaRa 2026-04-11 03:46:39 +03:00
parent f0b8af6ed7
commit c0b0ac0cfe
6 changed files with 218 additions and 0 deletions

View file

@ -0,0 +1 @@
DIST prismlauncher-11.0.0.tar.gz 4104245 BLAKE2B 5f5f6c297bb7fbdbe5afb53f880d2c8093f848d02db63a2883a1253dcdc1abfafe7c4df2d6da709bcb775097c0ce272e5683bb7395746e7c18a68dd20ee7adfd SHA512 75a440647a4046a45016183ad9c57ea68711969cc93856b5b5d2dc450b4371745e04efa5e9b7a43559a485a6e7efa5b4b4f5482f8283448428217000dec49d59

View file

@ -0,0 +1,31 @@
https://bugs.gentoo.org/917072
--- a/libraries/launcher/CMakeLists.txt
+++ b/libraries/launcher/CMakeLists.txt
@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.9.4)
project(launcher Java)
-find_package(Java 1.7 REQUIRED COMPONENTS Development)
+find_package(Java 1.8 REQUIRED COMPONENTS Development)
include(UseJava)
set(CMAKE_JAVA_JAR_ENTRY_POINT org.prismlauncher.EntryPoint)
-set(CMAKE_JAVA_COMPILE_FLAGS -target 7 -source 7)
+set(CMAKE_JAVA_COMPILE_FLAGS -target 8 -source 8)
set(SRC
org/prismlauncher/EntryPoint.java
--- a/libraries/javacheck/CMakeLists.txt
+++ b/libraries/javacheck/CMakeLists.txt
@@ -1,10 +1,10 @@
cmake_minimum_required(VERSION 3.9.4)
project(launcher Java)
-find_package(Java 1.7 REQUIRED COMPONENTS Development)
+find_package(Java 1.8 REQUIRED COMPONENTS Development)
include(UseJava)
set(CMAKE_JAVA_JAR_ENTRY_POINT JavaCheck)
-set(CMAKE_JAVA_COMPILE_FLAGS -target 7 -source 7 -Xlint:deprecation -Xlint:unchecked)
+set(CMAKE_JAVA_COMPILE_FLAGS -target 8 -source 8 -Xlint:deprecation -Xlint:unchecked)
set(SRC
JavaCheck.java

View file

@ -0,0 +1,33 @@
diff --git a/launcher/tasks/Task.cpp b/launcher/tasks/Task.cpp
index a54b4e7c..XXXXXXXX 100644
--- a/launcher/tasks/Task.cpp
+++ b/launcher/tasks/Task.cpp
@@ -1,6 +1,7 @@
#include "Task.h"
#include <QDebug>
+#include <exception>
#include "AssertHelpers.h"
@@ -107,5 +107,19 @@ void Task::start()
// NOTE: only fall through to here in end states
m_state = State::Running;
emit started();
- executeTask();
+ try {
+ executeTask();
+ } catch (const std::exception& e) {
+ qCCritical(taskLogC) << "Task" << describe()
+ << "threw uncaught std::exception:" << e.what();
+ if (isRunning()) {
+ emitFailed(QString::fromUtf8(e.what()));
+ }
+ } catch (...) {
+ qCCritical(taskLogC) << "Task" << describe()
+ << "threw uncaught non-std exception";
+ if (isRunning()) {
+ emitFailed(tr("Unhandled internal exception"));
+ }
+ }
}

View file

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person" proxied="yes">
<email>flowlnlnln@gmail.com</email>
<name>Thiago Donato Ferreira</name>
</maintainer>
<maintainer type="person" proxied="proxy">
<email>nowa@gentoo.org</email>
<name>Nowa Ammerlaan</name>
</maintainer>
<maintainer type="project" proxied="proxy">
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
<bugs-to>https://github.com/PrismLauncher/PrismLauncher/issues</bugs-to>
<doc>https://prismlauncher.org/wiki/</doc>
<remote-id type="github">PrismLauncher/PrismLauncher</remote-id>
</upstream>
<longdescription>Prism Launcher is a multi-instance Minecraft launcher focused on user freedom, redistributability, and simplicity.</longdescription>
</pkgmetadata>

View file

@ -0,0 +1,114 @@
# Copyright 1999-2026 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
QTMIN=6.0.0
inherit cmake java-pkg-2 optfeature toolchain-funcs xdg
DESCRIPTION="Custom, open source Minecraft launcher"
HOMEPAGE="https://prismlauncher.org/ https://github.com/PrismLauncher/PrismLauncher"
if [[ ${PV} == *9999* ]]; then
inherit git-r3
EGIT_REPO_URI="https://github.com/PrismLauncher/PrismLauncher"
EGIT_SUBMODULES=( 'libraries/libnbtplusplus' )
else
MY_PN="PrismLauncher"
# use vendored tarball to avoid dealing with submodules directly
SRC_URI="
https://github.com/PrismLauncher/PrismLauncher/releases/download/${PV}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz
"
S="${WORKDIR}/${MY_PN}-${PV}"
KEYWORDS="~amd64 ~arm64"
fi
# GPL-3 for PolyMC (PrismLauncher is forked from it) and Prism itself
# Apache-2.0 for MultiMC (PolyMC is forked from it)
# LGPL-3+ for libnbtplusplus
# rest of its libs: https://github.com/PrismLauncher/PrismLauncher/tree/develop/libraries
LICENSE="Apache-2.0 BSD BSD-2 GPL-2+ GPL-3 ISC LGPL-2.1+ LGPL-3+"
SLOT="0"
IUSE="test"
RESTRICT="!test? ( test )"
# Required at both build time and runtime
COMMON_DEPEND="
app-arch/libarchive:=
app-text/cmark:=
dev-cpp/tomlplusplus
>=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,network,opengl,widgets,xml(+)]
>=dev-qt/qtnetworkauth-${QTMIN}:6
games-util/gamemode
media-gfx/qrencode:=
virtual/zlib:=
"
# max jdk-25 for bug #968411
DEPEND="${COMMON_DEPEND}
media-libs/libglvnd
<virtual/jdk-26:*
"
# QtSvg imageplugin needed at runtime for svg icons, via QIcon.
# At runtime we don't depend on JDK, only JRE
# And we need more than just the GL headers
RDEPEND="${COMMON_DEPEND}
>=dev-qt/qtsvg-${QTMIN}:6
>=virtual/jre-1.8.0:*
virtual/opengl
"
BDEPEND="
app-text/scdoc
>=kde-frameworks/extra-cmake-modules-6.0.0:*
virtual/pkgconfig
"
src_prepare() {
cmake_src_prepare
local java="$(java-config -f)"
local java_version=${java//[^0-9]/}
if [[ ${java_version} -ge 20 ]]; then
elog "Java 20 and up has dropped binary compatibility with java 7."
elog "${PN} is being compiled with java ${java_version}."
elog "The sources will be patched to build binary compatible with"
elog "java 8 instead of java 7. This may cause issues with very old"
elog "Minecraft versions and/or older forge versions."
elog
elog "If you experience any problems, install an older java compiler"
elog "and select it with \"eselect java\", then recompile ${PN}."
eapply "${FILESDIR}/${PN}-10.0.3-openjdk21.patch"
fi
# fixing " libc++abi: terminating due to uncaught exception of type toml::v3::ex::parse_error: Error while parsing key: expected bare key starting character or string delimiter, saw '$' "
eapply "${FILESDIR}/${PN}-11.0.0-tomlpp.patch"
}
src_configure() {
local mycmakeargs=(
-DCMAKE_INSTALL_PREFIX="/usr"
# Resulting binary is named prismlauncher
-DLauncher_APP_BINARY_NAME="${PN}"
-DLauncher_BUILD_PLATFORM="Gentoo"
-DLauncher_QT_VERSION_MAJOR=6
-DENABLE_LTO=$(tc-is-lto)
-DBUILD_TESTING=$(usex test)
)
cmake_src_configure
}
src_compile() {
cmake_src_compile
}
pkg_postinst() {
xdg_pkg_postinst
# Original issue: https://github.com/PolyMC/PolyMC/issues/227
optfeature "old Minecraft (<= 1.12.2) support" x11-apps/xrandr
optfeature "built-in MangoHud support (available in GURU overlay)" games-util/mangohud
optfeature "built-in Feral Gamemode support" games-util/gamemode
}

View file

@ -0,0 +1,17 @@
BDEPEND=app-text/scdoc >=kde-frameworks/extra-cmake-modules-6.0.0:* virtual/pkgconfig app-alternatives/ninja >=dev-build/cmake-3.28.5
DEFINED_PHASES=compile configure install postinst postrm preinst prepare setup test
DEPEND=app-arch/libarchive:= app-text/cmark:= dev-cpp/tomlplusplus >=dev-qt/qtbase-6.0.0:6[concurrent,gui,network,opengl,widgets,xml(+)] >=dev-qt/qtnetworkauth-6.0.0:6 games-util/gamemode media-gfx/qrencode:= virtual/zlib:= media-libs/libglvnd <virtual/jdk-26:* >=dev-java/java-config-2.2.0-r3
DESCRIPTION=Custom, open source Minecraft launcher
EAPI=8
HOMEPAGE=https://prismlauncher.org/ https://github.com/PrismLauncher/PrismLauncher
IDEPEND=dev-util/desktop-file-utils x11-misc/shared-mime-info
INHERIT=cmake java-pkg-2 optfeature toolchain-funcs xdg
IUSE=test
KEYWORDS=~amd64 ~arm64
LICENSE=Apache-2.0 BSD BSD-2 GPL-2+ GPL-3 ISC LGPL-2.1+ LGPL-3+
RDEPEND=app-arch/libarchive:= app-text/cmark:= dev-cpp/tomlplusplus >=dev-qt/qtbase-6.0.0:6[concurrent,gui,network,opengl,widgets,xml(+)] >=dev-qt/qtnetworkauth-6.0.0:6 games-util/gamemode media-gfx/qrencode:= virtual/zlib:= >=dev-qt/qtsvg-6.0.0:6 >=virtual/jre-1.8.0:* virtual/opengl >=dev-java/java-config-2.2.0-r3
RESTRICT=!test? ( test )
SLOT=0
SRC_URI=https://github.com/PrismLauncher/PrismLauncher/releases/download/11.0.0/PrismLauncher-11.0.0.tar.gz -> prismlauncher-11.0.0.tar.gz
_eclasses_=toolchain-funcs 5195689ff6a73b0e789acfa09d4fbcb9 flag-o-matic fd3558f73f6503093adee69adf41020d multiprocessing 45d0620f25c2f063ad6276ecd9ed9399 ninja-utils d063ea1900a793f93eb095010d6d9156 xdg-utils 42869b3c8d86a70ef3cf75165a395e09 cmake 3395ce6618fc5c7af03335471b896644 java-utils-2 b41327d85d12ce816943cf4d344add19 java-pkg-2 438c2725ea326202d7fc1eb31af76813 optfeature 538bce96e5589935b57e178e8635f301 xdg 3ef49a87c52c8b77c476351195dfe575
_md5_=c6f25a1cdd34c5b8652ce50c42039c23