summaryrefslogtreecommitdiff
path: root/games-strategy
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-27 03:04:42 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-27 03:04:42 -0500
commitc6e6588bafac78d585ece24e4dabdf99f3af211d (patch)
treee68bccff68681d3201cf21c1a5682ad5abbfd4f3 /games-strategy
parent8a7e9bb6193b9b54ffb149bdf92c9689a3798e00 (diff)
downloadbaldeagleos-repo-c6e6588bafac78d585ece24e4dabdf99f3af211d.tar.gz
baldeagleos-repo-c6e6588bafac78d585ece24e4dabdf99f3af211d.tar.xz
baldeagleos-repo-c6e6588bafac78d585ece24e4dabdf99f3af211d.zip
Adding metadata
Diffstat (limited to 'games-strategy')
-rw-r--r--games-strategy/vcmi/Manifest3
-rw-r--r--games-strategy/vcmi/metadata.xml22
-rw-r--r--games-strategy/vcmi/vcmi-1.7.4.ebuild157
3 files changed, 182 insertions, 0 deletions
diff --git a/games-strategy/vcmi/Manifest b/games-strategy/vcmi/Manifest
new file mode 100644
index 000000000000..0fb4fb296f67
--- /dev/null
+++ b/games-strategy/vcmi/Manifest
@@ -0,0 +1,3 @@
+DIST vcmi-1.7.4.tar.gz 13523198 BLAKE2B 2e4a30c14dc2d08f6c0626adc54eb15e33d620a7cbabc8f91e22fb52e5dce22d71ddd49f9a401affca29b1a74d2edff60d50e4aa4dde58735880d8bab6a432d4 SHA512 b770e7512ce30bb6b309de37c6762946b39aac475d3aeab21af7709975e2b3063055694ad85b35d33f5713ba883a8d094dbc7b15a2fc1a76b206ca854e433d4c
+DIST vcmi-discord-presence-52501e140db1c18d9da37dff9a9529bc4a9943c2.tar.gz 21765 BLAKE2B f6cc0273c376f62f75f93cab83df35d6e1e9c824cf7e983f0ceb6b5f8a4f6135f4080cc5263b0a108675ca4892a1244a1d5982c63aeb8412a70cc0a49e3c93ee SHA512 c23a179be454de191d3c7eda2a3db886a7e63a8b346843e56d3fc446248068a953666d775e1cd488eaf7aabde8b6071d2f4fb0e54185b6d1462b03a9a570cf38
+DIST vcmi-innoextract-96e9566a35fb51ebf13ffbdadfd49a93c1ae5c1a.tar.gz 216127 BLAKE2B c2f49d0f43bc998b7ecde21928406a807c9351fe3a5b0572eff7127c16fb2f101cad47fb1c4ca26f4fce1ee9cd110e5acac2930dd4bc89101bd7a27e7454a242 SHA512 e5359a7755e80be73949ed28b0d37a718aa283fb349add1526be914ea4fae62208e4c0490a58af0f3b135c7ee4df6235f9430827ab3a65d4d1cd129954ed4af9
diff --git a/games-strategy/vcmi/metadata.xml b/games-strategy/vcmi/metadata.xml
new file mode 100644
index 000000000000..775f91d26943
--- /dev/null
+++ b/games-strategy/vcmi/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>games@gentoo.org</email>
+ <name>Gentoo Games</name>
+ </maintainer>
+ <longdescription>
+ VCMI is an open-source engine for Heroes III, offering new and extended possibilities.
+ To use VCMI, you need to own the original data files.
+ </longdescription>
+ <use>
+ <flag name="discord">Enable Discord integration</flag>
+ <flag name="editor">Enable editor support</flag>
+ <flag name="erm">Enable compilation of ERM scripting module</flag>
+ <flag name="launcher">Enable launcher support</flag>
+ <flag name="lobby">Enable lobby server</flag>
+ <flag name="translations">Install translations</flag>
+ <flag name="video">Enable video support using ffmpeg</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/games-strategy/vcmi/vcmi-1.7.4.ebuild b/games-strategy/vcmi/vcmi-1.7.4.ebuild
new file mode 100644
index 000000000000..6f5ae06275c4
--- /dev/null
+++ b/games-strategy/vcmi/vcmi-1.7.4.ebuild
@@ -0,0 +1,157 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+LUA_COMPAT=( lua5-{1,3,4} luajit )
+
+inherit cmake lua-single xdg-utils
+
+DESCRIPTION="Open-source engine for Heroes of Might and Magic III"
+HOMEPAGE="https://vcmi.eu/"
+
+INNO_SHA="96e9566a35fb51ebf13ffbdadfd49a93c1ae5c1a"
+DISCORD_PRESENCE_SHA="52501e140db1c18d9da37dff9a9529bc4a9943c2"
+SRC_URI="
+ https://github.com/${PN}/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz
+ launcher? (
+ https://github.com/vcmi/innoextract/archive/${INNO_SHA}.tar.gz -> ${PN}-innoextract-${INNO_SHA}.tar.gz
+ )
+ discord? (
+ https://github.com/EclipseMenu/discord-presence/archive/${DISCORD_PRESENCE_SHA}.tar.gz
+ -> ${PN}-discord-presence-${DISCORD_PRESENCE_SHA}.tar.gz
+ )
+"
+# N.B.: see here for correct commit of innoextract:
+# https://github.com/vcmi/vcmi/tree/develop/launcher/lib
+
+LICENSE="GPL-2+ discord? ( MIT ) launcher? ( ZLIB )"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+discord +editor erm +launcher lobby lua +translations +video"
+
+REQUIRED_USE="
+ erm? ( lua )
+ lua? ( ${LUA_REQUIRED_USE} )
+"
+
+RDEPEND="
+ dev-cpp/tbb:=
+ dev-libs/boost:=[nls]
+ dev-libs/fuzzylite:=
+ media-libs/libsdl2:=[video]
+ media-libs/libsquish:=
+ media-libs/sdl2-image:=
+ media-libs/sdl2-mixer:=
+ media-libs/sdl2-ttf:=
+ virtual/minizip:=
+ virtual/zlib:=
+ discord? ( dev-libs/libfmt:= )
+ editor? (
+ dev-qt/qtbase:6[gui,network,widgets,xml]
+ dev-qt/qtsvg:6
+ )
+ launcher? (
+ app-arch/xz-utils
+ dev-libs/boost:=[bzip2,zlib]
+ dev-qt/qtbase:6[gui,network,widgets]
+ )
+ lobby? ( dev-db/sqlite:3 )
+ lua? ( ${LUA_DEPS} )
+ video? ( media-video/ffmpeg:= )
+"
+ # app-arch/innoextract
+ # XXX: vcmi wants it's own patched version to build extractor as library
+DEPEND="
+ ${RDEPEND}
+ discord? ( dev-cpp/glaze )
+"
+BDEPEND="
+ virtual/pkgconfig
+ launcher? ( translations? ( dev-qt/qttools:6[linguist] ) )
+ editor? ( translations? ( dev-qt/qttools:6[linguist] ) )
+"
+
+src_unpack() {
+ default
+
+ if use launcher; then
+ rmdir "${S}/launcher/lib/innoextract" || die
+ mv "${WORKDIR}/innoextract-${INNO_SHA}" "${S}/launcher/lib/innoextract" || die
+ fi
+
+ if use discord; then
+ rmdir "${S}/client/lib/discord-presence" || die
+ mv "${WORKDIR}/discord-presence-${DISCORD_PRESENCE_SHA}" "${S}/client/lib/discord-presence" || die
+ fi
+}
+
+src_prepare() {
+ default
+
+ # Avoid GCC ICE with -Wmismatched-tags
+ sed -i -e '/-Wmismatched-tags/d' CMakeLists.txt || die
+ # Use FindBoost
+ sed -i -e 's/cmake_policy(SET CMP0167 NEW)/cmake_policy(SET CMP0167 OLD)/' CMakeLists.txt || die
+ # Fix launcher linking
+ sed -i -e '/target_link_libraries(vcmilauncher innoextract)/i\find_package(LibLZMA REQUIRED)' \
+ -e 's/target_link_libraries(vcmilauncher innoextract)/target_link_libraries(vcmilauncher innoextract Boost::iostreams LibLZMA::LibLZMA)/' \
+ launcher/CMakeLists.txt || die
+
+ if use discord; then
+ # Drop the CPM bootstrap.
+ # It downloads deps fmt and glaze which are provided by deps.
+ sed -i '/include(cmake\/CPM.cmake)/d' \
+ client/lib/discord-presence/CMakeLists.txt || die
+ fi
+
+ cmake_prepare
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DENABLE_DISCORD=$(usex discord)
+ -DENABLE_EDITOR=$(usex editor)
+ -DENABLE_ERM=$(usex erm)
+ -DENABLE_LAUNCHER=$(usex launcher)
+ -DENABLE_LOBBY=$(usex lobby)
+ -DENABLE_LUA=$(usex lua)
+ -DENABLE_TRANSLATIONS=$(usex translations)
+ -DENABLE_VIDEO=$(usex video)
+
+ -DENABLE_BATTLE_AI=ON
+ -DENABLE_GITVERSION=OFF
+ -DENABLE_MMAI=OFF
+ -DENABLE_MONOLITHIC_INSTALL=OFF
+ -DENABLE_NULLKILLER_AI=ON
+ -DENABLE_NULLKILLER2_AI=ON
+ -DENABLE_STUPID_AI=ON
+ -DFORCE_BUNDLED_FL=OFF
+ -DBoost_NO_BOOST_CMAKE=ON
+ )
+
+ cmake_src_configure
+}
+
+pkg_postinst() {
+ elog 'For the game to work properly, please copy "Data", "Maps" and "Mp3"'
+ elog "from Heroes III to \$HOME/.local/share/${PN}."
+ elog "or use 'vcmibuilder' utility on your:"
+ elog " a) One or two CD's or CD images"
+ elog " b) gog.com installer"
+ elog " c) Directory with installed game"
+ elog ""
+ elog "For more information, please visit:"
+ elog "https://github.com/vcmi/vcmi/blob/${PV}/docs/players/Installation_Linux.md"
+ elog ""
+ elog "Also, you may want to install VCMI Extras and Wake of Gods"
+ elog "mods from the launcher after you start the game."
+
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}