# 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: # # starcoin # starcoin/files # starcoin/files/starcoin.in # starcoin/files/extra-patch-endian # starcoin/files/pkg-message.in # starcoin/files/patch-src-makefile_bsd # starcoin/files/patch-src-main_cpp # starcoin/files/starcoin.conf.sample # starcoin/files/patch-starcoin-qt_pro # starcoin/Makefile # starcoin/pkg-descr # starcoin/distinfo # starcoin/pkg-plist # echo c - starcoin mkdir -p starcoin > /dev/null 2>&1 echo c - starcoin/files mkdir -p starcoin/files > /dev/null 2>&1 echo x - starcoin/files/starcoin.in sed 's/^X//' >starcoin/files/starcoin.in << '62482a19616af944bbd48a78e94d7a17' X#!/bin/sh X# X# $FreeBSD: $ X# X X# PROVIDE: %%PORTNAME%% X# REQUIRE: LOGIN X# KEYWORD: shutdown X X# X# Add the following lines to /etc/rc.conf.local or /etc/rc.conf X# to enable this service: X# X# %%PORTNAME%%_enable (bool): Set to NO by default. X# Set it to YES to enable %%PORTNAME%%. X# %%PORTNAME%%_config (path): Set to %%PREFIX%%/etc/%%PORTNAME%%.conf X# by default. X# %%PORTNAME%%_user: The user account %%PORTNAME%% daemon runs as X# It uses 'root' user by default. X# %%PORTNAME%%_group: The group account %%PORTNAME%% daemon runs as X# It uses 'wheel' group by default. X# %%PORTNAME%%_datadir (str): Default to "/var/db/%%PORTNAME%%" X# Base data directory. X X. /etc/rc.subr X Xname=%%PORTNAME%% Xrcvar=%%PORTNAME%%_enable X X: ${%%PORTNAME%%_enable:=NO} X: ${%%PORTNAME%%_config=%%PREFIX%%/etc/%%PORTNAME%%.conf} X: ${%%PORTNAME%%_datadir=/var/db/%%PORTNAME%%} X: ${%%PORTNAME%%_user="root"} X: ${%%PORTNAME%%_group="wheel"} X Xrequired_files=${%%PORTNAME%%_config} Xcommand=%%PREFIX%%/bin/%%PORTNAME%%d X%%PORTNAME%%_chdir=${%%PORTNAME%%_datadir} Xpidfile="${%%PORTNAME%%_datadir}/%%PORTNAME%%d.pid" Xstop_cmd=%%PORTNAME%%_stop Xcommand_args="-conf=${%%PORTNAME%%_config} -datadir=${%%PORTNAME%%_datadir} -noupnp -daemon -pid=${pidfile}" Xstart_precmd="${name}_prestart" X X%%PORTNAME%%_create_datadir() X{ X echo "Creating data directory" X eval mkdir -p ${%%PORTNAME%%_datadir} X [ $? -eq 0 ] && chown -R ${%%PORTNAME%%_user}:${%%PORTNAME%%_group} ${%%PORTNAME%%_datadir} X #ln -s ${%%PORTNAME%%_datadir} /.%%PORTNAME%% X} X X%%PORTNAME%%_prestart() X{ X if [ ! -d "${%%PORTNAME%%_datadir}/." ]; then X %%PORTNAME%%_create_datadir || return 1 X fi X} X X%%PORTNAME%%_requirepidfile() X{ X if [ ! "0`check_pidfile ${pidfile} ${command}`" -gt 1 ]; then X echo "${name} not running? (check $pidfile)." X exit 1 X fi X} X X%%PORTNAME%%_stop() X{ X %%PORTNAME%%_requirepidfile X X echo "Stopping ${name}." X eval ${command} -conf=${%%PORTNAME%%_config} -datadir=${%%PORTNAME%%_datadir} stop X wait_for_pids ${rc_pid} X} X Xload_rc_config $name Xrun_rc_command "$1" 62482a19616af944bbd48a78e94d7a17 echo x - starcoin/files/extra-patch-endian sed 's/^X//' >starcoin/files/extra-patch-endian << '7c067184214cc63de6b36e933812bca1' X--- src/scrypt.cpp.orig 2013-12-09 18:10:12.046606050 +0000 X+++ src/scrypt.cpp 2013-12-09 18:10:25.898605023 +0000 X@@ -34,22 +34,6 @@ X #include X #include X X-static inline uint32_t be32dec(const void *pp) X-{ X- const uint8_t *p = (uint8_t const *)pp; X- return ((uint32_t)(p[3]) + ((uint32_t)(p[2]) << 8) + X- ((uint32_t)(p[1]) << 16) + ((uint32_t)(p[0]) << 24)); X-} X- X-static inline void be32enc(void *pp, uint32_t x) X-{ X- uint8_t *p = (uint8_t *)pp; X- p[3] = x & 0xff; X- p[2] = (x >> 8) & 0xff; X- p[1] = (x >> 16) & 0xff; X- p[0] = (x >> 24) & 0xff; X-} X- X typedef struct HMAC_SHA256Context { X SHA256_CTX ictx; X SHA256_CTX octx; X--- src/scrypt.h.orig 2013-12-09 15:26:17.343282984 +0000 X+++ src/scrypt.h 2013-12-09 15:45:11.032205545 +0000 X@@ -17,19 +17,4 @@ X PBKDF2_SHA256(const uint8_t *passwd, size_t passwdlen, const uint8_t *salt, X size_t saltlen, uint64_t c, uint8_t *buf, size_t dkLen); X X-static inline uint32_t le32dec(const void *pp) X-{ X- const uint8_t *p = (uint8_t const *)pp; X- return ((uint32_t)(p[0]) + ((uint32_t)(p[1]) << 8) + X- ((uint32_t)(p[2]) << 16) + ((uint32_t)(p[3]) << 24)); X-} X- X-static inline void le32enc(void *pp, uint32_t x) X-{ X- uint8_t *p = (uint8_t *)pp; X- p[0] = x & 0xff; X- p[1] = (x >> 8) & 0xff; X- p[2] = (x >> 16) & 0xff; X- p[3] = (x >> 24) & 0xff; X-} X #endif 7c067184214cc63de6b36e933812bca1 echo x - starcoin/files/pkg-message.in sed 's/^X//' >starcoin/files/pkg-message.in << 'ed7c206d0fc8e56ccc58f124c929ad61' X******************************************************************* XTo configure the Starcoin server please edit: X%%PREFIX%%/etc/%%PORTNAME%%.conf X XYou must at least set a "rpcpassword" in the configuration file above. X XTo run the %%PORTNAME%%d server at startup, add the following Xsettings to your /etc/rc.conf X X%%PORTNAME%%_enable="YES" X X******************************************************************* ed7c206d0fc8e56ccc58f124c929ad61 echo x - starcoin/files/patch-src-makefile_bsd sed 's/^X//' >starcoin/files/patch-src-makefile_bsd << 'd1ae17db1572d858d25f951ac0cd4b2c' X--- src/makefile.bsd.orig 2014-01-06 16:19:08.000000000 -0500 X+++ src/makefile.bsd 2014-01-08 21:03:52.000000000 -0500 X@@ -9,6 +9,11 @@ X X DEFS=-DBOOST_SPIRIT_THREADSAFE X X+BOOST_INCLUDE_PATH=%%PREFIX%%/include X+BDB_INCLUDE_PATH=%%PREFIX%%/include/db48 X+BOOST_LIB_PATH=%%PREFIX%%/lib X+BDB_LIB_PATH=%%PREFIX%%/lib/db48 X+ X DEFS += $(addprefix -I,$(CURDIR) $(CURDIR)/obj $(BOOST_INCLUDE_PATH) $(BDB_INCLUDE_PATH) $(OPENSSL_INCLUDE_PATH)) X LIBS = $(addprefix -L,$(BOOST_LIB_PATH) $(BDB_LIB_PATH) $(OPENSSL_LIB_PATH)) X X@@ -32,6 +37,7 @@ X -l boost_filesystem$(BOOST_LIB_SUFFIX) \ X -l boost_program_options$(BOOST_LIB_SUFFIX) \ X -l boost_thread$(BOOST_LIB_SUFFIX) \ X+ -l boost_chrono$(BOOST_LIB_SUFFIX) \ X -l db_cxx$(BDB_LIB_SUFFIX) \ X -l ssl \ X -l crypto \ X@@ -52,7 +58,6 @@ X LIBS+= \ X -Wl,-B$(LMODE2) \ X -l z \ X- -l dl \ X -l pthread X X X@@ -94,7 +99,7 @@ X X # CXXFLAGS can be specified on the make command line, so we use xCXXFLAGS that only X # adds some defaults in front. Unfortunately, CXXFLAGS=... $(CXXFLAGS) does not work. X-xCXXFLAGS=-O0 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ X+xCXXFLAGS=-O2 -msse2 -pthread -Wall -Wextra -Wformat -Wformat-security -Wno-unused-parameter \ X $(DEBUGFLAGS) $(DEFS) $(HARDENING) $(CXXFLAGS) X X # LDFLAGS can be specified on the make command line, so we use xLDFLAGS that only X@@ -139,7 +144,7 @@ X all: starcoind X X test check: test_starcoin FORCE X- ./test_BottleCaps X+ ./test_starcoin X X # auto-generated dependencies: X -include obj/*.P d1ae17db1572d858d25f951ac0cd4b2c echo x - starcoin/files/patch-src-main_cpp sed 's/^X//' >starcoin/files/patch-src-main_cpp << 'd04e2824d8d7c918a2d86192cabbf468' X--- src/main.cpp.orig 2014-01-06 16:19:08.000000000 -0500 X+++ src/main.cpp 2014-01-08 21:01:50.000000000 -0500 X@@ -939,8 +939,8 @@ X X int generateMTRandom(unsigned int s, int range) X { X- random::mt19937 gen(s); X- random::uniform_int_distribution<> dist(1, range); X+ boost::random::mt19937 gen(s); X+ boost::random::uniform_int_distribution<> dist(1, range); X return dist(gen); X } X d04e2824d8d7c918a2d86192cabbf468 echo x - starcoin/files/starcoin.conf.sample sed 's/^X//' >starcoin/files/starcoin.conf.sample << '10d42a79d48e008c9411cfac06be227b' Xrpcuser=myname X#rpcpassword=YOU MUST SET A PASSWORD Xmaxconnection=20 Xrpcallowip=127.0.0.1 Xrpcport=18217 Xport=18216 Xserver=1 Xdaemon=1 Xlisten=1 Xlogtimestamps=1 Xaddnode=63.247.147.163:18216 10d42a79d48e008c9411cfac06be227b echo x - starcoin/files/patch-starcoin-qt_pro sed 's/^X//' >starcoin/files/patch-starcoin-qt_pro << '8bf4b1e810a65c962ea6e85e23f2ae29' X--- starcoin-qt.pro.orig 2014-01-06 16:19:08.000000000 -0500 X+++ starcoin-qt.pro 2014-01-08 20:57:41.000000000 -0500 X@@ -350,7 +350,7 @@ X LIBS += -lssl -lcrypto -ldb_cxx$$BDB_LIB_SUFFIX X # -lgdi32 has to happen after -lcrypto (see #681) X windows:LIBS += -lws2_32 -lshlwapi -lmswsock -lole32 -loleaut32 -luuid -lgdi32 X-LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX X+LIBS += -lboost_system$$BOOST_LIB_SUFFIX -lboost_filesystem$$BOOST_LIB_SUFFIX -lboost_program_options$$BOOST_LIB_SUFFIX -lboost_thread$$BOOST_THREAD_LIB_SUFFIX -lboost_chrono$$BOOST_THREAD_LIB_SUFFIX X windows:LIBS += -lboost_chrono$$BOOST_LIB_SUFFIX X X contains(RELEASE, 1) { 8bf4b1e810a65c962ea6e85e23f2ae29 echo x - starcoin/Makefile sed 's/^X//' >starcoin/Makefile << 'ee1a1890364a54d229a26bbc2b1a369c' X# Created by: Daniel Morante X# $FreeBSD$ X XPORTNAME= starcoin XPORTVERSION= 1.6.0.0 XCATEGORIES= net-p2p finance XMASTER_SITES= GH X XMAINTAINER= daniel@morante.net XCOMMENT= Peer-to-Peer crypto currency using scrypt as a proof-of-work algorithm X XLICENSE= MIT X XLIB_DEPENDS= libboost_date_time.so:${PORTSDIR}/devel/boost-libs \ X libexecinfo.so:${PORTSDIR}/devel/libexecinfo X XOPTIONS_DEFINE= X11 UPNP QRCODES XOPTIONS_DEFAULT= X11 QRCODES XUPNP_DESC= Build with UPNP support XQRCODES_DESC= Build with QR code display X XUSE_GITHUB= yes XGH_ACCOUNT= ${PORTNAME}project XGH_PROJECT= ${PORTNAME} XGH_COMMIT= 352d5bf XGH_TAGNAME= 352d5bf X XUSES= gmake 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} XCXXFLAGS+= -Wno-invalid-offsetof X X.include X X.if ${PORT_OPTIONS:MX11} XPLIST_SUB+= X11="" X.else XSUB_LIST+= PORTNAME=${PORTNAME} XUSE_RC_SUBR= ${PORTNAME} XSUB_FILES= pkg-message XPLIST_SUB+= X11="@comment " X.endif X X.if ${PORT_OPTIONS:MX11} XUSE_QT4= corelib gui qmake_build linguist uic moc rcc XBINARY= ${PORTNAME}-qt XPLIST_SUB+= HEADLESS="@comment " X.else XBINARY= ${PORTNAME}d XMAKE_ARGS+= -C ${WRKSRC}/src XPLIST_SUB+= HEADLESS="" 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 XPLIST_SUB+= EXECUTABLE="bin/${BINARY}" \ X PORTNAME=${PORTNAME} 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 X X.if ${OSVERSION} >= 1000000 XEXTRA_PATCHES+= ${FILESDIR}/extra-patch-endian X.endif X Xpost-patch: X @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|' ${WRKSRC}/src/makefile.bsd X @${MKDIR} ${WRKSRC}/src/obj X.if !${PORT_OPTIONS:MX11} X @cd ${WRKSRC}/src && ${CP} -p makefile.bsd Makefile X @${REINPLACE_CMD} \ X -e 's|^USE_UPNP.*$$|USE_UPNP=${QMAKE_USE_UPNP}|' \ X -e 's|-l pthread|${PTHREAD_LIBS}|g' \ X -e 's:-l dl::' \ X ${WRKSRC}/src/Makefile X.endif X Xdo-configure: X.if ${PORT_OPTIONS:MX11} X cd ${WRKSRC} && ${SETENV} ${QMAKE_ENV} \ X ${QMAKE} ${QMAKE_ARGS} USE_UPNP=${QMAKE_USE_UPNP} USE_QRCODE=${QMAKE_USE_QRCODE} \ X QMAKE_LRELEASE=lrelease-qt4 PREFIX=${PREFIX} INCLUDEPATH=${BDB_INCLUDE_DIR} \ X QMAKE_LIBDIR+=${BDB_LIB_DIR} ${PORTNAME}-qt.pro X.endif X Xdo-install: X.if ${PORT_OPTIONS:MX11} X ${INSTALL_PROGRAM} -s ${WRKSRC}/${BINARY} ${STAGEDIR}${PREFIX}/bin/${BINARY} X ${REINPLACE_CMD} -e 's,=/usr,=${PREFIX},' \ X -e 's,bitcoin,${PORTNAME},g' \ X -e 's,Bitcoin,StarCoin,g' \ X -e 's,128,,g' ${WRKSRC}/contrib/debian/bitcoin-qt.desktop X ${INSTALL} ${WRKSRC}/contrib/debian/bitcoin-qt.desktop ${STAGEDIR}${PREFIX}/share/applications/${PORTNAME}-qt.desktop X ${INSTALL} ${WRKSRC}/src/qt/res/icons/bitcoin.png ${STAGEDIR}${PREFIX}/share/pixmaps/${PORTNAME}.png X X.else X ${INSTALL_PROGRAM} -s ${WRKSRC}/src/${BINARY} ${STAGEDIR}${PREFIX}/bin/${BINARY} X ${INSTALL} ${FILESDIR}/${PORTNAME}.conf.sample ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf.sample X @if [ ! -f ${PREFIX}/etc/${PORTNAME}.conf ]; then \ X ${CP} -p ${FILESDIR}/${PORTNAME}.conf.sample ${STAGEDIR}${PREFIX}/etc/${PORTNAME}.conf; \ X fi X.endif X X.include ee1a1890364a54d229a26bbc2b1a369c echo x - starcoin/pkg-descr sed 's/^X//' >starcoin/pkg-descr << 'cc91a19f368727599919f5344bfdb472' XStarcoin is a free open source peer-to-peer electronic cash system that Xis completely decentralized, without the need for a central server or Xtrusted parties. Users hold the crypto keys to their own money and Xtransact directly with each other, with the help of a P2P network to Xcheck for double-spending. X XWWW: http://www.starcoin.info/ cc91a19f368727599919f5344bfdb472 echo x - starcoin/distinfo sed 's/^X//' >starcoin/distinfo << '64aeddce756244d61dd2e59570db29c6' XSHA256 (starcoin-1.6.0.0.tar.gz) = 319cb9951315f091f04948e64fa70be427c8bc6da33f359f85836d3cb0e4d024 XSIZE (starcoin-1.6.0.0.tar.gz) = 2026592 64aeddce756244d61dd2e59570db29c6 echo x - starcoin/pkg-plist sed 's/^X//' >starcoin/pkg-plist << '398024e166784d02b6207e7d807e8425' X%%EXECUTABLE%% X%%X11%%share/applications/%%PORTNAME%%-qt.desktop X%%X11%%share/pixmaps/%%PORTNAME%%.png X%%HEADLESS%%@unexec if cmp -s %D/etc/%%PORTNAME%%.conf.sample %D/etc/%%PORTNAME%%.conf; then rm -f %D/etc/%%PORTNAME%%.conf; fi X%%HEADLESS%%etc/%%PORTNAME%%.conf.sample X%%HEADLESS%%@exec if [ ! -f %D/etc/%%PORTNAME%%.conf ] ; then cp -p %D/%F %B/%%PORTNAME%%.conf; fi 398024e166784d02b6207e7d807e8425 exit