1
0
mirror of https://git.FreeBSD.org/ports.git synced 2024-10-20 20:09:11 +00:00

Introduce x11-toolkits/py-wxPython30

x11-toolkits/py-wxPython28 was been modified to do not install wxversion python
files which conflict with wxPython30. Instead a new port has been created
(x11-toolkits/py-wxPython-common) which only installs wxversion and wx.pth
responsible for selecting the wxPython version.

Stage support has been added to all related ports.

Maintainership has been reset to python@.

The final goal is to make all ports use wxPython30 so we can remove wxPython28.
This commit is contained in:
William Grzybowski 2014-07-05 18:22:32 +00:00
parent 06f837722a
commit 1a65109268
Notes: svn2git 2021-03-31 03:12:20 +00:00
svn path=/head/; revision=360789
12 changed files with 126 additions and 42 deletions

View File

@ -200,9 +200,11 @@
SUBDIR += py-traitsgui
SUBDIR += py-vte
SUBDIR += py-wax
SUBDIR += py-wxPython-common
SUBDIR += py-wxPython28
SUBDIR += py-wxPython28-common
SUBDIR += py-wxPython28-unicode
SUBDIR += py-wxPython30
SUBDIR += py-xlib
SUBDIR += qt4-declarative
SUBDIR += qt4-gui

View File

@ -0,0 +1,8 @@
# $FreeBSD$
WITH_WXVERSION_ONLY= yes
MASTERDIR= ${.CURDIR}/../py-wxPython30
PLIST= ${.CURDIR}/pkg-plist
.include "${MASTERDIR}/Makefile"

View File

@ -0,0 +1,4 @@
%%PYTHON_SITELIBDIR%%/wx.pth
%%PYTHON_SITELIBDIR%%/wxversion.py
%%PYTHON_SITELIBDIR%%/wxversion.pyc
%%PYTHON_SITELIBDIR%%/wxversion.pyo

View File

@ -1,7 +1,7 @@
# Created by: Mario Sergio Fujikawa Ferreira <lioux@FreeBSD.org>
# $FreeBSD$
PORTREVISION= 3
PORTREVISION= 4
WITH_COMMON_ONLY= yes
@ -9,5 +9,4 @@ MASTERDIR= ${.CURDIR}/../py-wxPython28
PLIST= ${.CURDIR}/pkg-plist
NO_STAGE= yes
.include "${MASTERDIR}/Makefile"

View File

@ -1286,9 +1286,6 @@ include/wx-%%WX_VERSION%%/wx/wxPython/wxPython_int.h
%%PYTHON_SITELIBDIR%%/wxPython/demo/widgetTest.pyc
%%PYTHON_SITELIBDIR%%/wxPython/demo/widgetTest.pyo
%%PYTHON_SITELIBDIR%%/wxPython/demo/wxpdemo.ico
%%PYTHON_SITELIBDIR%%/wxversion.py
%%PYTHON_SITELIBDIR%%/wxversion.pyc
%%PYTHON_SITELIBDIR%%/wxversion.pyo
@dirrm %%PYTHON_SITELIBDIR%%/wxPython/demo/snippets
@dirrm %%PYTHON_SITELIBDIR%%/wxPython/demo/dllwidget
@dirrm %%PYTHON_SITELIBDIR%%/wxPython/demo/data/locale/it/LC_MESSAGES

View File

@ -5,5 +5,4 @@ WITH_WXPYTHON_UNICODE= yes
MASTERDIR= ${.CURDIR}/../py-wxPython28
NO_STAGE= yes
.include "${MASTERDIR}/Makefile"

View File

