diff options
-rw-r--r-- | games-action/polymc/Manifest | 1 | ||||
-rw-r--r-- | games-action/polymc/polymc-1.2.2.ebuild | 115 |
2 files changed, 116 insertions, 0 deletions
diff --git a/games-action/polymc/Manifest b/games-action/polymc/Manifest index 3ec18031f066..8d911f723887 100644 --- a/games-action/polymc/Manifest +++ b/games-action/polymc/Manifest @@ -1 +1,2 @@ DIST polymc-1.2.1.tar.gz 5157547 BLAKE2B 92a65cd1303b4f2dce299d2a40824de54babd47bd21a894827e7a0e94276551fc747873ba44e63ac13b3ca46649c3d5280ec9eecd92eb63678f8cbc3c27e4f69 SHA512 193415b552dbc3f540f481c22e36c2b9d0604757cb12283ec0fc2979246757937648b76821818f0742b3f5201ed7af8e535dff9ef3d5efcb22f7a1ddf9ee67d2 +DIST polymc-1.2.2.tar.gz 5167667 BLAKE2B 5cc26d1650f9cf851ad01d3bc75a0ec3f19b3aa50031a91a3c9c16e9bc73dabfc495e408b8c83559026f3af03b86fdd5c83815f04c62121b71c144d1548d764c SHA512 d81d1aaba5361c8ad664bbecffd9869dda637002a5c1288142f40d21abca974d6cc03a50685be5f70a01d5b1ae8bcff4e48c5b849f6c3dcd959e5977582ada58 diff --git a/games-action/polymc/polymc-1.2.2.ebuild b/games-action/polymc/polymc-1.2.2.ebuild new file mode 100644 index 000000000000..00e26da2635e --- /dev/null +++ b/games-action/polymc/polymc-1.2.2.ebuild @@ -0,0 +1,115 @@ +# 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://polymc.org/ https://github.com/PolyMC/PolyMC" +DESCRIPTION="A custom, open source Minecraft launcher" + +if [[ ${PV} == 9999 ]]; then + inherit git-r3 + + EGIT_REPO_URI=" + https://github.com/PolyMC/PolyMC + https://github.com/PolyMC/libnbtplusplus + " + + EGIT_SUBMODULES=( 'depends/libnbtplusplus' ) +else + MY_PN="PolyMC" + + # Let's use the vendored tarball to avoid dealing with the submodules directly + SRC_URI=" + https://github.com/PolyMC/PolyMC/releases/download/${PV}/${MY_PN}-${PV}.tar.gz -> ${P}.tar.gz + " + + # The PolyMC's files are unpacked to ${WORKDIR}/PolyMC-${PV} + S="${WORKDIR}/${MY_PN}-${PV}" + + KEYWORDS="~amd64" +fi + +# Apache-2.0 for MultiMC (PolyMC is forked from it) +# GPL-3 for PolyMC +# LGPL-3 for libnbtplusplus +# See the rest of PolyMC's libraries at https://github.com/PolyMC/PolyMC/tree/develop/libraries +LICENSE="Apache-2.0 Boost-1.0 BSD BSD-2 GPL-2+ GPL-3 LGPL-3 OFL-1.1 MIT" + +SLOT="0" + +IUSE="debug lto" +REQUIRED_USE=" + lto? ( !debug ) +" + +MIN_QT="5.6.0" + +QT_DEPS=" + >=dev-qt/qtconcurrent-${MIN_QT}:5 + >=dev-qt/qtcore-${MIN_QT}:5 + >=dev-qt/qtgui-${MIN_QT}:5 + >=dev-qt/qtnetwork-${MIN_QT}:5 + >=dev-qt/qttest-${MIN_QT}:5 + >=dev-qt/qtwidgets-${MIN_QT}:5 + >=dev-qt/qtxml-${MIN_QT}:5 +" + +# Required at both build-time and run-time +COMMON_DEPENDS=" + ${QT_DEPS} + >=dev-libs/quazip-1.3:= + sys-libs/zlib +" + +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} + >=virtual/jre-1.8.0:* + virtual/opengl +" + +if [[ ${PV} != 9999 ]]; then + PATCHES=( "${FILESDIR}/${PN}-iconfix.patch" ) +fi + +src_prepare() { + cmake_src_prepare +} + +src_configure(){ + local mycmakeargs=( + -DCMAKE_INSTALL_PREFIX="/usr" + # Resulting binary is named polymc + -DLauncher_APP_BINARY_NAME="${PN}" + + -DENABLE_LTO=$(usex lto) + ) + + 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 + + # https://github.com/PolyMC/PolyMC/issues/227 + optfeature "old Minecraft (<= 1.12.2) support" x11-libs/libXrandr +} |