|
|
|
# Copyright 1999-2020 Gentoo Authors
|
|
|
|
# Distributed under the terms of the GNU General Public License v2
|
|
|
|
|
|
|
|
EAPI=7
|
|
|
|
|
|
|
|
CDROM_OPTIONAL="yes"
|
|
|
|
inherit cdrom estack
|
|
|
|
|
|
|
|
# For GOG install
|
|
|
|
MY_EXE="setup_the_settlers_2_gold_1.5.1_(30319).exe"
|
|
|
|
|
|
|
|
DESCRIPTION="Data files for The Settlers II: Gold Edition"
|
|
|
|
HOMEPAGE="https://www.gog.com/game/the_settlers_2_gold_edition"
|
|
|
|
# There are non-English GOG downloads but RTTR uses its own translations.
|
|
|
|
SRC_URI="!cdinstall? ( ${MY_EXE} )"
|
|
|
|
LICENSE="!cdinstall? ( GOG-EULA ) cdinstall? ( all-rights-reserved )"
|
|
|
|
SLOT="0"
|
|
|
|
KEYWORDS="~amd64 ~x86"
|
|
|
|
RESTRICT="bindist !cdinstall? ( fetch )"
|
|
|
|
|
|
|
|
RDEPEND="
|
|
|
|
games-strategy/s25rttr
|
|
|
|
"
|
|
|
|
|
|
|
|
BDEPEND="
|
|
|
|
!cdinstall? ( >=app-arch/innoextract-1.8 )
|
|
|
|
"
|
|
|
|
|
|
|
|
S="${WORKDIR}/target"
|
|
|
|
|
|
|
|
pkg_nofetch() {
|
|
|
|
einfo "Please buy and download ${MY_EXE} from:"
|
|
|
|
einfo " https://www.gog.com/game/the_settlers_2_gold_edition"
|
|
|
|
einfo "and move it to your distfiles directory."
|
|
|
|
echo
|
|
|
|
einfo "If you wish to install from CD-ROM instead, please enable the cdinstall flag."
|
|
|
|
}
|
|
|
|
|
|
|
|
dotar() {
|
|
|
|
eshopts_push -s globstar nocaseglob nullglob
|
|
|
|
|
|
|
|
# Uppercase
|
|
|
|
# Avoid copying files twice
|
|
|
|
# Don't include *.ENG or *.GER files as they are unused by RTTR
|
|
|
|
|
|
|
|
tar c \
|
|
|
|
--mode=u+w \
|
|
|
|
--ignore-case \
|
|
|
|
--xform='s:.*:\U\0:x' \
|
|
|
|
--exclude-from=<(find "${S}"/ -type f -printf "%P\n" 2>/dev/null) \
|
|
|
|
{DATA,GFX}/**/*.{BBM,BOB,DAT,FNT,IDX,LBM,LST,RTX,WLD} \
|
|
|
|
| tar x -C "${S}"
|
|
|
|
|
|
|
|
assert "tar failed"
|
|
|
|
eshopts_pop
|
|
|
|
}
|
|
|
|
|
|
|
|
src_unpack() {
|
|
|
|
unset CDROM_SET
|
|
|
|
mkdir -p "${S}" || die
|
|
|
|
|
|
|
|
if use cdinstall; then
|
|
|
|
default
|
|
|
|
cdrom_get_cds S2/GFX/PICS/MISSION/AFRICA.LBM:GFX/PICS/MISSION/AFRICA.LBM:S2/GFX/PICS/SETUP010.LBM ::S2/S2/GFX/PICS/MISSION/AFRICA.LBM
|
|
|
|
|
|
|
|
case ${CDROM_SET} in
|
|
|
|
0)
|
|
|
|
einfo "Found The Settlers II: Gold Edition CD"
|
|
|
|
cd "${CDROM_ROOT}"/[Ss]2 || die ;;
|
|
|
|
1)
|
|
|
|
einfo "Found The Settlers II: Gold Edition installation"
|
|
|
|
cd "${CDROM_ROOT}" || die ;;
|
|
|
|
2)
|
|
|
|
einfo "Found The Settlers II: Veni, Vidi, Vici CD"
|
|
|
|
cd "${CDROM_ROOT}/"[Ss]2 || die ;;
|
|
|
|
esac
|
|
|
|
else
|
|
|
|
einfo "Unpacking ${MY_EXE}."
|
|
|
|
innoextract -e -s -p1 -I DATA -I GFX -d gog "${DISTDIR}/${MY_EXE}" || die
|
|
|
|
cd gog || die
|
|
|
|
fi
|
|
|
|
|
|
|
|
dotar
|
|
|
|
|
|
|
|
if [[ ${CDROM_SET} == 2 ]]; then
|
|
|
|
cdrom_load_next_cd
|
|
|
|
einfo "Found The Settlers II: Mission CD"
|
|
|
|
cd "${CDROM_ROOT}"/[Ss]2/[Ss]2 || die
|
|
|
|
dotar
|
|
|
|
fi
|
|
|
|
}
|
|
|
|
|
|
|
|
src_install() {
|
|
|
|
insinto /usr/share/s25rttr/S2
|
|
|
|
doins -r *
|
|
|
|
}
|