Update games/hexalate to version 1.1.6
[dports.git] / games / ufoai / Makefile
1 # Created by: Alonso Cardenas Marquez <acm@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       ufoai
5 PORTVERSION=    2.5
6 PORTREVISION=   9
7 CATEGORIES=     games
8 MASTER_SITES=   SF/${PORTNAME}/UFO_AI%202.x/${PORTVERSION}
9 DISTNAME=       ${PORTNAME:S/$/-/}${PORTVERSION}-source
10 DIST_SUBDIR=    ${PORTNAME}
11
12 PATCH_SITES=    https://github.com/ufoai/ufoai/commit/
13 PATCHFILES=     163073ab9527cdaa33d77a713b8e46ff462a2b5c.patch:-p1
14
15 MAINTAINER=     m.tsatsenko@gmail.com
16 COMMENT=        Strategy game featuring tactical combat
17
18 LIB_DEPENDS=    libvorbis.so:audio/libvorbis \
19                 libpng.so:graphics/png \
20                 libcurl.so:ftp/curl \
21                 libtheora.so:multimedia/libtheora \
22                 libxvidcore.so:multimedia/xvid \
23                 libmxml.so:textproc/mxml
24 BUILD_DEPENDS=  zip:archivers/zip
25 RUN_DEPENDS=    ${LOCALBASE}/share/${PORTNAME}/base/default.cfg:games/ufoai-data
26
27 ALL_TARGET=     all lang
28 USES=           compiler:c++11-lang gettext gl gmake jpeg openal:soft \
29                 pkgconfig python:build sdl tar:bzip2
30 USE_GL=         yes
31 USE_SDL=        sdl image mixer ttf
32 USE_CXXSTD=     c++11
33 HAS_CONFIGURE=  yes
34 CONFIGURE_ARGS+=        --enable-release --target-os=freebsd
35 LDFLAGS+=       -lpthread -lexecinfo
36
37 DATADIR=        share/${PORTNAME}
38 SUB_FILES=      pkg-message
39 WRKSRC=         ${WRKDIR}/${PORTNAME:S/$/-/}${PORTVERSION}-source
40 UFO_DIR=        ${PREFIX}/lib/${PORTNAME}
41 UFO_FILES=      ufo ufomodel
42
43 OPTIONS_DEFINE=         SERVER UFO2MAP UFORADIANT
44 OPTIONS_DEFAULT=        SERVER UFO2MAP
45
46 SERVER_DESC=            Install dedicated server
47 UFO2MAP_DESC=           Install UFO tools
48 UFORADIANT_DESC=        Install UFO map editor
49
50 .include <bsd.port.options.mk>
51
52 .if ${PORT_OPTIONS:MSERVER}
53 CONFIGURE_ARGS+=        --enable-ufoded
54 UFO_FILES+=     ufoded
55 PLIST_SUB+=     UFOSERVER=""
56 .else
57 CONFIGURE_ARGS+=        --disable-ufoded
58 PLIST_SUB+=     UFOSERVER="@comment "
59 .endif
60
61 .if ${PORT_OPTIONS:MUFO2MAP}
62 CONFIGURE_ARGS+=        --enable-ufo2map
63 UFO_FILES+=     ufo2map
64 PLIST_SUB+=     UFO2MAP=""
65 .else
66 CONFIGURE_ARGS+=        --disable-ufo2map
67 PLIST_SUB+=     UFO2MAP="@comment "
68 .endif
69
70 .if ${PORT_OPTIONS:MUFORADIANT}
71 ALL_TARGET+=    uforadiant
72 CONFIGURE_ARGS+=--enable-uforadiant
73 USES+=          gnome
74 USE_GNOME+=     gtk20 glib20 gtksourceview2 libxml2
75 LIB_DEPENDS+=   libgtkglext-x11-1.0.so:x11-toolkits/gtkglext
76 RADIANT_FILES=  colours.xml game.xml input.xml mapdef.template menu.xml user.xml
77 RADIANT_DIRS=   bitmaps i18n prefabs sourceviewer
78 PLIST_SUB+=     UFORADIANT=""
79 .else
80 CONFIGURE_ARGS+=--disable-uforadiant
81 PLIST_SUB+=     UFORADIANT="@comment "
82 .endif
83
84 .include <bsd.port.pre.mk>
85
86 post-extract:
87         @${MKDIR} ${WRKSRC}/base/maps ${WRKSRC}/base/models
88         ${REINPLACE_CMD} \
89                 -e 's|DEFAULT_COMPILER_CC=cc|DEFAULT_COMPILER_CC=${CC}|' \
90                 -e 's|DEFAULT_COMPILER_CXX=c++|DEFAULT_COMPILER_CXX=${CXX}|' \
91                 ${WRKSRC}/configure
92 .if ${CHOSEN_COMPILER_TYPE} == "clang"
93         ${REINPLACE_CMD} \
94                 -e 's|-falign-loops=2 -falign-jumps=2 -falign-functions=2||' \
95                 ${WRKSRC}/build/modes/release.mk
96 .endif
97
98 do-install:
99         ${MKDIR} ${STAGEDIR}${UFO_DIR}
100 .for FILE in ${UFO_FILES}
101         @${SED} \
102                 -e 's|@UFODIR@|${UFO_DIR}|' \
103                 -e 's|@APP@|${FILE}|' \
104                 ${FILESDIR}/run.sh.in > ${WRKDIR}/${FILE}
105         ${INSTALL_PROGRAM} ${WRKSRC}/${FILE} ${STAGEDIR}${UFO_DIR}
106         ${INSTALL_SCRIPT} ${WRKDIR}/${FILE} ${STAGEDIR}${PREFIX}/bin
107 .endfor
108         ${MKDIR} ${STAGEDIR}${PREFIX}/${DATADIR}/base
109         ${INSTALL_PROGRAM} ${WRKSRC}/base/game.so ${STAGEDIR}${PREFIX}/${DATADIR}/base
110
111 .if ${PORT_OPTIONS:MUFORADIANT}
112         ${MKDIR} ${STAGEDIR}${UFO_DIR}/radiant
113         @${SED} \
114                 -e 's|@UFODIR@|${UFO_DIR}/radiant|' \
115                 -e 's|@APP@|uforadiant|' \
116                 ${FILESDIR}/run.sh.in > ${WRKDIR}/uforadiant
117         ${INSTALL_PROGRAM} ${WRKSRC}/radiant/uforadiant ${STAGEDIR}${UFO_DIR}/radiant
118         ${INSTALL_SCRIPT} ${WRKDIR}/uforadiant ${STAGEDIR}${PREFIX}/bin
119
120 .for FILE in ${RADIANT_FILES}
121         ${INSTALL_DATA} ${WRKSRC}/radiant/${FILE} ${STAGEDIR}${UFO_DIR}/radiant
122 .endfor
123
124 .for DIRE in ${RADIANT_DIRS}
125         ${MKDIR} ${STAGEDIR}${UFO_DIR}/radiant/${DIRE}
126         cd ${WRKSRC}/radiant/${DIRE} && \
127                 ${FIND} * -type d -exec ${MKDIR} "${STAGEDIR}${UFO_DIR}/radiant/${DIRE}/{}" \; && \
128                 ${FIND} * -type f -exec ${INSTALL_DATA} {} "${STAGEDIR}${UFO_DIR}/radiant/${DIRE}/{}" \;
129 .endfor
130 .endif
131
132         cd ${WRKSRC}/base/i18n && \
133                 ${FIND} * -type d -exec ${MKDIR} "${STAGEDIR}${PREFIX}/${DATADIR}/base/i18n/{}" \; && \
134                         ${FIND} * -type f -exec ${INSTALL_DATA} {} "${STAGEDIR}${PREFIX}/${DATADIR}/base/i18n/{}" \;
135         ${LN} -s ${PREFIX}/${DATADIR}/base ${STAGEDIR}${UFO_DIR}/base
136
137 .include <bsd.port.post.mk>