Merge pull request #2407 from wxWidgets/build-updates2

Build updates 2
This commit is contained in:
Robin Dunn
2023-06-04 22:56:25 -07:00
committed by GitHub
12 changed files with 173 additions and 21 deletions

View File

@@ -8,8 +8,8 @@
wxPython Changelog
==================
4.2.1
-------------------
4.2.1 "Size matters not." (Yoda)
--------------------------------
* 1-June-2023
PyPI: https://pypi.python.org/pypi/wxPython/4.2.1
@@ -18,14 +18,17 @@ Pip: ``pip install wxPython==4.2.1``
New and improved in this release:
* Added wrappers for wxGenericStaticBitmap.
* This release was built using the wxWidgets' v3.2.2.1 release tag.
* Added Python 3.11 to the build system.
* Added Python 3.12 (beta) to the build system.
* Added wrappers for wxGenericStaticBitmap.
* Added wx.ThreadEvent.
4.2.0 "Rumors of my death are only slightly exaggerated"

View File

@@ -2198,8 +2198,13 @@ def cmd_sdist(options, args):
# Copy the Sphinx source files in the docs tree, excluding the html and
# sphinx/build folders, if present.
shutil.rmtree(opj(PDEST, 'docs'), ignore_errors=True)
shutil.copytree('docs', opj(PDEST, 'docs'),
ignore=shutil.ignore_patterns('html', 'build', '__pycache__', 'cpp'))
if options.nodoc:
os.makedirs(opj(PDEST, 'docs'))
with open(opj(PDEST, 'docs', 'README.txt'), 'wt') as f:
f.write("The sphinx files and generated docs are not included in this archive.\n")
else:
shutil.copytree('docs', opj(PDEST, 'docs'),
ignore=shutil.ignore_patterns('html', 'build', '__pycache__', 'cpp'))
# Add some extra stuff to the root folder
cmd_egg_info(options, args, egg_base=PDEST)

View File

