commit 3d640dfc1ff5809e3a309a3cf18734ee6aaf81e1
parent b2be29b508deb310631cacfb51bb1561bce75ff9
Author: SomberNight <somber.night@protonmail.com>
Date: Tue, 12 Jan 2021 00:19:49 +0100
windows binaries: bump python version (3.7.9->3.8.7)
Had to also bump ubuntu version 18.04->20.04,
as was getting errors running the self-compiled pyinstaller otherwise (weird...):
```
from .utils.git import get_repo_revision
ModuleNotFoundError: No module named 'PyInstaller.utils'
```
(similar to https://github.com/pyinstaller/pyinstaller/issues/4403 )
-----
Note re appimage: when trying to compile python 3.8.x on ubuntu 16.04, I am getting:
./Modules/posixmodule.c: In function ‘os_copy_file_range_impl’:
./Modules/posixmodule.c:10351:15: error: implicit declaration of function ‘copy_file_range’ [-Werror=implicit-function-declaration]
ret = copy_file_range(src, p_offset_src, dst, p_offset_dst, count, flags);
This is because ubuntu 16.04 has too old glibc.
Diffstat:
4 files changed, 41 insertions(+), 25 deletions(-)
diff --git a/contrib/build-linux/appimage/Dockerfile b/contrib/build-linux/appimage/Dockerfile
@@ -1,6 +1,10 @@
+# Note: we deliberately use an old Ubuntu LTS as base image.
+# from https://docs.appimage.org/introduction/concepts.html :
+# "[AppImages] should be built on the oldest possible system, allowing them to run on newer system[s]"
FROM ubuntu:16.04@sha256:a4fc0c40360ff2224db3a483e5d80e9164fe3fdce2a8439d2686270643974632
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
+ENV DEBIAN_FRONTEND=noninteractive
RUN apt-get update -q && \
apt-get install -qy \
diff --git a/contrib/build-linux/appimage/build.sh b/contrib/build-linux/appimage/build.sh
@@ -13,6 +13,8 @@ CACHEDIR="$CONTRIB_APPIMAGE/.cache/appimage"
export GCC_STRIP_BINARIES="1"
# pinned versions
+# note: compiling python 3.8.x requires at least glibc 2.27,
+# which is first available on ubuntu 18.04
PYTHON_VERSION=3.7.9
PKG2APPIMAGE_COMMIT="eb8f3acdd9f11ab19b78f5cb15daa772367daf15"
SQUASHFSKIT_COMMIT="ae0d656efa2d0df2fcac795b6823b44462f19386"
diff --git a/contrib/build-wine/Dockerfile b/contrib/build-wine/Dockerfile
@@ -1,29 +1,38 @@
-FROM ubuntu:18.04@sha256:b58746c8a89938b8c9f5b77de3b8cf1fe78210c696ab03a1442e235eea65d84f
+FROM ubuntu:20.04@sha256:c95a8e48bf88e9849f3e0f723d9f49fa12c5a00cfc6e60d2bc99d87555295e4c
ENV LC_ALL=C.UTF-8 LANG=C.UTF-8
+ENV DEBIAN_FRONTEND=noninteractive
RUN dpkg --add-architecture i386 && \
apt-get update -q && \
apt-get install -qy \
- wget=1.19.4-1ubuntu2.2 \
- gnupg2=2.2.4-1ubuntu1.3 \
- dirmngr=2.2.4-1ubuntu1.3 \
- python3-software-properties=0.96.24.32.1 \
- software-properties-common=0.96.24.32.1
+ wget=1.20.3-1ubuntu1 \
+ gnupg2=2.2.19-3ubuntu2 \
+ dirmngr=2.2.19-3ubuntu2 \
+ python3-software-properties=0.98.9.2 \
+ software-properties-common=0.98.9.2 \
+ && \
+ rm -rf /var/lib/apt/lists/* && \
+ apt-get autoremove -y && \
+ apt-get clean
RUN apt-get update -q && \
- apt-get install -qy \
- git=1:2.17.1-1ubuntu0.7 \
- p7zip-full=16.02+dfsg-6 \
- make=4.1-9.1ubuntu1 \
- mingw-w64=5.0.3-1 \
- mingw-w64-tools=5.0.3-1 \
- win-iconv-mingw-w64-dev=0.0.8-2 \
+ apt-get install -qy \
+ git=1:2.25.1-1ubuntu3 \
+ p7zip-full=16.02+dfsg-7build1 \
+ make=4.2.1-1.2 \
+ mingw-w64=7.0.0-2 \
+ mingw-w64-tools=7.0.0-2 \
+ win-iconv-mingw-w64-dev=0.0.8-3 \
autotools-dev=20180224.1 \
- autoconf=2.69-11 \
- autopoint=0.19.8.1-6ubuntu0.3 \
- libtool=2.4.6-2 \
- gettext=0.19.8.1-6
+ autoconf=2.69-11.1 \
+ autopoint=0.19.8.1-10build1 \
+ libtool=2.4.6-14 \
+ gettext=0.19.8.1-10build1 \
+ && \
+ rm -rf /var/lib/apt/lists/* && \
+ apt-get autoremove -y && \
+ apt-get clean
RUN wget -nc https://dl.winehq.org/wine-builds/Release.key && \
echo "c51bcb8cc4a12abfbd7c7660eaf90f49674d15e222c262f27e6c96429111b822 Release.key" | sha256sum -c - && \
@@ -36,11 +45,11 @@ RUN wget -nc https://dl.winehq.org/wine-builds/Release.key && \
apt-add-repository https://dl.winehq.org/wine-builds/ubuntu/ && \
apt-get update -q && \
apt-get install -qy \
- wine-stable-amd64:amd64=4.0.3~bionic \
- wine-stable-i386:i386=4.0.3~bionic \
- wine-stable:amd64=4.0.3~bionic \
- winehq-stable:amd64=4.0.3~bionic
-
-RUN rm -rf /var/lib/apt/lists/* && \
+ wine-stable-amd64:amd64=5.0.3~focal \
+ wine-stable-i386:i386=5.0.3~focal \
+ wine-stable:amd64=5.0.3~focal \
+ winehq-stable:amd64=5.0.3~focal \
+ && \
+ rm -rf /var/lib/apt/lists/* && \
apt-get autoremove -y && \
apt-get clean
diff --git a/contrib/build-wine/prepare-wine.sh b/contrib/build-wine/prepare-wine.sh
@@ -13,7 +13,7 @@ PYINSTALLER_REPO="https://github.com/SomberNight/pyinstaller.git"
PYINSTALLER_COMMIT="31fda9dc83feb1b3f2ff08c89ff7ae61506fc1ca"
# ^ tag 4.1, plus a custom commit that fixes cross-compilation with MinGW
-PYTHON_VERSION=3.7.9
+PYTHON_VERSION=3.8.7
## These settings probably don't need change
export WINEPREFIX=/opt/wine64
@@ -132,7 +132,8 @@ info "Building PyInstaller."
-Wno-dangling-else \
-Wno-error=unused-value \
-Wno-error=implicit-function-declaration \
- -Wno-error=int-to-pointer-cast"
+ -Wno-error=int-to-pointer-cast \
+ -Wno-error=stringop-truncation"
popd
# sanity check bootloader is there:
if [ "$GCC_TRIPLET_HOST" = "i686-w64-mingw32" ] ; then