Added
Link Here
|
1 |
PORTNAME= kleene-daemon |
2 |
DISTVERSIONPREFIX= v |
3 |
DISTVERSION= 0.1.0 |
4 |
DISTVERSIONSUFFIX= -rc.3 |
5 |
CATEGORIES= sysutils |
6 |
|
7 |
MASTER_SITES+= https://builds.hex.pm/installs/1.16.0/:hex |
8 |
DISTFILES+= hex-${_HEXPM_VERSION}.ez:hex |
9 |
|
10 |
MAINTAINER= lasse@philomath.dk |
11 |
COMMENT= Kleene backend daemon for managing containers on FreeBSD |
12 |
WWW= https://kleene.dev |
13 |
|
14 |
LICENSE= APACHE20 BSD2CLAUSE |
15 |
LICENSE_COMB= multi |
16 |
|
17 |
BUILD_DEPENDS= ca_root_nss>0:security/ca_root_nss \ |
18 |
mix:lang/elixir \ |
19 |
rebar3:devel/rebar3 |
20 |
|
21 |
USES= gmake ssl |
22 |
USE_GITHUB= yes |
23 |
|
24 |
GH_ACCOUNT= kleene-project |
25 |
GH_PROJECT= kleened |
26 |
USE_RC_SUBR= kleened |
27 |
|
28 |
MAKE_ENV+= ERL_LIBS='' \ |
29 |
HEX_HOME=${WRKDIR}/.hex \ |
30 |
HEX_OFFLINE=true \ |
31 |
LANG=en_US_UTF-8 \ |
32 |
LC_ALL=en_US.UTF-8 \ |
33 |
MIX_ARCHIVES=${WRKDIR} \ |
34 |
MIX_ENV=prod \ |
35 |
MIX_HOME=${WRKDIR}/.mix \ |
36 |
MIX_PATH=${WRKDIR}/.mix/archives/hex-${_HEXPM_VERSION}/hex-${_HEXPM_VERSION}/ebin \ |
37 |
MIX_REBAR3=${LOCALBASE}/bin/rebar3 |
38 |
|
39 |
ETCDIR= ${PREFIX}/etc/kleened |
40 |
SUB_FILES= pkg-message |
41 |
PLIST_SUB= DISTVERSION=${DISTVERSION} |
42 |
|
43 |
_HEXPM_VERSION= 2.1.1 |
44 |
_HEX_DIR= ${WRKDIR}/.mix/archives/hex-${_HEXPM_VERSION} |
45 |
_RELEASE_PATH= ${WRKSRC}/_build/prod/rel/kleened |
46 |
_RELEASE_BINARIES= escript dialyzer erlexec beam.smp heart dyn_erl to_erl \ |
47 |
erlc epmd run_erl typer inet_gethost erl_child_setup \ |
48 |
ct_run erl_call yielding_c_fun |
49 |
|
50 |
.include <bsd.port.pre.mk> |
51 |
|
52 |
post-extract: |
53 |
${MKDIR} ${_HEX_DIR} |
54 |
${MV} ${WRKDIR}/hex-* \ |
55 |
${_HEX_DIR}/ |
56 |
|
57 |
do-build: |
58 |
(cd ${WRKSRC} && \ |
59 |
env ${MAKE_ENV} ${LOCALBASE}/bin/mix do deps.compile, compile, \ |
60 |
release) |
61 |
|
62 |
do-install: |
63 |
# sample configs |
64 |
${MKDIR} ${STAGEDIR}${ETCDIR} |
65 |
${INSTALL_DATA} ${WRKSRC}/example/kleened_config.yaml \ |
66 |
${STAGEDIR}${ETCDIR}/config.yaml.sample |
67 |
${INSTALL_DATA} ${WRKSRC}/example/pf.conf.kleene \ |
68 |
${STAGEDIR}${ETCDIR}/pf.conf.kleene.sample |
69 |
# the release |
70 |
${CP} -a ${WRKSRC}/_build/prod/rel/kleened ${STAGEDIR}${PREFIX}/libexec/ |
71 |
${INSTALL_PROGRAM} ${WRKSRC}/priv/bin/kleened_pty \ |
72 |
${STAGEDIR}${PREFIX}/libexec/kleened/bin/ |
73 |
${RM} ${STAGEDIR}${PREFIX}/libexec/kleened/bin/*.src |
74 |
# strip binaries and objects |
75 |
${FIND} ${STAGEDIR}${PREFIX}/libexec/kleened/lib -type f -name \ |
76 |
*.so -exec ${STRIP_CMD} {} \; |
77 |
.for bin in ${_RELEASE_BINARIES} |
78 |
${STRIP_CMD} ${STAGEDIR}${PREFIX}/libexec/kleened/erts-*/bin/${bin} |
79 |
.endfor |
80 |
|
81 |
post-install: |
82 |
@cd ${STAGEDIR}${PREFIX} && \ |
83 |
${FIND} libexec/kleened/erts-* -type f -o -type l | \ |
84 |
${SORT} >> ${TMPPLIST} |
85 |
@cd ${STAGEDIR}${PREFIX} && \ |
86 |
${FIND} libexec/kleened/lib/* -type f -o -type l | \ |
87 |
${SORT} >> ${TMPPLIST} |
88 |
|
89 |
.include <bsd.port.post.mk> |