summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2018-05-31 19:15:42 +0200
committerPacho Ramos <pacho@gentoo.org>2018-05-31 19:15:42 +0200
commit67c465b8d9b5e57c24827c89f3ee04933f8a6914 (patch)
treeea22e85a2e60c24cc75af5e56a4d82be3046587e /games-fps
parentgnome-extra/nm-applet: Recover keywords that were dropped at some point (diff)
downloadgentoo-67c465b8d9b5e57c24827c89f3ee04933f8a6914.tar.gz
gentoo-67c465b8d9b5e57c24827c89f3ee04933f8a6914.tar.bz2
gentoo-67c465b8d9b5e57c24827c89f3ee04933f8a6914.zip
games-fps/duke3d-data: Stop using games.eclass
Package-Manager: Portage-2.3.38, Repoman-2.3.9
Diffstat (limited to 'games-fps')
-rw-r--r--games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild75
1 files changed, 75 insertions, 0 deletions
diff --git a/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild b/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild
new file mode 100644
index 00000000000..100efef9882
--- /dev/null
+++ b/games-fps/duke3d-data/duke3d-data-1.0-r4.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2018 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=5
+
+CDROM_OPTIONAL="yes"
+inherit eutils cdrom unpacker
+
+GOG_FILE="gog_duke_nukem_3d_atomic_edition_2.0.0.9.sh"
+DESCRIPTION="Duke Nukem 3D data files"
+HOMEPAGE="http://www.3drealms.com/"
+SRC_URI="gog? ( ${GOG_FILE} )"
+
+LICENSE="DUKE3D gog? ( GOG-EULA )"
+SLOT="0"
+KEYWORDS="~amd64 ~hppa ~x86"
+IUSE="gog"
+REQUIRED_USE="^^ ( cdinstall gog )"
+RESTRICT="mirror bindist gog? ( fetch )"
+
+RDEPEND="|| ( games-fps/eduke32 games-fps/duke3d )"
+DEPEND="gog? ( app-arch/unzip )"
+
+S=${WORKDIR}
+
+pkg_nofetch() {
+ einfo "Please download ${GOG_FILE} from your GOG.com account after buying Duke Nukem 3d"
+ einfo "and put it into ${DISTDIR}."
+}
+
+src_unpack() {
+ if use cdinstall ; then
+ export CDROM_NAME_SET=(
+ "Existing Install"
+ "Duke Nukem 3D CD"
+ "Duke Nukem 3D Atomic Edition CD"
+ )
+ cdrom_get_cds duke3d.grp:dvd/dn3dinst/duke3d.grp:atominst/duke3d.grp
+
+ if [[ ${CDROM_SET} -ne 0
+ && ${CDROM_SET} -ne 1
+ && ${CDROM_SET} -ne 2 ]]
+ then
+ die "Error locating data files.";
+ fi
+ else
+ unpack_zip "${DISTDIR}"/${GOG_FILE}
+ cd data/noarch/data || die
+
+ # convert to lowercase
+ find . -type f \
+ -execdir sh -c 'echo "converting ${1} to lowercase"
+ lower="`echo "${1}" | tr [:upper:] [:lower:]`"
+ [ "${1}" = "${lower}" ] || mv "${1}" "${lower}"' - {} \;
+ fi
+}
+
+src_install() {
+ local DATAROOT
+
+ insinto /usr/share/duke3d
+
+ if use cdinstall ; then
+ case ${CDROM_SET} in
+ 0) DATAROOT="" ;;
+ 1) DATAROOT="dn3dinst/" ;;
+ 2) DATAROOT="atominst/" ;;
+ esac
+
+ # avoid double slash
+ doins "${CDROM_ROOT}"/${DATAROOT}{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con}
+ else
+ doins data/noarch/data/{duke3d.grp,duke.rts,game.con,user.con,demo?.dmo,defs.con}
+ fi
+}