You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
ncdns-repro/projects/ncdns-nsis/build

63 lines
2.5 KiB
Bash

#!/bin/bash
[% c("var/set_default_env") -%]
distdir=/var/tmp/dist/[% project %]
mkdir -p "$distdir"
tar -C /var/tmp/dist -xf $rootdir/[% c('input_files_by_name/nsis') %]
export PATH="/var/tmp/dist/nsis/bin:$PATH"
cd "$distdir"
tar -C . -xf $rootdir/[% project %]-[% c('version') %].tar.gz
mv ./ncdns-nsis-*/* ./
NSISFLAGS="-V2"
OUTFN=build/bin/ncdns-[% c("version") %]-[% c("arch") %]-install.exe
ARTIFACTS="$distdir/build/artifacts"
NEUTRAL_ARTIFACTS="$distdir/artifacts"
mkdir -p "${ARTIFACTS}"
mkdir -p /var/tmp/dist/plain-binaries
tar -C /var/tmp/dist/plain-binaries -xf $rootdir/[% c('input_files_by_name/plain-binaries') %]
cp /var/tmp/dist/plain-binaries/*.exe /var/tmp/dist/plain-binaries/*.dll ${ARTIFACTS}
cp $rootdir/[% c('input_files_by_name/dnssec-trigger') %] ${ARTIFACTS}
[% IF c("var/windows-x86_64") %]
cp $rootdir/[% c('input_files_by_name/namecoin-core') %] ${ARTIFACTS}
[% END %]
cp $rootdir/[% c('input_files_by_name/consensusj-namecoin') %] ${ARTIFACTS}/bitcoinj-daemon.jar
cp $rootdir/[% c('input_files_by_name/electrum-nmc') %] ${ARTIFACTS}
tar -C /var/tmp/dist/ -xf $rootdir/[% c('input_files_by_name/python-windows') %]
cp -a /var/tmp/dist/python-windows/bin "${ARTIFACTS}/python"
tar -C /var/tmp/dist/ -xf $rootdir/[% c('input_files_by_name/stem') %]
cp -a /var/tmp/dist/stem-*/stem "${NEUTRAL_ARTIFACTS}/stem"
tar -C /var/tmp/dist/ -xf $rootdir/[% c('input_files_by_name/stemns') %]
cp -a /var/tmp/dist/StemNS/stemns.py /var/tmp/dist/StemNS/config "${NEUTRAL_ARTIFACTS}/stemns/"
# 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=${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') %]" "-DELECTRUM_NMC_FN=[% c('input_files_by_name/electrum-nmc') %]" "-DOUTFN=${OUTFN}" ncdns.nsi
# Working around NSIS braindamage
mv "${OUTFN}" torbrowser-install-tmp.exe
python3 $rootdir/pe_checksum_fix.py
mv torbrowser-install-tmp2.exe [% dest_dir _ '/' _ c('filename') %]