--- games/bastet/Makefile 2013-12-12 21:50:20.000000000 +0900 +++ games/bastet/Makefile 2013-12-17 00:00:00.000000000 +0900 @@ -9,36 +9,45 @@ EXTRACT_SUFX= .tgz MAINTAINER= ports@FreeBSD.org -COMMENT= An ncurses Tetris clone which is harder than every other Tetris +COMMENT= Ncurses Tetris clone which is harder than every other Tetris LICENSE= GPLv3 # (or later) LIB_DEPENDS= libboost_program_options.so:${PORTSDIR}/devel/boost-libs -USES= ncurses -USE_GMAKE= yes +USES= gmake ncurses CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -MAN6= bastet.6 -PLIST_FILES= bin/bastet +PLIST_FILES= bin/bastet man/man6/bastet.6.gz -NO_STAGE= yes .include -.if ${ARCH} != "i386" +.if ${OSVERSION} < 1000024 +.if exists(/usr/bin/clang) +CC= clang +CXX= clang++ +CPP= clang-cpp +.else +.if ${ARCH} == "i386" +CXXFLAGS+= -fexceptions +.else USE_GCC= yes .endif +.endif +.endif post-patch: @${REINPLACE_CMD} -e \ 's|^CXXFLAGS+=-D|CXXFLAGS+=$$(CPPFLAGS) -D| ; \ - s|$$(CXX) -MM|$$(CXX) $$(CPPFLAGS) -MM| ; \ + s|$$(CXX) -MM|$$(CXX) $$(CXXFLAGS) -MM| ; \ s| -ggdb | |' ${WRKSRC}/Makefile do-install: - ${INSTALL_PROGRAM} ${WRKSRC}/bastet ${PREFIX}/bin - ${INSTALL_MAN} ${WRKSRC}/bastet.6 ${MAN6PREFIX}/man/man6 + (cd ${WRKSRC} && ${INSTALL_PROGRAM} bastet \ + ${STAGEDIR}${PREFIX}/bin) + (cd ${WRKSRC} && ${INSTALL_MAN} bastet.6 \ + ${STAGEDIR}${MAN6PREFIX}/man/man6) .include --- games/bastet/files/patch-BastetBlockChooser.hpp 1970-01-01 09:00:00.000000000 +0900 +++ games/bastet/files/patch-BastetBlockChooser.hpp 2013-12-17 00:00:00.000000000 +0900 @@ -0,0 +1,47 @@ +--- BastetBlockChooser.hpp.orig 2009-03-21 06:49:31.000000000 +0900 ++++ BastetBlockChooser.hpp 2013-11-29 22:35:48.000000000 +0900 +@@ -23,19 +23,32 @@ + + #include "Well.hpp" + ++#if !defined(_LIBCPP_VERSION) + #include ++#else ++#include ++#endif + #include + #include + ++#if !defined(_LIBCPP_VERSION) + //boilerplate to use boost::hash as std::tr1::hash + namespace std{namespace tr1{ ++#else ++//boilerplate to use boost::hash as std::hash ++namespace std{ ++#endif + template<> struct hash{ + size_t operator()(const Bastet::BlockPosition &fb) const{ + static boost::hash h; + return h(fb); + } + }; ++#if !defined(_LIBCPP_VERSION) + }} ++#else ++ } ++#endif + + namespace Bastet{ + +@@ -83,7 +96,11 @@ + public: + Searcher(BlockType b, const Well *well, Vertex v, WellVisitor *visitor); + private: ++#if !defined(_LIBCPP_VERSION) + std::tr1::unordered_set _visited; ++#else ++ std::unordered_set _visited; ++#endif + //std::set _visited; ^^ the above is more efficient, we need to do many inserts + BlockType _block; + const Well *_well;