Cc: Maintainer

Updates rebar3 to version 3.20
https://github.com/erlang/rebar3/releases/tag/3.20.0

* Starting with this version they bundle all of their build dependencies
* Drop all DISTFILES for the bundled dependencies
* Keep DISTFILE for meck around, since it's needed to run make test
* Adapt patches to their new paths
* Adapt substitutions to their new paths
* Only unpack meck hex module in do-test

Rebuilds elixir, rebuilds rabbitmq, works on the command line on amd64
Index: Makefile
===================================================================
RCS file: /cvs/ports/devel/rebar3/Makefile,v
retrieving revision 1.7
diff -u -p -r1.7 Makefile
--- Makefile	20 Jul 2022 01:09:58 -0000	1.7
+++ Makefile	29 Dec 2022 20:29:28 -0000
@@ -2,7 +2,7 @@ COMMENT = 		Erlang build tool
 
 GH_ACCOUNT =		erlang
 GH_PROJECT =		rebar3
-GH_TAGNAME =		3.19.0
+GH_TAGNAME =		3.20.0
 CATEGORIES =		devel
 HOMEPAGE =		https://www.rebar3.org
 MAINTAINER =		Jonathan Matthew <jmatt...@openbsd.org>
@@ -26,22 +26,11 @@ ERRORS +=               "Invalid FLAVOR 
 
 EXTRACT_ONLY =		rebar3-${GH_TAGNAME}.tar.gz
 
-HEX_MODULES = \
-	bbmustache		1.12.2 \
-	certifi			2.9.0 \
-	cf			0.3.1 \
-	cth_readable		1.5.1 \
-	erlware_commons		1.5.0 \
-	eunit_formatters	0.5.0 \
-	getopt			1.0.1 \
-	providers		1.9.0 \
-	relx			4.7.0 \
-	ssl_verify_fun		1.1.6
 # for tests
 HEX_MODULES += \
 	meck			0.8.13
 
-DISTFILES =	rebar3-{}${GH_TAGNAME}.tar.gz
+DISTFILES =		rebar3-{}${GH_TAGNAME}.tar.gz
 .for _m _v in ${HEX_MODULES}
 DISTFILES += ${_m}-${_v}.tar:1
 .endfor
@@ -50,23 +39,12 @@ BUILD_DEPENDS += 	${RUN_DEPENDS}
 
 SUBST_VARS = 		ERL_VERSION
 
