Commit graph

16 commits

Author SHA1 Message Date
SomberNight
9204102663
binaries: pip install build requirements first
I no longer trust pip to install packages from a requirements.txt file in the correct order.
For reproducibility, let's install pip/setuptools/wheels/cython first.

see https://github.com/pypa/pip/issues/2362#issuecomment-418423458
see #5859 and #6382
2020-09-08 16:44:35 +02:00
SomberNight
24a007840f
sdist build: use modern pip
the one in apt refused to install certain package versions (that were pinned by hash!!)
and installed different versions instead... e.g.:

Collecting wheel==0.34.2 (from -r /opt/electrum/contrib/build-linux/sdist/../../../contrib/deterministic-build/requirements.txt (line 112))
  Downloading 521c6dc7fe/wheel-0.34.2.tar.gz (58kB)
    100% |████████████████████████████████| 61kB 3.8MB/s
  Requested wheel==0.34.2 from 521c6dc7fe/wheel-0.34.2.tar.gz (sha256)=8788e9155fe14f54164c1b9eb0a319d98ef02c160725587ad60f14ddc57b6f96 (from -r /opt/electrum/contrib/build-linux/sdist/../../../contrib/deterministic-build/requirements.txt (line 112)), but installing version 0.30.0
2020-06-12 19:48:19 +02:00
SomberNight
5ec0747eff
contrib/freeze_packages: should not use too new python interpreter
Certain dependencies are only needed on old python versions,
e.g. backports of stdlib functionality.
We should definitely not use newer python when running freeze_packages.sh
than what we bundle in the binaries. Perhaps it is prudent to use the
min python version that we support (which is atm older than what we bundle).
2020-06-03 18:05:26 +02:00
SomberNight
aac770404f
mac build: pin hashes of more build dependencies
namely pyinstaller
2020-05-14 20:24:14 +02:00
SomberNight
c8e2653690
wine build: pin build dependencies
"pip install pyinstaller" was "silently" grabbing unpinned dependencies
2019-08-09 19:05:32 +02:00
SomberNight
e7d3fd32fb
contrib/freeze_packages.sh: should hard fail if there is an error
exceptions raised by find_restricted_dependencies.py were getting ignored
2019-01-31 19:44:04 +01:00
SomberNight
10a0b0ad7f
make_packages was failing
error was:
In --require-hashes mode, all requirements must have their versions pinned with ==. These do not:
    setuptools from 04a0b689d3/setuptools-39.0.1-py2.py3-none-any.whl (md5)=ca299c7acd13a72e1171a3697f2b99bc (from protobuf==3.5.2.post1->-r ./contrib/deterministic-build/requirements.txt (line 21))
2018-04-01 22:53:02 +02:00
SomberNight
bfccfc7e74
follow-up 70d827b984 2018-04-01 18:41:17 +02:00
Johann Bauer
70d827b984
Add a script that finds dependencies for other OSs
This is used to make sure we also freeze versions for
packages that will only be used on Windows or OS X, while
the freezing script is most likely only be run on Linux.
2018-03-31 22:19:09 +02:00
Johann Bauer
3c28e34919
Check package hashes when generating binaries 2018-03-31 17:49:38 +02:00
Johann Bauer
afa0168e14
Add new requirements file for binaries in contrib 2018-02-11 16:59:07 +01:00
SomberNight
aaa0ee75b7 make freeze_packages.sh cwd independent. update requirements-hw.txt. re-run freeze_packages.sh. 2018-02-07 16:54:03 +01:00
SomberNight
0693837538 freeze hw wallet dependencies into separate file. update versions using freeze_packages.sh. introduce "hardware" setuptools extra. 2018-01-30 22:10:03 +01:00
Alexx Saver
9ceaac6310 Use python3 for virtualenv 2018-01-23 17:55:25 +01:00
ThomasV
c8818cca05 rename file 2017-11-27 19:46:22 +01:00
Johann Bauer
957178217c Save dependency versions in repo 2017-11-26 23:22:07 +01:00