aboutsummaryrefslogtreecommitdiffstats
path: root/devel/lua-alien/Makefile
blob: 3126602154a8c4c73438f3705d361d3ad8f8af7d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
# New ports collection makefile for:    lua-alien
# Date created:             24 Aug 2010
# Whom:                 Anonymous
#
# $FreeBSD$
#

PORTNAME=   alien
PORTVERSION=    0.5.1
CATEGORIES= devel
MASTER_SITES=   http://nodeload.github.com/mascarenhas/alien/tarball/
PKGNAMEPREFIX=  ${LUA_PKGNAMEPREFIX}
DISTFILES=  ${DISTVERSION}
DIST_SUBDIR=    lua-${PORTNAME}

MAINTAINER= ports@FreeBSD.org
COMMENT=    Lua -> C FFI

LICENSE=    MIT

LIB_DEPENDS=    ffi:${PORTSDIR}/devel/libffi

USE_LUA=    5.1

WRKSRC=     ${WRKDIR}/${GITHUB_USER}-${PORTNAME}-${GITHUB_SRC_SUFX}
CFLAGS+=    -I${LOCALBASE}/include -I${LUA_INCDIR} \
        -DBSD -fPIC
LDFLAGS+=   -L${LOCALBASE}/lib -L${LUA_LIBDIR} -llua -shared
MAKE_ENV+=  LIB_OPTION="${LDFLAGS}" LIB_EXT=".so" LUA="${LUA_CMD}"
TESTS_EXCLUDE=  tests/alien tests/alien.lua

GITHUB_USER=    mascarenhas
GITHUB_SRC_SUFX=e667d5d

.if ${CFLAGS:M-fstack-prot*}
MAKE_ENV+=  __MAKE_CONF= # inherit CFLAGS only once
CFLAGS+=    -fno-stack-protector
.endif

# add lua prefix to directories
.for p in data: docs:doc/ examples:examples/
${p:C/:.*//:U}DIR_REL=  share/${p:C/.*://}${LUA_PKGNAMEPREFIX}${PORTNAME}
${p:C/:.*//:U}DIR=  ${PREFIX}/${${p:C/:.*//:U}DIR_REL}
.endfor

post-extract:   .SILENT
    ${RM} -rf ${WRKSRC}/libffi
    ${FIND} ${WRKSRC} -type f -name .git-darcs-dir -delete

post-patch: .SILENT
    ${REINPLACE_CMD} '1s|.*|#! ${LUA_CMD}|' ${WRKSRC}/src/constants
    ${REINPLACE_CMD} -i '' \
        -e 's|/usr/lib|${PREFIX}/lib|' \
        -e '/luarocks/d' \
        ${WRKSRC}/samples/*.lua ${WRKSRC}/tests/*.lua

do-install:
    ${MKDIR} ${LUA_MODLIBDIR}/${PORTNAME}
.for f in core.so struct.so
    ${INSTALL_PROGRAM} ${WRKSRC}/src/alien/${f} \
        ${LUA_MODLIBDIR}/${PORTNAME}
.endfor
    ${INSTALL_DATA} ${WRKSRC}/src/alien.lua ${LUA_MODSHAREDIR}
.if !defined(NOPORTDATA)
    ${MKDIR} ${DATADIR}
    ${INSTALL_SCRIPT} ${WRKSRC}/src/constants ${DATADIR}
    ${TAR} cf - -C${WRKSRC} ${TESTS_EXCLUDE:S,^,--exclude ,} tests \
        | ${TAR} xof - -C${DATADIR}
.endif
.if !defined(NOPORTDOCS)
    ${MKDIR} ${DOCSDIR}
    ${TAR} cf - -C${WRKSRC}/doc . | ${TAR} xof - -C${DOCSDIR}
.endif
.if !defined(NOPORTEXAMPLES)
    ${MKDIR} ${EXAMPLESDIR}
    ${TAR} cf - -C${WRKSRC}/samples . | ${TAR} xof - -C${EXAMPLESDIR}
.endif

regression-test:    build
    ${LN} -fs ${TESTS_EXCLUDE:S,tests/,../src/,} ${WRKSRC}/tests
    cd ${WRKSRC}/tests && ${LUA_CMD} test_alien.lua
    ${RM} -f ${TESTS_EXCLUDE:S,^,${WRKSRC}/,}

.include <bsd.port.mk>