blob: 0587ac175a648546aa0d9075ed09da267c4f851d (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
PORTNAME= q3cellshading
PORTVERSION= 1.0
PORTREVISION= 4
CATEGORIES= games
MASTER_SITES= SF
DISTNAME= q3cel-${PORTVERSION}-src
MAINTAINER= ports@FreeBSD.org
COMMENT= Quake III engine with Cell Shading capabilities
WWW= https://q3cellshading.sourceforge.net/
DEPRECATED= BROKEN for more than 2 years on all supported versions
EXPIRATION_DATE= 2023-11-30
BROKEN= ld: error: duplicate symbol: re
ONLY_FOR_ARCHS= i386
ONLY_FOR_ARCHS_REASON= does not run properly; try games/ioquake3 with option
USES= compiler dos2unix gmake zip
MAKE_ENV= LIBDIR="${LIBDIR}"
MAKE_JOBS_UNSAFE= yes
BUILD_WRKSRC= ${WRKSRC}/code/unix
WRKSRC= ${WRKDIR}/${PORTNAME}-${PORTVERSION}
PLIST_SUB= LIBDIR="${LIBDIR:S/${PREFIX}\///}"
VM_ARCHS= i386 powerpc
OPTIONS_DEFINE= GAMELIBS OPTIMIZED_CFLAGS
OPTIONS_DEFAULT= CLIENT DEDICATED OPTIMIZED_CFLAGS SMP_CLIENT
OPTIONS_MULTI= FLAVOR
OPTIONS_MULTI_FLAVOR= CLIENT DEDICATED SMP_CLIENT
OPTIONS_SUB= yes
CLIENT_DESC= Build client
DEDICATED_DESC= Build dedicated server
GAMELIBS_DESC= Force building game libraries
SMP_CLIENT_DESC= Build SMP (threaded) client
CLIENT_MAKE_ENV= CLIENT=YES
CLIENT_VARS= Q3BIN+=quake3
DEDICATED_MAKE_ENV= DEDICATED=YES
DEDICATED_VARS= Q3BIN+=q3ded
OPTIMIZED_CFLAGS_MAKE_ENV= OPTIMIZED_CFLAGS=YES
SMP_CLIENT_MAKE_ENV= SMP=YES
SMP_CLIENT_VARS= Q3BIN+=quake3-smp
LIBDIR= ${PREFIX}/lib/${PORTNAME}
.include <bsd.port.options.mk>
.if ${ARCH} == "i386"
BUILD_DEPENDS+= nasm:devel/nasm
.endif
.for arch in ${ARCH}
. if ${VM_ARCHS:M${arch}} != ""
HAVE_VM_COMPILED= yes
. endif
.endfor
.if !defined(HAVE_VM_COMPILED)
MAKE_ENV+= DLL_ONLY=true
.endif
.if ${PORT_OPTIONS:MCLIENT} || ${PORT_OPTIONS:MSMP_CLIENT}
USES+= gl xorg
USE_GL= glu
USE_XORG= xxf86dga xxf86vm
.endif
.if ${PORT_OPTIONS:MGAMELIBS} || !defined(HAVE_VM_COMPILED)
MAKE_ENV+= GAMELIBS=YES
.endif
.include <bsd.port.pre.mk>
post-patch:
@${REINPLACE_CMD} -e 's|botlib\.log|/dev/null|' \
${WRKSRC}/code/botlib/be_interface.c
@${REINPLACE_CMD} -e \
's|//[[:blank:]]*\(Swap_Init[[:blank:]]*();\)|\1|' \
${WRKSRC}/code/botlib/be_interface.c \
${WRKSRC}/code/renderer/tr_init.c
.if ${COMPILER_TYPE} == clang
@${REINPLACE_CMD} -E 's,-falign-(jumps|loops)=2,,g; s|-O6||' \
${WRKSRC}/code/unix/Makefile
.endif
do-install:
.for bin in ${Q3BIN}
# Adjust program names to avoid conflicts with other Quake3 ports
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${bin} \
${STAGEDIR}${PREFIX}/bin/${bin:C/(quake3|q3)/\1cel/}
.endfor
.if ${PORT_OPTIONS:MGAMELIBS} || !defined(HAVE_VM_COMPILED)
.for dir in baseq3 missionpack
@${MKDIR} ${STAGEDIR}${LIBDIR}/${dir}
${INSTALL_PROGRAM} ${BUILD_WRKSRC}/release/${dir}/*.so \
${STAGEDIR}${LIBDIR}/${dir}
.endfor
.endif
.include "${.CURDIR}/../quake3-data/Makefile.include"
.include <bsd.port.post.mk>
|