Commit 371d5232 authored by Scott Talbert's avatar Scott Talbert

New upstream version 4.0.6+dfsg

parent 50683bf3

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -8,6 +8,68 @@
wxPython Changelog
4.0.6 "Applesauce"
* 21-May-2019
Pip: ``pip install wxPython==4.0.6``
This release provides the following fixes:
* Fixed a probably rare, but fatal bug on OSX when calling certain overloaded
virtual methods with implementations in Python.
* Fixed char pointers in generated stub code to have a valid pointer value.
* Reverted the change that loads up install_requires from the contents of
requirements.txt. Split the requirements.txt file into one for install and one
for development.
4.0.5 "St. Helens Day"
* 18-May-2019
Pip: ``pip install wxPython==4.0.5``
Changes in this release include the following:
* Added missing HtmlWindow.ScrollToAnchor method, and also a couple methods
in HtmlCell too. (#1141)
* Added missing setters for the wheel-related properties in wx.MouseEvent.
* Updated wxWidgets commit reference, bringing fixes for #1140, #1086 and
* Fix the use of the output parameter in HtmlWindow.OnOpeningURL the same way
it was fixed in HtmlWindowInterface.OnHTMLOpeningURL. (#1068)
* Fixed a crashing bug when using a member of a transient wx.VisualAttributes
object. Also set the attributes to be read-only to simplify the fix. (#1198).
* Updated the sip being used in wxPython builds to version 4.19.16.
* Added helper functions to check results of wxWidgets configure during the
build of wxPython. Currently used to determine if the wx webview, glcanvas,
and media libraries should be added to the link command. (#1138)
* Fixed scrollbar issue with ListCtrlAutoWidthMixin (#1215)
* Fixed file access in the and packages to be Python 2 and
3 compatible. (#1193, #1156)
* Fixes for building with Python 3.8 on Linux. (#1227)
4.0.4 "What? It's 2019 already?"
Metadata-Version: 1.1
Name: wxPython
Version: 4.0.4
Version: 4.0.6
Summary: Cross platform GUI toolkit for Python, "Phoenix" version
Author: Robin Dunn
......@@ -17,7 +17,7 @@ Description: Welcome to wxPython's Project Phoenix! Phoenix is the improved next
platform specific code.
For more information please refer to the
`README file <>`_,
`README file <>`_,
the `Migration Guide <>`_,
or the `wxPython API documentation <>`_.
......@@ -18,6 +18,13 @@ API, enabling Python applications to have a native GUI on Windows, Macs or
Unix systems, with a native look and feel and requiring very little (if any)
platform specific code.
.. note::
This document is primarily intended for those who will be working on
wxPython, or at least building with the source code fetched directly from
GitHub. If that's not you then please refer to the instructions at the
`wxPython website <>`_ about how to get
the current release of wxPython for your platform and chosen Python
.. contents:: **Contents**
......@@ -27,6 +27,8 @@ import tarfile
import tempfile
import datetime
import pathlib2
from distutils.dep_util import newer, newer_group
from buildtools.config import Config, msg, opj, posixjoin, loadETG, etg2sip, findCmd, \
phoenixDir, wxDir, copyIfNewer, copyFile, \
......@@ -75,12 +77,12 @@ wxICON = 'docs/sphinx/_static/images/sphinxdocs/mondrian.png'
# Some tools will be downloaded for the builds. These are the versions and
# MD5s of the tool binaries currently in use.
sipCurrentVersion = '4.19.13'
sipCurrentVersion = '4.19.16'
sipMD5 = {
'darwin' : '2d2958a6f4cceebe5e4facb0114f9b0c',
'win32' : '83cad605ae09a42440afdf89358c7f82',
'linux32' : 'd9d2f8d1e897d2f238a5c49532d55933',
'linux64' : '19f59f0bceb60dfd9b41f8e63b002492',
'darwin' : 'ddb27cd807cc5474ce4d557f18b709dc',
'win32' : 'e381c10b799a2bd130fceb330a149626',
'linux32' : '6f5438ecaf38eef35380ff6652747f8b',
'linux64' : 'e8566e05d2122344ec7ce0e289877f74',
wafCurrentVersion = '2.0.8'
......@@ -317,7 +319,7 @@ def setDevModeOptions(args):
myDevModeOptions = [
'--jobs=6', # % numCPUs(),
'--jobs=8', # % numCPUs(),
# These will be ignored on the other platforms so it is okay to
# include them unconditionally
......@@ -1181,7 +1183,9 @@ def cmd_sip(options, args):
def cmd_touch(options, args):
cmdTimer = CommandTimer('touch')
pwd = pushDir(phoenixDir())
runcmd('touch etg/*.py')
etg = pathlib2.Path('etg')
for item in etg.glob('*.py'):
......@@ -280,10 +280,8 @@ def main(wxDir, args):
wxpy_configure_opts = [
......@@ -195,6 +195,12 @@ class Configuration(object):
self.lflags = None
# These confuse WAF, but since it already reliably picks the correct
# MSVC it shouldn't hurt to get rid of them.
for name in ['CC', 'CXX']:
if os.environ.get(name):
# Other MSVC flags...
# Uncomment these to have debug info for all kinds of builds
#self.cflags += ['/Od', '/Z7']
......@@ -570,6 +576,34 @@ class Configuration(object):
return newLFLAGS
def checkSetup(self, build_dir, flag):
Find the setup.h generated by wxWidgets and return True if the given
flag (eg. "wxUSE_WEBKIT") is enabled.
def _find_setup():
for dirpath, dirnames, filenames in os.walk(build_dir):
for name in filenames:
if name == 'setup.h':
return opj(dirpath, name)
return None
setup = _find_setup()
with open(setup, 'rt') as f:
for line in f:
if flag in line:
return '1' in line.split()
return False
def findWxConfigDir(self, wx_config):
output = runcmd(wx_config + " --cflags", getOutput=True, echoCmd=False)
# We expect that the first -I flag is the path we're looking for here
configDir = output.split()[0]
assert configDir.startswith('-I')
configDir = configDir[2:]
return configDir
# We'll use a factory function so we can use the Configuration class as a singleton
_config = None
......@@ -24,7 +24,7 @@ PROJECT_NAME = 'wxPython'
# version numbers.
VER_FLAGS = "" # wxPython release flags