aboutsummaryrefslogtreecommitdiff
path: root/games/cataclysm-dda/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'games/cataclysm-dda/Makefile')
-rw-r--r--games/cataclysm-dda/Makefile106
1 files changed, 62 insertions, 44 deletions
diff --git a/games/cataclysm-dda/Makefile b/games/cataclysm-dda/Makefile
index 2562e2a7e3ac..c83edce99565 100644
--- a/games/cataclysm-dda/Makefile
+++ b/games/cataclysm-dda/Makefile
@@ -2,9 +2,13 @@
# $FreeBSD$
PORTNAME= cataclysm-dda
-PORTVERSION= 0.9
-PORTREVISION= 1
+PORTVERSION= 0.B
+PORTEPOCH= 1
CATEGORIES= games
+MASTER_SITES= https://codeload.github.com/${GH_ACCOUNT}/${GH_PROJECT}/legacy.tar.gz/${GH_TAGNAME}?dummy=/:game \
+ http://azmodean.polehammer.com/:sound
+DISTFILES= ${PORTNAME}-${PORTVERSION}.tar.gz:game
+EXTRACT_ONLY= ${PORTNAME}-${PORTVERSION}.tar.gz
MAINTAINER= wulf@cicgroup.ru
COMMENT= Fork/variant of Cataclysm Roguelike by Whales
@@ -14,75 +18,89 @@ LICENSE_NAME= Creative Commons Attribution-ShareAlike 3.0 Unported License
LICENSE_FILE= ${WRKSRC}/LICENSE.txt
LICENSE_PERMS= dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
-USES= gmake shebangfix
+USES= gmake shebangfix compiler:c++11-lib execinfo
SHEBANG_FILES= lang/*.sh
bash_CMD= /bin/sh
-USE_GITHUB= yes
GH_ACCOUNT= CleverRaven
GH_PROJECT= Cataclysm-DDA
-GH_TAGNAME= ${GH_COMMIT}
-GH_COMMIT= ebd2393
-MAKE_ARGS+= RELEASE=1
+GH_TAGNAME= ${PORTVERSION}
+GH_COMMIT= 293f250
+MAKE_ARGS+= PREFIX=${PREFIX} RELEASE=1 USE_HOME_DIR=1
CXXFLAGS+= -I${LOCALBASE}/include
-LDFLAGS+= -L${LOCALBASE}/lib
+LDFLAGS+= -Wl,-rpath=${_GCC_RUNTIME} -L${LOCALBASE}/lib -lexecinfo
+
+WRKSRC= ${WRKDIR}/${GH_ACCOUNT}-${GH_PROJECT}-${GH_COMMIT}
MAKE_JOBS_UNSAFE= yes
-OPTIONS_DEFINE= NLS DOCS
-OPTIONS_DEFAULT=NCURSES
+OPTIONS_DEFINE= NLS DOCS LUA SOUND
+OPTIONS_DEFAULT=NLS DOCS NCURSES
OPTIONS_SINGLE= UI
OPTIONS_SINGLE_UI= NCURSES SDL
UI_DESC= User Interface
+SOUND_DESC= Sound support (SDL UI only)
OPTIONS_SUB= yes
-SUB_FILES= cataclysm
REINPLACE_ARGS= -i ''
NCURSES_USES= ncurses
-SDL_USE= SDL=sdl,ttf,image
+SDL_USE= SDL=sdl2,ttf2,image2
+SDL_USES= pkgconfig
SDL_MAKE_ARGS= TILES=1 TILESTARGET=cataclysm
+SDL_FETCH_DEPENDS= ${NONEXISTENT}:${PORTSDIR}/x11-fonts/terminus-font:patch
+SDL_BUILD_DEPENDS= bdftopcf:${PORTSDIR}/x11-fonts/bdftopcf
NLS_USES= gettext
NLS_LDFLAGS= -lintl
-NLS_MAKE_ARGS= L10N=localization
-
-.include <bsd.port.options.mk>
+NLS_MAKE_ARGS= LOCALIZE=1
+LUA_USES= lua:51 pkgconfig
+LUA_MAKE_ARGS= LUA=1
+
+.include <bsd.port.pre.mk>
+
+.if ${PORT_OPTIONS:MSOUND}
+.if ${PORT_OPTIONS:MSDL}
+MAKE_ARGS+= SOUND=1
+USE_SDL+= mixer2
+SOUND_FILES= cataclysmthemeREV6.ogg Dark_Days_Ahead_demo_2.ogg
+DISTFILES+= ${SOUND_FILES:S|$|:sound|}
+.else
+IGNORE= Sound is not supported with ncurses UI.
+.endif
+.endif
+post-patch:
+ ${REINPLACE_CMD} -e '/^ *CXX *=/d ; /^ *LD *=/s/g++/$$(CXX)/ ; \
+ /^ *CXXFLAGS *+*=/s/-O[s0-3]//; /^ *LOCALIZE *=/d ; \
+ s/\(-lncurses\)\(w*\)/\1\2 -ltinfo\2/ ; \
+ s/=$$(PREFIX)\//=$$(DESTDIR)$$(PREFIX)\// ; \
+ /install/s/--mode=/-m / ; s/ -t\( $$(DATA_PREFIX)\)/\1/ ; \
+ /cp -R/s/--no-preserve=ownership// ; \
+ /^ *LUA_BINARY *=/s/lua/${LUA_CMD}/' ${WRKSRC}/Makefile
.if ! ${PORT_OPTIONS:MNLS}
-MAKE_ARGS+= LOCALIZE=0
+ ${REINPLACE_CMD} -e '/LOCALE_DIR/s/^/#/' ${WRKSRC}/Makefile
+.endif
+.if ${PORT_OPTIONS:MNCURSES} && ${NCURSESBASE} == /usr
+ ${REINPLACE_CMD} -e 's/$$(shell ncursesw5-config --libs)/-lncursesw/ ; \
+ /$$(shell ncursesw5-config --cflags)/d' ${WRKSRC}/Makefile
+.endif
+.if ${PORT_OPTIONS:MSDL}
+ ${REINPLACE_CMD} -e '/"file":/s|gfx|${DATADIR}/&|' \
+ ${WRKSRC}/gfx/*/tile_config.json
+ # replace bundled windows version of terminus font with X-compatible one
+ ${CAT} `cd ${PORTSDIR}/x11-fonts/terminus-font; make -V WRKSRC`/ter-u14n.bdf \
+ | bdftopcf | ${GZIP_CMD} > ${WRKSRC}/data/font/terminus.fon
.endif
-post-extract:
- ${RM} ${WRKSRC}/data/.gitignore
-
-post-patch:
- ${REINPLACE_CMD} -e 's|"lang/mo"|"${PREFIX}/share/locale"|' ${WRKSRC}/main.cpp
- cd ${WRKSRC} && ${REINPLACE_CMD} -e 's|gfx|${DATADIR}/&|' options.cpp \
- sdltiles.cpp cata_tiles.cpp gfx/*/tileset.txt
- cd ${WRKSRC} && ${REINPLACE_CMD} -e 's|data/json|${DATADIR}/&|' \
- game.cpp init.cpp map.cpp sdltiles.cpp
- cd ${WRKSRC} && ${REINPLACE_CMD} -e 's|data/raw|${DATADIR}/&|' \
- input.cpp iuse_software_sokoban.cpp
- ${REINPLACE_CMD} -e 's|data/font["/]|${DATADIR}/&| ; \
- s|data/FONTDATA|${DATADIR}/&|' ${WRKSRC}/sdltiles.cpp
- ${REINPLACE_CMD} -e 's|data/motd|${DATADIR}/&| ; \
- s|data/credits|${DATADIR}/&|' ${WRKSRC}/main_menu.cpp
- ${REINPLACE_CMD} -e '/^CXX *=/d ; /^LD *=/s/g++/$$(CXX)/ ; \
- /OTHERS += -O3/d ; s/\(-lncurses\)\(w*\)/\1\2 -ltinfo\2/ ; \
- /^WARNINGS *=/d' ${WRKSRC}/Makefile
-
-do-install:
- ${INSTALL_SCRIPT} ${WRKDIR}/cataclysm ${STAGEDIR}${PREFIX}/bin
- ${INSTALL_PROGRAM} ${WRKSRC}/cataclysm ${STAGEDIR}${PREFIX}/libexec
-.for dir in data gfx
- cd ${WRKSRC} && ${COPYTREE_SHARE} ${dir} ${STAGEDIR}${DATADIR}
-.endfor
-.if ${PORT_OPTIONS:MNLS}
- cd ${WRKSRC}/lang/mo && ${COPYTREE_SHARE} . ${STAGEDIR}${PREFIX}/share/locale
+post-install:
+.if ${PORT_OPTIONS:MSOUND}
+ cd ${WRKSRC}/data && ${COPYTREE_SHARE} sound ${STAGEDIR}${DATADIR}
+ cd ${DISTDIR} && \
+ ${INSTALL_DATA} ${SOUND_FILES} ${STAGEDIR}${DATADIR}/sound
.endif
@${MKDIR} ${STAGEDIR}${DOCSDIR}
${FIND} ${WRKSRC} \( -name "*.md" -or -name "*.txt" \) \
-exec ${INSTALL_DATA} {} ${STAGEDIR}${DOCSDIR}/ \;
-.include <bsd.port.mk>
+.include <bsd.port.post.mk>