# 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 * }