| 4 |
4 |
EAPI=8
|
| 5 |
5 |
|
| 6 |
6 |
QTMIN=6.0.0
|
| 7 |
|
inherit cmake java-pkg-2 optfeature toolchain-funcs xdg
|
|
7 |
inherit branding cmake java-pkg-2 optfeature toolchain-funcs xdg
|
| 8 |
8 |
|
| 9 |
9 |
DESCRIPTION="Custom, open source Minecraft launcher"
|
| 10 |
10 |
HOMEPAGE="https://prismlauncher.org/ https://github.com/PrismLauncher/PrismLauncher"
|
| ... | ... | |
| 12 |
12 |
if [[ ${PV} == *9999* ]]; then
|
| 13 |
13 |
inherit git-r3
|
| 14 |
14 |
EGIT_REPO_URI="https://github.com/PrismLauncher/PrismLauncher"
|
| 15 |
|
EGIT_SUBMODULES=(
|
| 16 |
|
'*' '-libraries/cmark' '-libraries/extra-cmake-modules' '-libraries/filesystem' '-libraries/quazip'
|
| 17 |
|
'-libraries/tomlplusplus' '-libraries/zlib'
|
| 18 |
|
)
|
|
15 |
EGIT_SUBMODULES=( 'libraries/libnbtplusplus' )
|
| 19 |
16 |
else
|
| 20 |
17 |
MY_PN="PrismLauncher"
|
| 21 |
18 |
# use vendored tarball to avoid dealing with submodules directly
|
| ... | ... | |
| 23 |
20 |
https://github.com/PrismLauncher/PrismLauncher/releases/download/${PV}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz
|
| 24 |
21 |
"
|
| 25 |
22 |
S="${WORKDIR}/${MY_PN}-${PV}"
|
| 26 |
|
KEYWORDS="amd64 ~arm64 ~x86"
|
|
23 |
KEYWORDS="~amd64 ~arm64"
|
| 27 |
24 |
fi
|
| 28 |
25 |
|
| 29 |
26 |
# GPL-3 for PolyMC (PrismLauncher is forked from it) and Prism itself
|
| ... | ... | |
| 38 |
35 |
|
| 39 |
36 |
# Required at both build time and runtime
|
| 40 |
37 |
COMMON_DEPEND="
|
|
38 |
app-arch/libarchive:=
|
| 41 |
39 |
app-text/cmark:=
|
| 42 |
40 |
dev-cpp/tomlplusplus
|
| 43 |
|
>=dev-libs/quazip-1.3-r2:=[qt6(+)]
|
| 44 |
|
>=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,network,widgets,xml(+)]
|
| 45 |
|
>=dev-qt/qt5compat-${QTMIN}:6
|
|
41 |
>=dev-qt/qtbase-${QTMIN}:6[concurrent,gui,opengl,network,vulkan,widgets,xml(+)]
|
| 46 |
42 |
>=dev-qt/qtnetworkauth-${QTMIN}:6
|
|
43 |
games-util/gamemode
|
|
44 |
media-gfx/qrencode:=
|
| 47 |
45 |
virtual/zlib:=
|
| 48 |
46 |
"
|
| 49 |
|
# gulrak-filesystem dependency is only needed at build time, because we don't
|
| 50 |
|
# actually use it on Linux, only on legacy macOS. Still, we need it present at
|
| 51 |
|
# build time to appease CMake, and having it like this makes it easier to
|
| 52 |
|
# maintain than patching the CMakeLists file directly.
|
| 53 |
47 |
# max jdk-25 for bug #968411
|
| 54 |
48 |
DEPEND="${COMMON_DEPEND}
|
| 55 |
|
dev-cpp/gulrak-filesystem
|
| 56 |
49 |
media-libs/libglvnd
|
| 57 |
50 |
<virtual/jdk-26:*
|
| 58 |
51 |
"
|
| ... | ... | |
| 84 |
77 |
elog
|
| 85 |
78 |
elog "If you experience any problems, install an older java compiler"
|
| 86 |
79 |
elog "and select it with \"eselect java\", then recompile ${PN}."
|
| 87 |
|
eapply "${FILESDIR}/${PN}-9.1-openjdk21.patch"
|
|
80 |
eapply "${FILESDIR}/${PN}-10.0.3-openjdk21.patch"
|
| 88 |
81 |
fi
|
| 89 |
82 |
}
|
| 90 |
83 |
|
| ... | ... | |
| 93 |
86 |
-DCMAKE_INSTALL_PREFIX="/usr"
|
| 94 |
87 |
# Resulting binary is named prismlauncher
|
| 95 |
88 |
-DLauncher_APP_BINARY_NAME="${PN}"
|
| 96 |
|
-DLauncher_BUILD_PLATFORM="Gentoo"
|
|
89 |
-DLauncher_BUILD_PLATFORM="${BRANDING_OS_PRETTY_NAME}"
|
| 97 |
90 |
-DLauncher_QT_VERSION_MAJOR=6
|
| 98 |
91 |
|
| 99 |
92 |
-DENABLE_LTO=$(tc-is-lto)
|