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
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
|
# New ports collection makefile for: UT Mod: Tactical Ops
# Date created: Sat Oct 6 11:40:35 EDT 2001
# Whom: pat@databits.net et al
#
# $FreeBSD$
#
PORTNAME?= to
PORTVERSION?= 2.2.0
PORTREVISION?= 1
CATEGORIES= games linux
MASTER_SITES?= http://www.netreachgames.com/downloads/to/ \
http://downloads.fragism.com/ \
http://lmb.atom.is/downloads/Tacops/ \
http://hq.hack.pl/~bond/zip/
PKGNAMEPREFIX= utserver-
.ifndef(DISTFILES)
DISTNAME?= TacticalOps220
.endif
MAINTAINER?= pat@FreeBSD.org
COMMENT?= Unreal Tournament mod Tactical Ops full server package for Linux
RUN_DEPENDS= ${LINUXBASE}/usr/games/ut-server/System/ucc-bin:${UTSERVER_PORT}
BROKEN= Unfetchable
ONLY_FOR_ARCHS= i386
USE_LINUX_PREFIX= yes
USE_LINUX?= yes
USE_PERL5= yes
NO_CDROM= "Size; the data set is much too big"
NO_BUILD= yes
.if (${PORTNAME}==to)
EXECUTABLES+= TacticalOpsLinux\\w+
EXTRA_CLEAN_FILES+= .+/TacticalOpsLinux.+
DO_USE_WRKSUBDIR= yes
.endif
.ifndef(DONT_USE_ZIP)
USE_ZIP= yes
.endif
.ifndef(DO_USE_WRKSUBDIR)
NO_WRKSUBDIR= yes
.endif
.if defined(DO_USE_STRIP) && exists(${LINUXBASE}/usr/bin/strip)
STRIP= ${LINUXBASE}/usr/bin/strip
.else
STRIP=
.endif
UTDIR= usr/games/ut-server/
PLIST_SUB+= UTDIR="${UTDIR}"
INSTALL_DIR= ${INSTALL} -d -o ${BINOWN} -g ${BINGRP} -m ${BINMODE}
UTSERVER_PORT= ${.CURDIR}/../utserver
MASTERPKGMESSAGE!= cd ${UTSERVER_PORT} && ${MAKE} -V PKGMESSAGE
# files which should be installed with executable perms
EXECUTABLES+= .sh
.if defined(HAS_WIERDPATCHES) && defined(DISTFILES)
post-extract:
.for files in ${DISTFILES:S/${EXTRACT_ONLY}//}
@cd ${WRKSRC} && ${EXTRACT_CMD} ${EXTRACT_BEFORE_ARGS} \
${DISTDIR}/${DIST_SUBDIR}/${files}
.endfor
.endif
pre-patch:
# remove trailing ^M
@${FIND} -E ${WRKDIR} -type f \
-iregex ".*\.(bat|cfg|gam|htm|html|inf|ini|int|lst|pl|pm|sc|sh|scr|txt|url|uhtm)" \
-exec ${PERL} -pi -ne 's!\r\n!\n!' {} 1>/dev/null 2>&1 \;
.ifdef(EXTRA_CLEAN_FILES)
.for pattern in ${EXTRA_CLEAN_FILES}
@${FIND} -E ${WRKDIR} -type f \
-iregex "${pattern}" \
-exec ${PERL} -pi -ne 's!\r\n!\n!' {} 1>/dev/null 2>&1 \;
.endfor
.endif
# Parses PLIST
# Contributed by <lioux@FreeBSD.org>
do-install: install-parse-plist install-scripts
install-parse-plist: generate-plist
@${PERL} -e 'open(FHANDLER,"${TMPPLIST}");' \
-e 'open(FDIR,">${WRKDIR}/dirs.sh.tmp");' \
-e 'open(FFILES,">${WRKDIR}/files.sh");' \
-e 'while (!eof(FHANDLER)) {' \
-e 'chop($$file = <FHANDLER>);' \
-e '$$dir = $$file_partial = $$file;' \
-e '$$file_partial =~ s!^${UTDIR}!!;' \
-e 'print FDIR "${INSTALL_DIR}", \
" ", "\"${PREFIX}/$$dir\"", \
"\n" if $$dir =~ s!(^\@dirrm\s+)!!;' \
-e 'if ($$file !~ m!^\@!) {' \
-e '$$program_flag = 0;' \
-e 'if ("${EXECUTABLES}" ne "") {' \
-e 'foreach $$program_pattern \
(split (/\s+/,"${EXECUTABLES}")) {' \
-e '($$program_flag = 1 , break) \
if ($$file =~ /$$program_pattern$$/);' \
-e '}' \
-e '}' \
-e 'print FFILES ($$program_flag == 0) ? \
"${INSTALL_DATA}" : "${INSTALL_PROGRAM}", \
" ", "\"${WRKSRC}/$$file_partial\"", \
" ", "\"${PREFIX}/$$file\"", \
"\n";' \
-e '}' \
-e '}' \
-e 'close(FFILES);' \
-e 'close(FDIR);' \
-e 'close(FHANDLER);'
@${SORT} ${WRKDIR}/dirs.sh.tmp > ${WRKDIR}/dirs.sh
install-scripts:
.for script in dirs files
@${SH} ${WRKDIR}/${script}.sh
.endfor
post-install:
@${CAT} ${MASTERPKGMESSAGE}
.if exists(${.CURDIR}/pkg-message)
@${CAT} ${.CURDIR}/pkg-message
.endif
.include <bsd.port.mk>
|