openbsd-ports/devel/rebar3/Makefile
sthen 34af5c834f follow erlang/25 EPOCH bump with PKGSPEC changes
bump dependent ports too because the spec in RUN_DEPENDS changes
(will do elixir separately via update)
2023-01-18 09:31:51 +00:00

85 lines
2.1 KiB
Makefile

COMMENT = Erlang build tool
GH_ACCOUNT = erlang
GH_PROJECT = rebar3
GH_TAGNAME = 3.19.0
REVISION = 1
CATEGORIES = devel
HOMEPAGE = https://www.rebar3.org
MAINTAINER = Jonathan Matthew <jmatthew@openbsd.org>
# APLv2
PERMIT_PACKAGE = Yes
# rebar 3.19 only supports OTP 23..25
FLAVORS = erlang25
FLAVOR ?= erlang25
MASTER_SITES1 = https://repo.hex.pm/tarballs/
.if ${FLAVOR:Merlang25}
_EV = ${FLAVOR:C/.*([0-9][0-9]+\$)/\1/}
RUN_DEPENDS = lang/erlang/${_EV}
ERL_VERSION = ${_EV}
.else
ERRORS += "Invalid FLAVOR set: ${FLAVOR}"
.endif
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
.for _m _v in ${HEX_MODULES}
DISTFILES += ${_m}-${_v}.tar:1
.endfor
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
do-build:
cd ${WRKBUILD} && ${SETENV} ${MAKE_ENV} ${WRKSRC}/bootstrap
do-install:
${INSTALL_SCRIPT} ${WRKSRC}/rebar3 ${PREFIX}/bin/rebar3-${ERL_VERSION}
PORTHOME= ${WRKDIR}
do-test:
cd ${WRKSRC} && \
${SETENV} ${ALL_TEST_ENV} ./rebar3 escriptize && \
${SETENV} ${ALL_TEST_ENV} ./rebar3 ct
.include <bsd.port.mk>