summaryrefslogtreecommitdiff
path: root/lang/erlang-wx/Makefile
blob: 08473913624d0dc505465520dccffeb3b1c920e5 (plain)
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
PORTNAME=	erlang
DISTVERSIONPREFIX=	OTP-
DISTVERSION=	24.3.4.4
PORTREVISION=	0
PORTEPOCH=	1
CATEGORIES=	lang parallel
PKGNAMESUFFIX=	-wx
DIST_SUBDIR=	erlang

MAINTAINER=	erlang@FreeBSD.org
COMMENT=	Erlang bindings for wxWindows
WWW=		https://www.erlang.org/

LICENSE=	APACHE20

BUILD_DEPENDS=	erlang>=24.0:lang/erlang
RUN_DEPENDS=	erlang>=24.0:lang/erlang

USES=		autoreconf:build gl gmake perl5 xorg
USE_GITHUB=	yes
GH_PROJECT=	otp
USE_GL=		gl glu
USE_PERL5=	build
USE_WX=		3.1+

WX_COMPS=	wx

GNU_CONFIGURE=		yes
CONFIGURE_ARGS+=	--enable-threads \
			--with-wx-config=${WX_CONFIG} \
			--without-javac \
			--without-odbc
MAKE_JOBS_UNSAFE=	yes

PLIST_SUB=	DEBUGGER_VERSION=${DEBUGGER_VERSION} \
		ET_VERSION=${ET_VERSION} \
		OBSERVER_VERSION=${OBSERVER_VERSION} \
		WX_VERSION=${WX_VERSION}

DEBUGGER_VERSION=	5.2.1
ET_VERSION=		1.6.5
OBSERVER_VERSION=	2.11.1
WX_VERSION=		2.1.4
WX_APPS=		wx debugger et observer

pre-configure:
	@if [ ! $$(${CAT} ${WRKSRC}/lib/debugger/vsn.mk | ${GREP} -E "DEBUGGER_VSN *=" | ${CUT} -w -f3) = ${DEBUGGER_VERSION} ]; then \
		${ECHO_MSG} "===>  DEBUGGER_VERSION (${DEBUGGER_VERSION}) in Makefile does not match value in lib/debugger/vsn.mk"; exit 1; \
	fi
	@if [ ! $$(${CAT} ${WRKSRC}/lib/et/vsn.mk | ${GREP} -E "ET_VSN *=" | ${CUT} -w -f3) = ${ET_VERSION} ]; then \
		${ECHO_MSG} "===>  ET_VERSION (${ET_VERSION}) in Makefile does not match value in lib/et/vsn.mk"; exit 1; \
	fi
	@if [ ! $$(${CAT} ${WRKSRC}/lib/observer/vsn.mk | ${GREP} -E "OBSERVER_VSN *=" | ${CUT} -w -f3) = ${OBSERVER_VERSION} ]; then \
		${ECHO_MSG} "===>  OBSERVER_VERSION (${OBSERVER_VERSION}) in Makefile does not match value in lib/observer/vsn.mk"; exit 1; \
	fi
	@if [ ! $$(${CAT} ${WRKSRC}/lib/wx/vsn.mk | ${GREP} -E "WX_VSN *=" | ${CUT} -w -f3) = ${WX_VERSION} ]; then \
		${ECHO_MSG} "===>  WX_VERSION (${WX_VERSION}) in Makefile does not match value in lib/wx/vsn.mk"; exit 1; \
	fi

do-build:
.for app in wx debugger et observer
	cd ${WRKSRC}/lib/${app} && ${SETENV} ERL_LIBS=${WRKSRC}/lib ${GMAKE} ERL_TOP=${WRKSRC} TARGET=${CONFIGURE_TARGET}
.endfor
	${STRIP_CMD} ${WRKSRC}/lib/wx/priv/${CONFIGURE_TARGET}/erl_gl.so
	${STRIP_CMD} ${WRKSRC}/lib/wx/priv/${CONFIGURE_TARGET}/wxe_driver.so
	${MV} ${WRKSRC}/lib/wx/priv/${CONFIGURE_TARGET}/*.so ${WRKSRC}/lib/wx/priv
	${RMDIR} ${WRKSRC}/lib/wx/priv/${CONFIGURE_TARGET}

do-install:
.for app in ${WX_APPS}
	@${MKDIR} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${app}-$$(${CUT} -w -f3 ${WRKSRC}/lib/${app}/vsn.mk)
	${FIND} ${WRKSRC}/lib/${app} -type d -empty -delete
.for dir in src include priv ebin
	cd ${WRKSRC}/lib/${app} && if [ -d ${dir} ]; then \
		${COPYTREE_SHARE} ${dir} ${STAGEDIR}${PREFIX}/lib/erlang/lib/${app}-$$(${CUT} -w -f3 vsn.mk); \
	fi
.endfor
.endfor

.include <bsd.port.mk>