-post-extract:
-	# extract hex modules into _build/default/lib for the bootstrap,
-	# and _checkouts for rebar3 itself, otherwise it will fetch from hex
-	mkdir -p ${WRKSRC}/_build/default/lib
-.for _m _v in ${HEX_MODULES}
-	mkdir -p ${WRKDIR}/${_m}
-	tar xf ${FULLDISTDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${_m}
-
-	mkdir -p ${WRKSRC}/_checkouts/${_m}
-	tar xzf ${WRKDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}
-	cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/
-.endfor
 
 pre-configure:
-	${SUBST_CMD} ${WRKSRC}/bootstrap ${WRKSRC}/src/rebar_prv_escriptize.erl \
-		${WRKSRC}/_build/default/lib/relx/priv/templates/bin \
-		${WRKSRC}/_build/default/lib/relx/priv/templates/extended_bin
+	${SUBST_CMD} ${WRKSRC}/bootstrap \
+		${WRKSRC}/apps/rebar/src/rebar_prv_escriptize.erl \
+		${WRKSRC}/vendor/relx/priv/templates/bin \
+		${WRKSRC}/vendor/relx/priv/templates/extended_bin
 
 do-build:
 	cd ${WRKBUILD} && ${SETENV} ${MAKE_ENV} ${WRKSRC}/bootstrap
@@ -76,6 +54,14 @@ do-install:
 
 PORTHOME=	${WRKDIR}
 do-test:
+.for _m _v in ${HEX_MODULES}
+	mkdir -p ${WRKDIR}/${_m}
+	tar xf ${FULLDISTDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${_m}
+
+	mkdir -p ${WRKSRC}/_checkouts/${_m}
+	tar xzf ${WRKDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}
+	cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/
+.endfor
 	cd ${WRKSRC} && \
 	    ${SETENV} ${ALL_TEST_ENV} ./rebar3 escriptize && \
 	    ${SETENV} ${ALL_TEST_ENV} ./rebar3 ct
Index: distinfo
===================================================================
RCS file: /cvs/ports/devel/rebar3/distinfo,v
retrieving revision 1.3
diff -u -p -r1.3 distinfo
--- distinfo	20 Jul 2022 01:09:58 -0000	1.3
+++ distinfo	29 Dec 2022 20:29:28 -0000
@@ -1,24 +1,4 @@
-SHA256 (bbmustache-1.12.2.tar) = aIszpNXMLVH1da3ws2g/xAo4MUovFQkG7c/Hf1tXezs=
-SHA256 (certifi-2.9.0.tar) = Jm2ka9sG1sbTX955m8so022YXUJK18CLW7SPW1zdRkE=
-SHA256 (cf-0.3.1.tar) = MV6NRH06SwK82/o5etA7u5iKbgqm9E063Q9OPDv5dnI=
-SHA256 (cth_readable-1.5.1.tar) = aGVBoi7+bKWkGgR7OVFsLdKPs8reXySi8ZFFs5Z/nYA=
-SHA256 (erlware_commons-1.5.0.tar) = PnxvsrpMKbDdXf6dAxtmRJ4giOzsGoFGW9n94F7X0Ns=
-SHA256 (eunit_formatters-0.5.0.tar) = 1si6ITQklE5uBbvAl8MgAc3Qq+OSXQJFTyKbINaHY8k=
-SHA256 (getopt-1.0.1.tar) = U+Grg7nOtlyWctPno1uAkum9ybPugHIUcaFhwQxZlZw=
 SHA256 (meck-0.8.13.tar) = 008BPBVttRrVfMVWiRuXIOahwd9f4uFa+ZnITWzr6xo=
-SHA256 (providers-1.9.0.tar) = 0ofodEBqFQVghkKwo9tbaNato/KrABrsh+f018efwBc=
-SHA256 (rebar3-3.19.0.tar.gz) = /570LHN0gEd+vfDdnZXs5TShTJbwXtr78y6a+XMoC8M=
-SHA256 (relx-4.7.0.tar) = oqv6+nC846C5im5RQKyYQpuZgPg1/7RzV/BkVCL8L6M=
-SHA256 (ssl_verify_fun-1.1.6.tar) = vbDSRx9FPIj/OQjnaG+G+b4yfQZcwewW+kVAGX6gRoA=
-SIZE (bbmustache-1.12.2.tar) = 17920
-SIZE (certifi-2.9.0.tar) = 156160
-SIZE (cf-0.3.1.tar) = 10240
-SIZE (cth_readable-1.5.1.tar) = 19968
-SIZE (erlware_commons-1.5.0.tar) = 53760
-SIZE (eunit_formatters-0.5.0.tar) = 14848
-SIZE (getopt-1.0.1.tar) = 19456
+SHA256 (rebar3-3.20.0.tar.gz) = U+1/KUqLj7TX11mIxpGUlDgxwQTTmDKh+jAwexqFk94=
 SIZE (meck-0.8.13.tar) = 34304
-SIZE (providers-1.9.0.tar) = 14848
-SIZE (rebar3-3.19.0.tar.gz) = 442286
-SIZE (relx-4.7.0.tar) = 76288
-SIZE (ssl_verify_fun-1.1.6.tar) = 14848
+SIZE (rebar3-3.20.0.tar.gz) = 785992
Index: patches/patch-_build_default_lib_relx_priv_templates_bin
===================================================================
RCS file: patches/patch-_build_default_lib_relx_priv_templates_bin
diff -N patches/patch-_build_default_lib_relx_priv_templates_bin
--- patches/patch-_build_default_lib_relx_priv_templates_bin	20 Jul 2022 01:09:58 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-use versioned erlang binary
-
-Index: _build/default/lib/relx/priv/templates/bin
---- _build/default/lib/relx/priv/templates/bin.orig
-+++ _build/default/lib/relx/priv/templates/bin
-@@ -26,7 +26,7 @@ find_erts_dir() {
-     if [ -d "$__erts_dir" ]; then
-         ERTS_DIR="$__erts_dir";
-     else
--        __erl="$(command -v erl)"
-+        __erl="$(command -v erl${ERL_VERSION})"
-         code="io:format(\"~s\", [code:root_dir()]), halt()."
-         __erl_root="$("$__erl" -boot no_dot_erlang -noshell -eval "$code")"
-         ERTS_DIR="$__erl_root/erts-$ERTS_VSN"
Index: patches/patch-_build_default_lib_relx_priv_templates_extended_bin
===================================================================
RCS file: patches/patch-_build_default_lib_relx_priv_templates_extended_bin
diff -N patches/patch-_build_default_lib_relx_priv_templates_extended_bin
--- patches/patch-_build_default_lib_relx_priv_templates_extended_bin	20 Jul 2022 01:09:58 -0000	1.4
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-use versioned erlang binary
-
-Index: _build/default/lib/relx/priv/templates/extended_bin
---- _build/default/lib/relx/priv/templates/extended_bin.orig
-+++ _build/default/lib/relx/priv/templates/extended_bin
-@@ -199,7 +199,7 @@ find_erts_dir() {
-     if [ -d "$__erts_dir" ]; then
-         ERTS_DIR="$__erts_dir";
-     else
--        __erl="$(command -v erl)"
-+        __erl="$(command -v erl${ERL_VERSION})"
-         code="io:format(\"~s\", [code:root_dir()]), halt()."
-         __erl_root="$("$__erl" -boot no_dot_erlang -sasl errlog_type error -noshell -eval "$code")"
-         ERTS_DIR="$__erl_root/erts-$ERTS_VSN"
Index: patches/patch-apps_rebar_src_rebar_prv_escriptize_erl
===================================================================
RCS file: patches/patch-apps_rebar_src_rebar_prv_escriptize_erl
diff -N patches/patch-apps_rebar_src_rebar_prv_escriptize_erl
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-apps_rebar_src_rebar_prv_escriptize_erl	29 Dec 2022 20:29:28 -0000
@@ -0,0 +1,14 @@
+Use versioned escript
+
+Index: apps/rebar/src/rebar_prv_escriptize.erl
+--- apps/rebar/src/rebar_prv_escriptize.erl.orig
++++ apps/rebar/src/rebar_prv_escriptize.erl
+@@ -138,7 +138,7 @@ escriptize(State0, App) ->
+                           [AppNameStr, AppNameStr, AppNameStr]),
+     EscriptSections =
+         [ {shebang,
+-           def("#!", State, escript_shebang, "#!/usr/bin/env escript\n")}
++           def("#!", State, escript_shebang, "#!/usr/bin/env escript${ERL_VERSION}\n")}
+         , {comment, def("%%", State, escript_comment, "%%\n")}
+         , {emu_args, def("%%!", State, escript_emu_args, DefaultEmuArgs)}
+         , {archive, Files, []} ],
Index: patches/patch-rebar_config
===================================================================
RCS file: /cvs/ports/devel/rebar3/patches/patch-rebar_config,v
retrieving revision 1.4
diff -u -p -r1.4 patch-rebar_config
--- patches/patch-rebar_config	20 Jul 2022 01:09:58 -0000	1.4
+++ patches/patch-rebar_config	29 Dec 2022 20:29:28 -0000
@@ -3,10 +3,10 @@ set main module name for escript
 Index: rebar.config
 --- rebar.config.orig
 +++ rebar.config
-@@ -24,7 +24,7 @@
+@@ -12,7 +12,7 @@
  {escript_name, rebar3}.
  {escript_wrappers_windows, ["cmd", "powershell"]}.
- {escript_comment, "%%Rebar3 3.19.0\n"}.
+ {escript_comment, "%%Rebar3 3.20.0\n"}.
 -{escript_emu_args, "%%! +sbtu +A1\n"}.
 +{escript_emu_args, "%%! +sbtu +A1 -escript main rebar3\n"}.
  %% escript_incl_priv is for internal rebar-private use only.
Index: patches/patch-src_rebar_prv_escriptize_erl
===================================================================
RCS file: patches/patch-src_rebar_prv_escriptize_erl
diff -N patches/patch-src_rebar_prv_escriptize_erl
--- patches/patch-src_rebar_prv_escriptize_erl	11 Mar 2022 18:53:09 -0000	1.3
+++ /dev/null	1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-Use versioned escript
-
-Index: src/rebar_prv_escriptize.erl
---- src/rebar_prv_escriptize.erl.orig
-+++ src/rebar_prv_escriptize.erl
-@@ -138,7 +138,7 @@ escriptize(State0, App) ->
-                           [AppNameStr, AppNameStr, AppNameStr]),
-     EscriptSections =
-         [ {shebang,
--           def("#!", State, escript_shebang, "#!/usr/bin/env escript\n")}
-+           def("#!", State, escript_shebang, "#!/usr/bin/env escript${ERL_VERSION}\n")}
-         , {comment, def("%%", State, escript_comment, "%%\n")}
-         , {emu_args, def("%%!", State, escript_emu_args, DefaultEmuArgs)}
-         , {archive, Files, []} ],
Index: patches/patch-vendor_relx_priv_templates_bin
===================================================================
RCS file: patches/patch-vendor_relx_priv_templates_bin
diff -N patches/patch-vendor_relx_priv_templates_bin
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-vendor_relx_priv_templates_bin	29 Dec 2022 20:29:28 -0000
@@ -0,0 +1,14 @@
+use versioned erlang binary
+
+Index: vendor/relx/priv/templates/bin
+--- vendor/relx/priv/templates/bin.orig
++++ vendor/relx/priv/templates/bin
+@@ -26,7 +26,7 @@ find_erts_dir() {
+     if [ -d "$__erts_dir" ]; then
+         ERTS_DIR="$__erts_dir";
+     else
+-        __erl="$(command -v erl)"
++        __erl="$(command -v erl${ERL_VERSION})"
+         code="io:format(\"~s\", [code:root_dir()]), halt()."
+         __erl_root="$("$__erl" -boot no_dot_erlang -noshell -eval "$code")"
+         ERTS_DIR="$__erl_root/erts-$ERTS_VSN"
Index: patches/patch-vendor_relx_priv_templates_extended_bin
===================================================================
RCS file: patches/patch-vendor_relx_priv_templates_extended_bin
diff -N patches/patch-vendor_relx_priv_templates_extended_bin
--- /dev/null	1 Jan 1970 00:00:00 -0000
+++ patches/patch-vendor_relx_priv_templates_extended_bin	29 Dec 2022 20:29:28 -0000
@@ -0,0 +1,14 @@
+use versioned erlang binary
+
+Index: vendor/relx/priv/templates/extended_bin
+--- vendor/relx/priv/templates/extended_bin.orig
++++ vendor/relx/priv/templates/extended_bin
+@@ -199,7 +199,7 @@ find_erts_dir() {
+     if [ -d "$__erts_dir" ]; then
+         ERTS_DIR="$__erts_dir";
+     else
+-        __erl="$(command -v erl)"
++        __erl="$(command -v erl${ERL_VERSION})"
+         code="io:format(\"~s\", [code:root_dir()]), halt()."
+         __erl_root="$("$__erl" -boot no_dot_erlang -sasl errlog_type error -noshell -eval "$code")"
+         ERTS_DIR="$__erl_root/erts-$ERTS_VSN"

Reply via email to