Saturday, April 08, 2023

Re: [Maintainer Update] lang/erlang/erlang.port.mk

Index: erlang.port.mk
===================================================================
RCS file: /cvs/ports/lang/erlang/erlang.port.mk,v
retrieving revision 1.32
diff -u -p -r1.32 erlang.port.mk
--- erlang.port.mk 15 Mar 2023 09:21:20 -0000 1.32
+++ erlang.port.mk 2 Apr 2023 19:29:07 -0000
@@ -19,12 +19,8 @@ FLAVORS += erlang25
FLAVOR?= # empty

# When no flavor is explicitly set, assume MODERL_DEFAULT_VERSION
-.if ${FLAVOR:Merlang21}
-ERRORS += "Invalid FLAVOR set: ${FLAVOR}."
-.else
MODERL_VERSION ?= ${MODERL_DEFAULT_VERSION}
_MODERL_FLAVOR ?= # empty
-.endif

.if ${MODERL_VERSION} == 25
_MODERL_FLAVOR = erlang25
@@ -127,6 +123,34 @@ pre-build:
@perl -pi -e 'BEGIN{undef $$/;} s/{deps,.*?]}.//smg' ${WRKSRC}/rebar.config
. endif
.endif
+
+# Add possibility to include additional build or test dependencies from
+# https://hex.pm.
+MASTER_SITE_HEX = https://repo.hex.pm/tarballs/
+
+MODERL_MASTER_SITEN = 9
+MASTER_SITES${MODERL_MASTER_SITEN} ?= ${MASTER_SITE_HEX}
+MODERL_DIST_SUBDIR ?= hex_modules
+
+. for _m _v in ${MODERL_MODULES}
+MODERL_DISTFILES += ${MODERL_DIST_SUBDIR}/{}${_m}-${_v}.tar:${MODERL_MASTER_SITEN}
+. endfor
+
+. if ! empty(MODERL_MODULES)
+. for _m _v in ${MODERL_MODULES}
+MODERL_SETUP_WORKSPACE += mkdir -p ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
+ tar xf ${FULLDISTDIR}/${MODERL_DIST_SUBDIR}/${_m}-${_v}.tar -C ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}; \
+ mkdir -p ${WRKSRC}/_checkouts/${_m}; \
+ mkdir -p ${WRKSRC}/_build/default/lib; \
+ tar xzf ${WRKDIR}/${MODERL_DIST_SUBDIR}/${_m}/contents.tar.gz -C ${WRKSRC}/_checkouts/${_m}; \
+ cp -r ${WRKSRC}/_checkouts/${_m} ${WRKSRC}/_build/default/lib/;
+. endfor
+MODERLANG_post-extract += ${MODERL_SETUP_WORKSPACE}
+. endif
+
+. if defined(MODERL_DISTFILES)
+DISTFILES += ${MODERL_DISTFILES}
+. endif

# Regression test handling:
# If nothing is explicitly set, then MODERL_TEST=Yes and default
On 4/2/23 20:12, Omar Polo wrote:
>[...] I'm also
> re-attaching lang/lfe. Both are ok op@ to be committed/imported :-)
>
> (I'd like for someone else with more experience with the
> infrastructure to review the erlang.port.mk changes)

Pinging one day early.

* erlang.port.mk
-- Remove reference to erlang/21
-- Add mechanism to include additional erlang/elixir modules into
the build, analogous to rust, go, haskell etc.
-- It works for lang/lfe, doesn't cause fallout for anything else
-- please see op@'s request for additional reviews above

* lfe.tar.gz
-- A Lisp on the Erlang BEAM
-- Port proposed by Renato Aguiar
-- Makes use of the change proposed for erlang.port.mk

* lfe-maint-vs.tar.gz
-- Same, but sets me as maintainer. I'd be happy to maintain the
port, but don't want to pre-empt anyone else here.

No comments:

Post a Comment