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
585572a
commit 8c5ec2c
Showing
2 changed files
with
148 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-5.2.tar.gz 8772931 BLAKE2B 95c5be2a177086ba15a1d14a85f8a0edb349bcfbe4e9adff9dcca5c4a8dbf00d3ec49e30a2c99cfbeca2a7617ccaba6cf1f86bd396c1bf9b306c0ad5c1f4a3c7 SHA512 96a5fbf7c5d80da72377a4d8e9df16d4f9597a5764386f5b60d520d84fe319f8b6fbb3f89715214a037a70c440e418eb72e933a911d253fad93fbda9213d16e5 | ||
DIST prismlauncher-6.0.tar.gz 15242433 BLAKE2B 33f99a4c8ca5ace049035edec217890116cbb6cb7b88061d010677d3c5167a986b02116a4fe92e780636e1771e90a550902a9a19e33aa750d90fca6e23761199 SHA512 d80fe1dd1d057003acb8cf9a0f0bf793b346932e068ac516f7f6e6fbed69e1485a9267f7b37f4d6659385e3b01a3f1b41b5ae208ceaaddda0b4e5caf4ac8119f | ||
DIST prismlauncher-6.1.tar.gz 15238520 BLAKE2B 358c8b7377200598ec8f8f855db9b82c07aba82c939bacdb2d4af6c84a68306450f6d30fba97c9fdc3134f3c28abfc524a8853f36fbf5d32201a91635f22f5c8 SHA512 b4c55ee7bc3d71e13f1ca514b6fc4a0826e49ddb6c93c7d4f9d3fd226e6062a0678e29bf2736f3ae79e205f7c28e4b3782051b92dcd6293471e20d87f646ead5 |
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,147 @@ | ||
# Copyright 1999-2022 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' ) | ||
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/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 | ||
} |