commit c8e265369026ed3cd00f48aa17c7b86dc8b1240f
parent d4e16001bbfde9badd2900989be106230179f876
Author: SomberNight <somber.night@protonmail.com>
Date: Fri, 9 Aug 2019 19:05:32 +0200
wine build: pin build dependencies
"pip install pyinstaller" was "silently" grabbing unpinned dependencies
Diffstat:
5 files changed, 32 insertions(+), 4 deletions(-)
diff --git a/contrib/build-wine/build-electrum-git.sh b/contrib/build-wine/build-electrum-git.sh
@@ -50,7 +50,7 @@ $PYTHON -m pip install --no-warn-script-location -r "$CONTRIB"/deterministic-bui
pushd $WINEPREFIX/drive_c/electrum
# see https://github.com/pypa/pip/issues/2195 -- pip makes a copy of the entire directory
info "Pip installing Electrum. This might take a long time if the project folder is large."
-$PYTHON -m pip install --no-warn-script-location .
+$PYTHON -m pip install --no-dependencies --no-warn-script-location .
popd
diff --git a/contrib/build-wine/prepare-wine.sh b/contrib/build-wine/prepare-wine.sh
@@ -56,8 +56,10 @@ for msifile in core dev exe lib pip tools; do
wine msiexec /i "$PYTHON_DOWNLOADS/${msifile}.msi" /qb TARGETDIR=$PYHOME
done
+info "Installing build dependencies."
+$PYTHON -m pip install --no-warn-script-location -r "$CONTRIB"/deterministic-build/requirements-wine-build.txt
+
info "Installing dependencies specific to binaries."
-# note that this also installs pinned versions of both pip and setuptools
$PYTHON -m pip install --no-warn-script-location -r "$CONTRIB"/deterministic-build/requirements-binaries.txt
info "Installing ZBar."
@@ -107,6 +109,6 @@ info "Building PyInstaller."
[[ -e PyInstaller/bootloader/Windows-32bit/runw.exe ]] || fail "Could not find runw.exe in target dir!"
) || fail "PyInstaller build failed"
info "Installing PyInstaller."
-$PYTHON -m pip install --no-warn-script-location ./pyinstaller
+$PYTHON -m pip install --no-dependencies --no-warn-script-location ./pyinstaller
info "Wine is configured."
diff --git a/contrib/deterministic-build/requirements-wine-build.txt b/contrib/deterministic-build/requirements-wine-build.txt
@@ -0,0 +1,19 @@
+altgraph==0.16.1 \
+ --hash=sha256:d6814989f242b2b43025cba7161fc1b8fb487a62cd49c49245d6fd01c18ac997 \
+ --hash=sha256:ddf5320017147ba7b810198e0b6619bd7b5563aa034da388cea8546b877f9b0c
+future==0.17.1 \
+ --hash=sha256:67045236dcfd6816dc439556d009594abf643e5eb48992e36beac09c2ca659b8
+pefile==2019.4.18 \
+ --hash=sha256:a5d6e8305c6b210849b47a6174ddf9c452b2888340b8177874b862ba6c207645
+pip==19.2.1 \
+ --hash=sha256:258d702483dd749400aec59c23d638a5b2249ae28a0f478b6cab12ad45681a80 \
+ --hash=sha256:80d7452630a67c1e7763b5f0a515690f2c1e9ad06dda48e0ae85b7fdf2f59d97
+pywin32-ctypes==0.2.0 \
+ --hash=sha256:24ffc3b341d457d48e8922352130cf2644024a4ff09762a2261fd34c36ee5942 \
+ --hash=sha256:9dc2d991b3479cc2df15930958b674a48a227d5361d413827a4cfd0b5876fc98
+setuptools==41.0.1 \
+ --hash=sha256:a222d126f5471598053c9a77f4b5d4f26eaa1f150ad6e01dcf1a42e185d05613 \
+ --hash=sha256:c7769ce668c7a333d84e17fe8b524b1c45e7ee9f7908ad0a73e1eda7e6a5aebf
+wheel==0.33.4 \
+ --hash=sha256:5e79117472686ac0c4aef5bad5172ea73a1c2d1646b808c35926bd26bdfb0c08 \
+ --hash=sha256:62fcfa03d45b5b722539ccbc07b190e4bfff4bb9e3a4d470dd9f6a0981002565
diff --git a/contrib/freeze_packages.sh b/contrib/freeze_packages.sh
@@ -10,7 +10,7 @@ which virtualenv > /dev/null 2>&1 || { echo "Please install virtualenv" && exit
python3 -m hashin -h > /dev/null 2>&1 || { python3 -m pip install hashin; }
other_python=$(which python3)
-for i in '' '-hw' '-binaries'; do
+for i in '' '-hw' '-binaries' '-wine-build'; do
rm -rf "$venv_dir"
virtualenv -p $(which python3) $venv_dir
diff --git a/contrib/requirements/requirements-wine-build.txt b/contrib/requirements/requirements-wine-build.txt
@@ -0,0 +1,7 @@
+pip
+setuptools
+
+# needed by pyinstaller:
+pefile>=2017.8.1
+altgraph
+pywin32-ctypes>=0.2.0