summaryrefslogtreecommitdiff
path: root/editors/abiword/Makefile
blob: 3aa25d435894fcfcf355986a237eb2d5d86cd69b (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
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
PORTNAME=	abiword
PORTVERSION=	3.0.5
PORTREVISION=	8
CATEGORIES=	editors
MASTER_SITES=	http://www.abisource.com/downloads/abiword/${PORTVERSION}/source/
DIST_SUBDIR=	AbiWord

MAINTAINER=	gnome@FreeBSD.org
COMMENT=	Open-source, cross-platform WYSIWYG word processor
WWW=		https://www.abisource.com/

LICENSE=	GPLv2
LICENSE_FILE=	${WRKSRC}/COPYING

LIB_DEPENDS=	libboost_system.so:devel/boost-libs \
		libpopt.so:devel/popt \
		libpng.so:graphics/png \
		libwv.so:textproc/wv \
		libfribidi.so:converters/fribidi \
		libgoffice-0.10.so:devel/goffice
RUN_DEPENDS=	${LOCALBASE}/share/fonts/dejavu/DejaVuSerif.ttf:x11-fonts/dejavu

USES=		compiler:c++11-lang cpe desktop-file-utils gmake gnome iconv jpeg \
		libtool pathfix pkgconfig
USE_GNOME=	libxml2 gtk30 librsvg2 libxslt
GNU_CONFIGURE=	yes
CPPFLAGS+=	-I${LOCALBASE}/include
LDFLAGS+=	-L${LOCALBASE}/lib
CONFIGURE_ARGS=	--without-gnomevfs --enable-plugins="${ABIWORD_PLUGINS}" \
		--enable-shared="yes" --enable-static="no"
USE_LDCONFIG=	yes
INSTALL_TARGET=	install-strip
CPE_VENDOR=	abisource

PLIST_SUB+=	ABIVERSION=3.0

OPTIONS_DEFINE=	CLIPART DEBUG MATHVIEW NLS PSION \
		TEMPLATES WP
OPTIONS_DEFAULT=CLIPART COLSERVICE COLSUGAR COLTCP SPELLCHECK TEMPLATES
OPTIONS_SUB=	yes

OPTIONS_GROUP=	DICT COLLAB
OPTIONS_GROUP_DICT=	GRAMMAR SPELLCHECK
OPTIONS_GROUP_COLLAB=	COLFAKE COLSERVICE COLSIP COLSUGAR COLTCP COLTELEPATHY COLXMPP

CLIPART_DESC=		Include clipart
COLLAB_DESC=		Collaboration backend
COLFAKE_DESC=		Fake collaboration for debugging purposes only
COLSERVICE_DESC=	Collaborate with AbiCollab.net webservice
COLSIP_DESC=		Collaborate with the SIP/SIMPLE backend
COLSUGAR_DESC=		Collaborate with the Sugar/OLPC environment
COLTCP_DESC=		Collaborate with direct TCP peer to peer connections
COLTELEPATHY_DESC=	Collaborate with the Telepathy backend (experimental)
COLXMPP_DESC=		Collaborate with the Jabber/XMPP backend
DICT_DESC=		Spelling and grammar checking
GRAMMAR_DESC=		Grammar checking plugin
MATHVIEW_DESC=		MathML render plugin
PSION_DESC=		Psion 5(MX) files convertion plugin
SPELLCHECK_DESC=	Spell checking support
TEMPLATES_DESC=		Include additional templates
WP_DESC=		WordPerfect img/doc import/export plugin

# check configure for ALL_PLUGINS for complete list
ABIWORD_PLUGINS=	garble loadbindings opml xslfo bmp iscii sdw babelfish \
			paint command latex pdf wikipedia hrtext openxml \
			goffice wmf kword mif wml s5 freetranslation gdict mht \
			applix t602 docbook google eml hancom presentation \
			clarisworks pdb urldict openwriter mswrite gimp \
			passepartout eml

# opendocument enabled by default, rsvg plugin isn't needed on unix.
# Plugins we don't support:
# gda

CLIPART_CONFIGURE_ENABLE=	clipart

COLFAKE_CONFIGURE_ENABLE=	collab-backend-fake

COLSERVICE_CONFIGURE_ENABLE=	collab-backend-service
COLSERVICE_BUILD_DEPENDS=	${LOCALBASE}/include/asio.hpp:net/asio
COLSERVICE_LIB_DEPENDS=		libsoup-2.4.so:devel/libsoup \
				libgnutls.so:security/gnutls
COLSERVICE_RUN_DEPENDS=		${LOCALBASE}/include/asio.hpp:net/asio

COLSIP_CONFIGURE_ENABLE=	collab-backend-sip

COLSUGAR_CONFIGURE_ENABLE=	collab-backend-sugar
COLSUGAR_LIB_DEPENDS=		libdbus-glib-1.so:devel/dbus-glib

COLTCP_CONFIGURE_ENABLE=	collab-backend-tcp
COLTCP_BUILD_DEPENDS=		${LOCALBASE}/include/asio.hpp:net/asio
COLTCP_RUN_DEPENDS=		${LOCALBASE}/include/asio.hpp:net/asio

COLTELEPATHY_CONFIGURE_ENABLE=	collab-backend-telepathy
COLTELEPATHY_LIB_DEPENDS=	libtelepathy-glib.so:net-im/telepathy-glib

COLXMPP_CONFIGURE_ENABLE=	collab-backend-xmpp
COLXMPP_LIB_DEPENDS=		libloudmouth-1.so:net-im/loudmouth

DEBUG_CONFIGURE_ENABLE=		debug

GRAMMAR_LIB_DEPENDS=		liblink-grammar.so:textproc/link-grammar
GRAMMAR_IMPLIES=		SPELLCHECK

MATHVIEW_USES=			bison
MATHVIEW_LIB_DEPENDS=		libmathview.so:x11-toolkits/gtkmathview

NLS_USES=			gettext
NLS_CONFIGURE_ENABLE=		nls

PSION_LIB_DEPENDS=		libpsiconv.so:converters/psiconv

SPELLCHECK_LIB_DEPENDS=		libenchant.so:textproc/enchant
SPELLCHECK_CONFIGURE_ENABLE=	spell

TEMPLATES_CONFIGURE_ENABLE=	templates

WP_USE=		gnome=libgsf
WP_LIB_DEPENDS=	libwpg-0.3.so:graphics/libwpg03 \
		libwpd-0.10.so:textproc/libwpd010 \
		libwps-0.4.so:textproc/libwps

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MCOL*}
PLIST_SUB+=		COLLAB=""
ABIWORD_PLUGINS+=	collab
.else
PLIST_SUB+=		COLLAB="@comment "
.endif

