From 6785e7228ac3a82aaa7bcc1f5095c6e733e8487b Mon Sep 17 00:00:00 2001 From: Sylvain Tricot Date: Tue, 25 Oct 2022 16:24:23 +0200 Subject: [PATCH] Fix attrdict issue when building wxPython>=4.2.0 When building wxPython, the "attrdict" package is needed, but is now incompatible with Python > 3.10, due to the "collections" package. The workaround is to ship a patched version of "attrdict" along with msspec since "attrdict" isn't developped anylonger. --- Makefile | 20 ++++++++++++++------ thirdparty/attrdict-2.0.1.tar.gz | Bin 0 -> 10902 bytes 2 files changed, 14 insertions(+), 6 deletions(-) create mode 100644 thirdparty/attrdict-2.0.1.tar.gz diff --git a/Makefile b/Makefile index ac7394b..69a0d0f 100644 --- a/Makefile +++ b/Makefile @@ -1,7 +1,7 @@ include src/options.mk -.PHONY: pybinding install devel venv doc clean +.PHONY: pybinding install devel venv doc clean _attrdict pybinding: @@ -37,20 +37,28 @@ light: venv @$(INSIDE_VENV) pip install src/ -_build_wx/wxPython.target: +_attrdict: + # Check if virtualenv python version > 3.3.0 + # If so, install the patched version of attrdict used to build the version 4.2.0 of wxPython + @$(INSIDE_VENV) if `python -c "import sys; exit(sys.version_info > (3,3))"`; then \ + pip install --no-cache attrdict; \ + else \ + pip install thirdparty/attrdict-2.0.1.tar.gz; \ + fi + + +_build_wx/wxPython.target: _attrdict @$(INSIDE_VENV) echo "Building wxPython for your `python --version 2>&1` under Linux $(DISTRO_RELEASE)..." # Create a folder to build wx into @mkdir -p _build_wx - @$(INSIDE_VENV) pip install attrdict sip - # TODO: attrdict is no longer compatible with collections package. The build will fail # download the wheel or the source if it cannot find a wheel - @$(INSIDE_VENV) cd _build_wx && pip download -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/$(DISTRO_RELEASE) wxPython + $(INSIDE_VENV) cd _build_wx && pip download -f https://extras.wxpython.org/wxPython4/extras/linux/gtk3/$(DISTRO_RELEASE) wxPython # Build the source if a tar.gz was downloaded @$(INSIDE_VENV) cd _build_wx && \ if [ -e wxPython*.tar.gz ]; then \ tar -x --skip-old-files -vzf wxPython*.tar.gz; \ cd `ls -d wxPython*/`; \ - pip install requests; \ + pip install requests sip; \ python build.py dox etg --nodoc sip build bdist_wheel; \ ln -sf `readlink -f dist/wxPython*.whl` ../; \ fi; diff --git a/thirdparty/attrdict-2.0.1.tar.gz b/thirdparty/attrdict-2.0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..ec2ae4e7684434d3f68aa2dbcb411739eb930112 GIT binary patch literal 10902 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 literal 0 HcmV?d00001