ThomasV
9b7f9219a3
fix travis builds (update openssl)
2021-02-19 15:49:37 +01:00
SomberNight
3d640dfc1f
windows binaries: bump python version (3.7.9->3.8.7)
...
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 https://github.com/pyinstaller/pyinstaller/issues/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.
2021-01-12 02:28:35 +01:00
SomberNight
19f806ddf4
build: don't allow setuptools to sneakily install build-time deps
...
see https://pip.pypa.io/en/stable/reference/pip_install/#controlling-setup-requires
> Setuptools offers the setup_requires setup() keyword for specifying
> dependencies that need to be present in order for the setup.py
> script to run. Internally, Setuptools uses easy_install to
> fulfill these dependencies.
> pip has no way to control how these dependencies are located.
> None of the package index options have an effect.
With these changes, we will now instead hard fail if this were to happen.
related: https://github.com/spesmilo/electrum/issues/5859#issuecomment-743621898
2020-12-12 02:52:38 +01:00
SomberNight
4ca2a5cf3e
appimage build: build most of our python dependencies from source
...
instead of using pre-built binary wheels from PyPI
2020-12-09 16:38:03 +01:00
SomberNight
37a124fa1c
appimage: update package in dockerfile
2020-12-09 15:00:42 +01:00
SomberNight
a4e342ac58
requirements: rename some files
2020-11-14 04:30:48 +01:00
Jin Eguchi
56f380a62c
appimage: update openssl & libudev-dev ( #6599 )
2020-09-17 14:39:20 +00:00
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
4f46741c52
binaries: bump python version (3.7.7->3.7.9)
2020-09-08 16:44:24 +02:00
SomberNight
995250948a
appimage build: pin glibc version in docker image, for reproducibility
...
fixes #6357
2020-07-08 23:54:54 +02:00
SomberNight
3c6b049f9a
appimage: update package in dockerfile
2020-06-17 00:33:36 +02:00
SomberNight
f5f3394552
git sanity: enforce "git checkout commithash" actually pulls commit
...
If there is a collision between a branch name and a commit hash, git
will choose the branch, even if the full 40-hex-long commit hash is
given. GitHub disallows branches/tags with such a name but git itself
does not. By adding the `^{commit}` syntax sugar after a ref name,
we can tell git that we want the commit hash to be preferred,
and hence we don't need to trust GitHub (only git).
see https://security.stackexchange.com/questions/225411/
2020-06-16 19:55:17 +02:00
SomberNight
dacc61a41d
sdist build: update message about reproducibility
2020-06-13 03:12:33 +02:00
SomberNight
c5c8ea15bb
sdist build: stop making .zip distributables as they are not deterministic
...
see https://bugs.python.org/issue40963
2020-06-12 19:48:33 +02:00
SomberNight
901a900ec5
sdist build: when building docker image, no interactive prompts!
...
see https://askubuntu.com/questions/909277/
2020-06-12 19:48:29 +02:00
SomberNight
a06f5da7c2
sdist build: bump base image to ubuntu 20.04
2020-06-12 19:48:26 +02:00
SomberNight
891390f9a1
sdist build: umask should be specified for git clone
...
(not nice to change umask of host :/)
2020-06-12 19:48:23 +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 https://files.pythonhosted.org/packages/75/28/521c6dc7fef23a68368efefdcd682f5b3d1d58c2b90b06dc1d0b805b51ae/wheel-0.34.2.tar.gz (58kB)
100% |████████████████████████████████| 61kB 3.8MB/s
Requested wheel==0.34.2 from https://files.pythonhosted.org/packages/75/28/521c6dc7fef23a68368efefdcd682f5b3d1d58c2b90b06dc1d0b805b51ae/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
e12bc4817a
attempt at reproducible tarballs (sdist)
2020-06-12 19:48:15 +02:00
SomberNight
b0230f6a4b
build: fix win/appimage binaries following jsonrpc dep-removal
...
follow-up #6220
2020-06-11 05:37:52 +02:00
SomberNight
2dfef9dde6
appimage: update package in dockerfile
...
Ubuntu no longer serves old version
2020-06-11 02:52:09 +02:00
Jin Eguchi
6339afee3b
appimage: update openssl ( #6186 )
2020-05-29 00:30:20 +00:00
SomberNight
587f8df8ad
binaries: update base docker image for wine/appimage
2020-05-14 20:24:17 +02:00
SomberNight
7143e9199f
binaries: bump python version (3.7.6->3.7.7)
2020-05-14 20:24:07 +02:00
ThomasV
594f13b6f7
appimage: update libudev-dev in Dockerfile
2020-05-13 10:55:08 +02:00
Jin Eguchi
1846154ca3
build: update git in dockerfiles ( #6107 )
2020-04-21 22:48:01 +00:00
SomberNight
c2d6a902dd
build: update some packages in dockerfiles
...
Ubuntu no longer serves old version
2020-04-15 18:06:59 +02:00
SomberNight
e5e512df8c
appimage: update package in dockerfile
...
Ubuntu no longer serves old version
2020-03-10 18:20:46 +01:00
SomberNight
4cec098d2d
build: create a standalone build script for libsecp256k1
...
heavily based on Electron-Cash/Electron-Cash@eda015908e
2020-02-11 16:48:24 +01:00
Jin Eguchi
4313bde4c2
appimage: update libudev-dev ( #5936 )
2020-02-07 11:41:04 +00:00
wakiyamap
1237134339
Fix travis appimage
2020-01-29 12:55:23 +09:00
SomberNight
a5cd34dc08
follow-up prev (oops, only committed part of the changes)
2020-01-22 18:26:29 +01:00
Axel Gembe
d3385e49bb
Build: Install libxkbcommon-x11 in AppImage
...
Newer distributions do not install libxkbcommon-x11 by default
anymore and Qt depends on it.
-----
taken from https://github.com/Electron-Cash/Electron-Cash/commit/ca3e4501cdc42332f4d7079ef9392c529c9d97b8
2020-01-22 18:16:53 +01:00
Axel Gembe
4406eebbfe
Build: Uninstall Cython from AppImage
...
Cython is not needed at runtime.
-----
taken from https://github.com/Electron-Cash/Electron-Cash/commit/c64910055dad6bdcbd01b01121352d2fa3fedb40
related #5859
2020-01-22 12:27:17 +01:00
SomberNight
80025a3af4
requirements-hw: re-add Cython
...
this reverts ec496a8222
Cython must be pinned down for reproducible builds
related #5859
2020-01-22 12:08:30 +01:00
SomberNight
1c4728ecc6
appimage binary: bump python version (3.6.8->3.7.6)
2020-01-16 19:12:24 +01:00
SomberNight
7c090f92ce
binaries: use "--no-dependencies" option for pip install
...
All (incl indirect) dependencies are already listed in deterministic-build/requirements*.txt.
This option makes it easier to manually rm a dependency from that list for e.g. testing.
2020-01-10 19:01:32 +01:00
SomberNight
b3c0231b2b
appimage build: add notes re investigating reproducibility failure
2019-12-24 03:30:26 +01:00
Axel Gembe
880bd16883
AppImage: Improve binary stripping
...
Slightly reduces file size, improves build speed and makes build more
reproducible.
The .comment section contained GCC version information which could cause
different build output from just a minor update in GCC. The information is not
needed so we strip this.
The strip command was invoked using xargs, spawning a new process for each file.
This is inefficient as xargs can correctly run the strip command with multiple
file names.
-----
taken from https://github.com/Electron-Cash/Electron-Cash/commit/43aaf9572f822b977ecffe68f9cce428e5d27c18
2019-12-17 21:41:17 +01:00
SomberNight
255bf7caf4
build: update some packages in dockerfiles
...
Ubuntu no longer serves old version
2019-12-10 23:54:45 +01:00
SomberNight
9f9b0954e2
appimage: update package in dockerfile
...
Ubuntu no longer serves old version
2019-12-06 22:02:17 +01:00
SomberNight
69720946c1
appimage: update package in dockerfile
...
Ubuntu no longer serves old version
2019-12-04 20:53:48 +01:00
SomberNight
b381fd84fb
build: when building libsecp256k1, patch Makefile.am before autogen.sh
...
apparently this could have caused issues on MacOS
based on Electron-Cash/Electron-Cash@69f6cd0aa0
2019-09-08 18:47:30 +02:00
SomberNight
3d7cb935ff
appimage: don't rm jsonschema-*.dist-info as pkg needs it
2019-09-02 19:21:53 +02:00
SomberNight
fc5248550c
appimage build: change base to ubuntu 16.04
...
ubuntu 14.04 is EOL
2019-08-09 20:56:20 +02:00
SomberNight
249e3d496b
appimage build: rm "build" folder if present as it makes build non-reproducible
...
AFAICT the "build" is created if you "python setup.py install" electrum,
which is now deprecated in any case.
2019-07-19 04:52:26 +02:00
SomberNight
c67705e116
appimage build: build was failing on some host systems
...
On Ubuntu host, build succeeded; but e.g. on Manjaro host, it failed with:
```
./build.sh: line 233: /opt/electrum/contrib/build-linux/appimage/../../../contrib/build-linux/appimage/.cache/appimage/appimagetool: No such file or directory
```
2019-07-10 20:26:25 +02:00
Axel Gembe
69b673b8a1
AppImage: Bundle more binaries to increase compatibility
...
This slightly increases the AppImage size but allows us to be more
compatible with older distributions.
-----
taken from Electron-Cash/Electron-Cash@96644acd6f
2019-07-04 23:35:52 +02:00
Axel Gembe
0d1a473bb0
AppImage: Disable pip warnings about script install locations
...
It warns about scripts being installed in a location that is not on the
path, but that is inconsequential as they are not used.
-----
taken from Electron-Cash/Electron-Cash@9a29017c5d
2019-07-04 22:31:56 +02:00
SomberNight
194bf84418
build readme nits
...
sudo is needed to rm FRESH_CLONE as docker is running as sudo.
the proper fix would be to have docker not run as sudo...
2019-07-03 21:09:11 +02:00