@ -3,14 +3,14 @@
PORTNAME= wxPython
PORTVERSION= 2.8.12.1
PORTREVISION?= 3
PORTREVISION?= 4
CATEGORIES= x11-toolkits python
MASTER_SITES= SF/wxpython/wxPython/${PORTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
PKGNAMESUFFIX= 28
DISTNAME= ${PORTNAME}-src-${PORTVERSION}
MAINTAINER= neal@nelson.name
MAINTAINER= python@FreeBSD.org
COMMENT= Python bindings for the wxWidgets/GTK GUI toolkit
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opengl>=0:${PORTSDIR}/graphics/py-opengl
@ -18,11 +18,10 @@ RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}opengl>=0:${PORTSDIR}/graphics/py-opengl
WRKSRC= ${WRKDIR}/${DISTNAME}/wxPython
DIST_SUBDIR= python
USE_BZIP2= yes
USE_PYTHON= yes
USE_PYDISTUTILS= yes
PLIST_SUB= PYTHON_VER=${PYTHON_VER}
USES= gettext gmake pkgconfig
USES= gettext gmake pkgconfig tar:bzip2
PYDISTUTILS_BUILDARGS= \
WX_CONFIG="${WX_CONFIG}" \
@ -37,7 +36,6 @@ WXPORT= gtk2
CONFIGURE_ARGS+= --enable-aui
NO_STAGE= yes
post-extract:
# only keep the scripts we need
@${RM} ${WRKSRC}/scripts/*.py
@ -58,7 +56,7 @@ pre-configure:
post-build:
# Shared amongst ansi/unicode installations
.if defined(WITH_COMMON_ONLY)
. for dir in demo wxversion
. for dir in demo
@${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/${dir}
@${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/${dir}
. endfor
@ -79,7 +77,8 @@ PYDISTUTILS_BUILDARGS+= \
INSTALL_MULTIVERSION=1
.else
## These are shared
RUN_DEPENDS+= ${PYTHON_SITELIBDIR}/wxversion.py:${PORTSDIR}/x11-toolkits/py-wxPython28-common
RUN_DEPENDS+= ${PYTHON_PKGNAMEPREFIX}wxPython28-common>0:${PORTSDIR}/x11-toolkits/py-wxPython28-common \
${PYTHON_SITELIBDIR}/wxversion.py:${PORTSDIR}/x11-toolkits/py-wxPython-common
PYDISTUTILS_BUILDARGS+= \
NO_HEADERS=1 \
@ -114,43 +113,32 @@ PYDISTUTILS_INSTALLARGS:= ${PYDISTUTILS_INSTALLARGS} ${PYDISTUTILS_BUILDARGS}
.if defined(WITH_COMMON_ONLY)
do-install:
# DEMO
@${MKDIR} ${DEMO_DIR}
@cd ${WRKSRC}/demo && ${COPYTREE_SHARE} . ${DEMO_DIR}
@${MKDIR} ${STAGEDIR}${DEMO_DIR}
cd ${WRKSRC}/demo && ${COPYTREE_SHARE} . ${STAGEDIR}${DEMO_DIR}
# header files
@${MKDIR} ${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython/i_files
@${MKDIR} ${STAGEDIR}${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
${INSTALL_DATA} ${WRKSRC}/src/${glob} \
${STAGEDIR}${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython/i_files
.endfor
@${INSTALL_DATA} ${WRKSRC}/include/wx/wxPython/*.h \
${PREFIX}/include/wx-${WX_VERSION}/wx/wxPython
${INSTALL_DATA} ${WRKSRC}/include/wx/wxPython/*.h \
${STAGEDIR}${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}@}
@${INSTALL_SCRIPT} ${WRKSRC}/scripts/* ${STAGEDIR}${PREFIX}/bin
.endif # defined(WITH_COMMON_ONLY)
post-install:
.if !defined(WITH_COMMON_ONLY)
@${ECHO_CMD} "@unexec ${REINPLACE_CMD} -i '' -e '\,${WX_PYTHON_DIR}$$,d' ${PYTHON_SITELIBDIR}/wx.pth 2>/dev/null || true" >> ${TMPPLIST}
@${ECHO_CMD} "@exec echo ${WX_PYTHON_DIR} >> ${PYTHON_SITELIBDIR}/wx.pth 2>/dev/null || true" >> ${TMPPLIST}
# fix installation permissions
${CHMOD} -R a+rX \
${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/${WX_PYTHON_DIR}
${STAGEDIR}${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/${WX_PYTHON_DIR}
# Remove unwanted .egg-info
${RM} -rf ${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wxPython_common-*.egg-info
${RM} -rf ${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/${WX_PYTHON_DIR}/*.egg-info
.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
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wxPython_common-*.egg-info
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wx.pth
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/wxversion*
${RM} -rf ${STAGEDIR}${PYTHON_SITELIBDIR:C@^${LOCALBASE}@${PREFIX}@}/${WX_PYTHON_DIR}/*.egg-info
.endif
.include <bsd.port.post.mk>

View File

@ -2545,6 +2545,3 @@
@dirrm %%PYTHON_SITELIBDIR%%/%%WX_PYTHON_DIR%%/wx/build
@dirrm %%PYTHON_SITELIBDIR%%/%%WX_PYTHON_DIR%%/wx
@dirrm %%PYTHON_SITELIBDIR%%/%%WX_PYTHON_DIR%%
@exec echo %%WX_PYTHON_DIR%% >> %D/%%PYTHON_SITELIBDIR%%/wx.pth 2>/dev/null || true
@exec chmod 0444 %D/%%PYTHON_SITELIBDIR%%/wx.pth 2>/dev/null || true
@unexec sed -i '' -e /%%WX_PYTHON_DIR%%/d %D/%%PYTHON_SITELIBDIR%%/wx.pth; if [ ! -s %D/%%PYTHON_SITELIBDIR%%/wx.pth ]; then rm %D/%%PYTHON_SITELIBDIR%%/wx.pth; fi

View File

@ -0,0 +1,69 @@
# $FreeBSD$
PORTNAME= wxPython
PORTVERSION= 3.0.0.0
CATEGORIES= x11-toolkits python
MASTER_SITES= SF/wxpython/wxPython/${PORTVERSION}
PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX}
PKGNAMESUFFIX= 30
DISTNAME= ${PORTNAME}-src-${PORTVERSION}
MAINTAINER= python@FreeBSD.org
COMMENT= GUI toolkit for the Python programming language
DIST_SUBDIR= python
WRKSRC= ${WRKDIR}/${DISTNAME}/wxPython
USES= tar:bzip2
USE_PYTHON= yes
.if defined(WITH_WXVERSION_ONLY)
PKGNAMESUFFIX= -common
PYTHON_PY3K_PLIST_HACK= yes
do-build:
${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/wxversion
${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py ${WRKSRC}/wxversion
do-install:
@${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}
${INSTALL_DATA} ${WRKSRC}/wxversion/wxversion.py* ${STAGEDIR}${PYTHON_SITELIBDIR}/
${TOUCH} ${STAGEDIR}${PYTHON_SITELIBDIR}/wx.pth
.else
WXPORT= gtk2
WX_PYTHON_DIR= wx-${WX_VERSION}-${WXPORT}
RUN_DEPENDS= ${PYTHON_PKGNAMEPREFIX}wxPython-common>0:${PORTSDIR}/x11-toolkits/py-wxPython-common
USES+= gettext pkgconfig
USE_WX= 3.0
WANT_UNICODE= yes
USE_PYDISTUTILS= yes
PYDISTUTILS_AUTOPLIST= yes
PYDISTUTILS_BUILDARGS= WX_CONFIG="${WX_CONFIG}" \
WXPORT="${WXPORT}" \
NO_HEADERS=1 \
NO_SCRIPTS=1 \
INSTALL_MULTIVERSION=1
PYDISTUTILS_CONFIGUREARGS+= ${PYDISTUTILS_BUILDARGS}
PYDISTUTILS_INSTALLARGS+= ${PYDISTUTILS_BUILDARGS}
post-patch:
@${REINPLACE_CMD} -E \
-e 's,distutils\.command\.install\.install\),setuptools.command.install.install),g' \
-e 's,distutils\.command\.install$$,setuptools.command.install,g' \
-e 's,distutils\.command\.install\.install\.,setuptools.command.install.install.,g' \
${WRKSRC}/config.py
post-install:
@${ECHO_CMD} "@unexec ${REINPLACE_CMD} -i '' -e '\,${WX_PYTHON_DIR}$$,d' ${PYTHON_SITELIBDIR}/wx.pth 2>/dev/null || true" >> ${TMPPLIST}
@${ECHO_CMD} "@exec echo ${WX_PYTHON_DIR} >> ${PYTHON_SITELIBDIR}/wx.pth 2>/dev/null || true" >> ${TMPPLIST}
.endif
.include <bsd.port.mk>

View File

@ -0,0 +1,2 @@
SHA256 (python/wxPython-src-3.0.0.0.tar.bz2) = af88695e820dd914e8375dc91ecb736f6fb605979bb38460ace61bbea494dc11
SIZE (python/wxPython-src-3.0.0.0.tar.bz2) = 57831792

View File

@ -0,0 +1,12 @@
--- setup.py.orig 2014-06-23 12:08:27.268192923 -0300
+++ setup.py 2014-06-23 12:07:08.925198614 -0300
BUILD_OPTIONS = { 'build_base' : BUILD_BASE }
@@ -1011,7 +1006,7 @@
if not PREP_ONLY:
if not EGGing:
- if INSTALL_MULTIVERSION:
+ if False:
setup(name = 'wxPython-common',
version = VERSION,
description = DESCRIPTION,

View File

@ -0,0 +1,7 @@
wxPython is a GUI toolkit for the Python programming language. It allows Python
programmers to create programs with a robust, highly functional graphical user
interface, simply and easily. It is implemented as a Python extension module
(native code) that wraps the popular wxWidgets cross platform GUI library, which
is written in C++.
WWW: http://www.wxpython.org