# New ports collection makefile for:	Cake
# Date created:				28 July 2004
# Whom:					Alexey Dokuchaev <danfe@regency.nsu.ru>
#
# $FreeBSD$
#

PORTNAME=	cake
PORTVERSION=	2005.12.26
PORTREVISION=	7
CATEGORIES=	games
MASTER_SITES=	http://freebsd.nsu.ru/distfiles/
DISTNAME=	${PORTNAME}_src_${PORTVERSION:S/.//g}

MAINTAINER=	danfe@FreeBSD.org
COMMENT=	Quake3 map viewer (and powerful 3D game engine)

LICENSE=	GPLv2

LIB_DEPENDS=	jpeg:${PORTSDIR}/graphics/jpeg

USE_XORG=	x11 xext xmu xt xi sm ice
USE_GL=		glut

# Need to pass `-l', but PATCH_ARGS+= won't work because of PATCH_ARGS?=
# in bsd.port.mk
PATCH_ARGS=	-d ${PATCH_WRKSRC} -N -s -E ${PATCH_STRIP} -l
USE_GMAKE=	yes
USE_ZIP=	yes

ALL_TARGET=	main
MAKE_ARGS+=	CXX=${CXX} PTHREAD_LIBS=${PTHREAD_LIBS}
WRKSRC=		${WRKDIR}/cake_src

PLIST_FILES=	bin/cake

post-patch: .SILENT
	${FIND} -E ${WRKDIR} -type f \( -iregex ".*\.(cpp|h)" -or \
		-name Makefile \) \
		-exec ${REINPLACE_CMD} -E -e 's/[[:cntrl:]]*$$//' \
		-e 's/#pragma[[:blank:]]+pack[[:blank:]]*\([[:blank:]]*push[[:blank:]]*,[[:blank:]]*1[[:blank:]]*\)/#pragma pack(1)/g' \
		-e 's/#pragma[[:blank:]]+pack[[:blank:]]*\([[:blank:]]*pop[[:blank:]]*\)/#pragma pack()/g' '{}' \;
	${REINPLACE_CMD} -e 's/jpeg\/JPEGLIB\.H/jpeglib.h/' \
		${WRKSRC}/cake/texture.cpp
# Fmod library is not supported on FreeBSD, so no sound :(
	${REINPLACE_CMD} -e 's/ENABLE_SOUND 1/ENABLE_SOUND 0/' \
		${WRKSRC}/cake/sound.h
# Use traditional mapping for console key (tilde)
	${REINPLACE_CMD} -e 's/167/96/' ${WRKSRC}/main.cpp
# Fix for GCC 4.x
	${REINPLACE_CMD} -e 's/Mat3x2:://' ${WRKSRC}/cake/math.h

do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/main ${PREFIX}/bin/cake

post-install:
	@${ECHO_MSG}
	@${CAT} ${PKGMESSAGE}
	@${ECHO_MSG}

.include <bsd.port.mk>