Commit Graph

35 Commits

Author SHA1 Message Date
SomberNight bb0db0e3c0 build: incl "frozenlist" dep as pure-python, without C stuff
While attempting to reproducibly build the qml android apk, one of the differences
was due to the "frozenlist" dependency (pulled in by aiohttp) - the compiled C parts
were not deterministic. By setting this env var, we can opt-out [0] of all the C
accelerated parts and just use the pure-python implementation. We are already doing
the same for other aiohttp-related packages anyway.

[0]: https://github.com/aio-libs/frozenlist/blob/c2794cac120ea9c89ec59205f561b57e6ad1dae7/setup.py#L7
2022-07-01 18:35:42 +02:00
SomberNight 98d32f41d5 build: (reproducibility) always uses "pip install" with "--no-build-isolation"
fixes https://github.com/spesmilo/electrum/issues/7737
fixes https://github.com/spesmilo/electrum/issues/7736
related https://github.com/spesmilo/electrum/commit/8559d1eb723c8c462c3d2a7365967ada46ef21c5
2022-03-26 02:45:47 +01:00
SomberNight 8559d1eb72 build: android reprod: "pip install" needs "--no-build-isolation"
maybe fixes https://github.com/spesmilo/electrum/issues/7640

Looks like by default pip is ignoring the locally available setuptools and wheel,
and downloading the latest ones from the internet at build time...

https://pip.pypa.io/en/stable/reference/build-system/pyproject-toml/?highlight=no-build-isolation#disabling-build-isolation
https://stackoverflow.com/a/62889268

> When making build requirements available, pip does so in an isolated environment. That is, pip does not install those requirements into the user’s site-packages, but rather installs them in a temporary directory which it adds to the user’s sys.path for the duration of the build. This ensures that build requirements are handled independently of the user’s runtime environment. For example, a project that needs a recent version of setuptools to build can still be installed, even if the user has an older version installed (and without silently replacing that version).
>
> In certain cases, projects (or redistributors) may have workflows that explicitly manage the build environment. For such workflows, build isolation can be problematic. If this is the case, pip provides a --no-build-isolation flag to disable build isolation. Users supplying this flag are responsible for ensuring the build environment is managed appropriately (including ensuring that all required build dependencies are installed).

If only it were that easy!
If we add the "--no-build-isolation" flag, it becomes our responsibility to install *all* build time deps,
hence we now have "requirements-build-makepackages.txt".
2022-01-22 14:49:35 +01:00
SomberNight 3c9346cce2 android build: attempt at reproducible builds 2021-06-09 18:34:09 +02:00
SomberNight e12bc4817a attempt at reproducible tarballs (sdist) 2020-06-12 19:48:15 +02:00
SomberNight ba08b2279d kivy build: test and document that make_locale is to be run first 2019-02-07 16:45:09 +01:00
SomberNight 993374dce7 travis: build android apk 2018-12-06 05:09:08 +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 20443aa068 Follow-up fe54ce9 2018-01-22 21:00:24 +01:00
ThomasV 73cb6a8735 make_packages: add packages to the root directory 2017-12-12 12:34:30 +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
ThomasV d531fe59b2 update make_packages script for android 2017-08-26 08:28:25 +02:00
ThomasV c9ff20b00c add socks to make_packages 2017-03-07 12:04:15 +01:00
ThomasV e1515743cd replace slowaes with pyaes 2017-02-10 17:22:52 +01:00
ThomasV ec929bfaf6 patch requests directly from make_packages 2016-01-20 11:56:07 +01:00
Neil Booth 14952c32f5 Be explicit about python version
Fixes 1562.
2015-12-19 20:57:09 +09:00
ThomasV e9cc1d30be add jsonrpclib to make_packages script 2015-11-30 10:56:39 +01:00
ThomasV 23341e59ec Revert "use pip install -t in make_packages to aggregate packages."
This reverts commit 29b66e1279.
2015-10-13 16:01:25 +02:00
akshayaurora 29b66e1279 use pip install -t in make_packages to aggregate packages. 2015-10-07 13:14:07 +05:30
ThomasV e23f3a5ed9 separate signing script 2015-08-22 12:58:31 +02:00
ThomasV 4a74806061 remove tlslite from make_packages 2015-08-04 18:56:38 +02:00
Roman Zeyde b89c0144a2 remove "mki18n.py" references 2015-06-27 10:48:57 +03:00
ThomasV 47f89f43b6 get rid of pyasn1 dependencies 2015-04-14 15:10:44 +02:00
ThomasV c872a3c420 note about requests/pyinstaller bug 2015-03-01 13:12:36 +01:00
ThomasV a90f3e0027 re-add older version of socks.py to repo, because SocksiPy-branch does not work with current code 2015-02-28 19:22:43 +01:00
ThomasV ce5808e894 make_packages: ignore pyc 2015-02-25 06:03:59 +01:00
ThomasV 0a80f84e2e don't use load_module in make_packages 2015-02-23 08:15:35 +01:00
ThomasV 39c2bc5b7a fix header file in google protobuf 2015-02-23 07:14:39 +01:00
ThomasV 9874afac8b fixes for make_packages 2015-02-21 12:49:35 +01:00
ThomasV 7dbb182a2e add script to copy dependencies in make_packages 2015-02-21 11:43:53 +01:00
ThomasV d14c03b47f don't use listdir in make_package script 2015-01-25 19:51:09 +01:00
ThomasV 82746c20fb update packaging scripts 2015-01-25 08:14:25 +01:00
ecdsa 437c79eab5 release notes for 1.7.3 2013-04-13 19:22:20 +02:00
ecdsa 864974aa48 update make_download 2013-04-13 18:50:17 +02:00