1PORTNAME=	weechat
2PORTVERSION=	4.3.6
3CATEGORIES=	irc
4MASTER_SITES=	https://weechat.org/files/src/
5
6MAINTAINER=	ports@MidnightBSD.org
7COMMENT=	Lightweight and user friendly ncurses based IRC client
8WWW=		https://weechat.org/
9
10LICENSE=	gpl3+
11LICENSE_FILE=	${WRKSRC}/COPYING
12
13LIB_DEPENDS+=	libcurl.so:ftp/curl \
14		libgcrypt.so:security/libgcrypt \
15		libgnutls.so:security/gnutls \
16		libgpg-error.so:security/libgpg-error
17
18USES=		cmake cpe ncurses pkgconfig tar:xz
19USE_LDCONFIG=	yes
20
21CMAKE_ARGS=	-DLIBDATADIR=${LOCALBASE}/libdata
22
23OPTIONS_DEFINE=		API BACKTRACE DOCS HEADLESS ICON ICONV MANPAGES NLS ZSTD
24OPTIONS_DEFAULT=	API ASPELL BACKTRACE CHARSET HEADLESS ICON LUA MANPAGES \
25			NLS PERL PYTHON RUBY TCL TYPING ZSTD
26OPTIONS_SUB=		yes
27
28OPTIONS_GROUP=		PLUGINS
29OPTIONS_GROUP_PLUGINS=	ASPELL CHARSET GUILE JAVASCRIPT LUA PERL PHP PYTHON \
30			RUBY TCL TYPING
31
32API_DESC=		HTTP REST API
33BACKTRACE_DESC=		Provide crash backtraces
34CHARSET_DESC=		Charset plugin (implies ICONV)
35GUILE_DESC=		Guile script support
36HEADLESS_DESC=		Build headless weechat as well
37ICON_DESC=		Desktop icon
38JAVASCRIPT_DESC=	Javascript script support
39PLUGINS_DESC=		Weechat Plugins
40PYTHON_DESC=		Python script support
41RUBY_DESC=		Ruby script support
42TYPING_DESC=		Typing status plugin
43
44.for _opt in ${OPTIONS_GROUP_PLUGINS} BACKTRACE HEADLESS ICONV GNUTLS NLS ZSTD
45${_opt}_CMAKE_BOOL=	ENABLE_${_opt}
46.endfor
47
48API_CMAKE_BOOL=		ENABLE_CJSON
49API_LIB_DEPENDS=	libcjson.so:devel/libcjson
50ASPELL_CMAKE_BOOL=	ENABLE_SPELL
51ASPELL_LIB_DEPENDS=	libaspell.so:textproc/aspell
52CHARSET_IMPLIES=	ICONV
53DOCS_CMAKE_BOOL=	ENABLE_DOC ENABLE_DOC_INCOMPLETE
54DOCS_BUILD_DEPENDS=	${LOCALBASE}/bin/asciidoctor:textproc/rubygem-asciidoctor
55GUILE_USES=		guile:2.2,conflicts
56ICONV_USES=		iconv
57JAVASCRIPT_LIB_DEPENDS=	libv8.so:lang/v8
58LUA_USES=		lua pkgconfig
59MANPAGES_CMAKE_BOOL=	ENABLE_MAN
60MANPAGES_CMAKE_ON=	-DMANDIR=${PREFIX}/share/man
61MANPAGES_BUILD_DEPENDS=	${LOCALBASE}/bin/asciidoctor:textproc/rubygem-asciidoctor
62NLS_USES=		gettext
63PERL_USES=		perl5
64PHP_USES=		php:build,embed
65PYTHON_USES=		python
66RUBY_USES=		ruby
67TCL_CMAKE_ON=		-DTCL_VERSION:STRING="${TCL_VER}" \
68			-DTCL_TCLSH:PATH="${TCLSH}"
69TCL_USES=		tcl
70ZSTD_LIB_DEPENDS=	libzstd.so:archivers/zstd
71
72.include <bsd.port.pre.mk>
73
74post-patch:
75.if ${LOCALBASE} != "/usr/local"
76.  for f in src/core/CMakeLists.txt cmake/*.cmake
77	@${REINPLACE_CMD} 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/$f
78.  endfor
79.endif
80	@${REINPLACE_CMD} 's|python${PYTHON_MAJOR_VER}|python-${PYTHON_VER}|' \
81		${WRKSRC}/cmake/FindPython.cmake
82
83post-patch-ICON-off:
84	@${REINPLACE_CMD} -e '/^# icon$$/,/^$$/d' ${WRKSRC}/CMakeLists.txt
85
86post-install:
87	${LN} -sf weechat ${PREFIX}/bin/weechat-curses
88
89.include <bsd.port.post.mk>
90