From 4c41972b80df5e6b6b71401ca812e0fea5e87557 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Sun, 5 Sep 2021 14:46:35 +0000 Subject: [PATCH] ncdns-nsis: Calculate PE version dynamically --- projects/ncdns-nsis/build | 13 ++++++++++++- projects/ncdns-nsis/config | 3 --- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/projects/ncdns-nsis/build b/projects/ncdns-nsis/build index 296f8e8..48474c3 100644 --- a/projects/ncdns-nsis/build +++ b/projects/ncdns-nsis/build @@ -44,8 +44,19 @@ cp $rootdir/[% c('input_files_by_name/dnssec-trigger') %] ${ARTIFACTS} cp $rootdir/[% c('input_files_by_name/consensusj-namecoin') %] ${ARTIFACTS}/bitcoinj-daemon.jar +# Windows PE metadata requires that the version be a dot-delimited 4-tuple of +# numbers (no leading v) +NCDNS_NSIS_VERSION=[% c('version') %] +# Remove leading v +NCDNS_NSIS_VERSION=$(echo "${NCDNS_NSIS_VERSION}" | sed 's/^v//') +# Append ".0" until the version is a 4-tuple +while ! echo "${NCDNS_NSIS_VERSION}" | grep -E '^[0-9]+\.[0-9]+\.[0-9]+\.[0-9]+$' +do + NCDNS_NSIS_VERSION=$(echo "${NCDNS_NSIS_VERSION}" | sed 's/$/.0/') +done + mkdir -p build/bin -makensis ${NSISFLAGS} -DPOSIX_BUILD=1 -DNCDNS_PRODVER=[% c('var/ncdns_nsis_version') %] [% c('var/arch_nsis_args') %] "-DARTIFACTS=$ARTIFACTS" "-DNEUTRAL_ARTIFACTS=$NEUTRAL_ARTIFACTS" "-DDNSSEC_TRIGGER_FN=[% c('input_files_by_name/dnssec-trigger') %]" "-DNAMECOIN_FN=[% c('input_files_by_name/namecoin-core') %]" "-DOUTFN=${OUTFN}" ncdns.nsi +makensis ${NSISFLAGS} -DPOSIX_BUILD=1 -DNCDNS_PRODVER=${NCDNS_NSIS_VERSION} [% c('var/arch_nsis_args') %] "-DARTIFACTS=$ARTIFACTS" "-DNEUTRAL_ARTIFACTS=$NEUTRAL_ARTIFACTS" "-DDNSSEC_TRIGGER_FN=[% c('input_files_by_name/dnssec-trigger') %]" "-DNAMECOIN_FN=[% c('input_files_by_name/namecoin-core') %]" "-DOUTFN=${OUTFN}" ncdns.nsi # Working around NSIS braindamage mv "${OUTFN}" torbrowser-install-tmp.exe diff --git a/projects/ncdns-nsis/config b/projects/ncdns-nsis/config index 9b69c83..759e2a3 100644 --- a/projects/ncdns-nsis/config +++ b/projects/ncdns-nsis/config @@ -11,9 +11,6 @@ var: consensusj_namecoin_version: '0.3.2.1' dnssec_trigger_version: '0.17' namecoin_core_version: '0.21.0.1' - # Used for PE metadata. - # Must be a 4-tuple without leading 'v' for NSIS to be happy. - ncdns_nsis_version: '0.1.2.0' container: use_container: 1 deps: