Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save oleksis/2d84b9eefe1fef038619439168f3768e to your computer and use it in GitHub Desktop.
Save oleksis/2d84b9eefe1fef038619439168f3768e to your computer and use it in GitHub Desktop.
Compile wxPython 4.1.1 using Ubuntu on Windows Community Preview

Ubuntu on Windows Community Preview

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu Hirsute Hippo (development branch)
Release:        21.04
Codename:       hirsute

Build commands

cd ${HOME}; \
sudo apt-get update; \
sudo apt-get upgrade -y; \
sudo apt-get install -y \
        apt-utils \
        build-essential \
        software-properties-common; \
echo 'debconf debconf/frontend select Noninteractive' | debconf-set-selections; \
mkdir -p ${HOME}/dist; \
sudo apt-get install -y tzdata; \
sudo ln -fs /usr/share/zoneinfo/America/Los_Angeles /etc/localtime; \
sudo dpkg-reconfigure -f noninteractive tzdata; \
sudo apt-get install -y \
    freeglut3 \
    freeglut3-dev \
    libgl1-mesa-dev \
    libglu1-mesa-dev \
    libgstreamer-plugins-base1.0-dev \
    libgtk-3-dev \
    libjpeg-dev \
    libnotify-dev \
    libsdl2-dev \
    libsm-dev \
    libtiff-dev \
    libwebkit2gtk-4.0-dev \
    libxtst-dev; \
sudo apt-get install -y python3.9 python3.9-dev libpython3.9-dev python3.9-venv; \
mkdir -p ${HOME}/venvs; \
python3.9 -m venv ${HOME}/venvs/Py39;
export DIST_NAME=ubuntu-21.04; \
export TAG=gtk3; \
rm -rf ${HOME}/dist/wxPython-*; \
export ORIG_PATH=$PATH; \
export PATH=${HOME}/venvs/Py39/bin:$PATH; \
pip download --no-deps --no-binary :all: --dest ${HOME}/dist wxPython; \
export TARBALL=$(ls ${HOME}/dist/wxPython-*.tar.gz); \
pushd ${HOME}/dist; \
tar xzf $TARBALL; \
rm -rf $TARBALL; \
cd ${HOME}/dist/wxPython-*; \
python -m pip install -U pip; \
pip install -U -r requirements.txt; \
python build.py --$TAG build_wx build_py bdist_wheel; \
export DEST=${HOME}/dist/linux/$TAG/$DIST_NAME; \
mkdir -p $DEST; \
mv dist/*.whl $DEST; \
export PATH=$ORIG_PATH; \
popd;

Check wxPython

$ . ~/venvs/Py39/bin/activate
$ pip install ~/dist/linux/gtk3/ubuntu-21.04/wxPython-4.1.1-cp39-cp39-linux_x86_64.whl
$ python -c "import wx; print(wx.version());"
4.1.1 gtk3 (phoenix) wxWidgets 3.1.5

Links

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment