github.com/adoriasoft/tendermint@v0.34.0-dev1.0.20200722151356-96d84601a75a/scripts/gitian-descriptors/gitian-darwin.yml (about)

     1  ---
     2  name: "tendermint-darwin"
     3  enable_cache: true
     4  distro: "ubuntu"
     5  suites:
     6  - "bionic"
     7  architectures:
     8  - "amd64"
     9  packages:
    10  - "bsdmainutils"
    11  - "build-essential"
    12  - "ca-certificates"
    13  - "curl"
    14  - "debhelper"
    15  - "dpkg-dev"
    16  - "devscripts"
    17  - "fakeroot"
    18  - "git"
    19  - "golang-any"
    20  - "xxd"
    21  - "quilt"
    22  remotes:
    23  - "url": "https://github.com/tendermint/tendermint.git"
    24    "dir": "tendermint"
    25  files:
    26  - "go1.13.3.linux-amd64.tar.gz"
    27  script: |
    28    set -e -o pipefail
    29  
    30    GO_SRC_RELEASE=go1.13.3.linux-amd64
    31    GO_SRC_TARBALL="${GO_SRC_RELEASE}.tar.gz"
    32    # Compile go and configure the environment
    33    export TAR_OPTIONS="--mtime="$REFERENCE_DATE\\\ $REFERENCE_TIME""
    34    export BUILD_DIR=`pwd`
    35    tar xf "${GO_SRC_TARBALL}"
    36    rm -f "${GO_SRC_TARBALL}"
    37    [ -d go/ ]
    38  
    39    export GOOS=darwin
    40    export GOROOT=${BUILD_DIR}/go
    41    export GOPATH=${BUILD_DIR}/gopath
    42    mkdir -p ${GOPATH}/bin
    43  
    44    export PATH_orig=${PATH}
    45    export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
    46  
    47    export ARCHS='386 amd64'
    48    export GO111MODULE=on
    49  
    50    # Make release tarball
    51    pushd tendermint
    52    VERSION=$(git describe --tags | sed 's/^v//')
    53    COMMIT=$(git rev-parse --short=8 HEAD)
    54    DISTNAME=tendermint-${VERSION}
    55    git archive --format tar.gz --prefix ${DISTNAME}/ -o ${DISTNAME}.tar.gz HEAD
    56    SOURCEDIST=`pwd`/`echo tendermint-*.tar.gz`
    57    popd
    58  
    59    # Correct tar file order
    60    mkdir -p temp
    61    pushd temp
    62    tar xf $SOURCEDIST
    63    rm $SOURCEDIST
    64    find tendermint-* | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > $SOURCEDIST
    65    popd
    66  
    67    # Prepare GOPATH and install deps
    68    distsrc=${GOPATH}/src/github.com/tendermint/tendermint
    69    mkdir -p ${distsrc}
    70    pushd ${distsrc}
    71    tar --strip-components=1 -xf $SOURCEDIST
    72    go mod download
    73    popd
    74  
    75    # Configure LDFLAGS for reproducible builds
    76    LDFLAGS="-extldflags=-static -buildid=${VERSION} -s -w \
    77      -X github.com/tendermint/tendermint/version.GitCommit=${COMMIT}"
    78  
    79    # Extract release tarball and build
    80    for arch in ${ARCHS}; do
    81      INSTALLPATH=`pwd`/installed/${DISTNAME}-${arch}
    82      mkdir -p ${INSTALLPATH}
    83  
    84      # Build tendermint binary
    85      pushd ${distsrc}
    86      GOARCH=${arch} GOROOT_FINAL=${GOROOT} go build -a \
    87        -trimpath \
    88        -gcflags=all=-trimpath=${GOPATH} \
    89        -asmflags=all=-trimpath=${GOPATH} \
    90        -mod=readonly -tags "tendermint" \
    91        -ldflags="${LDFLAGS}" \
    92        -o ${INSTALLPATH}/tendermint ./cmd/tendermint/
    93  
    94      popd # ${distsrc}
    95  
    96      pushd ${INSTALLPATH}
    97      find -type f | sort | tar \
    98        --no-recursion --mode='u+rw,go+r-w,a+X' \
    99        --numeric-owner --sort=name \
   100        --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-darwin-${arch}.tar.gz
   101      popd  # installed
   102    done
   103  
   104    rm -rf ${distsrc}
   105  
   106    mkdir -p $OUTDIR/src
   107    mv $SOURCEDIST $OUTDIR/src