commit: a33d6f330ca2ed4de966822261accdbb4d468582 Author: Thiago Donato Ferreira <flowlnlnln <AT> gmail <DOT> com> AuthorDate: Sat Apr 9 10:30:37 2022 +0000 Commit: Thiago Donato Ferreira <flowlnlnln <AT> gmail <DOT> com> CommitDate: Sat Apr 9 10:36:41 2022 +0000 URL: https://gitweb.gentoo.org/repo/proj/guru.git/commit/?id=a33d6f33
games-action/polymc: new package Signed-off-by: Thiago Donato Ferreira <flowlnlnln <AT> gmail.com> games-action/polymc/Manifest | 1 + games-action/polymc/metadata.xml | 17 ++++++ games-action/polymc/polymc-1.1.1.ebuild | 93 +++++++++++++++++++++++++++++++++ games-action/polymc/polymc-9999.ebuild | 89 +++++++++++++++++++++++++++++++ 4 files changed, 200 insertions(+) diff --git a/games-action/polymc/Manifest b/games-action/polymc/Manifest new file mode 100644 index 000000000..bb6f6641a --- /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 000000000..a3aeebb29 --- /dev/null +++ b/games-action/polymc/metadata.xml @@ -0,0 +1,17 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>flowlnl...@gmail.com</email> + <name>Thiago Donato Ferreira</name> + </maintainer> + <maintainer type="person"> + <email>sw...@swurl.xyz</email> + <name>Carson Rueter</name> + </maintainer> + <upstream> + <bugs-to>https://github.com/PolyMC/PolyMC/issues</bugs-to> + <doc>https://polymc.org/wiki/</doc> + </upstream> + <longdescription lang="en">PolyMC is a multi-instance Minecraft launcher focused on user freedom, redistributability, and simplicity.</longdescription> +</pkgmetadata> 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 000000000..d93038a61 --- /dev/null +++ b/games-action/polymc/polymc-1.1.1.ebuild @@ -0,0 +1,93 @@ +# 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/" +DESCRIPTION="A custom, open source Minecraft launcher" + +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 +" + +# GPL-3 for PolyMC +# LGPL-3 for libnbtplusplus +# LGPL-2.1 with linking exception for Quazip +LICENSE="GPL-3 LGPL-3 LGPL-2.1-with-linking-exception" + +SLOT="0" +KEYWORDS="amd64" + +IUSE="debug" + +QT_DEPS=" + >=dev-qt/qtcore-5.6.0:5 + >=dev-qt/qttest-5.6.0:5 + >=dev-qt/qtconcurrent-5.6.0:5 + >=dev-qt/qtgui-5.6.0:5 + >=dev-qt/qtnetwork-5.6.0:5 + >=dev-qt/qtwidgets-5.6.0:5 + >=dev-qt/qtxml-5.6.0:5 +" + +BDEPEND=" + ${QT_DEPS} + sys-libs/zlib + >=virtual/jdk-1.8.0:* + media-libs/libglvnd +" + +DEPEND=" + ${QT_DEPS} + >=virtual/jre-1.8.0:* + virtual/opengl +" + +RDEPEND="${DEPEND}" + +# We'll fetch the files from the GitHub archive directly, at least for now... +RESTRICT="mirror" + +# The PolyMC's files are unpacked to ${WORKDIR}/PolyMC-${PV} +S="${WORKDIR}/${MY_PN}-${PV}" + +src_prepare(){ + default + 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=false + -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 000000000..ae09f674b --- /dev/null +++ b/games-action/polymc/polymc-9999.ebuild @@ -0,0 +1,89 @@ +# Copyright 1999-2022 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +inherit cmake git-r3 java-pkg-2 optfeature xdg + +HOMEPAGE="https://polymc.org/" +DESCRIPTION="A custom, open source Minecraft launcher" + +EGIT_REPO_URI=" + https://github.com/PolyMC/PolyMC + https://github.com/MultiMC/libnbtplusplus + https://github.com/stachenov/quazip +" + +# GPL-3 for PolyMC +# LGPL-3 for libnbtplusplus +# LGPL-2.1 with linking exception for Quazip +LICENSE="GPL-3 LGPL-3 LGPL-2.1-with-linking-exception" + +SLOT="0" + +IUSE="debug" + +QT_DEPS=" + >=dev-qt/qtcore-5.6.0:5 + >=dev-qt/qttest-5.6.0:5 + >=dev-qt/qtconcurrent-5.6.0:5 + >=dev-qt/qtgui-5.6.0:5 + >=dev-qt/qtnetwork-5.6.0:5 + >=dev-qt/qtwidgets-5.6.0:5 + >=dev-qt/qtxml-5.6.0:5 +" + +BDEPEND=" + ${QT_DEPS} + sys-libs/zlib + >=virtual/jdk-1.8.0:* + media-libs/libglvnd +" + +DEPEND=" + ${QT_DEPS} + >=virtual/jre-1.8.0:* + virtual/opengl +" + +RDEPEND="${DEPEND}" + +src_prepare() { + if ${PV} != 9999; then + EGIT_COMMIT="${PV}" + fi + + git submodule init + git config submodule.libnbtplusplus.url "${WORKDIR}/libnbtplusplus" + git config submodule.quazip.url "${WORKDIR}/quazip" + git submodule update + + default + cmake_src_prepare +} + +src_configure(){ + if use debug; then + CMAKE_BUILD_TYPE=Debug + else + CMAKE_BUILD_TYPE=Release + fi + + local mycmakeargs=( + -DLauncher_PORTABLE=0 + -DCMAKE_INSTALL_PREFIX="/usr" + -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 +}