1 # Created by: Alexey Dokuchaev <danfe@FreeBSD.org>
8 MASTER_SITES= https://proxy.binaries.openttd.org/openttd-releases/${DISTVERSION}/
9 DISTNAME= ${PORTNAME}-${DISTVERSION}-source
11 MAINTAINER= danfe@FreeBSD.org
12 COMMENT= Open source clone of Microprose Transport Tycoon Deluxe
16 LIB_DEPENDS= libpng.so:graphics/png \
17 liblzo2.so:archivers/lzo2
19 USES= cpe gmake pkgconfig tar:xz
21 CONFIGURE_ENV= STRIP="${STRIP_CMD} ${STRIP}"
22 CONFIGURE_ARGS= --prefix-dir="${PREFIX}" --data-dir="${DATADIR_REL}" \
26 WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
27 CXXFLAGS= # Set to empty as OpenTTD treats it as an addition to CFLAGS
29 SUB_FILES= pkg-message
31 PORTDOCS= HOWTO_compile_lang_files.txt README.md admin_network.txt \
32 changelog.txt elrail.svg elrail_tile.png elrail_track.png \
33 known-bugs.txt landscape.html landscape_externals.html \
34 landscape_grid.html multiplayer.txt obg_format.txt \
35 obm_format.txt obs_format.txt ottd-colourtext-palette.png \
38 DESKTOP_ENTRIES="OpenTTD" "${COMMENT}" "${PORTNAME}" "${PORTNAME}" \
39 "Game;Simulation;StrategyGame;" false
43 .if defined(WITH_MIDI_PLAYER)
44 CONFIGURE_ARGS+= --with-midi="${WITH_MIDI_PLAYER}"
47 .if defined(WITH_MIDI_PLAYER_ARGS)
48 CONFIGURE_ARGS+= --with-midi-arg="${WITH_MIDI_PLAYER_ARGS}"
51 .if defined(WITH_FLUIDSYNTH)
52 LIB_DEPENDS+= libfluidsynth.so:audio/fluidsynth
54 CONFIGURE_ARGS+= --without-fluidsynth
57 .if defined(WITH_DEDICATED_SERVER_ONLY)
58 CONFIGURE_ARGS+= --enable-dedicated
59 # Aid it to find lzo2 headers; client build gets it via sdl-config
60 CFLAGS+= -I${LOCALBASE}/include
61 USE_RC_SUBR= ${PORTNAME}
63 USES+= compiler:c++11-lib sdl
65 CXXFLAGS+= -DU_USING_ICU_NAMESPACE=1
66 LIB_DEPENDS+= libfreetype.so:print/freetype2 \
67 libicui18n.so:devel/icu \
68 libicu-le-hb.so:devel/icu-le-hb \
69 libiculx.so:devel/icu-lx \
70 libfontconfig.so:x11-fonts/fontconfig
75 .if defined(WITH_OPEN_GAME_FILES)
76 RUN_DEPENDS+= ${LOCALBASE}/share/${PORTNAME}/baseset/opengfx/opengfx.obg:games/opengfx \
77 ${LOCALBASE}/share/${PORTNAME}/baseset/openmsx/openmsx.obm:games/openmsx \
78 ${LOCALBASE}/share/${PORTNAME}/baseset/opensfx/opensfx.obs:games/opensfx
81 .if defined(WITH_SAVE_PASSWORDS)
82 EXTRA_PATCHES= ${FILESDIR}/extra-patch-save-passwords
85 .include <bsd.port.pre.mk>
88 .if !defined(WITH_MIDI_PLAYER)
89 @${ECHO_MSG} "Define WITH_MIDI_PLAYER=/path/to/player to build with external MIDI player"
91 .if !defined(WITH_MIDI_PLAYER_ARGS)
92 @${ECHO_MSG} "Define WITH_MIDI_PLAYER_ARGS=arguments for external MIDI player"
94 .if !defined(WITH_FLUIDSYNTH)
95 @${ECHO_MSG} "Define WITH_FLUIDSYNTH to enable new Fluidsynth music driver"
97 .if !defined(WITH_DEDICATED_SERVER_ONLY)
98 @${ECHO_MSG} "Define WITH_DEDICATED_SERVER_ONLY to build CLI-based dedicated server"
100 .if !defined(WITH_OPEN_GAME_FILES)
101 @${ECHO_MSG} "Define WITH_OPEN_GAME_FILES to install with libre graphics, music, and sounds"
103 .if !defined(WITH_SAVE_PASSWORDS)
104 @${ECHO_MSG} "Define WITH_SAVE_PASSWORDS to save passwords between server restarts"
108 @${MV} ${WRKSRC}/README.md ${WRKSRC}/changelog.txt \
109 ${WRKSRC}/known-bugs.txt ${WRKSRC}/docs
112 @${REINPLACE_CMD} -e 's,/usr/local,${LOCALBASE},' ${WRKSRC}/config.lib
113 @${REINPLACE_CMD} -e 's,OSX,${OPSYS:tu},' ${WRKSRC}/Makefile.grf.in
116 ${INSTALL_PROGRAM} ${WRKSRC}/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
117 @${MKDIR} ${STAGEDIR}${DATADIR}/ai ${STAGEDIR}${DATADIR}/baseset \
118 ${STAGEDIR}${DATADIR}/game ${STAGEDIR}${DATADIR}/lang \
119 ${STAGEDIR}${DATADIR}/scripts
120 ${INSTALL_DATA} ${WRKSRC}/bin/ai/*.nut ${STAGEDIR}${DATADIR}/ai
121 ${INSTALL_DATA} ${WRKSRC}/bin/baseset/* ${STAGEDIR}${DATADIR}/baseset
122 ${INSTALL_DATA} ${WRKSRC}/bin/game/* ${STAGEDIR}${DATADIR}/game
123 ${INSTALL_DATA} ${WRKSRC}/bin/lang/* ${STAGEDIR}${DATADIR}/lang
124 ${INSTALL_DATA} ${WRKSRC}/bin/scripts/* ${STAGEDIR}${DATADIR}/scripts
125 ${INSTALL_MAN} ${WRKSRC}/docs/${PORTNAME}.6 \
126 ${STAGEDIR}${MANPREFIX}/man/man6
127 .if !defined(WITH_DEDICATED_SERVER_ONLY)
128 ${INSTALL_DATA} ${WRKSRC}/media/openttd.32.xpm \
129 ${STAGEDIR}${PREFIX}/share/pixmaps
130 . for n in 16 32 48 64 128 256
131 @${MKDIR} ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps
132 ${INSTALL_DATA} ${WRKSRC}/media/openttd.${n}.png \
133 ${STAGEDIR}${PREFIX}/share/icons/hicolor/${n}x${n}/apps/openttd.png
136 @${REINPLACE_CMD} -E '/icons|pixmaps/d' ${TMPPLIST}
139 post-install-DOCS-on:
140 @${MKDIR} ${STAGEDIR}${DOCSDIR}
141 ${INSTALL_DATA} ${PORTDOCS:S,^,${WRKSRC}/docs/,} ${STAGEDIR}${DOCSDIR}
143 .include <bsd.port.post.mk>