Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jun 2015 20:48:55 +0000 (UTC)
From:      Jimmy Olgeni <olgeni@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r390939 - head/devel/relx
Message-ID:  <201506292048.t5TKmttd055610@svn.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: olgeni
Date: Mon Jun 29 20:48:54 2015
New Revision: 390939
URL: https://svnweb.freebsd.org/changeset/ports/390939

Log:
  Rebuild devel/relx using port dependencies rather than the dependency
  tarball. We also use rebar3 from ports.
  
  This gets us the full relx Erlang app, with its own beam files that
  can be used elsewhere.

Added:
  head/devel/relx/pkg-plist   (contents, props changed)
Modified:
  head/devel/relx/Makefile
  head/devel/relx/distinfo

Modified: head/devel/relx/Makefile
==============================================================================
--- head/devel/relx/Makefile	Mon Jun 29 20:44:14 2015	(r390938)
+++ head/devel/relx/Makefile	Mon Jun 29 20:48:54 2015	(r390939)
@@ -2,12 +2,12 @@
 
 PORTNAME=	relx
 PORTVERSION=	3.0.0
+PORTREVISION=	1
 DISTVERSIONPREFIX=v
 CATEGORIES=	devel
 MASTER_SITES+=	http://olgeni.olgeni.com/~olgeni/distfiles/:deps \
 		LOCAL/olgeni:deps
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \
-		relx-deps-2.tar.gz:deps \
 		relx-cache-2.tar.gz:deps
 
 MAINTAINER=	olgeni@FreeBSD.org
@@ -15,30 +15,57 @@ COMMENT=	Sane, simple release creation f
 
 LICENSE=	APACHE20
 
-BUILD_DEPENDS=	${LOCALBASE}/bin/erl:${PORTSDIR}/lang/erlang
-RUN_DEPENDS=	${LOCALBASE}/bin/erl:${PORTSDIR}/lang/erlang
+BUILD_DEPENDS=	${LOCALBASE}/bin/erl:${PORTSDIR}/lang/erlang \
+		rebar3>=0:${PORTSDIR}/devel/rebar3 \
+		erlang-bbmustache>=0:${PORTSDIR}/devel/erlang-bbmustache \
+		erlang-erlware_commons>=0:${PORTSDIR}/devel/erlang-erlware_commons \
+		erlang-getopt>=0:${PORTSDIR}/devel/erlang-getopt \
+		erlang-providers>=0:${PORTSDIR}/devel/erlang-providers \
+		erlang-jsx>=0:${PORTSDIR}/devel/erlang-jsx \
+		erlang-rebar3_hex>=0:${PORTSDIR}/devel/erlang-rebar3_hex \
+		erlang-ssl_verify_hostname>=0:${PORTSDIR}/devel/erlang-ssl_verify_hostname
+RUN_DEPENDS:=	${BUILD_DEPENDS}
+
+PLIST_SUB=	VERSION="${PORTVERSION}"
 
 USE_GITHUB=	yes
 GH_ACCOUNT=	erlware
 
-PLIST_FILES=	bin/${PORTNAME}
-
 # rebar3 insists on downloading dependencies, and some kind of package
 # index into the user's HOME. We need to trick it into behaving by
 # providing both before building.
 
 post-extract:
-	@${CP} -R ${WRKDIR}/_build ${WRKSRC}/
 	@${LN} -s cache ${WRKDIR}/.cache
 
