# Copyright 1999-2010 Gentoo Foundation # Distributed under the terms of the GNU General Public License v2 # $Header: /var/cvsroot/gentoo-x86/games-fps/duke3d-data/duke3d-data-1.0.ebuild,v 1.5 2010/04/26 11:55:23 fauli Exp $ EAPI=2 inherit eutils games subversion DESCRIPTION="Duke Caribbean: Life's a Beach data files" HOMEPAGE="http://www.3drealms.com/ http://hrp.duke4.net/" SRC_URI="" ESVN_REPO_URI="http://svn.eduke32.com/vaca_plus/" ESVN_PROJECT="vaca_plus" LICENSE="as-is" SLOT="0" KEYWORDS="amd64 ~x86" PROPERTIES="interactive" IUSE="textures" DEPEND="app-arch/unpackssi textures? ( app-arch/zip dev-util/bsdiff dev-vcs/subversion games-fps/eduke32[utils] )" RDEPEND="games-fps/duke3d-data" S="${WORKDIR}/vaca_plus" dir="${WORKDIR}/caribbean" # Rename all files in current directory to have a lowercase name function lowername() { for i in *; do NAME=$(echo ${i} | tr "[:upper:]" "[:lower:]") # only continue if the name is not already lowercase if [ "${i}" != "${NAME}" ]; then # skip existing files if [ -f "${NAME}" ]; then echo "file exists: ${NAME}" else mv -n "$i" "${NAME}" fi fi done } src_unpack() { cdrom_get_cds vacation/vaca15.ssi # Download files for Plus version if necessary use textures && subversion_src_unpack } src_prepare() { mkdir "${dir}" cd "${dir}" unpackssi "${CDROM_ROOT}/vacation/vaca15.ssi" \ || die "unpack SSI file failed" lowername # Prefix included CON files to prevent conflicts with other expansions # or with 'Plus' files for i in *.noc; do mv "$i" "vacation${i%.*}".con done sed -e 's/include \(DEFS\|USER\)\.CON/include VACATION\1\.CON/g' \ -i vacationgame.con || die "sed CON include fix failed" mv vacation.prg vacation.grp # Update Plus/HRP files if necessary if use textures; then # Fix Vacation Plus directory structure mv "${S}"/vaca_plus/* "${S}" # Apply map updates/fixes kextract vacation.grp "*.map" lowername for i in *.map; do bspatch "${i}" "${S}/${i}" "${S}/${i%.*}.patch" [ -e "${S}/${i%.*}.patch" ] || die "bspatch failed" done rm -rf "${S}"/{linux_macosx,vaca_plus,utils} rm -f "${S}"/*.{bat,ico,url,patch} cd "${S}" # Zip Vacation Plus for smaller/single file installation echo -e "\n>>> Preparing Vacation Plus zip file" zip -9 -q -r ../vaca_plus.zip . fi } src_install() { insinto "${GAMES_DATADIR}/duke3d" doins "${dir}"/vacation.grp || die "doins GRP failed" doins "${dir}"/vacation*.con || die "doins CON failed" dodoc "${CDROM_ROOT}/vacation"/{dvintro,readme}.txt || die "dodoc failed" if use textures; then doins "${WORKDIR}/vaca_plus.zip" || die "doins vaca_plus failed" dodoc "${S}"/Vacation+_{Readme,To_Do}.txt fi prepgamesdirs } pkg_postinst() { if ! has_version games-fps/duke3d && ! has_version games-fps/eduke32; then echo einfo "Note: You must also install a game engine, such as games-fps/duke3d or" einfo "(preferably) games-fps/eduke32, in order to play Duke Nukem 3D." echo fi }