2013-09-20 19:36:33 +02:00
|
|
|
# Created by: Alexey Dokuchaev <danfe@regency.nsu.ru>
|
2004-07-30 11:59:21 +02:00
|
|
|
# $FreeBSD$
|
|
|
|
|
|
|
|
PORTNAME= cake
|
2005-12-27 15:10:18 +01:00
|
|
|
PORTVERSION= 2005.12.26
|
2017-05-23 07:03:14 +02:00
|
|
|
PORTREVISION= 12
|
2004-07-30 11:59:21 +02:00
|
|
|
CATEGORIES= games
|
2012-09-12 13:10:11 +02:00
|
|
|
MASTER_SITES= http://freebsd.nsu.ru/distfiles/
|
2005-12-09 11:03:05 +01:00
|
|
|
DISTNAME= ${PORTNAME}_src_${PORTVERSION:S/.//g}
|
2004-07-30 11:59:21 +02:00
|
|
|
|
2004-08-27 10:46:33 +02:00
|
|
|
MAINTAINER= danfe@FreeBSD.org
|
2012-09-12 13:10:11 +02:00
|
|
|
COMMENT= Quake3 map viewer (and powerful 3D game engine)
|
|
|
|
|
|
|
|
LICENSE= GPLv2
|
|
|
|
|
2019-11-05 23:16:14 +01:00
|
|
|
USES= gl gmake jpeg ncurses xorg zip
|
2012-09-12 13:10:11 +02:00
|
|
|
USE_GL= glut
|
2013-11-18 07:00:29 +01:00
|
|
|
USE_XORG= x11 xext xmu xt xi sm ice
|
2004-07-30 11:59:21 +02:00
|
|
|
|
2005-12-09 11:03:05 +01:00
|
|
|
# Need to pass `-l', but PATCH_ARGS+= won't work because of PATCH_ARGS?=
|
2012-09-12 13:10:11 +02:00
|
|
|
# in bsd.port.mk
|
2017-01-16 17:47:00 +01:00
|
|
|
PATCH_ARGS= -N -s -E ${PATCH_STRIP} -l
|
2004-07-30 11:59:21 +02:00
|
|
|
|
|
|
|
ALL_TARGET= main
|
2005-12-09 11:03:05 +01:00
|
|
|
WRKSRC= ${WRKDIR}/cake_src
|
2004-07-30 11:59:21 +02:00
|
|
|
|
|
|
|
PLIST_FILES= bin/cake
|
|
|
|
|
2008-07-23 10:41:40 +02:00
|
|
|
post-patch: .SILENT
|
|
|
|
${FIND} -E ${WRKDIR} -type f \( -iregex ".*\.(cpp|h)" -or \
|
|
|
|
-name Makefile \) \
|
2004-07-30 11:59:21 +02:00
|
|
|
-exec ${REINPLACE_CMD} -E -e 's/[[:cntrl:]]*$$//' \
|
|
|
|
-e 's/#pragma[[:blank:]]+pack[[:blank:]]*\([[:blank:]]*push[[:blank:]]*,[[:blank:]]*1[[:blank:]]*\)/#pragma pack(1)/g' \
|
2016-12-01 12:18:03 +01:00
|
|
|
-e 's/#pragma[[:blank:]]+pack[[:blank:]]*\([[:blank:]]*pop[[:blank:]]*\)/#pragma pack()/g' {} \;
|
2012-09-12 13:10:11 +02:00
|
|
|
${REINPLACE_CMD} -e 's/jpeg\/JPEGLIB\.H/jpeglib.h/' \
|
|
|
|
${WRKSRC}/cake/texture.cpp
|
|
|
|
# Fmod library is not supported on FreeBSD, so no sound :(
|
2006-10-04 00:52:25 +02:00
|
|
|
${REINPLACE_CMD} -e 's/ENABLE_SOUND 1/ENABLE_SOUND 0/' \
|
2004-07-30 11:59:21 +02:00
|
|
|
${WRKSRC}/cake/sound.h
|
2012-09-12 13:10:11 +02:00
|
|
|
# Use traditional mapping for console key (tilde)
|
2006-10-04 00:52:25 +02:00
|
|
|
${REINPLACE_CMD} -e 's/167/96/' ${WRKSRC}/main.cpp
|
2017-03-31 11:13:11 +02:00
|
|
|
# Avoid segmentation fault on amd64 (uninitialized memory access)
|
|
|
|
${REINPLACE_CMD} -e '1281s:Recalculate_NLines()://&:' \
|
|
|
|
${WRKSRC}/cake/console.cpp
|
|
|
|
# The code assumes that sizeof(long) == 4 in too many places :(
|
|
|
|
${REINPLACE_CMD} -e '/typedef/s/ long//' ${WRKSRC}/cake/files.h
|
|
|
|
${REINPLACE_CMD} -e '/typedef/s/long/int/' ${WRKSRC}/cake/types.h
|
|
|
|
${REINPLACE_CMD} -e 's/unsigned long/DWORD/' ${WRKSRC}/cake/system.h
|
|
|
|
${REINPLACE_CMD} -e 's/unsigned long/unsigned int/' \
|
|
|
|
${WRKSRC}/cake/zip/Crc32.h ${WRKSRC}/cake/zip/Unzip.h
|
2017-03-06 09:51:07 +01:00
|
|
|
# Fixes for GCC 4.x and Clang 4.0
|
2006-10-04 00:52:25 +02:00
|
|
|
${REINPLACE_CMD} -e 's/Mat3x2:://' ${WRKSRC}/cake/math.h
|
2017-03-06 09:51:07 +01:00
|
|
|
${REINPLACE_CMD} -e '2852s/numverts/&[0]/' ${WRKSRC}/cake/q3bsp.cpp
|
2004-07-30 11:59:21 +02:00
|
|
|
|
|
|
|
do-install:
|
2013-11-18 07:00:29 +01:00
|
|
|
${INSTALL_PROGRAM} ${WRKSRC}/main ${STAGEDIR}${PREFIX}/bin/cake
|
2004-07-30 11:59:21 +02:00
|
|
|
|
2012-08-05 00:52:02 +02:00
|
|
|
.include <bsd.port.mk>
|