aboutsummaryrefslogtreecommitdiffstats
path: root/irc/weechat/Makefile
blob: b3d003558ad6eaa0196636ce88e7a2e06c8a230d (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
87
88
89
90
91
92
93
94
95
96
97
98
# Created by: clement
# $FreeBSD$

PORTNAME=   weechat
PORTVERSION=    2.0
PORTREVISION=   1
CATEGORIES= irc
MASTER_SITES=   https://weechat.org/files/src/

MAINTAINER= brnrd@FreeBSD.org
COMMENT=    Lightweight and user friendly ncurses based IRC client

LICENSE=    GPLv3
LICENSE_FILE=   ${WRKSRC}/COPYING

LIB_DEPENDS+=   libcurl.so:ftp/curl \
        libgcrypt.so:security/libgcrypt \
        libgpg-error.so:security/libgpg-error

USES=       cmake:outsource,noninja ncurses libtool tar:xz
USE_LDCONFIG=   yes

CMAKE_ARGS+=    -DENABLE_GUILE=no \
        -DLIBDATADIR=${LOCALBASE}/libdata

OPTIONS_DEFINE=     BACKTRACE DOCS CA_BUNDLE GNUTLS ICON ICONV MANPAGES NLS
OPTIONS_DEFAULT=    ASPELL BACKTRACE CA_BUNDLE CHARSET GNUTLS ICON LUA MANPAGES PERL PYTHON RUBY TCL
OPTIONS_SUB=        yes

# BROKEN: ruby.h: error: wrong number of arguments specified for 'deprecated' attribute
OPTIONS_EXCLUDE_powerpc64=  RUBY

OPTIONS_GROUP=      PLUGINS
OPTIONS_GROUP_PLUGINS=  ASPELL CHARSET JAVASCRIPT LUA PERL PYTHON PHP RUBY TCL

BACKTRACE_DESC=     Provide crash backtraces
CA_BUNDLE_DESC=     Include CA bundle for certificate verification
ICON_DESC=      Desktop icon

PLUGINS_DESC=       Weechat Plugins
CHARSET_DESC=       Charset plugin (implies ICONV)
JAVASCRIPT_DESC=    Javascript script support
PYTHON_DESC=        Python script support
RUBY_DESC=      Ruby script support

.for _opt in ASPELL CHARSET ICONV JAVASCRIPT GNUTLS LUA NLS PERL PHP PYTHON RUBY TCL
${_opt}_CMAKE_BOOL= ENABLE_${_opt}
.endfor

ASPELL_LIB_DEPENDS= libaspell.so:textproc/aspell
BACKTRACE_CMAKE_BOOL=   ENABLE_BACKTRACE
CA_BUNDLE_CMAKE_ON= -DCA_FILE=${LOCALBASE}/share/certs/ca-root-nss.crt
CA_BUNDLE_RUN_DEPENDS=  ${LOCALBASE}/share/certs/ca-root-nss.crt:security/ca_root_nss
CHARSET_IMPLIES=    ICONV
DOCS_CMAKE_BOOL=    ENABLE_DOC
DOCS_BUILD_DEPENDS= ${LOCALBASE}/bin/asciidoctor:textproc/rubygem-asciidoctor
ICONV_USES=     iconv
JAVASCRIPT_LIB_DEPENDS= libv8.so:lang/v8
GNUTLS_LIB_DEPENDS= libgnutls.so:security/gnutls
GNUTLS_USES=        pkgconfig
LUA_USES=       lua pkgconfig
MANPAGES_CMAKE_BOOL=    ENABLE_MAN
MANPAGES_CMAKE_ON=  -DMANDIR=${MANPREFIX}/man
MANPAGES_BUILD_DEPENDS= ${LOCALBASE}/bin/asciidoctor:textproc/rubygem-asciidoctor
NLS_USES=       gettext
PERL_USES=      perl5
PHP_USES=       php:embed
PYTHON_USES=        python
RUBY_USE=       ruby=yes
TCL_USES=       tcl:85+

.include <bsd.port.pre.mk>

.if !empty(PORT_OPTIONS:MPYTHON) && ${PYTHON_MAJOR_VER} >= 3
WARNING=    "Using Python 3.x is NOT recommended because many \"official\" scripts won\'t work"
CMAKE_ARGS+=    -DENABLE_PYTHON3:BOOL=true \
        -DPYTHON_LIBRARY:FILEPATH=${LOCALBASE}/lib/libpython${PYTHON_VER}m.so
.endif

.if !empty(PORT_OPTIONS:MRUBY) && (${ARCH} == "amd64" || ${ARCH} == "i386")
LIB_DEPENDS+=   libunwind.so:devel/libunwind
.endif

post-patch:
    @${REINPLACE_CMD} -e 's|$${LIBDIR}/../pkgconfig|$${CMAKE_INSTALL_PREFIX}/libdata/pkgconfig|' \
        ${WRKSRC}/CMakeLists.txt
.for f in src/CMakeLists.txt src/core/CMakeLists.txt cmake/*.cmake
    @${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' \
        ${WRKSRC}/${f}
.endfor

post-patch-ICON-off:
    @${REINPLACE_CMD} -e '/^# icon$$/,/^$$/d' ${WRKSRC}/CMakeLists.txt

post-install:
    ${LN} -sf weechat ${STAGEDIR}${PREFIX}/bin/weechat-curses

.include <bsd.port.post.mk>