1 # Created by: Alonso Cardenas Marquez <acm@FreeBSD.org>
8 MASTER_SITES= SF/${PORTNAME}/UFO_AI%202.x/${PORTVERSION}
9 DISTNAME= ${PORTNAME:S/$/-/}${PORTVERSION}-source
10 DIST_SUBDIR= ${PORTNAME}
12 PATCH_SITES= https://github.com/ufoai/ufoai/commit/
13 PATCHFILES= 163073ab9527cdaa33d77a713b8e46ff462a2b5c.patch:-p1
15 MAINTAINER= m.tsatsenko@gmail.com
16 COMMENT= Strategy game featuring tactical combat
18 LIB_DEPENDS= libvorbis.so:audio/libvorbis \
19 libpng.so:graphics/png \
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
28 USES= compiler:c++11-lang gettext gl gmake jpeg openal:soft \
29 pkgconfig python:build sdl tar:bzip2
31 USE_SDL= sdl image mixer ttf
34 CONFIGURE_ARGS+= --enable-release --target-os=freebsd
35 LDFLAGS+= -lpthread -lexecinfo
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
43 OPTIONS_DEFINE= SERVER UFO2MAP UFORADIANT
44 OPTIONS_DEFAULT= SERVER UFO2MAP
46 SERVER_DESC= Install dedicated server
47 UFO2MAP_DESC= Install UFO tools
48 UFORADIANT_DESC= Install UFO map editor
50 .include <bsd.port.options.mk>
52 .if ${PORT_OPTIONS:MSERVER}
53 CONFIGURE_ARGS+= --enable-ufoded
55 PLIST_SUB+= UFOSERVER=""
57 CONFIGURE_ARGS+= --disable-ufoded
58 PLIST_SUB+= UFOSERVER="@comment "
61 .if ${PORT_OPTIONS:MUFO2MAP}
62 CONFIGURE_ARGS+= --enable-ufo2map
64 PLIST_SUB+= UFO2MAP=""
66 CONFIGURE_ARGS+= --disable-ufo2map
67 PLIST_SUB+= UFO2MAP="@comment "
70 .if ${PORT_OPTIONS:MUFORADIANT}
71 ALL_TARGET+= uforadiant
72 CONFIGURE_ARGS+=--enable-uforadiant
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=""
80 CONFIGURE_ARGS+=--disable-uforadiant
81 PLIST_SUB+= UFORADIANT="@comment "
84 .include <bsd.port.pre.mk>
87 @${MKDIR} ${WRKSRC}/base/maps ${WRKSRC}/base/models
89 -e 's|DEFAULT_COMPILER_CC=cc|DEFAULT_COMPILER_CC=${CC}|' \
90 -e 's|DEFAULT_COMPILER_CXX=c++|DEFAULT_COMPILER_CXX=${CXX}|' \
92 .if ${CHOSEN_COMPILER_TYPE} == "clang"
94 -e 's|-falign-loops=2 -falign-jumps=2 -falign-functions=2||' \
95 ${WRKSRC}/build/modes/release.mk
99 ${MKDIR} ${STAGEDIR}${UFO_DIR}
100 .for FILE in ${UFO_FILES}
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
108 ${MKDIR} ${STAGEDIR}${PREFIX}/${DATADIR}/base
109 ${INSTALL_PROGRAM} ${WRKSRC}/base/game.so ${STAGEDIR}${PREFIX}/${DATADIR}/base
111 .if ${PORT_OPTIONS:MUFORADIANT}
112 ${MKDIR} ${STAGEDIR}${UFO_DIR}/radiant
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
120 .for FILE in ${RADIANT_FILES}
121 ${INSTALL_DATA} ${WRKSRC}/radiant/${FILE} ${STAGEDIR}${UFO_DIR}/radiant
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}/{}" \;
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
137 .include <bsd.port.post.mk>