Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 3 May 2016 02:51:32 +0000
From:      Alexey Dokuchaev <danfe@FreeBSD.org>
To:        Kurt Jaeger <pi@FreeBSD.org>
Cc:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   Re: svn commit: r414354 - in head/net-p2p: . go-ethereum
Message-ID:  <20160503025132.GB52316@FreeBSD.org>
In-Reply-To: <201604301837.u3UIbqPF020181@repo.freebsd.org>
References:  <201604301837.u3UIbqPF020181@repo.freebsd.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sat, Apr 30, 2016 at 06:37:52PM +0000, Kurt Jaeger wrote:
> New Revision: 414354
> URL: https://svnweb.freebsd.org/changeset/ports/414354
> 
> Log:
>   New port: net-p2p/go-ethereum
>   
>   [...]
> +OPTIONS_DEFINE=	BOOTNODE ETHTEST EVM DISASM RLPDUMP
> +OPTIONS_SUB=	yes
> +
> +BOOTNODE_DESC=	Runs a bootstrap node for the Discovery Protocol
> +ETHTEST_DESC=	Test tool which runs with the tests suite
> +EVM_DESC=	A generic Ethereum Virtual Machine
> +DISASM_DESC=	Disassembles EVM code
> +RLPDUMP_DESC=	Prints RLP structures

There are few problems with the OPTIONS block: it should typically be placed
the last before targets, and options' description are poorly worded:

- BOOTNODE_DESC: who/what runs a bootstrap node?  is it being run during the
  build or run-time?  Is there a rc.d script, etc.?
- ETHTEST_DESC: what use it has for a port user?  Does it really have to be
  exposed as an OPTION?
- EVM_DESC: suggest drop the leading article
- DISASM_DESC: who/what disassembles EVM code?
- RLPDUMP_DESC: who/what prints some structures?

> +USE_GITHUB=	yes
> +GH_ACCOUNT=	ethereum

Misplaced lines (as noted above), including USE_GCC.

> +
> +USE_GCC=	4.8+

What prevents it being build with any compiler, e.g. Clang?  Even if GCC is
actually required, it was not explained why `yes' won't suffice instead of
`4.8+' here.

> +do-install:
> +	${INSTALL_PROGRAM} ${WRKSRC}/build/bin/geth ${STAGEDIR}${PREFIX}/bin
> +	@if [ ${PORT_OPTIONS:MBOOTNODE} ]; then \
> +		${INSTALL_PROGRAM} ${WRKSRC}/build/bin/bootnode ${STAGEDIR}${PREFIX}/bin; \
> +	fi;
> +	@if [ ${PORT_OPTIONS:METHTEST} ]; then \
> +		${INSTALL_PROGRAM} ${WRKSRC}/build/bin/ethtest ${STAGEDIR}${PREFIX}/bin; \
> +	fi;
> +	@if [ ${PORT_OPTIONS:MEVM} ]; then \
> +		${INSTALL_PROGRAM} ${WRKSRC}/build/bin/evm ${STAGEDIR}${PREFIX}/bin; \
> +	fi;
> +	@if [ ${PORT_OPTIONS:MDISASM} ]; then \
> +		${INSTALL_PROGRAM} ${WRKSRC}/build/bin/disasm ${STAGEDIR}${PREFIX}/bin; \
> +	fi;
> +	@if [ ${PORT_OPTIONS:MRLPDUMP} ]; then \
> +		${INSTALL_PROGRAM} ${WRKSRC}/build/bin/rlpdump ${STAGEDIR}${PREFIX}/bin; \
> +	fi;

Please reread CHANGES entry 20150701 about option target helpers and fix
this mess.  You should also pay closer attention to svn-ports-* lists, as
several folks were doing good job converting ports to use those features.

> Added: head/net-p2p/go-ethereum/pkg-descr
> ==============================================================================
> --- /dev/null	00:00:00 1970	(empty, because file is newly added)
> +++ head/net-p2p/go-ethereum/pkg-descr	Sat Apr 30 18:37:51 2016	(r414354)
> @@ -0,0 +1,8 @@
> +Ethereum is a community-driven project aiming to decentralize the internet and
> +return it to its democratic roots. It is a platform for building and running
> +applications which do not need to rely on trust and cannot be controlled by
> +any central authority.
> +
> +This is the Go implementation of Ethereum y/w paper

Missing the full stop at the end of sentence.  Also, "y/w" probably needs
to be expanded as it is not very clear.

./danfe



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