From b3e869a5dea4cf2d95a51c57043f9e30a4e5ee9e Mon Sep 17 00:00:00 2001 From: SomberNight Date: Mon, 29 Aug 2022 15:00:29 +0000 Subject: [PATCH] build win/mac: do not pass custom args to pyinstaller; use envvars custom args no longer work with pyinstaller 5.0 (see https://github.com/pyinstaller/pyinstaller/issues/6762 ) ``` option(s) not allowed: ... makespec options not valid when a .spec file is given ``` --- contrib/build-wine/build-electrum-git.sh | 2 +- contrib/build-wine/deterministic.spec | 10 ++++------ contrib/osx/make_osx | 2 +- contrib/osx/osx.spec | 7 ++----- 4 files changed, 8 insertions(+), 13 deletions(-) diff --git a/contrib/build-wine/build-electrum-git.sh b/contrib/build-wine/build-electrum-git.sh index 4b69669c4..6976c5a0e 100755 --- a/contrib/build-wine/build-electrum-git.sh +++ b/contrib/build-wine/build-electrum-git.sh @@ -56,7 +56,7 @@ rm -rf dist/ # build standalone and portable versions info "Running pyinstaller..." -wine "$WINE_PYHOME/scripts/pyinstaller.exe" --noconfirm --ascii --clean --name $NAME_ROOT-$VERSION -w deterministic.spec +ELECTRUM_CMDLINE_NAME="$NAME_ROOT-$VERSION" wine "$WINE_PYHOME/scripts/pyinstaller.exe" --noconfirm --ascii --clean -w deterministic.spec # set timestamps in dist, in order to make the installer reproducible pushd dist diff --git a/contrib/build-wine/deterministic.spec b/contrib/build-wine/deterministic.spec index 52066eb19..1ac9eaaa0 100644 --- a/contrib/build-wine/deterministic.spec +++ b/contrib/build-wine/deterministic.spec @@ -2,12 +2,10 @@ from PyInstaller.utils.hooks import collect_data_files, collect_submodules, collect_dynamic_libs -import sys -for i, x in enumerate(sys.argv): - if x == '--name': - cmdline_name = sys.argv[i+1] - break -else: +import sys, os + +cmdline_name = os.environ.get("ELECTRUM_CMDLINE_NAME") +if not cmdline_name: raise Exception('no name') home = 'C:\\electrum\\' diff --git a/contrib/osx/make_osx b/contrib/osx/make_osx index 735995df9..afe115f53 100755 --- a/contrib/osx/make_osx +++ b/contrib/osx/make_osx @@ -217,7 +217,7 @@ find . -exec touch -t '200101220000' {} + || true VERSION=`git describe --tags --dirty --always` info "Building binary" -pyinstaller --noconfirm --ascii --clean --name $VERSION contrib/osx/osx.spec || fail "Could not build binary" +ELECTRUM_VERSION=$VERSION pyinstaller --noconfirm --ascii --clean contrib/osx/osx.spec || fail "Could not build binary" DoCodeSignMaybe "app bundle" "dist/${PACKAGE}.app" diff --git a/contrib/osx/osx.spec b/contrib/osx/osx.spec index 624da6297..db1d976b5 100644 --- a/contrib/osx/osx.spec +++ b/contrib/osx/osx.spec @@ -10,11 +10,8 @@ MAIN_SCRIPT='run_electrum' ICONS_FILE=PYPKG + '/gui/icons/electrum.icns' -for i, x in enumerate(sys.argv): - if x == '--name': - VERSION = sys.argv[i+1] - break -else: +VERSION = os.environ.get("ELECTRUM_VERSION") +if not VERSION: raise Exception('no version') electrum = os.path.abspath(".") + "/"