forked from gentoo/gentoo
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Signed-off-by: Thiago Donato Ferreira <[email protected]> Signed-off-by: Andrew Ammerlaan <[email protected]>
- Loading branch information
1 parent
7a3352a
commit ae95da5
Showing
2 changed files
with
149 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,2 +1,3 @@ | ||
DIST prismlauncher-6.1.tar.gz 15238520 BLAKE2B 358c8b7377200598ec8f8f855db9b82c07aba82c939bacdb2d4af6c84a68306450f6d30fba97c9fdc3134f3c28abfc524a8853f36fbf5d32201a91635f22f5c8 SHA512 b4c55ee7bc3d71e13f1ca514b6fc4a0826e49ddb6c93c7d4f9d3fd226e6062a0678e29bf2736f3ae79e205f7c28e4b3782051b92dcd6293471e20d87f646ead5 | ||
DIST prismlauncher-6.3.tar.gz 15675450 BLAKE2B 6117172ad13c56c809755230cc9acd1a3987c9cc40bf80e853bfdcb319811ab5fd67cfe981a5301ac8a7bed7ef43f8d93fef31a368095fc8933d4782be7038fd SHA512 ccd37df6113b4c0460a6a2be6babed8d977d07a94f04e0dde65e185008158a4c99a6a991222de66756200b9aafcae8c441e4c30375306affcbe8e158b9242fc4 | ||
DIST prismlauncher-7.0.tar.gz 17921335 BLAKE2B ed3c5e89ff6787ab3df8832f1b8f7381f27bf850fda296c056df5f891c180fcd82071727814a911f573905570637c192fbfad590491f75f6802e53b7564b1b43 SHA512 472eb12c10a68e914f11bba4b720f7f05930db2b33ef44d50962eec4ee88ecdb9ba43de1730bda81e3fdb8bbd2ea97bf1caa0da35af285b99307949b20f94d55 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,148 @@ | ||
# Copyright 1999-2023 Gentoo Authors | ||
# Distributed under the terms of the GNU General Public License v2 | ||
|
||
EAPI=8 | ||
|
||
inherit cmake java-pkg-2 optfeature xdg | ||
|
||
HOMEPAGE="https://prismlauncher.org/ https://github.com/PrismLauncher/PrismLauncher" | ||
DESCRIPTION="A custom, open source Minecraft launcher" | ||
|
||
if [[ ${PV} == 9999 ]]; then | ||
inherit git-r3 | ||
|
||
EGIT_REPO_URI=" | ||
https://github.com/PrismLauncher/PrismLauncher | ||
" | ||
|
||
# TODO: Add tomlplusplus as a system library, like quazip | ||
EGIT_SUBMODULES=( '*' '-libraries/quazip' '-libraries/filesystem' '-libraries/zlib' '-libraries/extra-cmake-modules' '-libraries/cmark' ) | ||
else | ||
MY_PN="PrismLauncher" | ||
|
||
# Let's use the vendored tarball to avoid dealing with the submodules directly | ||
SRC_URI=" | ||
https://github.com/PrismLauncher/PrismLauncher/releases/download/${PV}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz | ||
" | ||
|
||
# The Prism's files are unpacked to ${WORKDIR}/PrismLauncher-${PV} | ||
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 | ||
# MIT for tomlplusplus | ||
# See the rest of PrismLauncher's libraries at 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+ MIT" | ||
|
||
SLOT="0" | ||
|
||
IUSE="debug lto qt6 test" | ||
REQUIRED_USE=" | ||
lto? ( !debug ) | ||
" | ||
|
||
RESTRICT="!test? ( test )" | ||
|
||
MIN_QT_5_VERSION="5.12.0" | ||
MIN_QT_6_VERSION="6.0.0" | ||
|
||
QT_DEPS=" | ||
!qt6? ( | ||
>=dev-qt/qtconcurrent-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qtcore-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qtgui-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qtnetwork-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qttest-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qtwidgets-${MIN_QT_5_VERSION}:5 | ||
>=dev-qt/qtxml-${MIN_QT_5_VERSION}:5 | ||
) | ||
qt6? ( | ||
>=dev-qt/qtbase-${MIN_QT_6_VERSION}:6[concurrent,gui,network,widgets,xml(+)] | ||
>=dev-qt/qt5compat-${MIN_QT_6_VERSION}:6 | ||
) | ||
" | ||
|
||
# Required at both build-time and run-time | ||
COMMON_DEPENDS=" | ||
${QT_DEPS} | ||
!qt6? ( >=dev-libs/quazip-1.3:=[qt5(+)] ) | ||
qt6? ( >=dev-libs/quazip-1.3:=[qt6(-)] ) | ||
sys-libs/zlib | ||
" | ||
|
||
# The gulrak-filesystem dependency is only needed at build time, because we don't actually use it on Linux, | ||
# only on legacy macOS. Still, we need it present at build time to appease CMake, and having it like this | ||
# makes it easier to maintain than patching the CMakeLists file directly. | ||
BDEPEND=" | ||
app-text/cmark | ||
app-text/scdoc | ||
dev-cpp/gulrak-filesystem | ||
kde-frameworks/extra-cmake-modules:5 | ||
" | ||
|
||
DEPEND=" | ||
${COMMON_DEPENDS} | ||
media-libs/libglvnd | ||
>=virtual/jdk-1.8.0:* | ||
" | ||
|
||
# At run-time we don't depend on JDK, only JRE | ||
# And we need more than just the GL headers | ||
RDEPEND=" | ||
${COMMON_DEPENDS} | ||
!qt6? ( >=dev-qt/qtsvg-${MIN_QT_5_VERSION}:5 ) | ||
qt6? ( >=dev-qt/qtsvg-${MIN_QT_6_VERSION}:6 ) | ||
>=virtual/jre-1.8.0:* | ||
virtual/opengl | ||
" | ||
|
||
src_prepare() { | ||
cmake_src_prepare | ||
|
||
# Prevent conflicting with the user's flags | ||
# See https://bugs.gentoo.org/848765 for more info | ||
sed -i -e 's/-Werror//' -e 's/-D_FORTIFY_SOURCE=2//' CMakeLists.txt || die 'Failed to remove -Werror and -D_FORTIFY_SOURCE via sed' | ||
} | ||
|
||
src_configure(){ | ||
local mycmakeargs=( | ||
-DCMAKE_INSTALL_PREFIX="/usr" | ||
# Resulting binary is named prismlauncher | ||
-DLauncher_APP_BINARY_NAME="${PN}" | ||
-DLauncher_QT_VERSION_MAJOR=$(usex qt6 6 5) | ||
|
||
-DENABLE_LTO=$(usex lto) | ||
-DBUILD_TESTING=$(usex test) | ||
) | ||
|
||
if use debug; then | ||
CMAKE_BUILD_TYPE=Debug | ||
else | ||
CMAKE_BUILD_TYPE=Release | ||
fi | ||
|
||
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" games-util/mangohud | ||
optfeature "built-in Feral Gamemode support" games-util/gamemode | ||
} |