mirror of
https://github.com/gentoo-mirror/guru.git
synced 2026-04-07 03:10:15 -04:00
115 lines
2.7 KiB
Bash
115 lines
2.7 KiB
Bash
# Copyright 1999-2021 Gentoo Authors
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
EAPI=7
|
|
|
|
PLOCALES="cs de en es fr it nl pt ru uk"
|
|
PLOCALE_BACKUP="en"
|
|
LUA_COMPAT=( lua5-1 luajit )
|
|
|
|
inherit cmake lua-single plocale
|
|
|
|
if [[ ${PV} == *9999* ]]; then
|
|
EGIT_REPO_URI="https://github.com/instead-hub/${PN}.git"
|
|
inherit git-r3
|
|
else
|
|
SRC_URI="https://github.com/instead-hub/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
|
|
KEYWORDS="~amd64 ~x86"
|
|
fi
|
|
|
|
DESCRIPTION="INSTEAD text-based quest game engine"
|
|
HOMEPAGE="https://instead.hugeping.ru/"
|
|
|
|
LICENSE="MIT"
|
|
SLOT="0"
|
|
IUSE="doc +iconv +sdl2"
|
|
# gtk3 is forced since gtk2 already near its end-of-life
|
|
# harfbuzz support requres features from SDL2_ttf version which is not yet released (>2.0.15)
|
|
|
|
REQUIRED_USE="
|
|
${LUA_REQUIRED_USE}
|
|
"
|
|
|
|
BDEPEND="
|
|
virtual/pkgconfig
|
|
${LUA_DEPS}
|
|
"
|
|
|
|
SDL_DEPS="
|
|
media-libs/libsdl!VER![sound,video]
|
|
media-libs/sdl!VER!-mixer
|
|
media-libs/sdl!VER!-image
|
|
media-libs/sdl!VER!-ttf
|
|
"
|
|
|
|
COMMON_DEPEND="
|
|
${LUA_DEPS}
|
|
sys-libs/zlib
|
|
x11-libs/gtk+:3
|
|
sdl2? ( ${SDL_DEPS//!VER!/2} )
|
|
!sdl2? ( ${SDL_DEPS//!VER!/} )
|
|
iconv? ( >=virtual/libiconv-0-r1 )
|
|
"
|
|
# harfbuzz? (
|
|
# media-libs/harfbuzz
|
|
# media-libs/sdl!VER!-ttf[harfbuzz]
|
|
# )
|
|
|
|
RDEPEND="${COMMON_DEPEND}"
|
|
DEPEND="${COMMON_DEPEND}"
|
|
|
|
DOCS=( AUTHORS ChangeLog README.md )
|
|
|
|
src_prepare() {
|
|
plocale_find_changes "${S}/lang" "" ".ini"
|
|
|
|
rm_loc() { rm "lang/$1.ini" || die; }
|
|
plocale_for_each_disabled_locale rm_loc
|
|
|
|
# The docs dir contains some code to build pdf out of the Markdown docs, but it requires some
|
|
# weird util called multimarkdown, so we will just install the md's themselfs.
|
|
if use doc; then
|
|
EXTRA_DOCS=()
|
|
for l in $(plocale_get_locales) ${PLOCALE_BACKUP}; do
|
|
for d in "docs/modules-$l.md" "docs/stead3-$l.md"; do
|
|
if [[ -f "$d" ]]; then
|
|
EXTRA_DOCS=( "${EXTRA_DOCS[@]}" "$d" )
|
|
fi
|
|
done
|
|
done
|
|
|
|
DOCS=( "${DOCS[@]}" "${EXTRA_DOCS[@]}" )
|
|
fi
|
|
|
|
cmake_src_prepare
|
|
}
|
|
|
|
src_configure() {
|
|
local mycmakeargs=(
|
|
-DWITH_GTK2=OFF
|
|
-DWITH_GTK3=ON
|
|
-DWITH_LUAJIT="$(usex lua_single_target_luajit)"
|
|
-DWITH_ICONV="$(usex iconv)"
|
|
-DWITH_SDL2="$(usex sdl2)"
|
|
)
|
|
# -DWITH_HARFBUZZ="$(usex harfbuzz)"
|
|
|
|
cmake_src_configure
|
|
}
|
|
|
|
pkg_postinst() {
|
|
elog "The instead package contains only a game engine. The actual"
|
|
elog "games have to be installed separately. To install a game"
|
|
elog "download an archive and extract it to ~/.instead/games or"
|
|
elog "to ${EPREFIX}/usr/share/instead/games."
|
|
elog ""
|
|
elog "A collection of various games can be found at:"
|
|
elog " https://instead.itch.io/"
|
|
elog " http://instead-games.ru/"
|
|
elog ""
|
|
elog "Also there are some third-party tools to manage download"
|
|
elog "and installation of games like insteadman3:"
|
|
elog " https://jhekasoft.github.io/insteadman"
|
|
|
|
}
|