diff options
Diffstat (limited to 'games-action/descent2-data')
-rw-r--r-- | games-action/descent2-data/Manifest | 4 | ||||
-rw-r--r-- | games-action/descent2-data/descent2-data-1.2.ebuild | 121 | ||||
-rw-r--r-- | games-action/descent2-data/metadata.xml | 8 |
3 files changed, 133 insertions, 0 deletions
diff --git a/games-action/descent2-data/Manifest b/games-action/descent2-data/Manifest new file mode 100644 index 000000000000..51769f7318e2 --- /dev/null +++ b/games-action/descent2-data/Manifest @@ -0,0 +1,4 @@ +DIST d2xptch12.tgz 158419 BLAKE2B e4bd0d33fa8912b87f8018673c2f9fa9d965f96787b7af76da5473e0c6b06ca78303977cdb6e1f85affefe187b2f1e947eb477313b379bf2464e2a0ba95b74bf SHA512 14d59280e685a9c3d5e23e1d535f37f89768e022b795067793a994c5150685addfcacbd2dc52231804240d01d17d57b1db04335d41bc5930e3c8a845ebbb396b +DIST setup_descent2_2.1.0.10.exe 554371624 BLAKE2B fb05302652c7ba46c06d314453a03430850404c05fb8d43681b7505bdf1a3901d0875f0a63379b121c7338d9b3092410cfa77c5d98690c98b27b0bffaf00ae3d SHA512 0db1935864eb59002cc995dfe9c40badd72d0a3dcec61092b0760481cd3d1316db17631c05043b938e4b958d696c508ce379face9baa260dcc598c77b4460618 +EBUILD descent2-data-1.2.ebuild 2892 BLAKE2B b101311a0d5d880f068c90cb3cd70d2277bce1ef351c94a598c4247ccd2062cb4dad4d67a32c0f9c3d398891c6c5c517ce2baad61140c6dbd7e7f66f61221fd6 SHA512 81a9717dd2ace1af3852a2324bfbfe5226642fba07d9ce14906cb278d80385f6be77b73b58a9907364acfc45b2d38b70cc9a57fd0aa77f39cfed90edcf30ae26 +MISC metadata.xml 249 BLAKE2B 7113a758d7abc93accec998a8843d8ef51ca8b72d72e659e224d5cec2a1a6a63e6c0605958091532ac6e51fa0d501ca4fd9f3f4a9e55baeb31519a02971b465f SHA512 895577c3a805c40581da03057b94e3f28f05f23012bf350c1e3575847d1a0fe40bb044a46f909012a200d991a400f6389358a60e9c2b5bef0da01fb26f846118 diff --git a/games-action/descent2-data/descent2-data-1.2.ebuild b/games-action/descent2-data/descent2-data-1.2.ebuild new file mode 100644 index 000000000000..947680089288 --- /dev/null +++ b/games-action/descent2-data/descent2-data-1.2.ebuild @@ -0,0 +1,121 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=6 + +CDROM_OPTIONAL="yes" +inherit cdrom eutils + +# Not possible to apply official 1.2 patch under Linux. A Gentoo user +# created Xdelta patches and the DXX-Rebirth project kindly hosted them. +MY_PATCH="http://www.dxx-rebirth.com/download/dxx/misc/d2xptch12.tgz" + +# For GOG install +MY_EXE="setup_descent2_2.1.0.10.exe" + +DESCRIPTION="Data files for Descent 2" +HOMEPAGE="http://www.interplay.com/games/descent.php" +SRC_URI="cdinstall? ( ${MY_PATCH} ) + !cdinstall? ( ${MY_EXE} )" +LICENSE="descent-data" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="doc videos" +RESTRICT="bindist !cdinstall? ( fetch )" + +# <d2x-0.2.5-r3 may include the data. +RDEPEND="!<games-action/d2x-0.2.5-r3 + !games-action/descent2-demodata" + +DEPEND="cdinstall? ( + app-arch/unarj + dev-util/xdelta:3 + ) + !cdinstall? ( + app-arch/innoextract + )" + +S="${WORKDIR}" + +pkg_nofetch() { + elog "You must place a copy of, or symlink to, the GOG setup package here:" + elog "${DISTDIR}/${MY_EXE}" + echo + elog "If you wish to install from CD-ROM instead, please enable the cdinstall flag." +} + +src_unpack() { + if use cdinstall; then + default + cdrom_get_cds d2data/descent2.sow:descent2.hog + + case ${CDROM_SET} in + 0) + einfo "Found Descent 2 CD" + unarj e "${CDROM_ABSMATCH}" || die ;; + 1) + einfo "Found Descent 2 installation" + cd "${CDROM_ABSMATCH%/*}" || die ;; + esac + else + einfo "Unpacking ${MY_EXE}. This will take a while..." + innoextract -e -s -p1 -L -I app -d gog "${DISTDIR}/${MY_EXE}" || die + cd "${WORKDIR}/gog/app" || die + fi + + eshopts_push -s globstar nocaseglob nullglob + + # Strip directories + # Lowercase + # d2{-2plyr,chaos}.* into data/missions + # *.dem into data/demos + # Documentation into doc + # Remainder into data + # Exclude Vertigo files + + tar c \ + --mode=u+w \ + --ignore-case \ + --xform='s:.*/::xg' \ + --xform='s:.*:\L\0:x' \ + --xform='s:^d2(-2plyr|chaos)\.:data/missions/\0:x' \ + --xform='s:.*\.dem$:data/demos/\0:x' \ + --xform='s:.*\.(pdf|txt)$:doc/\0:x' \ + --xform='s:^[^/]+$:data/\0:x' \ + --exclude='d2x*' \ + --exclude='hoard.ham' \ + --exclude='panic.*' \ + --exclude="$(use doc || echo '*.pdf')" \ + --exclude="$(use videos || echo '*.mvl')" \ + *.{txt,pdf} *-h.mvl **/*.{ham,hog,mn2,pig,s11,s22} \ + | tar x -C "${WORKDIR}" + + assert "tar failed" + eshopts_pop +} + +src_prepare() { + # Patch to 1.2 if necessary + if use cdinstall; then + if [[ $(md5sum data/descent2.ham) != 7f30c3d7d4087b8584b49012a53ce022* ]]; then + local i + for i in *.xdelta; do + xdelta3 -d -s data/"${i%.*}" "${i}" data/"${i%.*}".new || die + mv data/"${i%.*}"{.new,} || die + done + fi + fi + + default +} + +src_install() { + insinto /usr/share/games/d2x + doins -r data/* + [[ -d doc ]] && dodoc doc/* +} + +pkg_postinst() { + elog "A client is needed to run the game, e.g. games-action/dxx-rebirth." + echo +} diff --git a/games-action/descent2-data/metadata.xml b/games-action/descent2-data/metadata.xml new file mode 100644 index 000000000000..78274e0fa550 --- /dev/null +++ b/games-action/descent2-data/metadata.xml @@ -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>games@gentoo.org</email> + <name>Gentoo Games Project</name> +</maintainer> +</pkgmetadata> |