You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/games-strategy/settlers-2-gold-data/settlers-2-gold-data-0.ebuild

97 lines
2.3 KiB

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