Skip to content

Commit

Permalink
guix: Make source tarball using git-archive
Browse files Browse the repository at this point in the history
  • Loading branch information
dongcarl committed Apr 28, 2020
1 parent 395c113 commit f5a6ac4
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 16 deletions.
40 changes: 24 additions & 16 deletions contrib/guix/libexec/build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -141,19 +141,17 @@ make -C depends --jobs="$MAX_JOBS" HOST="$HOST" \
# Source Tarball Building #
###########################

# Create the source tarball and move it to "${OUTDIR}/src" if not already there
if [ -z "$(find "${OUTDIR}/src" -name 'bitcoin-*.tar.gz')" ]; then
./autogen.sh
env CONFIG_SITE="${BASEPREFIX}/${HOST}/share/config.site" ./configure --prefix=/
make dist GZIP_ENV='-9n' ${V:+V=1}
mkdir -p "${OUTDIR}/src"
mv "$(find "${PWD}" -name 'bitcoin-*.tar.gz')" "${OUTDIR}/src/"
fi
# Define DISTNAME variable.
# shellcheck source=contrib/gitian-descriptors/assign_DISTNAME
source contrib/gitian-descriptors/assign_DISTNAME

GIT_ARCHIVE="${OUTDIR}/src/${DISTNAME}.tar.gz"

# Determine the full path to our source tarball
SOURCEDIST="$(find "${OUTDIR}/src" -name 'bitcoin-*.tar.gz')"
# Determine our distribution name (e.g. bitcoin-0.18.0)
DISTNAME="$(basename "$SOURCEDIST" '.tar.gz')"
# Create the source tarball if not already there
if [ ! -e "$GIT_ARCHIVE" ]; then
mkdir -p "$(dirname "$GIT_ARCHIVE")"
git archive --output="$GIT_ARCHIVE" HEAD
fi

###########################
# Binary Tarball Building #
Expand Down Expand Up @@ -187,7 +185,9 @@ export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"
cd "$DISTSRC"

# Extract the source tarball
tar --strip-components=1 -xf "${SOURCEDIST}"
tar -xf "${GIT_ARCHIVE}"

./autogen.sh

# Configure this DISTSRC for $HOST
# shellcheck disable=SC2086
Expand Down Expand Up @@ -234,7 +234,15 @@ export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"

case "$HOST" in
*mingw*)
cp -f --target-directory="$OUTDIR" ./*-setup-unsigned.exe
# This step not only moves the unsigned NSIS executable to
# "${OUTDIR}", but also renames it
#
# from:
# bitcoin-@[email protected]
# to:
# ${DISTNAME}-win64-setup-unsigned.exe
#
cp -f ./bitcoin-*-win64-setup-unsigned.exe "${OUTDIR}/${DISTNAME}-win64-setup-unsigned.exe"
;;
esac
(
Expand Down Expand Up @@ -264,7 +272,7 @@ export PATH="${BASEPREFIX}/${HOST}/native/bin:${PATH}"
cp "${DISTSRC}/doc/README_windows.txt" "${DISTNAME}/readme.txt"
;;
*linux*)
cp "${DISTSRC}/doc/README.md" "${DISTNAME}/"
cp "${DISTSRC}/README.md" "${DISTNAME}/"
;;
esac

Expand Down Expand Up @@ -307,7 +315,7 @@ case "$HOST" in
(
cd ./windeploy
mkdir unsigned
cp --target-directory=unsigned/ "$OUTDIR"/bitcoin-*-setup-unsigned.exe
cp --target-directory=unsigned/ "${OUTDIR}/${DISTNAME}-win64-setup-unsigned.exe"
find . -print0 \
| sort --zero-terminated \
| tar --create --no-recursion --mode='u+rw,go+r-w,a+X' --null --files-from=- \
Expand Down
3 changes: 3 additions & 0 deletions contrib/guix/manifest.scm
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@
(gnu packages pkg-config)
(gnu packages python)
(gnu packages shells)
(gnu packages version-control)
(guix build-system gnu)
(guix build-system trivial)
(guix gexp)
Expand Down Expand Up @@ -181,6 +182,8 @@ chain for " target " development."))
;; Scripting
perl
python-3.7
;; Git
git
;; Native gcc 9 toolchain targeting glibc 2.27
(make-gcc-toolchain gcc-9 glibc-2.27))
(let ((target (getenv "HOST")))
Expand Down

0 comments on commit f5a6ac4

Please sign in to comment.