aboutsummaryrefslogtreecommitdiff
path: root/games/bastet
diff options
context:
space:
mode:
Diffstat (limited to 'games/bastet')
-rw-r--r--games/bastet/Makefile29
-rw-r--r--games/bastet/files/patch-BastetBlockChooser.hpp47
2 files changed, 66 insertions, 10 deletions
diff --git a/games/bastet/Makefile b/games/bastet/Makefile
index b3009c5209b2..3dda3566c6ae 100644
--- a/games/bastet/Makefile
+++ b/games/bastet/Makefile
@@ -9,36 +9,45 @@ MASTER_SITES= http://fph.altervista.org/prog/files/
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 <bsd.port.pre.mk>
-.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 <bsd.port.post.mk>
diff --git a/games/bastet/files/patch-BastetBlockChooser.hpp b/games/bastet/files/patch-BastetBlockChooser.hpp
new file mode 100644
index 000000000000..720591fcb9a7
--- /dev/null
+++ b/games/bastet/files/patch-BastetBlockChooser.hpp
@@ -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 <tr1/unordered_set>
++#else
++#include <unordered_set>
++#endif
+ #include <set>
+ #include <boost/functional/hash.hpp>
+
++#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<Bastet::BlockPosition>{
+ size_t operator()(const Bastet::BlockPosition &fb) const{
+ static boost::hash<Bastet::BlockPosition> 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<Vertex> _visited;
++#else
++ std::unordered_set<Vertex> _visited;
++#endif
+ //std::set<Vertex> _visited; ^^ the above is more efficient, we need to do many inserts
+ BlockType _block;
+ const Well *_well;