diff --git a/games-action/mcpelauncher-linux/mcpelauncher-linux-20240629.ebuild b/games-action/mcpelauncher-linux/mcpelauncher-linux-20240629.ebuild new file mode 100644 index 0000000..c02d7bf --- /dev/null +++ b/games-action/mcpelauncher-linux/mcpelauncher-linux-20240629.ebuild @@ -0,0 +1,68 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 cmake toolchain-funcs flag-o-matic + +DESCRIPTION="Minecraft Bedrock Launcher for Linux (unofficial)" +HOMEPAGE="https://github.com/minecraft-linux/mcpelauncher-manifest" +SRC_URI="https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip -> nlohmann_json-3.7.3.zip" +EGIT_BRANCH="ng" +EGIT_COMMIT="fa59d0acdff0bcaa4c5e40f6361125cc6d5aead3" +EGIT_REPO_URI="https://github.com/minecraft-linux/mcpelauncher-manifest.git" + +LICENSE="MIT GPL-3" +SLOT="0" +KEYWORDS="" +IUSE="+ui +msa" + +DEPEND=" + net-misc/curl + sys-libs/zlib + media-libs/libpng + dev-libs/libevdev + x11-libs/libXi + dev-qt/qtwebengine:5 + sys-devel/clang:* + sys-devel/llvm:*" +RDEPEND="${DEPEND} + msa? ( games-util/mcpelauncher-msa-client ) + ui? ( games-util/mcpelauncher-ui-qt )" +BDEPEND="" + +# Prevent downloading nlohmann_json sources +PATCHES="${FILESDIR}/system-nlohmann_json.patch" + +src_unpack() { + unpack "${DISTDIR}/nlohmann_json-3.7.3.zip" + git-r3_src_unpack +} + +src_configure() { + # Force clang (pulled from www-client/firefox) + # Some of the code comes from Android which doesn't like GCC + elog "Forcing clang" + AR=llvm-ar + CC=${CHOST}-clang + CXX=${CHOST}-clang++ + NM=llvm-nm + RANLIB=llvm-ranlib + + strip-unsupported-flags + + # Ensure we use correct toolchain + export HOST_CC="$(tc-getBUILD_CC)" + export HOST_CXX="$(tc-getBUILD_CXX)" + tc-export CC CXX LD AR NM OBJDUMP RANLIB PKG_CONFIG + + local mycmakeargs=( + -DUSE_OWN_CURL=OFF # own curl builds broken due to wrong url currently. skip it! + -DBUILD_SHARED_LIBS=OFF + -DUSE_EXTERNAL_JSON=YES # Workaround for nlohmann_json + -DJSON_SOURCES="${WORKDIR}" # Workaround for nlohmann_json + -DJNI_USE_JNIVM=ON + ) + + cmake_src_configure +} diff --git a/games-util/mcpelauncher-msa-client/mcpelauncher-msa-client-20240629.ebuild b/games-util/mcpelauncher-msa-client/mcpelauncher-msa-client-20240629.ebuild new file mode 100644 index 0000000..1c9d350 --- /dev/null +++ b/games-util/mcpelauncher-msa-client/mcpelauncher-msa-client-20240629.ebuild @@ -0,0 +1,44 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 cmake + +DESCRIPTION="Microsoft Account authentication daemon for mcpelauncher" +HOMEPAGE="https://github.com/minecraft-linux/msa-manifest" +SRC_URI="https://github.com/nlohmann/json/releases/download/v3.7.3/include.zip -> nlohmann_json-3.7.3.zip" +EGIT_BRANCH="master" +EGIT_COMMIT="cfcebaa0845df8e0eebaae5b211e38f8d812beab" +EGIT_REPO_URI="https://github.com/minecraft-linux/msa-manifest.git" + +LICENSE="MIT GPL-3" +SLOT="0" +KEYWORDS="" +IUSE="+qt5" + +DEPEND="net-misc/curl + dev-libs/openssl + dev-cpp/nlohmann_json + qt5? ( dev-qt/qtwebengine:5 )" +RDEPEND="${DEPEND}" +BDEPEND="" + +# Prevent downloading nlohmann_json sources +PATCHES="${FILESDIR}/system-nlohmann_json.patch" + +src_unpack() { + unpack "${DISTDIR}/nlohmann_json-3.7.3.zip" + git-r3_src_unpack +} + +src_configure() { + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DUSE_EXTERNAL_JSON=YES # Workaround for nlohmann_json + -DJSON_SOURCES="${WORKDIR}" # Workaround for nlohmann_json + -DENABLE_MSA_QT_UI=$(usex qt5 ON OFF) + ) + + cmake_src_configure +} diff --git a/games-util/mcpelauncher-ui-qt/mcpelauncher-ui-qt-20240629.ebuild b/games-util/mcpelauncher-ui-qt/mcpelauncher-ui-qt-20240629.ebuild new file mode 100644 index 0000000..98bbd55 --- /dev/null +++ b/games-util/mcpelauncher-ui-qt/mcpelauncher-ui-qt-20240629.ebuild @@ -0,0 +1,39 @@ +# Copyright 2021 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +inherit git-r3 cmake flag-o-matic + +DESCRIPTION="mcpelauncher-linux UI" +HOMEPAGE="https://github.com/minecraft-linux/mcpelauncher-ui-manifest" +EGIT_BRANCH="ng" +EGIT_COMMIT="8eed58c4b2f4a83e7f826f0b8c85f87efe6cbc58" +EGIT_REPO_URI="https://github.com/minecraft-linux/mcpelauncher-ui-manifest.git" + +LICENSE="MIT GPL-3" +SLOT="0" +KEYWORDS="" + +DEPEND=" + dev-qt/qtwebengine:5 + dev-qt/qtdeclarative:5 + dev-qt/qtquickcontrols:5 + dev-qt/qtquickcontrols2:5 + dev-qt/qtsvg:5 + dev-libs/libzip + <=dev-libs/protobuf-21.12" # 2024-06-22: temporary measure due to missing symbol issues during linking when building with newer versions +RDEPEND="${DEPEND}" +BDEPEND="" + +src_configure() { + # Doesn't like LTO + filter-flags -flto* + + local mycmakeargs=( + -DBUILD_SHARED_LIBS=OFF + -DLAUNCHER_ENABLE_GLFW=OFF # 2023-08-28: just temporarily to deal with broken glfw source download during build + ) + + cmake_src_configure +}