.if ${PORT_OPTIONS:MGRAMMAR}
ABIWORD_PLUGINS+=	grammar
.endif

.if ${PORT_OPTIONS:MMATHVIEW}
ABIWORD_PLUGINS+=	mathview
.endif

.if ${PORT_OPTIONS:MPSION}
ABIWORD_PLUGINS+=	psion
.endif

.if ${PORT_OPTIONS:MWP}
ABIWORD_PLUGINS+=	wpg wordperfect
.endif

post-patch:
	@${REINPLACE_CMD} -e 's|glib/.*\.h>|glib.h>|g' \
		${WRKSRC}/goffice-bits/goffice/app/goffice-app.h \
		${WRKSRC}/src/af/util/xp/ut_go_file.h
# The following substitutions ensure that plugins are linked with libabiword
# from the work or stage directory instead of a previously installed library.
# In pseudo code:
# s,PLUGIN_LIBS="$PLUGIN_LIBS -Lsrc -labiword",
#   PLUGIN_LIBS="src/libabiword.la $PLUGIN_LIBS",
# s,foo_LIBS="$foo_LIBS $PLUGIN_LIBS",
#   foo_LIBS="$PLUGIN_LIBS $foo_LIBS",
# The initial value of PLUGIN_LIBS may contain -L/usr/local/lib so it would
# have to come after -Lsrc, but -Lsrc is not correct when libtool relinks
# plugins during staging so use src/libabiword.la and let libtool figure out
# what flags are needed.  Secondly, switch around foo_LIBS and PLUGIN_LIBS
# because foo_LIBS may contain -L/usr/local/lib.
	@${REINPLACE_CMD} \
		-e "s,\$$PLUGIN_LIBS \"'-L\$${top_builddir}/src'\" -labiword-\$$ABIWORD_SERIES,\\\\\$${top_builddir}/src/libabiword-\$$ABIWORD_SERIES.la \$$PLUGIN_LIBS," \
		-e "/_LIBS=/s,\"\\(.*\\)\"\\('\$${PLUGIN_LIBS}.*'\\),\\2\" \\1\"," \
		-e 's|" == "|" = "|g' ${WRKSRC}/configure

.include <bsd.port.mk>