svn commit: r414354 - in head/net-p2p: . go-ethereum

Alexey Dokuchaev danfe at FreeBSD.org
Tue May 3 02:51:32 UTC 2016


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


More information about the svn-ports-all mailing list