electrum

Electrum Bitcoin wallet
git clone https://git.parazyd.org/electrum
Log | Files | Refs | Submodules

commit 1c4728ecc6a8f8d96c40a1130f3e62e245a0c33c
parent e65ce96f9d9080fcb46fedf3400007a6cd73abfc
Author: SomberNight <somber.night@protonmail.com>
Date:   Thu, 16 Jan 2020 19:12:24 +0100

appimage binary: bump python version (3.6.8->3.7.6)

Diffstat:
Mcontrib/build-linux/appimage/Dockerfile | 2++
Mcontrib/build-linux/appimage/apprun.sh | 2+-
Mcontrib/build-linux/appimage/build.sh | 24+++++++++++++-----------
Dcontrib/build-linux/appimage/patches/python-3.6.8-reproducible-buildinfo.diff | 13-------------
Acontrib/build-linux/appimage/patches/python-3.7-reproducible-buildinfo.diff | 13+++++++++++++
5 files changed, 29 insertions(+), 25 deletions(-)

diff --git a/contrib/build-linux/appimage/Dockerfile b/contrib/build-linux/appimage/Dockerfile @@ -12,6 +12,8 @@ RUN apt-get update -q && \ libtool=2.4.6-0.1 \ xz-utils=5.1.1alpha+20120614-2ubuntu2 \ libssl-dev=1.0.2g-1ubuntu4.15 \ + libssl1.0.0=1.0.2g-1ubuntu4.15 \ + openssl=1.0.2g-1ubuntu4.15 \ zlib1g-dev=1:1.2.8.dfsg-2ubuntu4.1 \ libffi-dev=3.2.1-4 \ libncurses5-dev=6.0+20160213-1ubuntu1 \ diff --git a/contrib/build-linux/appimage/apprun.sh b/contrib/build-linux/appimage/apprun.sh @@ -8,4 +8,4 @@ export LD_LIBRARY_PATH="${APPDIR}/usr/lib/:${APPDIR}/usr/lib/x86_64-linux-gnu${L export PATH="${APPDIR}/usr/bin:${PATH}" export LDFLAGS="-L${APPDIR}/usr/lib/x86_64-linux-gnu -L${APPDIR}/usr/lib" -exec "${APPDIR}/usr/bin/python3.6" -s "${APPDIR}/usr/bin/electrum" "$@" +exec "${APPDIR}/usr/bin/python3.7" -s "${APPDIR}/usr/bin/electrum" "$@" diff --git a/contrib/build-linux/appimage/build.sh b/contrib/build-linux/appimage/build.sh @@ -11,7 +11,7 @@ APPDIR="$BUILDDIR/electrum.AppDir" CACHEDIR="$CONTRIB_APPIMAGE/.cache/appimage" # pinned versions -PYTHON_VERSION=3.6.8 +PYTHON_VERSION=3.7.6 PKG2APPIMAGE_COMMIT="eb8f3acdd9f11ab19b78f5cb15daa772367daf15" LIBSECP_VERSION="b408c6a8b287003d1ade5709e6f7bc3c7f1d5be7" SQUASHFSKIT_COMMIT="ae0d656efa2d0df2fcac795b6823b44462f19386" @@ -37,7 +37,7 @@ download_if_not_exist "$CACHEDIR/appimagetool" "https://github.com/AppImage/AppI verify_hash "$CACHEDIR/appimagetool" "d918b4df547b388ef253f3c9e7f6529ca81a885395c31f619d9aaf7030499a13" download_if_not_exist "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" "https://www.python.org/ftp/python/$PYTHON_VERSION/Python-$PYTHON_VERSION.tar.xz" -verify_hash "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" "35446241e995773b1bed7d196f4b624dadcadc8429f26282e756b2fb8a351193" +verify_hash "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" "55a2cce72049f0794e9a11a84862e9039af9183603b78bc60d89539f82cf533f" @@ -48,14 +48,13 @@ tar xf "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" -C "$BUILDDIR" export SOURCE_DATE_EPOCH=1530212462 LC_ALL=C export BUILD_DATE=$(date -u -d "@$SOURCE_DATE_EPOCH" "+%b %d %Y") LC_ALL=C export BUILD_TIME=$(date -u -d "@$SOURCE_DATE_EPOCH" "+%H:%M:%S") - # Patch taken from Ubuntu python3.6_3.6.8-1~18.04.1.debian.tar.xz - patch -p1 < "$CONTRIB_APPIMAGE/patches/python-3.6.8-reproducible-buildinfo.diff" + # Patch taken from Ubuntu http://archive.ubuntu.com/ubuntu/pool/main/p/python3.7/python3.7_3.7.6-1.debian.tar.xz + patch -p1 < "$CONTRIB_APPIMAGE/patches/python-3.7-reproducible-buildinfo.diff" ./configure \ --cache-file="$CACHEDIR/python.config.cache" \ --prefix="$APPDIR/usr" \ --enable-ipv6 \ --enable-shared \ - --with-threads \ -q make -j4 -s || fail "Could not build Python" make -s install > /dev/null || fail "Could not install Python" @@ -64,7 +63,7 @@ tar xf "$CACHEDIR/Python-$PYTHON_VERSION.tar.xz" -C "$BUILDDIR" # to result in a different output on macOS compared to Linux. We simply patch # sysconfigdata to remove the extension. # Some more info: https://bugs.python.org/issue27631 - sed -i -e 's/\.exe//g' "$APPDIR"/usr/lib/python3.6/_sysconfigdata* + sed -i -e 's/\.exe//g' "$APPDIR"/usr/lib/python3.7/_sysconfigdata* ) @@ -104,7 +103,7 @@ appdir_python() { env \ PYTHONNOUSERSITE=1 \ LD_LIBRARY_PATH="$APPDIR/usr/lib:$APPDIR/usr/lib/x86_64-linux-gnu${LD_LIBRARY_PATH+:$LD_LIBRARY_PATH}" \ - "$APPDIR/usr/bin/python3.6" "$@" + "$APPDIR/usr/bin/python3.7" "$@" } python='appdir_python' @@ -163,7 +162,7 @@ info "finalizing AppDir." move_lib # apply global appimage blacklist to exclude stuff - # move usr/include out of the way to preserve usr/include/python3.6m. + # move usr/include out of the way to preserve usr/include/python3.7m. mv usr/include usr/include.tmp delete_blacklisted mv usr/include.tmp usr/include @@ -183,7 +182,7 @@ strip_binaries() { chmod u+w -R "$APPDIR" { - printf '%s\0' "$APPDIR/usr/bin/python3.6" + printf '%s\0' "$APPDIR/usr/bin/python3.7" find "$APPDIR" -type f -regex '.*\.so\(\.[0-9.]+\)?$' -print0 } | xargs -0 --no-run-if-empty --verbose strip -R .note.gnu.build-id -R .comment } @@ -198,11 +197,11 @@ remove_emptydirs info "removing some unneeded stuff to decrease binary size." rm -rf "$APPDIR"/usr/{share,include} -PYDIR="$APPDIR"/usr/lib/python3.6 +PYDIR="$APPDIR"/usr/lib/python3.7 rm -rf "$PYDIR"/{test,ensurepip,lib2to3,idlelib,turtledemo} rm -rf "$PYDIR"/{ctypes,sqlite3,tkinter,unittest}/test rm -rf "$PYDIR"/distutils/{command,tests} -rm -rf "$PYDIR"/config-3.6m-x86_64-linux-gnu +rm -rf "$PYDIR"/config-3.7m-x86_64-linux-gnu rm -rf "$PYDIR"/site-packages/{opt,pip,setuptools,wheel} rm -rf "$PYDIR"/site-packages/Cryptodome/SelfTest rm -rf "$PYDIR"/site-packages/{psutil,qrcode,websocket}/tests @@ -223,10 +222,13 @@ rm -rf "$PYDIR"/site-packages/PyQt5/Qt.so find "$APPDIR" -path '*/__pycache__*' -delete rm "$APPDIR"/usr/lib/libsecp256k1.a # note that jsonschema-*.dist-info is needed by that package as it uses 'pkg_resources.get_distribution' +# also, see https://gitlab.com/python-devs/importlib_metadata/issues/71 for f in "$PYDIR"/site-packages/jsonschema-*.dist-info; do mv "$f" "$(echo "$f" | sed s/\.dist-info/\.dist-info2/)"; done +for f in "$PYDIR"/site-packages/importlib_metadata-*.dist-info; do mv "$f" "$(echo "$f" | sed s/\.dist-info/\.dist-info2/)"; done rm -rf "$PYDIR"/site-packages/*.dist-info/ rm -rf "$PYDIR"/site-packages/*.egg-info/ for f in "$PYDIR"/site-packages/jsonschema-*.dist-info2; do mv "$f" "$(echo "$f" | sed s/\.dist-info2/\.dist-info/)"; done +for f in "$PYDIR"/site-packages/importlib_metadata-*.dist-info2; do mv "$f" "$(echo "$f" | sed s/\.dist-info2/\.dist-info/)"; done find -exec touch -h -d '2000-11-11T11:11:11+00:00' {} + diff --git a/contrib/build-linux/appimage/patches/python-3.6.8-reproducible-buildinfo.diff b/contrib/build-linux/appimage/patches/python-3.6.8-reproducible-buildinfo.diff @@ -1,13 +0,0 @@ -# DP: Build getbuildinfo.o with DATE/TIME values when defined - ---- a/Makefile.pre.in -+++ b/Makefile.pre.in -@@ -741,6 +741,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ - -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \ - -DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \ - -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \ -+ $(if $(BUILD_DATE),-DDATE='"$(BUILD_DATE)"') \ -+ $(if $(BUILD_TIME),-DTIME='"$(BUILD_TIME)"') \ - -o $@ $(srcdir)/Modules/getbuildinfo.c - - Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile diff --git a/contrib/build-linux/appimage/patches/python-3.7-reproducible-buildinfo.diff b/contrib/build-linux/appimage/patches/python-3.7-reproducible-buildinfo.diff @@ -0,0 +1,13 @@ +# DP: Build getbuildinfo.o with DATE/TIME values when defined + +--- a/Makefile.pre.in ++++ b/Makefile.pre.in +@@ -766,6 +766,8 @@ Modules/getbuildinfo.o: $(PARSER_OBJS) \ + -DGITVERSION="\"`LC_ALL=C $(GITVERSION)`\"" \ + -DGITTAG="\"`LC_ALL=C $(GITTAG)`\"" \ + -DGITBRANCH="\"`LC_ALL=C $(GITBRANCH)`\"" \ ++ $(if $(BUILD_DATE),-DDATE='"$(BUILD_DATE)"') \ ++ $(if $(BUILD_TIME),-DTIME='"$(BUILD_TIME)"') \ + -o $@ $(srcdir)/Modules/getbuildinfo.c + + Modules/getpath.o: $(srcdir)/Modules/getpath.c Makefile