summaryrefslogtreecommitdiff
path: root/x11-toolkits/py-wxPython28/Makefile
blob: 355b1230bc43c17442df87b1abe84b17abb571d5 (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
170
171
172
173
174
175
176
# New ports collection makefile for:    wxPython
# Date created:         		September 18, 1999
# Whom:					nectar@FreeBSD.ORG
#
# $FreeBSD$
#

PORTNAME=	wxPython
PORTVERSION=	2.8.4.0
PORTREVISION?=	0
CATEGORIES=	x11-toolkits python
MASTER_SITES=	${MASTER_SITE_SOURCEFORGE}
MASTER_SITE_SUBDIR=	wxpython
PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
DISTNAME=	${PORTNAME}-src-${PORTVERSION}

MAINTAINER=	neal@nelson.name
COMMENT=	Python bindings for the wxWidgets/GTK GUI toolkit

RUN_DEPENDS=	${PYTHON_SITELIBDIR}/OpenGL/__init__.py:${PORTSDIR}/graphics/py-opengl

WRKSRC=		${WRKDIR}/${DISTNAME}/wxPython

USE_BZIP2=	yes
USE_GMAKE=	yes
USE_PYTHON=	yes
USE_PYDISTUTILS=yes
PYDISTUTILS_BUILDARGS=	\
			WX_CONFIG="${WX_CONFIG}" \
			WXPORT="${WXPORT}"
PYDISTUTILS_CONFIGUREARGS=	${PYDISTUTILS_BUILDARGS}
PYDISTUTILS_NOEGGINFO=	yes
USE_WX=		2.8
WX_COMPS=	contrib
WX_PREMK=	yes
DEMO_DIR=	${PYTHONPREFIX_SITELIBDIR}/wxPython/demo
WXPORT=		gtk2

CONFIGURE_ARGS +=	--enable-aui

post-extract:
# only keep the scripts we need
	@${RM} ${WRKSRC}/scripts/*.py

post-patch:
# fix python location
	@${REINPLACE_CMD} -E \
		-e 's|/usr/bin/env python|${PYTHON_CMD}|' \
		${WRKSRC}/scripts/*
	@${RM} ${WRKSRC}/scripts/*.bak

pre-configure:
# uphold PREFIX
	@${REINPLACE_CMD} -E \
		-e "s|([[:space:]]*WXPREFIX[[:space:]]*=).*$$|\1'${PREFIX}'|" \
		${CONFIGURE_WRKSRC}/config.py

post-build:
# Shared amongst ansi/unicode installations
.if defined(WITH_COMMON_ONLY)
. for dir in demo wxversion
	@${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/${dir}
	@${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/${dir}
. endfor
.endif
.if !defined(DEBUG_FLAGS)
	@${FIND} ${WRKSRC} -name "*.so" | ${XARGS} ${STRIP_CMD}
.endif

.include <bsd.port.pre.mk>

# wx version
.if exists(${WX_CONFIG})
WX_VERSION!=	${WX_CONFIG} --release
PLIST_SUB+=	WX_VERSION=${WX_VERSION}
.endif

.if defined(WITH_COMMON_ONLY)
## These are not shared amongst installations
PKGNAMESUFFIX=	-common

PYDISTUTILS_BUILDARGS+=	\
			INSTALL_MULTIVERSION=1
.else
## These are shared
RUN_DEPENDS+=	${PYTHON_SITELIBDIR}/wxversion.py:${PORTSDIR}/x11-toolkits/py-wxPython28-common

PYDISTUTILS_BUILDARGS+=	\
			NO_HEADERS=1 \
			NO_SCRIPTS=1 \
			INSTALL_MULTIVERSION=0

. if defined(WITH_WXPYTHON_UNICODE)
WX_UNICODE=	yes

PKGNAMESUFFIX=	-unicode

PYDISTUTILS_BUILDARGS+=	\
			UNICODE=1
WX_PYTHON_DIR=	wx-${WX_VERSION}-${WXPORT}-unicode
. else
PYDISTUTILS_BUILDARGS+=	\
			UNICODE=0
WX_PYTHON_DIR=wx-${WX_VERSION}-${WXPORT}-ansi
. endif # defined(WITH_WXPYTHON_UNICODE)

# plist substitutions and library dirs
PLIST_SUB+=	WX_PYTHON_DIR=${WX_PYTHON_DIR}
USE_LDCONFIG=	%%PREFIX%%/%%PYTHON_SITELIBDIR%%/%%WX_PYTHON_DIR%%/wx/

.endif # !defined(WITH_COMMON_ONLY)

# install arguments
PYDISTUTILS_INSTALLARGS:=	${PYDISTUTILS_INSTALLARGS} ${PYDISTUTILS_BUILDARGS}

## Shared amongst ansi/unicode installations
# XXX - Override do-install since I was not able to tell setup.py to
# do the right thing
.if defined(WITH_COMMON_ONLY)
do-install:
# DEMO
	@${MKDIR} ${DEMO_DIR}
.for glob in *.py *.pyc *.pyo
	@${INSTALL_DATA} ${WRKSRC}/demo/${glob} ${DEMO_DIR}
.endfor
.for dir in bitmaps bmp_source data
	@${MKDIR} ${DEMO_DIR}/${dir}
# Be careful of locale subdirectories here
. for glob in *.*
	@${INSTALL_DATA} ${WRKSRC}/demo/${dir}/${glob} ${DEMO_DIR}/${dir}
. endfor
.endfor
# Install this one explicitly as it's the only one without an extension that's not a directory
	@${INSTALL_DATA} ${WRKSRC}/demo/data/showTips ${DEMO_DIR}/data
# Install the locale directory structure
	@${MKDIR} ${DEMO_DIR}/data/locale
.for dir in af de es fr it
	@${MKDIR} ${DEMO_DIR}/data/locale/${dir}
	@${MKDIR} ${DEMO_DIR}/data/locale/${dir}/LC_MESSAGES
	@${INSTALL_DATA} ${WRKSRC}/demo/data/locale/${dir}/LC_MESSAGES/wxpydemo.mo ${DEMO_DIR}/data/locale/${dir}/LC_MESSAGES
.endfor
# header files
	@${MKDIR} ${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython/i_files
.for glob in *.i *.py
	@${INSTALL_DATA} ${WRKSRC}/src/${glob} \
		${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython/i_files
.endfor
	@${INSTALL_DATA} ${WRKSRC}/include/wx/wxPython/*.h \
		${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython
# scripts
	@${INSTALL_SCRIPT} ${WRKSRC}/scripts/* ${PREFIX}/bin
## wxversion
	@${MKDIR} ${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}
# wxversion script
	@${INSTALL_DATA} ${WRKSRC}/wxversion/* \
		${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}
.endif # defined(WITH_COMMON_ONLY)

post-install:
.if !defined(WITH_COMMON_ONLY)
# fix installation permissions
	${CHMOD} -R a+rX \
		${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/${WX_PYTHON_DIR}
.endif
##
# wxversion wxPython available list
##
.if !defined(WITH_COMMON_ONLY)
# add ansi/unicode to the available list
	@${ECHO_CMD} ${WX_PYTHON_DIR} >> \
		${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wx.pth
	@${CHMOD} ${SHAREMODE} \
		${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wx.pth
.endif

.include <bsd.port.post.mk>