On Sun, 2 Dec 2018 22:15:43 -0500
George Koehler wrote:

> On Fri, 30 Nov 2018 05:59:48 +0100
> Charlene Wendling <[email protected]> wrote:
> 
> > Hi David, ports, 
> >
> > Here is a diff that unbreaks libtorrent [1], and thus rtorrent [2],
> > with gcc-6.4 as ports-gcc on my macppc box [3]. It may help for
> > sparc64 as well.
> 
 
> Upstream libtorrent has different C++11 fixes.  Their rak_cxx.m4 [1]
> checks the compiler.  If it can `#include <unordered_map>`, then it's
> C++11, else if it can `#include <tr1/unordered_map>`, then it's TR1.
> 
> I guess that gcc 4.9.4 would pass the C++11 check.  Perhaps we can use
> ${PROPERTIES:Mgcc4} and don't need ${PROPERTIES:Mgcc6} yet.  This
> might help because macppc and sparc64 still use gcc 4.9.4 by default,
> so it is wrong to add them to ${PROPERTIES:Mgcc6}.

I was totally unaware of what was involved by adding GCC6_ARCHS. I
zapped it. 

> In lib/rtorrent/Makefile, it might be better (I'm not sure) to delete
> the gcc4 lines and use COMPILER to pick ports-gcc before base-gcc for
> sparc64.  The SIGBUS comment might go above the COMPILER line.
> 
> [1]
> https://github.com/rakshasa/libtorrent/blob/master/scripts/rak_cxx.m4#L44
> 

I tried that way, it picks the right CHOSEN_COMPILER on macppc.

With your proposed changes, it builds and runs fine wether you're using
ports-gcc-4.9 or ports-gcc-6.4 on macppc :) 

Thanks a lot! 

Charlène. 

Index: net/libtorrent/Makefile
===================================================================
RCS file: /cvs/ports/net/libtorrent/Makefile,v
retrieving revision 1.56
diff -u -p -r1.56 Makefile
--- net/libtorrent/Makefile     24 Oct 2018 14:28:09 -0000
1.56 +++ net/libtorrent/Makefile        4 Dec 2018 04:02:09 -0000
@@ -10,7 +10,7 @@ NOT_FOR_ARCHS=                ${GCC3_ARCHS}
 
 DISTNAME=              libtorrent-0.13.6
 EPOCH=                 0
-REVISION=              4
+REVISION=              5
 SHARED_LIBS +=         torrent 22.1    # .18.0
 CATEGORIES=            net devel
 
@@ -37,7 +37,7 @@ CONFIGURE_ARGS=               --enable-static \
                        --disable-debug
 
 .include <bsd.port.arch.mk>
-.if ${PROPERTIES:Mclang}
+.if ${PROPERTIES:Mclang} || ${PROPERTIES:Mgcc4}
 # this patches *only* files containing tr1 to no longer refer to tr1
 # we do it pre-patch, because autoconf passes right after us
 pre-patch:
Index: net/rtorrent/Makefile
===================================================================
RCS file: /cvs/ports/net/rtorrent/Makefile,v
retrieving revision 1.63
diff -u -p -r1.63 Makefile
--- net/rtorrent/Makefile       24 Oct 2018 14:28:09 -0000      1.63
+++ net/rtorrent/Makefile       4 Dec 2018 04:02:09 -0000
@@ -3,7 +3,7 @@
 COMMENT=               ncurses BitTorrent client based on libTorrent
 
 DISTNAME=              rtorrent-0.9.6
-REVISION=              5
+REVISION=              6
 EPOCH=                 0
 CATEGORIES=            net
 
@@ -21,12 +21,11 @@ COMPILER =          base-clang ports-gcc
base-gc 
 MASTER_SITES=          https://rtorrent.net/downloads/
 
-MODULES=               gcc4
-
 # SIGBUS during startup on sparc64 when built using gcc 4.2.1
 # https://github.com/rakshasa/rtorrent/issues/28
-MODGCC4_ARCHS=         sparc64
-MODGCC4_LANGS=         c++
+.if ${MACHINE_ARCH} == "sparc64"
+COMPILER=              ports-gcc
+.endif
 
 BUILD_DEPENDS=         devel/cppunit
 LIB_DEPENDS=           net/libtorrent>=0.13.4 \
@@ -44,7 +43,7 @@ post-install:
                ${PREFIX}/share/examples/rtorrent/rtorrent.rc
 
 .include <bsd.port.arch.mk>
-.if ${PROPERTIES:Mclang}
+.if ${PROPERTIES:Mclang} || ${PROPERTIES:Mgcc4}
 # this patches *only* files containing tr1 to no longer refer to tr1
 # we do it pre-patch, because autoconf passes right after us
 pre-patch:

Reply via email to