Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 17 Dec 2013 02:48:01 +0900
From:      KATO Tsuguru <tkato432@yahoo.com>
To:        FreeBSD-gnats-submit@FreeBSD.org
Subject:   ports/184894: games/bastet: Fix build on -current
Message-ID:  <20131217024801.95e01f3c8014fdfa321bcf8b@yahoo.com>
Resent-Message-ID: <201312161810.rBGIARem016591@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>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@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:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20131217024801.95e01f3c8014fdfa321bcf8b>