diff --git a/ubuntu-pyside6-xvfb-wine/Dockerfile b/ubuntu-pyside6-xvfb-wine/Dockerfile index 69b8194..4eb87ff 100644 --- a/ubuntu-pyside6-xvfb-wine/Dockerfile +++ b/ubuntu-pyside6-xvfb-wine/Dockerfile @@ -1,15 +1,15 @@ -FROM ubuntu:jammy +FROM ubuntu:noble -ARG PYSIDE2_VERSION=6.6.1 +ARG PYSIDE2_VERSION=6.7.2 -# Adapted rom https://github.com/cdrx/docker-pyinstaller/blob/master/Dockerfile-py3-win64 -# Unupdated for a while. +# Adapted from https://github.com/cdrx/docker-pyinstaller/blob/master/Dockerfile-py3-win64 +# Upstream hasn't been updated for a while. ENV DEBIAN_FRONTEND noninteractive ARG WINE_VERSION=winehq-staging -ARG PYTHON_VERSION=3.11.7 -ARG PYINSTALLER_VERSION=6.3.0 +ARG PYTHON_VERSION=3.12.6 +ARG PYINSTALLER_VERSION=6.10.0 # we need wine for this all to work, so we'll use the PPA RUN set -x \ @@ -38,20 +38,20 @@ ENV PYPI_INDEX_URL=https://pypi.python.org/simple # install python in wine, using the msi packages to install, extracting # the files directly, since installing isn't running correctly. RUN set -x \ - && winetricks win7 \ - && for msifile in `echo core dev exe lib path pip tcltk tools`; do \ + && winetricks win10 \ + && for msifile in `echo core dev exe lib path pip tcltk test ucrt`; do \ wget -nv "https://www.python.org/ftp/python/$PYTHON_VERSION/amd64/${msifile}.msi"; \ - wine msiexec /i "${msifile}.msi" /qb TARGETDIR=C:/Python311; \ + wine msiexec /i "${msifile}.msi" /qb TARGETDIR=C:/Python312; \ rm ${msifile}.msi; \ done \ - && cd /wine/drive_c/Python311 \ - && echo 'wine '\''C:\Python311\python.exe'\'' "$@"' > /usr/bin/python \ - && echo 'wine '\''C:\Python311\Scripts\easy_install.exe'\'' "$@"' > /usr/bin/easy_install \ - && echo 'wine '\''C:\Python311\Scripts\pip.exe'\'' "$@"' > /usr/bin/pip \ - && echo 'wine '\''C:\Python311\Scripts\pyinstaller.exe'\'' "$@"' > /usr/bin/pyinstaller \ - && echo 'wine '\''C:\Python311\Scripts\pyupdater.exe'\'' "$@"' > /usr/bin/pyupdater \ + && cd /wine/drive_c/Python312 \ + && echo 'wine '\''C:\Python312\python.exe'\'' "$@"' > /usr/bin/python \ + && echo 'wine '\''C:\Python312\Scripts\easy_install.exe'\'' "$@"' > /usr/bin/easy_install \ + && echo 'wine '\''C:\Python312\Scripts\pip.exe'\'' "$@"' > /usr/bin/pip \ + && echo 'wine '\''C:\Python312\Scripts\pyinstaller.exe'\'' "$@"' > /usr/bin/pyinstaller \ + && echo 'wine '\''C:\Python312\Scripts\pyupdater.exe'\'' "$@"' > /usr/bin/pyupdater \ && echo 'assoc .py=PythonScript' | wine cmd \ - && echo 'ftype PythonScript=c:\Python311\python.exe "%1" %*' | wine cmd \ + && echo 'ftype PythonScript=c:\Python312\python.exe "%1" %*' | wine cmd \ && while pgrep wineserver >/dev/null; do echo "Waiting for wineserver"; sleep 1; done \ && chmod +x /usr/bin/python /usr/bin/easy_install /usr/bin/pip /usr/bin/pyinstaller /usr/bin/pyupdater \ && (pip install -U pip || true) \ @@ -78,4 +78,4 @@ RUN set -x \ RUN apt install -y wget curl p7zip-full git xvfb unzip nsis RUN apt clean # Installing pyside6 & pyinstaller -RUN pip install wheel PySide6==$PYSIDE2_VERSION pyinstaller==$PYINSTALLER_VERSION +RUN pip install wheel PySide6==$PYSIDE2_VERSION pyinstaller==$PYINSTALLER_VERSION pytest diff --git a/ubuntu-pyside6-xvfb/Dockerfile b/ubuntu-pyside6-xvfb/Dockerfile index c1f4b97..4c855e2 100644 --- a/ubuntu-pyside6-xvfb/Dockerfile +++ b/ubuntu-pyside6-xvfb/Dockerfile @@ -1,10 +1,11 @@ -FROM ubuntu:jammy +FROM ubuntu:noble ARG DEBIAN_FRONTEND=noninteractive -ARG PYSIDE2_VERSION=6.6.1 +ARG PYSIDE2_VERSION=6.7.2 ENV TZ=Europe/Paris RUN apt-get update -RUN apt-get -y install make git python3-pip qml-module-qtquick-controls2 qml-module-qtmultimedia qml-module-qtgraphicaleffects qml-module-qtquick2 xvfb xdotool wmctrl libxcb-cursor0 +RUN apt-get -y install make git python3-pip python3-pytest python3-pytest-cov python3-pytestqt xvfb xdotool wmctrl libxcb-cursor0 +RUN rm /usr/lib/python3.*/EXTERNALLY-MANAGED # Disable managed environment. We don't care about breaking system packages here. RUN python3 -m pip install PySide6==$PYSIDE2_VERSION RUN apt clean