From nobody@FreeBSD.org  Sat Jan  4 07:01:56 2014
Return-Path: <nobody@FreeBSD.org>
Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115])
	(using TLSv1 with cipher ADH-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by hub.freebsd.org (Postfix) with ESMTPS id 05ADCCD4
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 Jan 2014 07:01:56 +0000 (UTC)
Received: from oldred.freebsd.org (oldred.freebsd.org [IPv6:2001:1900:2254:206a::50:4])
	(using TLSv1 with cipher DHE-RSA-AES256-SHA (256/256 bits))
	(No client certificate requested)
	by mx1.freebsd.org (Postfix) with ESMTPS id E50141956
	for <freebsd-gnats-submit@FreeBSD.org>; Sat,  4 Jan 2014 07:01:55 +0000 (UTC)
Received: from oldred.freebsd.org ([127.0.1.6])
	by oldred.freebsd.org (8.14.5/8.14.7) with ESMTP id s0471tMU005800
	for <freebsd-gnats-submit@FreeBSD.org>; Sat, 4 Jan 2014 07:01:55 GMT
	(envelope-from nobody@oldred.freebsd.org)
Received: (from nobody@localhost)
	by oldred.freebsd.org (8.14.5/8.14.5/Submit) id s0471tmp005793;
	Sat, 4 Jan 2014 07:01:55 GMT
	(envelope-from nobody)
Message-Id: <201401040701.s0471tmp005793@oldred.freebsd.org>
Date: Sat, 4 Jan 2014 07:01:55 GMT
From: "Chad J. Milios" <milios@ccsys.com>
To: freebsd-gnats-submit@FreeBSD.org
Subject: New port: net-p2p/namecoin (ver Q.3.72)
X-Send-Pr-Version: www-3.1
X-GNATS-Notify:

>Number:         185459
>Category:       ports
>Synopsis:       New port: net-p2p/namecoin (ver Q.3.72)
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    swills
>State:          closed
>Quarter:        
>Keywords:       
>Date-Required:  
>Class:          change-request
>Submitter-Id:   current-users
>Arrival-Date:   Sat Jan 04 07:10:00 UTC 2014
>Closed-Date:    Wed Feb 12 18:45:05 UTC 2014
>Last-Modified:  Wed Feb 12 18:50:00 UTC 2014
>Originator:     Chad J. Milios
>Release:        9.2-RELEASE-p2/amd64
>Organization:
Crop Circle Systems, Inc.
>Environment:
FreeBSD kakashi.ccsys.com 9.2-RELEASE-p2 FreeBSD 9.2-RELEASE-p2 #0 r259093: Thu Dec 12 23:34:17 UTC 2013     root@shikamaru.ccsys.com:/usr/obj/usr/src/sys/NUOS  amd64
>Description:
This is a port of namecoin stable release Q.3.72 and a slave port namecoin-daemon. QT4 user interface is supported including the new integrated name registration. The daemon can be installed by opting out of the GUI option OR by using the included slave port so as to allow namecoin-qt and namecoind to easily coexist as packaged a system.

If you use this I'd appreciate your feedback. This is my first released port so go easy on me when you tell me how foolish I did it. :) I'd like some testing and community input, etc before this gets committed. This works great for my uses and limited testing and I don't think it should eat any of your coins but I wouldn't transfer hundreds of NMC into it just yet. :)

This is just the standard Namecoin software and does not have any OPTIONS to automatically integrate with DNS resolution yet. Once I get this port to a satisfactory place I'll be adding integration with resolver(s). I have much more experience with the DNS system than I do with QT and Qmake. This port was my little holiday learning project so maybe I did everything wrong. I'm open to any input about which of the many ways there are to do it that people would prefer to have made simple via the port or the ways people are doing resolution of the .bit TLD already using FreeBSD.
>How-To-Repeat:
In particular, I'm out of my depth when it comes to getting a gcc from ports to properly play nice with qmake, and I resorted to a libconf.d config in this port that I'm hoping someone will teach my how to avoid. Maybe it's not terrible but my gut tells me I'm doing it wrong. The compilation output that starts:

g++47 -Wl,-rpath=/usr/lib:/usr/local/lib -Wl,-rpath=/usr/local/lib/gcc47 -L/usr/local/lib/gcc47 -fstack-protector-all -Wl,-O1 -pthread -Wl,-rpath,/usr/local/lib/qt4 -o namecoin-qt

seems to have too many -Wl,-rpath='s in it for my taste and without the included libmap.d hack results in a namecoin-qt that simply gasps as it dies:

