84 lines
2.0 KiB
Makefile
84 lines
2.0 KiB
Makefile
COMMENT = Erlang build tool
|
|
|
|
GH_ACCOUNT = erlang
|
|
GH_PROJECT = rebar3
|
|
GH_TAGNAME = 3.19.0
|
|
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>
|