From 0fa539b364d9e3fca1d9fdf2a164e413afb1cb43 Mon Sep 17 00:00:00 2001 From: Thiago Donato Ferreira Date: Sat, 9 Apr 2022 19:05:06 -0300 Subject: [PATCH] games-action/polymc: initial import from ::guru, version 1.1.1 Closes: https://github.com/gentoo/gentoo/pull/24966 Signed-off-by: Thiago Donato Ferreira Signed-off-by: Andrew Ammerlaan --- games-action/polymc/Manifest | 1 + games-action/polymc/metadata.xml | 26 ++++++ games-action/polymc/polymc-1.1.1.ebuild | 108 ++++++++++++++++++++++++ games-action/polymc/polymc-9999.ebuild | 108 ++++++++++++++++++++++++ 4 files changed, 243 insertions(+) create mode 100644 games-action/polymc/Manifest create mode 100644 games-action/polymc/metadata.xml create mode 100644 games-action/polymc/polymc-1.1.1.ebuild create mode 100644 games-action/polymc/polymc-9999.ebuild diff --git a/games-action/polymc/Manifest b/games-action/polymc/Manifest new file mode 100644 index 0000000000000..b44203e704b52 --- /dev/null +++ b/games-action/polymc/Manifest @@ -0,0 +1 @@ +DIST polymc-1.1.1.tar.gz 5116164 BLAKE2B ca251cac3c8ea21de8a59297a0e637dac078d751476fec5fe86696df270c63ff079779056f016fa656506ea205bb7ace50ab6e0df190ffca14e43297b92292af SHA512 db32479e9e8a92ec61292c97281673b3084e1085d29b764214834de872d9eddf2ed1d2e383bcd79197e0c9321eec025af652b12c863596ff6abb0f5fba9a7af5 diff --git a/games-action/polymc/metadata.xml b/games-action/polymc/metadata.xml new file mode 100644 index 0000000000000..78a705414ef3d --- /dev/null +++ b/games-action/polymc/metadata.xml @@ -0,0 +1,26 @@ + + + + + flowlnlnln@gmail.com + Thiago Donato Ferreira + + + swurl@swurl.xyz + Carson Rueter + + + andrewammerlaan@gentoo.org + Andrew Ammerlaan + + + proxy-maint@gentoo.org + Proxy Maintainers + + + https://github.com/PolyMC/PolyMC/issues + https://polymc.org/wiki/ + PolyMC/PolyMC + + PolyMC is a multi-instance Minecraft launcher focused on user freedom, redistributability, and simplicity. + diff --git a/games-action/polymc/polymc-1.1.1.ebuild b/games-action/polymc/polymc-1.1.1.ebuild new file mode 100644 index 0000000000000..d036cb15c6350 --- /dev/null +++ b/games-action/polymc/polymc-1.1.1.ebuild @@ -0,0 +1,108 @@ +# 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/MultiMC/libnbtplusplus + https://github.com/stachenov/quazip + " + + # Include all submodules + EGIT_SUBMODULES=( '*' ) +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 +# LGPL-2.1 with linking exception for Quazip +# 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 LGPL-2.1-with-linking-exception OFL-1.1 MIT" + +SLOT="0" + +IUSE="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 +" + +DEPEND=" + ${QT_DEPS} + media-libs/libglvnd + sys-libs/zlib + >=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=" + ${QT_DEPS} + sys-libs/zlib + >=virtual/jre-1.8.0:* + virtual/opengl +" + +src_prepare() { + cmake_src_prepare +} + +src_configure(){ + if use debug; then + CMAKE_BUILD_TYPE=Debug + else + # Prepare for LTO in 1.2.0 (?) + # See https://github.com/PolyMC/PolyMC/pull/333 + CMAKE_BUILD_TYPE=Release + fi + + local mycmakeargs=( + # Do a system install + -DLauncher_PORTABLE=0 + -DCMAKE_INSTALL_PREFIX="/usr" + # Resulting binary is named polymc + -DLauncher_APP_BINARY_NAME="${PN}" + ) + + 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 +} diff --git a/games-action/polymc/polymc-9999.ebuild b/games-action/polymc/polymc-9999.ebuild new file mode 100644 index 0000000000000..d036cb15c6350 --- /dev/null +++ b/games-action/polymc/polymc-9999.ebuild @@ -0,0 +1,108 @@ +# 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/MultiMC/libnbtplusplus + https://github.com/stachenov/quazip + " + + # Include all submodules + EGIT_SUBMODULES=( '*' ) +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 +# LGPL-2.1 with linking exception for Quazip +# 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 LGPL-2.1-with-linking-exception OFL-1.1 MIT" + +SLOT="0" + +IUSE="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 +" + +DEPEND=" + ${QT_DEPS} + media-libs/libglvnd + sys-libs/zlib + >=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=" + ${QT_DEPS} + sys-libs/zlib + >=virtual/jre-1.8.0:* + virtual/opengl +" + +src_prepare() { + cmake_src_prepare +} + +src_configure(){ + if use debug; then + CMAKE_BUILD_TYPE=Debug + else + # Prepare for LTO in 1.2.0 (?) + # See https://github.com/PolyMC/PolyMC/pull/333 + CMAKE_BUILD_TYPE=Release + fi + + local mycmakeargs=( + # Do a system install + -DLauncher_PORTABLE=0 + -DCMAKE_INSTALL_PREFIX="/usr" + # Resulting binary is named polymc + -DLauncher_APP_BINARY_NAME="${PN}" + ) + + 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 +}