Update games/hexalate to version 1.1.6
[dports.git] / games / openttd / Makefile
1 # Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
2 # $FreeBSD$
3
4 PORTNAME=       openttd
5 DISTVERSION=    1.10.1
6 PORTREVISION=   1
7 CATEGORIES=     games
8 MASTER_SITES=   https://proxy.binaries.openttd.org/openttd-releases/${DISTVERSION}/
9 DISTNAME=       ${PORTNAME}-${DISTVERSION}-source
10
11 MAINTAINER=     danfe@FreeBSD.org
12 COMMENT=        Open source clone of Microprose Transport Tycoon Deluxe
13
14 LICENSE=        GPLv2
15
16 LIB_DEPENDS=    libpng.so:graphics/png \
17                 liblzo2.so:archivers/lzo2
18
19 USES=           cpe gmake pkgconfig tar:xz
20 HAS_CONFIGURE=  yes
21 CONFIGURE_ENV=  STRIP="${STRIP_CMD} ${STRIP}"
22 CONFIGURE_ARGS= --prefix-dir="${PREFIX}" --data-dir="${DATADIR_REL}"
23 MAKE_ARGS=      VERBOSE=1
24
25 WRKSRC=         ${WRKDIR}/${PORTNAME}-${DISTVERSION}
26 CXXFLAGS=       # Set to empty as OpenTTD treats it as an addition to CFLAGS
27
28 SUB_FILES=      pkg-message
29
30 PORTDOCS=       README.md admin_network.md compiling_lang_files.md \
31                 debugging_desyncs.md desync.md directory_structure.md \
32                 changelog.txt elrail.svg elrail_tile.png elrail_track.png \
33                 known-bugs.txt landscape.html landscape_externals.html \
34                 landscape_grid.html logging_and_performance_metrics.md \
35                 multiplayer.md obg_format.txt \
36                 obm_format.txt obs_format.txt ottd-colourtext-palette.png \
37                 tileh.png
38
39 DESKTOP_ENTRIES="OpenTTD" "${COMMENT}" "${PORTNAME}" "${PORTNAME}" \
40                 "Game;Simulation;StrategyGame;" false
41
42 OPTIONS_DEFINE= DOCS
43
44 .if defined(WITH_MIDI_PLAYER)
45 CONFIGURE_ARGS+=        --with-midi="${WITH_MIDI_PLAYER}"
46 .endif
47
48 .if defined(WITH_MIDI_PLAYER_ARGS)
49 CONFIGURE_ARGS+=        --with-midi-arg="${WITH_MIDI_PLAYER_ARGS}"
50 .endif
51
52 .if defined(WITH_FLUIDSYNTH)
53 LIB_DEPENDS+=   libfluidsynth.so:audio/fluidsynth
54 .else
55 CONFIGURE_ARGS+=        --without-fluidsynth
56 .endif
57
58 .if defined(WITH_DEDICATED_SERVER_ONLY)
59 CONFIGURE_ARGS+=        --enable-dedicated
60 # Aid it to find lzo2 headers; client build gets it via sdl-config
61 CFLAGS+=        -I${LOCALBASE}/include
62 USE_RC_SUBR=    ${PORTNAME}
63 .else
64 CONFIGURE_ARGS+=        --with-sdl=sdl1
65 USES+=          compiler:c++11-lib gnome sdl
66 USE_CXXSTD=     gnu++11
67 CXXFLAGS+=      -DU_USING_ICU_NAMESPACE=1
68 LIB_DEPENDS+=   libfreetype.so:print/freetype2 \
69                 libicui18n.so:devel/icu \
70                 libicu-le-hb.so:devel/icu-le-hb \
71                 libiculx.so:devel/icu-lx \
72                 libfontconfig.so:x11-fonts/fontconfig
73 USE_SDL=        sdl
74 INSTALLS_ICONS= yes
75 .endif
76
77 .if defined(WITH_OPEN_GAME_FILES)
78 RUN_DEPENDS+=   ${LOCALBASE}/share/${PORTNAME}/baseset/opengfx/opengfx.obg:games/opengfx \
79                 ${LOCALBASE}/share/${PORTNAME}/baseset/openmsx/openmsx.obm:games/openmsx \
80                 ${LOCALBASE}/share/${PORTNAME}/baseset/opensfx/opensfx.obs:games/opensfx
81 .endif
82
83 .if defined(WITH_SAVE_PASSWORDS)
84 EXTRA_PATCHES=  ${FILESDIR}/extra-patch-save-passwords
85 .endif
86
87 .include <bsd.port.pre.mk>
88
89 pre-everything::
90 .if !defined(WITH_MIDI_PLAYER)
91         @${ECHO_MSG} "Define WITH_MIDI_PLAYER=/path/to/player to build with external MIDI player"
92 .endif
93 .if !defined(WITH_MIDI_PLAYER_ARGS)
94         @${ECHO_MSG} "Define WITH_MIDI_PLAYER_ARGS=arguments for external MIDI player"
95 .endif
96 .if !defined(WITH_FLUIDSYNTH)
97         @${ECHO_MSG} "Define WITH_FLUIDSYNTH to enable new Fluidsynth music driver"
98 .endif
99 .if !defined(WITH_DEDICATED_SERVER_ONLY)
100         @${ECHO_MSG} "Define WITH_DEDICATED_SERVER_ONLY to build CLI-based dedicated server"
101 .endif
102 .if !defined(WITH_OPEN_GAME_FILES)
103         @${ECHO_MSG} "Define WITH_OPEN_GAME_FILES to install with libre graphics, music, and sounds"
104 .endif
105 .if !defined(WITH_SAVE_PASSWORDS)
106         @${ECHO_MSG} "Define WITH_SAVE_PASSWORDS to save passwords between server restarts"
107 .endif
108
109 post-extract:
110         @${MV} ${WRKSRC}/README.md ${WRKSRC}/changelog.txt \
111                 ${WRKSRC}/known-bugs.txt ${WRKSRC}/docs
112
113 post-patch:
114         @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' ${WRKSRC}/config.lib
115         @${REINPLACE_CMD} -e 's,OSX,${OPSYS:tu},' ${WRKSRC}/Makefile.grf.in
116
117 do-install:
118         ${INSTALL_PROGRAM} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
119         @${MKDIR} ${STAGEDIR}${DATADIR}/ai ${STAGEDIR}${DATADIR}/baseset \
120                 ${STAGEDIR}${DATADIR}/game ${STAGEDIR}${DATADIR}/lang \
121                 ${STAGEDIR}${DATADIR}/scripts
122         ${INSTALL_DATA} ${WRKSRC}/bin/ai/*.nut ${STAGEDIR}${DATADIR}/ai
123         ${INSTALL_DATA} ${WRKSRC}/bin/baseset/* ${STAGEDIR}${DATADIR}/baseset
124         ${INSTALL_DATA} ${WRKSRC}/bin/game/* ${STAGEDIR}${DATADIR}/game
125         ${INSTALL_DATA} ${WRKSRC}/bin/lang/* ${STAGEDIR}${DATADIR}/lang
126         ${INSTALL_DATA} ${WRKSRC}/bin/scripts/* ${STAGEDIR}${DATADIR}/scripts
127         ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.6 \
128                 ${STAGEDIR}${MANPREFIX}/man/man6
129 .if !defined(WITH_DEDICATED_SERVER_ONLY)
130         ${INSTALL_DATA} ${WRKSRC}/media/openttd.32.xpm \
131                 ${STAGEDIR}${PREFIX}/share/pixmaps
132 .  for n in 16 32 48 64 128 256
133         @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps
134         ${INSTALL_DATA} ${WRKSRC}/media/openttd.${n}.png \
135                 ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps/openttd.png
136 .  endfor
137 .else
138         @${REINPLACE_CMD} -E '/icons|pixmaps/d' ${TMPPLIST}
139 .endif
140
141 post-install-DOCS-on:
142         @${MKDIR} ${STAGEDIR}${DOCSDIR}
143         ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/docs/,} ${STAGEDIR}${DOCSDIR}
144
145 .include <bsd.port.post.mk>