@@ -47,6 +47,7 @@ c['workers'] = [
worker.Worker('macosx-3', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('windows-1', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('windows-2', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('windows-3', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('linux-1', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('linux-2', bbpasswd.PASSWD1, max_builds=1),
worker.Worker('linux-3', bbpasswd.PASSWD1, max_builds=1),
@@ -207,7 +208,7 @@ regularBuilders = [ #'build-osx-py36',
'build-gtk2-py38',
'build-gtk2-py39',
#'build-gtk3-py36',
'build-gtk3-py37',
#'build-gtk3-py37',
'build-gtk3-py38',
'build-gtk3-py39',
'build-gtk3-py310',
@@ -259,10 +260,10 @@ def makeBuilderConfigs(builder_names):
pwmap = { 'osx': ['macosx-1', 'macosx-2', 'macosx-3'],
'gtk2': ['linux-1', 'linux-2', 'linux-3'],
'gtk3': ['linux-1', 'linux-2', 'linux-3'],
'win32': ['windows-1', 'windows-2'],
'win64': ['windows-1', 'windows-2'],
'win32': ['windows-1', 'windows-2', 'windows-3'],
'win64': ['windows-1', 'windows-2', 'windows-3'],
'src': ['linux-1', 'linux-2', 'linux-3'],
'docs': ['windows-1', 'windows-2'], }
'docs': ['windows-1', 'windows-2', 'windows-3'], }
return pwmap[port]
BCs = []
for bname in builder_names:

View File

@@ -37,7 +37,8 @@ RUN \
RUN \
# Install all available Python packages and their dev packages
dnf -y install python3 python3-tools python3-devel; \
dnf -y install python3.9
dnf -y install python3.9; \
dnf -y install python3.11; \
RUN \
# Clean up dnf caches
@@ -55,7 +56,8 @@ RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Add files from host into the container
COPY scripts ${HOME}/bin

View File

@@ -0,0 +1,67 @@
# The base image
FROM fedora:37
# Set environment variables
ENV DIST_NAME=fedora-37
ENV USER=wxpy
ENV HOME=/home/$USER
ENV PYTHONUNBUFFERED=1
ENV PATH=$HOME/bin:$PATH
ENV GTK2_OK=no
# Update and install basic OS packages
RUN \
dnf -y update; \
dnf -y group install "Development Tools"; \
dnf -y install gcc-c++ sudo nano which; \
# Set up a user, and etc.
mkdir -p /dist; \
adduser -m ${USER}; \
echo "${USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers; \
# Install development packages needed for building wxPython
dnf install -y \
freeglut-devel \
gstreamer1-devel \
gstreamer1-plugins-base-devel \
gtk3-devel \
libjpeg-turbo-devel \
libnotify-devel \
libpng-devel \
libSM-devel \
libtiff-devel \
libXtst-devel \
SDL-devel \
webkit2gtk3-devel \
which;
RUN \
# Install all available Python packages and their dev packages
dnf -y install python3 python3-tools python3-devel; \
dnf -y install python3.9; \
dnf -y install python3.10;
RUN \
# Clean up dnf caches
dnf clean all;
# Set the user and group to use for the rest of the commands
USER ${USER}:${USER}
# Set the working directory
WORKDIR ${HOME}
# Create virtual environments for each Python
RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Add files from host into the container
COPY scripts ${HOME}/bin
# Define default command
CMD ["/bin/bash", "-l"]

View File

@@ -0,0 +1,67 @@
# The base image
FROM fedora:38
# Set environment variables
ENV DIST_NAME=fedora-38
ENV USER=wxpy
ENV HOME=/home/$USER
ENV PYTHONUNBUFFERED=1
ENV PATH=$HOME/bin:$PATH
ENV GTK2_OK=no
# Update and install basic OS packages
RUN \
dnf -y update; \
dnf -y group install "Development Tools"; \
dnf -y install gcc-c++ sudo nano which; \
# Set up a user, and etc.
mkdir -p /dist; \
adduser -m ${USER}; \
echo "${USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers; \
# Install development packages needed for building wxPython
dnf install -y \
freeglut-devel \
gstreamer1-devel \
gstreamer1-plugins-base-devel \
gtk3-devel \
libjpeg-turbo-devel \
libnotify-devel \
libpng-devel \
libSM-devel \
libtiff-devel \
libXtst-devel \
SDL-devel \
webkit2gtk3-devel \
which;
RUN \
# Install all available Python packages and their dev packages
dnf -y install python3 python3-tools python3-devel; \
dnf -y install python3.9; \
dnf -y install python3.10;
RUN \
# Clean up dnf caches
dnf clean all;
# Set the user and group to use for the rest of the commands
USER ${USER}:${USER}
# Set the working directory
WORKDIR ${HOME}
# Create virtual environments for each Python
RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Add files from host into the container
COPY scripts ${HOME}/bin
# Define default command
CMD ["/bin/bash", "-l"]

View File

@@ -43,6 +43,7 @@ RUN \
yum -y install python3 python3-tools python3-devel; \
yum -y install python38 python38-devel; \
yum -y install python39 python39-devel; \
yum -y install python3.11 python3.11-devel; \
# Clean up the yum caches
yum clean all;
@@ -57,7 +58,8 @@ RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.8 -m venv venvs/Py38; \
python3.9 -m venv venvs/Py39;
python3.9 -m venv venvs/Py39; \
python3.11 -m venv venvs/Py311;
# Add files from host into the container
COPY scripts ${HOME}/bin

View File

@@ -54,7 +54,8 @@ WORKDIR ${HOME}
RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.9 -m venv venvs/Py39;
python3.9 -m venv venvs/Py39; \
python3.11 -m venv venvs/Py311;
# Add files from host into the container
COPY scripts ${HOME}/bin

View File

@@ -49,11 +49,10 @@ RUN \
# Install all available Python packages and their dev packages
RUN \
if [ ${USE_DEADSNAKES} = yes ]; then add-apt-repository -y ppa:deadsnakes/ppa; apt-get update; fi; \
apt-get install -y python3.6 python3.6-dev libpython3.6-dev python3.6-venv; \
apt-get install -y python3.7 python3.7-dev libpython3.7-dev python3.7-venv; \
apt-get install -y python3.8 python3.8-dev libpython3.8-dev python3.8-venv; \
apt-get install -y python3.9 python3.9-dev libpython3.9-dev python3.9-venv; \
apt-get install -y python3.10 python3.10-dev libpython3.10-dev python3.10-venv; \
apt-get install -y python3.11 python3.11-dev libpython3.11-dev python3.11-venv; \
apt-get clean;
# Add files from host into the container
@@ -70,11 +69,10 @@ WORKDIR ${HOME}
RUN \
cd ${HOME}; \
mkdir -p ${HOME}/venvs; \
python3.6 -m venv venvs/Py36; \
python3.7 -m venv venvs/Py37; \
python3.8 -m venv venvs/Py38; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310;
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Define default command
CMD ["/bin/bash", "-l"]

View File

@@ -52,6 +52,7 @@ RUN \
apt-get install -y python3.8 python3.8-dev libpython3.8-dev python3.8-venv; \
apt-get install -y python3.9 python3.9-dev libpython3.9-dev python3.9-venv; \
apt-get install -y python3.10 python3.10-dev libpython3.10-dev python3.10-venv; \
apt-get install -y python3.10 python3.11-dev libpython3.11-dev python3.11-venv; \
apt-get clean;
# Add files from host into the container
@@ -70,7 +71,8 @@ RUN \
mkdir -p ${HOME}/venvs; \
python3.8 -m venv venvs/Py38; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310;
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Define default command
CMD ["/bin/bash", "-l"]

View File

@@ -52,6 +52,7 @@ RUN \
apt-get install -y python3.8 python3.8-dev libpython3.8-dev python3.8-venv; \
apt-get install -y python3.9 python3.9-dev libpython3.9-dev python3.9-venv; \
apt-get install -y python3.10 python3.10-dev libpython3.10-dev python3.10-venv; \
apt-get install -y python3.11 python3.11-dev libpython3.11-dev python3.11-venv; \
apt-get clean;
# Add files from host into the container
@@ -70,7 +71,8 @@ RUN \
mkdir -p ${HOME}/venvs; \
python3.8 -m venv venvs/Py38; \
python3.9 -m venv venvs/Py39; \
python3.10 -m venv venvs/Py310;
python3.10 -m venv venvs/Py310; \
python3.11 -m venv venvs/Py311;
# Define default command
CMD ["/bin/bash", "-l"]

View File

@@ -29,6 +29,8 @@ OLD = [ 'debian-9',
'fedora-31',
'fedora-32',
'fedora-33',
'fedora-35',
'fedora-36',
'centos-7',
'centos-8',
]