summaryrefslogtreecommitdiff
path: root/editors/mp/Makefile
blob: 80d66a5e45d07dbaf4ed329fa252369c844831d0 (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
# Created by: Mark Pulford <mark@kyne.com.au>
# $FreeBSD$

PORTNAME=	mp
DISTVERSION=	5.2.13
CATEGORIES=	editors
MASTER_SITES=	http://triptico.com/download/mp/

MAINTAINER=	jhale@FreeBSD.org
COMMENT=	Programming text editor

LICENSE=	GPLv2+
LICENSE_FILE=	${WRKSRC}/COPYING

USES=		gmake iconv

HAS_CONFIGURE=	yes
CONFIGURE_SCRIPT=	config.sh
CONFIGURE_ARGS=	--prefix=${PREFIX} --docdir=${DOCSDIR} \
		--without-win32 --without-kde4
CONFIGURE_ENV=	LOCALBASE="${LOCALBASE}" \
		ICONV_LIB="${ICONV_LIB}" \
		ICONV_PREFIX="${ICONV_PREFIX}" \
		NCURSESINC="${NCURSESINC}" \
		NCURSESLIB="${NCURSESLIB}"
LDFLAGS+=	-Wl,--as-needed

DATADIR=	${PREFIX}/share/mp-5

OPTIONS_DEFINE=		DOCS NLS PCRE
OPTIONS_SINGLE=		GUI
OPTIONS_SINGLE_GUI=	ANSI GTK2 GTK3 NCURSES QT4 QT5
OPTIONS_DEFAULT=	NCURSES PCRE
OPTIONS_SUB=		yes

NLS_USES=		gettext
NLS_CONFIGURE_WITH=	gettext

PCRE_LIB_DEPENDS=	libpcre.so:devel/pcre
PCRE_CONFIGURE_WITH=	pcre

ANSI_DESC=		ANSI terminal support
ANSI_CONFIGURE_WITH=	ansi

GTK2_USE=		gnome=cairo,gdkpixbuf2,gtk20
GTK2_CONFIGURE_ON=	--with-gtk=2

GTK3_USE=		gnome=cairo,gdkpixbuf2,gtk30
GTK3_CONFIGURE_ON=	--with-gtk=3

NCURSES_USES=		ncurses
NCURSES_CONFIGURE_WITH=	curses
NCURSES_CFLAGS=		-I${NCURSESBASE}/include

QT4_USES=		qmake:no_env qt:4
QT4_USE=		qt=corelib,gui,moc_build \
			xorg=x11
QT4_CONFIGURE_WITH=	qt4

QT5_USES=		compiler:c++11-lang qmake:no_env qt:5
QT5_USE=		cxxstd=-std=c++11 \
			gl=gl \
			qt=buildtools_build,core,gui,widgets
QT5_CONFIGURE_WITH=	qt5

.include <bsd.port.options.mk>

.if ${PORT_OPTIONS:MGTK*} || ${PORT_OPTIONS:MQT*}
USES+=		pkgconfig
PLIST_SUB+=	GUI=""
.else
PLIST_SUB+=	GUI="@comment "
.endif

.if ${PORT_OPTIONS:MGTK*}
DESKTOP_ENTRIES="Minimum Profit" "" "mp" "mp-5" "Utility;TextEditor;GTK;" ""
.else
CONFIGURE_ARGS+=	--without-gtk
.endif

.if ${PORT_OPTIONS:MQT*}
DESKTOP_ENTRIES="Minimum Profit" "" "mp" "mp-5" "Utility;TextEditor;Qt;" ""
CONFIGURE_ARGS+=--with-moc=${MOC}
CONFIGURE_ENV+=	CCLINK="${CXX}"
.endif

post-patch:
.for i in mpdm/mpdm.h mpsl/mpsl_d.c
	@${REINPLACE_CMD} -e \
		's|<malloc\.h>|<stdlib.h>|g' ${WRKSRC}/${i}
.endfor

do-configure:
	@(for CONFIGURE_WRKSRC in ${WRKSRC}/mpdm ${WRKSRC}/mpsl ${WRKSRC}; \
	  do \
	    cd $${CONFIGURE_WRKSRC} && \
	      ${SETENV} CC="${CC}" CPP="${CXX}" \
	      CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
	      LDFLAGS="${LDFLAGS}" LIBS="${LIBS}" \
	      ${CONFIGURE_ENV} ${CONFIGURE_CMD} ${CONFIGURE_ARGS}; \
	  done;)
do-install:
	${INSTALL_PROGRAM} ${WRKSRC}/mp-5 ${STAGEDIR}${PREFIX}/bin
	${INSTALL_PROGRAM} ${WRKSRC}/mpsl/mpsl ${STAGEDIR}${PREFIX}/bin
	${INSTALL_MAN} ${WRKSRC}/mp-5.1 ${STAGEDIR}${MANPREFIX}/man/man1
	@${MKDIR} ${STAGEDIR}${DATADIR}
	${INSTALL_DATA} ${WRKSRC}/mp_*.mpsl ${STAGEDIR}${DATADIR}
	@${MKDIR} ${STAGEDIR}${DATADIR}/lang
	${INSTALL_DATA} ${WRKSRC}/lang/*.mpsl ${STAGEDIR}${DATADIR}/lang
.if ${PORT_OPTIONS:MGTK*} || ${PORT_OPTIONS:MQT*}
	${INSTALL_DATA} ${WRKSRC}/mp.png ${STAGEDIR}${PREFIX}/share/pixmaps
.endif

do-install-NLS-on:
.for lang in de es it nl ru sv
	${INSTALL_DATA} ${WRKSRC}/po/${lang}.mo \
		${STAGEDIR}${PREFIX}/share/locale/${lang}/LC_MESSAGES/minimum-profit.mo
.endfor

do-install-DOCS-on:
	@${MKDIR} ${STAGEDIR}${DOCSDIR}
.for doc in AUTHORS README RELEASE_NOTES mp_templates.sample doc/*.*
	${INSTALL_DATA} ${WRKSRC}/${doc} ${STAGEDIR}${DOCSDIR}
.endfor

.include <bsd.port.mk>