Skip to content

Commit

Permalink
windows binaries: bump python version (3.7.9->3.8.7)
Browse files Browse the repository at this point in the history
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 pyinstaller/pyinstaller#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.
  • Loading branch information
SomberNight committed Jan 12, 2021
1 parent b2be29b commit 3d640df
Show file tree
Hide file tree
Showing 4 changed files with 41 additions and 25 deletions.
4 changes: 4 additions & 0 deletions contrib/build-linux/appimage/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 \
Expand Down
2 changes: 2 additions & 0 deletions contrib/build-linux/appimage/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
55 changes: 32 additions & 23 deletions contrib/build-wine/Dockerfile
Original file line number Diff line number Diff line change
@@ -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 - && \
Expand All @@ -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
5 changes: 3 additions & 2 deletions contrib/build-wine/prepare-wine.sh
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down

0 comments on commit 3d640df

Please sign in to comment.