-post-patch:
-	@${REINPLACE_CMD} -e "s/%%PORTVERSION%%/${PORTVERSION}/" ${WRKSRC}/src/relx.app.src
-	@${RM} ${WRKSRC}/src/*.bak ${WRKSRC}/src/*.orig
+pre-build:
+	@${MKDIR} ${WRKSRC}/_build/default/lib
+	@${MKDIR} ${WRKSRC}/_build/default/plugins
+.for lib in bbmustache erlware_commons getopt providers
+	@${LN} -s ${PREFIX}/lib/erlang/lib/$(lib)-* ${WRKSRC}/_build/default/lib/$(lib)
+.endfor
+.for plugin in jsx rebar3_hex ssl_verify_hostname
+	@${LN} -s ${PREFIX}/lib/erlang/lib/$(plugin)-* ${WRKSRC}/_build/default/plugins/$(plugin)
+.endfor
 
 do-build:
-	@cd ${WRKSRC} && HOME=${WRKDIR} ./rebar3 escriptize
+	@${RM} ${WRKSRC}/rebar.lock
+	@cd ${WRKSRC} && HOME=${WRKDIR} rebar3 compile
+	@${RM} ${WRKSRC}/rebar.lock
+	@cd ${WRKSRC} && HOME=${WRKDIR} rebar3 escriptize
 
 do-install:
-	${INSTALL_SCRIPT} ${WRKSRC}/_build/default/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin/
+	@${MKDIR} ${STAGEDIR}${DOCSDIR}
+	${INSTALL_DATA} ${WRKSRC}/README.md ${STAGEDIR}${DOCSDIR}
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/ebin
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/include
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/priv
+	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/src
+	${INSTALL_DATA} ${WRKSRC}/include/* ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/include
+	${INSTALL_DATA} ${WRKSRC}/src/* ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/src
+	${INSTALL_DATA} ${WRKSRC}/_build/default/lib/relx/ebin/* ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/ebin
+	cd ${WRKSRC}/priv && ${COPYTREE_SHARE} \* ${STAGEDIR}${PREFIX}/lib/erlang/lib/${PORTNAME}-${PORTVERSION}/priv
+	${INSTALL_SCRIPT} ${WRKSRC}/_build/default/bin/${PORTNAME} ${STAGEDIR}${PREFIX}/bin
 
 .include <bsd.port.mk>

Modified: head/devel/relx/distinfo
==============================================================================
--- head/devel/relx/distinfo	Mon Jun 29 20:44:14 2015	(r390938)
+++ head/devel/relx/distinfo	Mon Jun 29 20:48:54 2015	(r390939)
@@ -1,6 +1,4 @@
 SHA256 (erlware-relx-v3.0.0_GH0.tar.gz) = 5742ea33a221f54fa975291705b51d779347b4bd0a0040f0745f4faf9c29c084
 SIZE (erlware-relx-v3.0.0_GH0.tar.gz) = 443282
-SHA256 (relx-deps-2.tar.gz) = b86212e1c4dc7dbf545c0eceaa9f3fd6a3cbc123a9b62d657ceb07f6b9695913
-SIZE (relx-deps-2.tar.gz) = 680754
 SHA256 (relx-cache-2.tar.gz) = fdacd15a5decddc2d2ce1b0f5b8d7aa592b4c1c5a5f4eddef9cf6234a796f6fe
 SIZE (relx-cache-2.tar.gz) = 213517

Added: head/devel/relx/pkg-plist
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/devel/relx/pkg-plist	Mon Jun 29 20:48:54 2015	(r390939)
@@ -0,0 +1,60 @@
+bin/relx
+lib/erlang/lib/relx-%%VERSION%%/ebin/relx.app
+lib/erlang/lib/relx-%%VERSION%%/ebin/relx.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_app_discovery.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_app_info.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_cmd_args.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_config.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_depsolver.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_depsolver_culprit.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_dscv_util.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_goal.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_goal_utils.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_app_discover.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_archive.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_assembler.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_overlay.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_rel_discover.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_release.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_prv_relup.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_rel_discovery.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_release.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_state.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_topo.beam
+lib/erlang/lib/relx-%%VERSION%%/ebin/rlx_util.beam
+lib/erlang/lib/relx-%%VERSION%%/include/relx.hrl
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/bin
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/bin_windows
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/erl_ini
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/erl_script
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/extended_bin
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/extended_bin_windows
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/install_upgrade_escript
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/nodetool
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/sys_config
+lib/erlang/lib/relx-%%VERSION%%/priv/templates/vm_args
+lib/erlang/lib/relx-%%VERSION%%/src/relx.app.src
+lib/erlang/lib/relx-%%VERSION%%/src/relx.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_app_discovery.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_app_info.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_cmd_args.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_config.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_depsolver.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_depsolver_culprit.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_dscv_util.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_goal.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_goal.peg
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_goal_utils.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_app_discover.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_archive.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_assembler.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_overlay.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_rel_discover.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_release.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_prv_relup.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_rel_discovery.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_release.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_state.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_topo.erl
+lib/erlang/lib/relx-%%VERSION%%/src/rlx_util.erl
+%%PORTDOCS%%%%DOCSDIR%%/README.md



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