/usr/lib/libstdc++.so.6: version GLIBCXX_3.4.11 required by /usr/local/bin/namecoin-qt not found

If anyone knows how to eliminate the need for the libconf.d/namecoin-qt.conf I included in this port, or how to eliminate the USE_GCC=yes altogether, your help would be much appreciated. I may be totally off base but hopefully this will start us off toward having a usable and stable namecoin client and rpc server on FreeBSD!
>Fix:


Patch attached with submission follows:

# This is a shell archive.  Save it in a file, remove anything before
# this line, and then unpack it by entering "sh file".  Note, it may
# create directories; files and directories will be owned by you and
# have default permissions.
#
# This archive contains:
#
#	namecoin
#	namecoin/pkg-descr
#	namecoin/files
#	namecoin/files/patch-src_qt_configurenamedialog.h
#	namecoin/files/patch-src_net.cpp
#	namecoin/files/patch-src_main.h
#	namecoin/files/patch-src_qt_managenamespage.h
#	namecoin/files/libmap.conf
#	namecoin/files/makefile.unix
#	namecoin/distinfo
#	namecoin/Makefile
#	namecoin-daemon
#	namecoin-daemon/Makefile
#
echo c - namecoin
mkdir -p namecoin > /dev/null 2>&1
echo x - namecoin/pkg-descr
sed 's/^X//' >namecoin/pkg-descr << '117f67382f1626fb9fd126b6e66ee216'
XNamecoin is an open source decentralized key/value registration and transfer system based on Bitcoin technology (a decentralized cryptocurrency).
X
XIt allows you to:
X
X    Securely register and transfer arbitrary names (keys), no possible censorship!
X    Attach values (data) to the names (currently up to 520 bytes, will be extended)
X    Trade and transact namecoins, the digital currency NMC
X
XThere are plenty of possible use cases. Some examples:
X
X    DNS: domain_name => domain_zone_configuration (also for i2p, Tor)
X    TLS: https like encryption and secure identification by Namecoin domain/ID/name
X    Alias/Identity: user_name => user_public_identity (email, name, gpg key, BTC-adress, etc)
X    Timestamping: document_hash => document_infos (name, hash, owner, etc)
X    Broadcasting / Messaging
X    Web of trust
X    Bonds, shares
X    Voting
X    Torrent tracker
X
XTo register a name, you must own some namecoins (NMC, the internal cryptocurrency used by the software).
X
XWWW: http://namecoin.info/
117f67382f1626fb9fd126b6e66ee216
echo c - namecoin/files
mkdir -p namecoin/files > /dev/null 2>&1
echo x - namecoin/files/patch-src_qt_configurenamedialog.h
sed 's/^X//' >namecoin/files/patch-src_qt_configurenamedialog.h << 'fd458b3f77de7a4d2e771dad5f7c5475'
X--- src/qt/configurenamedialog.h.orig	2014-01-03 19:35:57.779743611 +0000
X+++ src/qt/configurenamedialog.h	2014-01-03 19:36:36.515288567 +0000
X@@ -1,6 +1,9 @@
X #ifndef CONFIGURENAMEDIALOG_H
X #define CONFIGURENAMEDIALOG_H
X 
X+#include <sys/socket.h>
X+#include <netinet/in.h>
X+
X #include <QDialog>
X 
X namespace Ui {
fd458b3f77de7a4d2e771dad5f7c5475
echo x - namecoin/files/patch-src_net.cpp
sed 's/^X//' >namecoin/files/patch-src_net.cpp << '586303403abf3298ba56c9d325e47c3b'
X--- src/net.cpp.orig	2014-01-03 18:15:08.517743991 +0000
X+++ src/net.cpp	2014-01-03 18:16:00.387744056 +0000
X@@ -1094,13 +1094,8 @@
X         char intClient[16];
X         char intPort[6];
X 
X-#if !defined(__WXMSW__) && !defined(MAC_OSX)
X-        r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
X-	                        port, port, lanaddr, 0, "TCP", 0);
X-#else
X         r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
X 	                        port, port, lanaddr, 0, "TCP", 0, "0");
X-#endif
X         if(r!=UPNPCOMMAND_SUCCESS)
X             printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n",
X                 port, port, lanaddr, r, strupnperror(r));
586303403abf3298ba56c9d325e47c3b
echo x - namecoin/files/patch-src_main.h
sed 's/^X//' >namecoin/files/patch-src_main.h << 'bf1841f707c8c379965f83bbf4af097c'
X--- src/main.h.orig	2014-01-03 14:53:49.331743939 +0000
X+++ src/main.h	2014-01-03 14:54:29.778743504 +0000
X@@ -16,7 +16,6 @@
X #ifdef __WXMSW__
X #include <io.h> /* for _commit */
X #elif !defined(MAC_OSX)
X-#include <sys/prctl.h>
X #endif
X 
X class CBlock;
bf1841f707c8c379965f83bbf4af097c
echo x - namecoin/files/patch-src_qt_managenamespage.h
sed 's/^X//' >namecoin/files/patch-src_qt_managenamespage.h << '8df20cff343bcdb5a186bae5abcfa0c9'
X--- src/qt/managenamespage.h.orig	2014-01-03 19:31:40.464744466 +0000
X+++ src/qt/managenamespage.h	2014-01-03 19:31:48.654744497 +0000
X@@ -1,6 +1,9 @@
X #ifndef MANAGENAMESPAGE_H
X #define MANAGENAMESPAGE_H
X 
X+#include <sys/socket.h>
X+#include <netinet/in.h>
X+
X #include <QDialog>
X #include <QSortFilterProxyModel>
X 
8df20cff343bcdb5a186bae5abcfa0c9
echo x - namecoin/files/libmap.conf
sed 's/^X//' >namecoin/files/libmap.conf << 'b73e42350c757e7857779ba55f47a901'
X[%%BINARY%%]
Xlibstdc++.so.6	%%CC%%/libstdc++.so.6
b73e42350c757e7857779ba55f47a901
echo x - namecoin/files/makefile.unix
sed 's/^X//' >namecoin/files/makefile.unix << '2869bc8ad2dd8f7c83a6384e6e3ce423'
XCXX?=g++
XDEFS=-DNOPCH -DFOURWAYSSE2 -DUSE_SSL
X
XLIBS= \
X -Wl,-Bstatic \
X   -l boost_system \
X   -l boost_filesystem \
X   -l boost_program_options \
X   -l boost_thread \
X   -l boost_chrono \
X   -l db_cxx \
X   -l ssl \
X   -l crypto
X
XUSE_UPNP:=0
Xifneq (${USE_UPNP}, -)
X	LIBS += -l miniupnpc
X	DEFS += -DUSE_UPNP=$(USE_UPNP)
Xendif
X
XLIBS+= \
X -Wl,-Bdynamic \
X   -l gthread-2.0 \
X   -l z \
X   -l pthread
X
XCXXFLAGS+=-O2 -Wno-invalid-offsetof -Wformat $(DEFS)
XHEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
X    script.h allocators.h db.h walletdb.h crypter.h net.h irc.h keystore.h main.h \
X    wallet.h bitcoinrpc.h uibase.h ui.h noui.h init.h auxpow.h
X
XBASE_OBJS= \
X    obj/auxpow.o \
X    obj/util.o \
X    obj/key.o \
X    obj/script.o \
X    obj/db.o \
X    obj/walletdb.o \
X    obj/crypter.o \
X    obj/net.o \
X    obj/irc.o \
X    obj/keystore.o \
X    obj/main.o \
X    obj/wallet.o \
X    obj/bitcoinrpc.o \
X    obj/init.o \
X    cryptopp/obj/sha.o \
X    cryptopp/obj/cpu.o
X
XOBJS = \
X    $(BASE_OBJS) \
X    obj/hook.o
X
Xall: namecoind
X
Xcryptopp/obj/%.o: cryptopp/%.cpp
X	$(CXX) -c $(CXXFLAGS) -O3 -o $@ $<
X
Xobj/nogui/%.o: %.cpp $(HEADERS)
X	$(CXX) -c $(CXXFLAGS) -o $@ $<
X
Xobj/test/%.o: test/%.cpp $(HEADERS)
X	$(CXX) -c $(CFLAGS) -o $@ $<
X
Xobj/nogui/namecoin.o: namecoin.h
X
Xnamecoind: $(BASE_OBJS:obj/%=obj/nogui/%) obj/nogui/namecoin.o
X	$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
X
Xclean:
X	-rm -f namecoin namecoind
X	-rm -f obj/*.o
X	-rm -f obj/nogui/*.o
X	-rm -f obj/test/*.o
X	-rm -f cryptopp/obj/*.o
X	-rm -f headers.h.gch
2869bc8ad2dd8f7c83a6384e6e3ce423
echo x - namecoin/distinfo
sed 's/^X//' >namecoin/distinfo << 'af7280dcc6b0f3404156a1150a56ce37'
XSHA256 (namecoin-Q.3.72.tar.gz) = 426b6c10b999ed11f436b2d8a56715a4355d30af41e13a1fd6e6ee5dd8348775
XSIZE (namecoin-Q.3.72.tar.gz) = 1453900
af7280dcc6b0f3404156a1150a56ce37
echo x - namecoin/Makefile
sed 's/^X//' >namecoin/Makefile << 'e2404596dd40f9872699085b1b2157fb'
X# Created by: Chad J. Milios <milios@ccsys.com>
X# $FreeBSD$
X
XPORTNAME=	namecoin
XPORTVERSION=	Q.3.72
XCATEGORIES=	net-p2p dns
XMASTER_SITES=	GH
X
XMAINTAINER=	milios@ccsys.com
XCOMMENT=	A decentralized, open DNS system and general purpose key/value store.
X
XLIB_DEPENDS=	libboost_date_time.so:${PORTSDIR}/devel/boost-libs
X
XUSE_GCC=	yes
X
XOPTIONS_DEFINE=	GUI UPNP QRCODES
XOPTIONS_DEFAULT=	GUI QRCODES
X
XGUI_DESC=	Build as a QT4 GUI
XUPNP_DESC=	Build with UPNP support
XQRCODES_DESC=	Build with QR code display
X
XUSE_GITHUB=	yes
XGH_ACCOUNT=	namecoinq
XGH_PROJECT=	namecoinq
XGH_COMMIT=	cdf052b
XGH_TAGNAME=	v${PORTVERSION}
X
XUSE_GMAKE=	yes
XUSE_OPENSSL=	yes
XUSE_BDB=	yes
XWANT_BDB_VER=	48
X
XCXXFLAGS+=	-I${LOCALBASE}/include -I${BDB_INCLUDE_DIR}
XCXXFLAGS+=	-L${LOCALBASE}/lib -L${BDB_LIB_DIR}
X
X.include <bsd.port.options.mk>
X
X.if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
XUSE_QT4=	corelib gui qmake_build linguist uic moc rcc
XBINARY=		namecoin-qt
XPLIST_FILES+=	etc/libmap.d/${BINARY}.conf
XLIB_DEPENDS+=	libprotobuf.so:${PORTSDIR}/devel/protobuf
X.else
XBINARY=		namecoind
XMAKE_ARGS+=	-C ${WRKSRC}/src
X.endif
X
X.if ${PORT_OPTIONS:MQRCODES}
XLIB_DEPENDS+=	libqrencode.so:${PORTSDIR}/graphics/libqrencode
XQMAKE_USE_QRCODE=1
X.else
XQMAKE_USE_QRCODE=0
X.endif
X
X.if ${PORT_OPTIONS:MDBUS}
XUSE_QT4+=       dbus
XQMAKE_USE_DBUS= 1
X.else
XQMAKE_USE_DBUS= 0
X.endif
X
XPLIST_FILES+=	bin/${BINARY}
X
X.if ${PORT_OPTIONS:MUPNP}
XLIB_DEPENDS+=	libminiupnpc.so:${PORTSDIR}/net/miniupnpc
XQMAKE_USE_UPNP=	1
X.else
XQMAKE_USE_UPNP=	-
X.endif
X
X.include <bsd.port.pre.mk>
X
Xpost-patch:
X.if !${PORT_OPTIONS:MGUI} || defined(WITHOUT_X11)
X	@cd ${WRKSRC}/src && ${CP} ${FILESDIR}/makefile.unix Makefile
X	@${REINPLACE_CMD} \
X		-e 's|^USE_UPNP.*$$|USE_UPNP=${QMAKE_USE_UPNP}|' \
X		-e 's|-l pthread|${PTHREAD_LIBS}|g' \
X		${WRKSRC}/src/Makefile
X.else
X	@${CP} ${FILESDIR}/libmap.conf ${WRKSRC}/libmap.conf
X	@${REINPLACE_CMD} \
X	-e 's|%%BINARY%%|${BINARY}|' \
X		-e 's|%%CC%%|${CC}|' \
X		${WRKSRC}/libmap.conf
X.endif
X
Xdo-configure:
X.if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
X	cd ${WRKSRC} && ${SETENV} ${QMAKE_ENV} \
X		${QMAKE} ${QMAKE_ARGS} USE_UPNP=${QMAKE_USE_UPNP} USE_QRCODE=${QMAKE_USE_QRCODE} \
X		QMAKE_LRELEASE=${LRELEASE} INCLUDEPATH+=${BDB_INCLUDE_DIR} \
X		QMAKE_LIBDIR+=${BDB_LIB_DIR} ${BINARY}.pro
X.endif
X
Xdo-install:
X	@${MKDIR} ${STAGEDIR}${PREFIX}/bin
X.if ${PORT_OPTIONS:MGUI} && !defined(WITHOUT_X11)
X	@${MKDIR} ${STAGEDIR}${PREFIX}/etc/libmap.d
X	${CP} ${WRKSRC}/libmap.conf ${STAGEDIR}${PREFIX}/etc/libmap.d/${BINARY}.conf
X	${INSTALL_PROGRAM} ${WRKSRC}/${BINARY} ${STAGEDIR}${PREFIX}/bin/
X.else
X	${INSTALL_PROGRAM} ${WRKSRC}/src/${BINARY} ${STAGEDIR}${PREFIX}/bin/
X.endif
X
X.include <bsd.port.post.mk>
e2404596dd40f9872699085b1b2157fb
echo c - namecoin-daemon
mkdir -p namecoin-daemon > /dev/null 2>&1
echo x - namecoin-daemon/Makefile
sed 's/^X//' >namecoin-daemon/Makefile << '133b970f294840a0aacb3b455ea21902'
X# $FreeBSD$
X
XPKGNAMESUFFIX=	-daemon
XCOMMENT=	A decentralized, open DNS system and general purpose key/value store.
XMASTERDIR=	${.CURDIR}/../namecoin
XDESCR=		${MASTERDIR}/pkg-descr
XSLAVE_PORT=	yes
XOPTIONS_EXCLUDE=	GUI QRCODES
X.include "${MASTERDIR}/Makefile"
133b970f294840a0aacb3b455ea21902
exit



>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: freebsd-ports-bugs->swills 
Responsible-Changed-By: swills 
Responsible-Changed-When: Thu Jan 16 19:10:11 UTC 2014 
Responsible-Changed-Why:  
I'll take it. 

http://www.freebsd.org/cgi/query-pr.cgi?pr=185459 
State-Changed-From-To: open->closed 
State-Changed-By: swills 
State-Changed-When: Wed Feb 12 18:45:04 UTC 2014 
State-Changed-Why:  
New port added, with minor changes. Thanks! 

http://www.freebsd.org/cgi/query-pr.cgi?pr=185459 

From: dfilter@FreeBSD.ORG (dfilter service)
To: bug-followup@FreeBSD.org
Cc:  
Subject: Re: ports/185459: commit references a PR
Date: Wed, 12 Feb 2014 18:44:59 +0000 (UTC)

 Author: swills
 Date: Wed Feb 12 18:44:49 2014
 New Revision: 343950
 URL: http://svnweb.freebsd.org/changeset/ports/343950
 QAT: https://qat.redports.org/buildarchive/r343950/
 
 Log:
   Namecoin is an open source decentralized key/value registration and transfer
   system based on Bitcoin technology (a decentralized cryptocurrency).
   
   It allows you to:
   
       * Securely register and transfer arbitrary names (keys), no possible
         censorship!
       * Attach values (data) to the names (currently up to 520 bytes, will be
         extended)
       * Trade and transact namecoins, the digital currency NMC
   
   To register a name, you must own some namecoins (NMC, the internal
   cryptocurrency used by the software).
   
   WWW: http://namecoin.info/
   
   PR:		ports/185459
   Submitted by:	Chad J. Milios <milios@ccsys.com>
 
 Added:
   head/net-p2p/namecoin/
   head/net-p2p/namecoin/Makefile   (contents, props changed)
   head/net-p2p/namecoin/distinfo   (contents, props changed)
   head/net-p2p/namecoin/files/
   head/net-p2p/namecoin/files/makefile.unix   (contents, props changed)
   head/net-p2p/namecoin/files/patch-src__main.h   (contents, props changed)
   head/net-p2p/namecoin/files/patch-src__net.cpp   (contents, props changed)
   head/net-p2p/namecoin/files/patch-src__qt__configurenamedialog.h   (contents, props changed)
   head/net-p2p/namecoin/files/patch-src__qt__managenamespage.h   (contents, props changed)
   head/net-p2p/namecoin/files/patch-src__serialize.h   (contents, props changed)
   head/net-p2p/namecoin/pkg-descr   (contents, props changed)
 Modified:
   head/net-p2p/Makefile
 
 Modified: head/net-p2p/Makefile
 ==============================================================================
 --- head/net-p2p/Makefile	Wed Feb 12 18:41:27 2014	(r343949)
 +++ head/net-p2p/Makefile	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -64,6 +64,7 @@
      SUBDIR += mldonkey-perlreactor
      SUBDIR += mldonkey-urlslave
      SUBDIR += museekplus
 +    SUBDIR += namecoin
      SUBDIR += napshare
      SUBDIR += ncdc
      SUBDIR += opendchub
 
 Added: head/net-p2p/namecoin/Makefile
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/Makefile	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,98 @@
 +# Created by: Chad J. Milios <milios@ccsys.com>
 +# $FreeBSD$
 +
 +PORTNAME=	namecoin
 +PORTVERSION=	Q.3.72
 +CATEGORIES=	net-p2p dns
 +MASTER_SITES=	GH
 +
 +MAINTAINER=	milios@ccsys.com
 +COMMENT=	Decentralized, open DNS system and general purpose key/value store
 +
 +LIB_DEPENDS=	libboost_date_time.so:${PORTSDIR}/devel/boost-libs
 +
 +OPTIONS_DEFINE=	X11 UPNP QRCODES DBUS
 +OPTIONS_DEFAULT=	X11 QRCODES
 +
 +UPNP_DESC=	Build with UPNP support
 +QRCODES_DESC=	Build with QR code display
 +
 +USE_GITHUB=	yes
 +GH_ACCOUNT=	namecoinq
 +GH_PROJECT=	namecoinq
 +GH_COMMIT=	cdf052b
 +GH_TAGNAME=	v${PORTVERSION}
 +
 +USES=		gmake compiler:c++11-lib
 +USE_OPENSSL=	yes
 +USE_BDB=	yes
 +WANT_BDB_VER=	48
 +
 +CXXFLAGS+=	-I${LOCALBASE}/include -I${BDB_INCLUDE_DIR}
 +CXXFLAGS+=	-L${LOCALBASE}/lib -L${BDB_LIB_DIR}
 +CXXFLAGS+=	-DCRYPTOPP_DISABLE_ASM
 +
 +.include <bsd.port.options.mk>
 +
 +.if ${PORT_OPTIONS:MX11}
 +USE_QT4=	corelib network gui qmake_build linguist_build uic_build moc_build rcc_build
 +
 +BINARY=		namecoin-qt
 +LIB_DEPENDS+=	libprotobuf.so:${PORTSDIR}/devel/protobuf
 +.else
 +BINARY=		namecoind
 +MAKE_ARGS+=	-C ${WRKSRC}/src
 +USE_GNOME=	glib20
 +.endif
 +
 +.if ${PORT_OPTIONS:MQRCODES}
 +LIB_DEPENDS+=	libqrencode.so:${PORTSDIR}/graphics/libqrencode
 +QMAKE_USE_QRCODE=1
 +.else
 +QMAKE_USE_QRCODE=0
 +.endif
 +
 +.if ${PORT_OPTIONS:MDBUS}
 +USE_QT4+=	dbus
 +QMAKE_USE_DBUS=	1
 +.else
 +QMAKE_USE_DBUS=	0
 +.endif
 +
 +PLIST_FILES+=	bin/${BINARY}
 +
 +.if ${PORT_OPTIONS:MUPNP}
 +LIB_DEPENDS+=	libminiupnpc.so:${PORTSDIR}/net/miniupnpc
 +QMAKE_USE_UPNP=	1
 +.else
 +QMAKE_USE_UPNP=	-
 +.endif
 +
 +.include <bsd.port.pre.mk>
 +
 +post-patch:
 +.if !${PORT_OPTIONS:MX11}
 +	@cd ${WRKSRC}/src && ${CP} ${FILESDIR}/makefile.unix Makefile
 +	@${REINPLACE_CMD} \
 +		-e 's|^USE_UPNP.*$$|USE_UPNP=${QMAKE_USE_UPNP}|' \
 +		-e 's|-l pthread|${PTHREAD_LIBS}|g' \
 +		${WRKSRC}/src/Makefile
 +.endif
 +
 +do-configure:
 +.if ${PORT_OPTIONS:MX11}
 +	cd ${WRKSRC} && ${SETENV} ${QMAKE_ENV} \
 +		${QMAKE} ${QMAKE_ARGS} USE_UPNP=${QMAKE_USE_UPNP} USE_QRCODE=${QMAKE_USE_QRCODE} \
 +		QMAKE_LRELEASE=${LRELEASE} INCLUDEPATH+=${BDB_INCLUDE_DIR} \
 +		QMAKE_LIBDIR+=${BDB_LIB_DIR} ${BINARY}.pro
 +.endif
 +
 +do-install:
 +	@${MKDIR} ${STAGEDIR}${PREFIX}/bin
 +.if ${PORT_OPTIONS:MX11}
 +	${INSTALL_PROGRAM} ${WRKSRC}/${BINARY} ${STAGEDIR}${PREFIX}/bin/
 +.else
 +	${INSTALL_PROGRAM} ${WRKSRC}/src/${BINARY} ${STAGEDIR}${PREFIX}/bin/
 +.endif
 +
 +.include <bsd.port.post.mk>
 
 Added: head/net-p2p/namecoin/distinfo
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/distinfo	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,2 @@
 +SHA256 (namecoin-Q.3.72.tar.gz) = 426b6c10b999ed11f436b2d8a56715a4355d30af41e13a1fd6e6ee5dd8348775
 +SIZE (namecoin-Q.3.72.tar.gz) = 1453900
 
 Added: head/net-p2p/namecoin/files/makefile.unix
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/makefile.unix	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,76 @@
 +CXX?=g++
 +DEFS=-DNOPCH -DFOURWAYSSE2 -DUSE_SSL
 +
 +LIBS= \
 + -Wl,-Bstatic \
 +   -l boost_system \
 +   -l boost_filesystem \
 +   -l boost_program_options \
 +   -l boost_thread \
 +   -l boost_chrono \
 +   -l db_cxx \
 +   -l ssl \
 +   -l crypto
 +
 +USE_UPNP:=0
 +ifneq (${USE_UPNP}, -)
 +	LIBS += -l miniupnpc
 +	DEFS += -DUSE_UPNP=$(USE_UPNP)
 +endif
 +
 +LIBS+= \
 + -Wl,-Bdynamic \
 +   -l gthread-2.0 \
 +   -l z \
 +   -l pthread
 +
 +CXXFLAGS+=-O2 -Wno-invalid-offsetof -Wformat $(DEFS)
 +HEADERS=headers.h strlcpy.h serialize.h uint256.h util.h key.h bignum.h base58.h \
 +    script.h allocators.h db.h walletdb.h crypter.h net.h irc.h keystore.h main.h \
 +    wallet.h bitcoinrpc.h uibase.h ui.h noui.h init.h auxpow.h
 +
 +BASE_OBJS= \
 +    obj/auxpow.o \
 +    obj/util.o \
 +    obj/key.o \
 +    obj/script.o \
 +    obj/db.o \
 +    obj/walletdb.o \
 +    obj/crypter.o \
 +    obj/net.o \
 +    obj/irc.o \
 +    obj/keystore.o \
 +    obj/main.o \
 +    obj/wallet.o \
 +    obj/bitcoinrpc.o \
 +    obj/init.o \
 +    cryptopp/obj/sha.o \
 +    cryptopp/obj/cpu.o
 +
 +OBJS = \
 +    $(BASE_OBJS) \
 +    obj/hook.o
 +
 +all: namecoind
 +
 +cryptopp/obj/%.o: cryptopp/%.cpp
 +	$(CXX) -c $(CXXFLAGS) -O3 -o $@ $<
 +
 +obj/nogui/%.o: %.cpp $(HEADERS)
 +	$(CXX) -c $(CXXFLAGS) -o $@ $<
 +
 +obj/test/%.o: test/%.cpp $(HEADERS)
 +	$(CXX) -c $(CFLAGS) -o $@ $<
 +
 +obj/nogui/namecoin.o: namecoin.h
 +
 +namecoind: $(BASE_OBJS:obj/%=obj/nogui/%) obj/nogui/namecoin.o
 +	$(CXX) $(CXXFLAGS) -o $@ $^ $(LIBS)
 +
 +clean:
 +	-rm -f namecoin namecoind
 +	-rm -f obj/*.o
 +	-rm -f obj/nogui/*.o
 +	-rm -f obj/test/*.o
 +	-rm -f cryptopp/obj/*.o
 +	-rm -f headers.h.gch
 
 Added: head/net-p2p/namecoin/files/patch-src__main.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/patch-src__main.h	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,10 @@
 +--- ./src/main.h.orig	2013-10-29 13:38:10.000000000 +0000
 ++++ ./src/main.h	2014-01-18 23:12:20.871138275 +0000
 +@@ -16,7 +16,6 @@
 + #ifdef __WXMSW__
 + #include <io.h> /* for _commit */
 + #elif !defined(MAC_OSX)
 +-#include <sys/prctl.h>
 + #endif
 + 
 + class CBlock;
 
 Added: head/net-p2p/namecoin/files/patch-src__net.cpp
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/patch-src__net.cpp	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,25 @@
 +--- ./src/net.cpp.orig	2013-10-29 13:38:10.000000000 +0000
 ++++ ./src/net.cpp	2014-01-18 23:12:20.911138205 +0000
 +@@ -51,7 +51,7 @@
 + CAddress addrLocalHost("0.0.0.0", 0, false, nLocalServices);
 + CNode* pnodeLocalHost = NULL;
 + uint64 nLocalHostNonce = 0;
 +-array<int, 10> vnThreadsRunning;
 ++boost::array<int, 10> vnThreadsRunning;
 + SOCKET hListenSocket = INVALID_SOCKET;
 + 
 + vector<CNode*> vNodes;
 +@@ -1094,13 +1094,8 @@
 +         char intClient[16];
 +         char intPort[6];
 + 
 +-#if !defined(__WXMSW__) && !defined(MAC_OSX)
 +-        r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
 +-	                        port, port, lanaddr, 0, "TCP", 0);
 +-#else
 +         r = UPNP_AddPortMapping(urls.controlURL, data.first.servicetype,
 + 	                        port, port, lanaddr, 0, "TCP", 0, "0");
 +-#endif
 +         if(r!=UPNPCOMMAND_SUCCESS)
 +             printf("AddPortMapping(%s, %s, %s) failed with code %d (%s)\n",
 +                 port, port, lanaddr, r, strupnperror(r));
 
 Added: head/net-p2p/namecoin/files/patch-src__qt__configurenamedialog.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/patch-src__qt__configurenamedialog.h	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,12 @@
 +--- ./src/qt/configurenamedialog.h.orig	2013-10-29 13:38:10.000000000 +0000
 ++++ ./src/qt/configurenamedialog.h	2014-01-18 23:12:20.925138619 +0000
 +@@ -1,6 +1,9 @@
 + #ifndef CONFIGURENAMEDIALOG_H
 + #define CONFIGURENAMEDIALOG_H
 + 
 ++#include <sys/socket.h>
 ++#include <netinet/in.h>
 ++
 + #include <QDialog>
 + 
 + namespace Ui {
 
 Added: head/net-p2p/namecoin/files/patch-src__qt__managenamespage.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/patch-src__qt__managenamespage.h	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,12 @@
 +--- ./src/qt/managenamespage.h.orig	2013-10-29 13:38:10.000000000 +0000
 ++++ ./src/qt/managenamespage.h	2014-01-18 23:12:20.965138391 +0000
 +@@ -1,6 +1,9 @@
 + #ifndef MANAGENAMESPAGE_H
 + #define MANAGENAMESPAGE_H
 + 
 ++#include <sys/socket.h>
 ++#include <netinet/in.h>
 ++
 + #include <QDialog>
 + #include <QSortFilterProxyModel>
 + 
 
 Added: head/net-p2p/namecoin/files/patch-src__serialize.h
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/files/patch-src__serialize.h	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,21 @@
 +--- src/serialize.h.orig	2014-01-19 03:49:23.000000000 +0000
 ++++ src/serialize.h	2014-01-19 03:52:10.000000000 +0000
 +@@ -858,18 +858,6 @@
 +     iterator insert(iterator it, const char& x=char()) { return vch.insert(it, x); }
 +     void insert(iterator it, size_type n, const char& x) { vch.insert(it, n, x); }
 + 
 +-    void insert(iterator it, const_iterator first, const_iterator last)
 +-    {
 +-        if (it == vch.begin() + nReadPos && last - first <= nReadPos)
 +-        {
 +-            // special case for inserting at the front when there's room
 +-            nReadPos -= (last - first);
 +-            memcpy(&vch[nReadPos], &first[0], last - first);
 +-        }
 +-        else
 +-            vch.insert(it, first, last);
 +-    }
 +-
 +     void insert(iterator it, std::vector<char>::const_iterator first, std::vector<char>::const_iterator last)
 +     {
 +         if (it == vch.begin() + nReadPos && last - first <= nReadPos)
 
 Added: head/net-p2p/namecoin/pkg-descr
 ==============================================================================
 --- /dev/null	00:00:00 1970	(empty, because file is newly added)
 +++ head/net-p2p/namecoin/pkg-descr	Wed Feb 12 18:44:49 2014	(r343950)
 @@ -0,0 +1,15 @@
 +Namecoin is an open source decentralized key/value registration and transfer
 +system based on Bitcoin technology (a decentralized cryptocurrency).
 +
 +It allows you to:
 +
 +    * Securely register and transfer arbitrary names (keys), no possible
 +      censorship!
 +    * Attach values (data) to the names (currently up to 520 bytes, will be
 +      extended)
 +    * Trade and transact namecoins, the digital currency NMC
 +
 +To register a name, you must own some namecoins (NMC, the internal
 +cryptocurrency used by the software).
 +
 +WWW: http://namecoin.info/
 _______________________________________________
 svn-ports-all@freebsd.org mailing list
 http://lists.freebsd.org/mailman/listinfo/svn-ports-all
 To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
 
>Unformatted:
