Skip to content

Commit

Permalink
games-strategy/settlers-2-gold-data: New package
Browse files Browse the repository at this point in the history
I don't have any actual CDs to test with so I've had to fudge some
testing using the GOG version. Let me know if it doesn't work.

Package-Manager: Portage-2.3.99, Repoman-2.3.22
Signed-off-by: James Le Cuirot <[email protected]>
  • Loading branch information
chewi committed Apr 18, 2020
1 parent 13a72df commit 0d98dd4
Show file tree
Hide file tree
Showing 3 changed files with 105 additions and 0 deletions.
1 change: 1 addition & 0 deletions games-strategy/settlers-2-gold-data/Manifest
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
DIST setup_the_settlers_2_gold_1.5.1_(30319).exe 306652144 BLAKE2B d415d47e68c07b891c099d1a626f8b0641a49c5acd06953aa1280ddef2b4e7b360ee09739bae3b8489cf23c3e38e2a3d60311f360a0b3e5acf7884833380ae86 SHA512 743c2ab9eee293ec82178dac38c142366de4ef1a4c46517d30b457513bcbacf5f14d5309a2e357dd4785e439598266d90ce1c27e23165112e8f304a48f23d110
8 changes: 8 additions & 0 deletions games-strategy/settlers-2-gold-data/metadata.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
<email>[email protected]</email>
<name>Gentoo Games Project</name>
</maintainer>
</pkgmetadata>
96 changes: 96 additions & 0 deletions games-strategy/settlers-2-gold-data/settlers-2-gold-data-0.ebuild
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
# 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 )
"

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

0 comments on commit 0d98dd4

Please sign in to comment.