aboutsummaryrefslogtreecommitdiff
path: root/editors/neovim/Makefile
blob: a084f358d7f3d39b1f45e40c66cea3568a5bf3d4 (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
85
86
# Created by: Anton Tornqvist <antont@inbox.lv>

PORTNAME=	neovim
DISTVERSIONPREFIX=	v
DISTVERSION=	0.4.4
PORTREVISION=	2
CATEGORIES=	editors

MAINTAINER=	adamw@FreeBSD.org
COMMENT=	Next-generation Vim

LICENSE=	APACHE20

BUILD_DEPENDS=	gperf:devel/gperf \
		${LUA_MODLIBDIR}/bit.so:devel/lua-bitop@${LUA_FLAVOR} \
		${LUA_MODLIBDIR}/lpeg.so:devel/lua-lpeg@${LUA_FLAVOR}
LIB_DEPENDS=	libluv.so:devel/luv \
		libmsgpackc.so:devel/msgpack \
		libtermkey.so:devel/libtermkey \
		libunibilium.so:devel/unibilium \
		libuv.so:devel/libuv \
		libvterm.so:devel/libvterm
TEST_DEPENDS=	autoconf>=0:devel/autoconf \
		aclocal:devel/automake \
		gmake:devel/gmake \
		libtool:devel/libtool

USES=		cmake iconv pathfix pkgconfig
USE_GITHUB=	yes
GH_TUPLE=	libmpack:libmpack:1.0.5:libmpack \
		libmpack:libmpack-lua:1.0.7:libmpack_lua
PORTSCOUT=	limit:^[0-9\.v]+$$

CMAKE_ARGS=	-DLUA_PRG:FILEPATH="${LUA_CMD}" \
		-DCMAKE_INSTALL_MANDIR:PATH="${MANPREFIX}/man" \
		-DDEPS_PREFIX:PATH="${LOCALBASE}"

OPTIONS_DEFINE=	LUAJIT NLS PYNVIM
OPTIONS_DEFAULT=LUAJIT
OPTIONS_EXCLUDE_aarch64=LUAJIT
OPTIONS_EXCLUDE_mips64=	LUAJIT
OPTIONS_EXCLUDE_powerpc=LUAJIT
OPTIONS_EXCLUDE_riscv=	LUAJIT
OPTIONS_EXCLUDE_riscv64=LUAJIT
OPTIONS_EXCLUDE_sparc64=LUAJIT
OPTIONS_SUB=	yes

LUAJIT_DESC=	Use LuaJIT for faster Lua code
PYNVIM_DESC=	Enable support for plugins written in python

LUAJIT_CMAKE_OFF=	-DPREFER_LUA:BOOL="ON"
LUAJIT_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit
LUAJIT_USES=		lua:build
LUAJIT_USES_OFF=	lua:52
NLS_CMAKE_BOOL=	ENABLE_LIBINTL
NLS_USES=	gettext
PYNVIM_RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pynvim>=0.3.0:editors/py-pynvim@${PY_FLAVOR}
PYNVIM_USES=		python:run

.include <bsd.port.options.mk>

.if ${ARCH:Mpowerpc64*}
LUAJIT_LIB_DEPENDS=	libluajit-5.1.so:lang/luajit-openresty
USES+=		compiler:gcc-c++11-lib
.endif

post-patch:
	${REINPLACE_CMD} -e \
		's|lua_objlen|lua_rawlen| ; \
		 s|luaL_reg |luaL_Reg | ; \
		 s|luaL_register(L, NULL, \(.*\));|luaL_setfuncs(L, \1, 0);|' \
		${WRKSRC_libmpack_lua}/lmpack.c

post-patch-NLS-off:
	${REINPLACE_CMD} -e '/add_subdirectory(po)/d' ${WRKSRC}/src/nvim/CMakeLists.txt

pre-build:
	${LN} -s ${WRKSRC_libmpack} ${WRKSRC_libmpack_lua}/mpack-src
	${MKDIR} ${BUILD_WRKSRC}/src/nvim
	(cd ${WRKSRC_libmpack_lua} && ${CC} ${CFLAGS} -fPIC \
		-I${LUA_INCDIR} -shared lmpack.c -o \
		${BUILD_WRKSRC}/src/nvim/mpack.so \
		${LUA_LIBDIR}/liblua-${LUA_VER}.so)
	${LN} -s ${BUILD_WRKSRC}/src/nvim/mpack.so ${BUILD_WRKSRC}/runtime/mpack.so

.include <bsd.port.mk>