ports/184894: games/bastet: Fix build on -current
KATO Tsuguru
tkato432 at yahoo.com
Mon Dec 16 18:10:27 UTC 2013
>Number: 184894
>Category: ports
>Synopsis: games/bastet: Fix build on -current
>Confidential: no
>Severity: non-critical
>Priority: low
>Responsible: freebsd-ports-bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: change-request
>Submitter-Id: current-users
>Arrival-Date: Mon Dec 16 18:10:26 UTC 2013
>Closed-Date:
>Last-Modified:
>Originator: KATO Tsuguru
>Release: FreeBSD 8.4-RELEASE-p4 i386
>Organization:
>Environment:
>Description:
- Fix build on -current
New file:
files/patch-BastetBlockChooser.hpp
>How-To-Repeat:
>Fix:
diff -urN /usr/ports/games/bastet/Makefile games/bastet/Makefile
--- /usr/ports/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 at 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 -urN /usr/ports/games/bastet/files/patch-BastetBlockChooser.hpp games/bastet/files/patch-BastetBlockChooser.hpp
--- /usr/ports/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 <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;
>Release-Note:
>Audit-Trail:
>Unformatted:
More information about the freebsd-ports-bugs
mailing list