Browse Source

wine build: pin build dependencies

"pip install pyinstaller" was "silently" grabbing unpinned dependencies
dependabot/pip/contrib/deterministic-build/ecdsa-0.13.3
SomberNight 5 years ago
parent
commit
c8e2653690
No known key found for this signature in database GPG Key ID: B33B5F232C6271E9
  1. 2
      contrib/build-wine/build-electrum-git.sh
  2. 6
      contrib/build-wine/prepare-wine.sh
  3. 19
      contrib/deterministic-build/requirements-wine-build.txt
  4. 2
      contrib/freeze_packages.sh
  5. 7
      contrib/requirements/requirements-wine-build.txt

2
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 pushd $WINEPREFIX/drive_c/electrum
# see https://github.com/pypa/pip/issues/2195 -- pip makes a copy of the entire directory # 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." 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 popd

6
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 wine msiexec /i "$PYTHON_DOWNLOADS/${msifile}.msi" /qb TARGETDIR=$PYHOME
done 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." 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 $PYTHON -m pip install --no-warn-script-location -r "$CONTRIB"/deterministic-build/requirements-binaries.txt
info "Installing ZBar." 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!" [[ -e PyInstaller/bootloader/Windows-32bit/runw.exe ]] || fail "Could not find runw.exe in target dir!"
) || fail "PyInstaller build failed" ) || fail "PyInstaller build failed"
info "Installing PyInstaller." 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." info "Wine is configured."

19
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

2
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; } python3 -m hashin -h > /dev/null 2>&1 || { python3 -m pip install hashin; }
other_python=$(which python3) other_python=$(which python3)
for i in '' '-hw' '-binaries'; do for i in '' '-hw' '-binaries' '-wine-build'; do
rm -rf "$venv_dir" rm -rf "$venv_dir"
virtualenv -p $(which python3) $venv_dir virtualenv -p $(which python3) $venv_dir

7
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
Loading…
Cancel
Save