Skip to content

Commit

Permalink
remove all binaries, we think
Browse files Browse the repository at this point in the history
Add buildozer 0.6.0-80c7f0d45d7e40fa1f7362852697d4a03df557b3 (pantsbuild#56)

Synchronize docker instructions with pantsbuild/pants. (pantsbuild#58)

Add clang (pantsbuild#57)

Switch to a workflow without committed binaries (pantsbuild#59)

* Update the README to indicate that no new binaries should be committed here.
* Formalize the script location to improve maintainability.

Add Go 1.9.4 and 1.10 (pantsbuild#61)

Here we add `build.sh` scripts for Go 1.9.4 and 1.10, and a helper
script for generating the `build.sh` scripts. We also clarify in the
docs what platforms are supported (i386 and macOS pre 10.8 are not
supported going forward).

update some of the commands described in the README (pantsbuild#63)

add gcc 7.3.0 and clang 6.0.0 cross platform, binutils 2.30 for linux, edit clang 5.0.1 to conform to pantsbuild#59 (pantsbuild#62)

```
$ ./sync-s3.sh
upload: bin/clang/linux/x86_64/6.0.0/build-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-cmake.sh
upload: bin/clang/linux/x86_64/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build.sh
upload: bin/binutils/linux/x86_64/2.30/build.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build.sh
upload: bin/binutils/linux/x86_64/2.30/build-binutils.sh to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/build-binutils.sh
upload: bin/binutils/linux/x86_64/2.30/binutils.tar.gz to s3://binaries.pantsbuild.org/bin/binutils/linux/x86_64/2.30/binutils.tar.gz
upload: bin/clang/mac/10.10/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build-clang.sh
upload: bin/clang/mac/10.10/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/build.sh
upload: bin/clang/linux/x86_64/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/clang.tar.gz
upload: bin/clang/mac/10.11/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build-clang.sh
upload: bin/clang/mac/10.11/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/build.sh
upload: bin/clang/linux/x86_64/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang.sh
upload: bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh to s3://binaries.pantsbuild.org/bin/clang/linux/x86_64/6.0.0/build-clang-for-linux-with-cmake.sh
upload: bin/clang/mac/10.12/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build-clang.sh
upload: bin/clang/mac/10.12/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/build.sh
upload: bin/clang/mac/10.10/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.10/6.0.0/clang.tar.gz
upload: bin/clang/mac/10.12/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.12/6.0.0/clang.tar.gz
upload: bin/clang/mac/10.13/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build-clang.sh
upload: bin/clang/mac/10.13/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/build.sh
upload: bin/clang/mac/10.11/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.11/6.0.0/clang.tar.gz
upload: bin/clang/mac/10.8/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build.sh
upload: bin/clang/mac/10.8/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/build-clang.sh
upload: bin/clang/mac/10.13/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.13/6.0.0/clang.tar.gz
upload: bin/clang/mac/10.9/6.0.0/build-clang.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build-clang.sh
upload: bin/clang/mac/10.9/6.0.0/build.sh to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/build.sh
upload: bin/clang/mac/10.8/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.8/6.0.0/clang.tar.gz
upload: bin/gcc/linux/x86_64/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build.sh
upload: bin/gcc/linux/x86_64/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/build-gcc.sh
upload: bin/clang/mac/10.9/6.0.0/clang.tar.gz to s3://binaries.pantsbuild.org/bin/clang/mac/10.9/6.0.0/clang.tar.gz
upload: bin/gcc/mac/10.10/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build-gcc.sh
upload: bin/gcc/mac/10.10/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/build.sh
upload: bin/gcc/mac/10.11/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build-gcc.sh
upload: bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/linux/x86_64/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.11/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/build.sh
upload: bin/gcc/mac/10.12/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build-gcc.sh
upload: bin/gcc/mac/10.12/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/build.sh
upload: bin/gcc/mac/10.10/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.10/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.11/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.11/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.13/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build-gcc.sh
upload: bin/gcc/mac/10.13/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/build.sh
upload: bin/gcc/mac/10.12/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.12/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.8/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build-gcc.sh
upload: bin/gcc/mac/10.8/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/build.sh
upload: bin/gcc/mac/10.13/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.13/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.9/7.3.0/build-gcc.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build-gcc.sh
upload: bin/gcc/mac/10.9/7.3.0/build.sh to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/build.sh
upload: bin/gcc/mac/10.8/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.8/7.3.0/gcc.tar.gz
upload: bin/gcc/mac/10.9/7.3.0/gcc.tar.gz to s3://binaries.pantsbuild.org/bin/gcc/mac/10.9/7.3.0/gcc.tar.gz
```

add xz package (pantsbuild#66)

cloc and isort are now fetched from `bin`, but without the platform-specific path component. (pantsbuild#68)

add --disable-rpath when configuring xz (pantsbuild#71)

This removes the need to set `DYLD_LIBRARY_PATH` or `LD_LIBRARY_PATH` in pantsbuild/pants#5936. The `xz` binary will use the version of `xz` and `liblzma` in the installation directory when invoked.

add xz wrapper script to set the library path (pantsbuild#72)

See pantsbuild#71, where we added `--disable-rpath` to `xz` to stop it from using a hardcoded library path at runtime. However, that still fails in Travis in pantsbuild/pants#5936 with the output:
```
INFO] Fetched llvm.tar.xz binary from: https://releases.llvm.org/6.0.0/clang+llvm-6.0.0-x86_64-linux-gnu-ubuntu-16.04.tar.xz .
INFO] Extracting /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm.tar.xz to /home/travis/.cache/pants/bin/llvm/linux/x86_64/6.0.0/llvm .
xz: /lib/x86_64-linux-gnu/liblzma.so.5: version `XZ_5.2' not found (required by xz)
```
While we had removed the query for the hardcoded path, we still need to actually set our own path. We had been doing that on the pants side -- instead, this PR adds a (very short) python script at the path of the real `xz` binary (a suggestion from @illicitonion in that PR) which sets `LD_LIBRARY_PATH` or `DYLD_LIBRARY_PATH` appropriately, not clobbering any existing values. This works with the current version of pantsbuild/pants#5936 for me on osx and linux.

statically link xz (pantsbuild#74)

See pantsbuild#71, pantsbuild#72, pantsbuild#73. Our `xz` is picking up travis's `xz` installation and using its (incompatible) `liblzma` shared library. On the suggestion of @stuhood in pantsbuild/pants#5936, we statically link `xz` here to avoid ever having this problem ever again. Proof:
*linux*:
```
> ldd ./xz-5.2.4-linux/xz-install/bin/xz
        linux-vdso.so.1 (0x00007ffc865cd000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007f1fa385f000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007f1fa34a3000)
        /lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f1fa3cb4000)
```
*osx*:
```
> otool -L ./xz-5.2.4-linux/xz-install/bin/xz
./xz-5.2.4-linux/xz-install/bin/xz:
	/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1252.50.4)
```

add llvm 6.0.0 package. (pantsbuild#75)

See pantsbuild/pants#5991. This adds the binary I should have provided when we added the ability to download `BinaryTool`s from external urls, in the exact same way we do it within Pants.

Upgrade isort to 4.3.4. (pantsbuild#76)

This adds support for more python3 stdlib symbols.

Also introduce a build script.

Fixup isort path structure.

Node.js 10.7.0 and Yarnpkg 1.7.0 (pantsbuild#80)

Four small scripts, each named "build.sh" have been added.  These will build a specific version of Node.js or Yarnpkg in the current directory.

Symlinks from older macOS to 10.13 are included.

Add build scripts and symlinks for Node 8.11.3 and Yarnpkg 1.6.0 (pantsbuild#81)

Adding Node v10.13.0 build scripts for Mac 10.8-10.13 and Linux X64 (pantsbuild#86)

Add go 1.10.5 (pantsbuild#87)

Add build script for Thrift 0.11.0 (pantsbuild#83)

Add build scripts and symlinks for Yarnpkg 1.12.3 (pantsbuild#89)

Add updated go versions to pants binaries (pantsbuild#90)

* Add updated go versions to pants binaries

* Expanded the mac_versions into a map to encode the OSX min version requirements of the latest builds of go.

Add build scripts and symlinks for Yarnpkg 1.16.0 (pantsbuild#91)

* Add build scripts and symlinks for Yarnpkg 1.16.0

Add go 1.12.7 (pantsbuild#92)

* Add go 1.12.7

Upgrade to cloc 1.82 (pantsbuild#93)

Add cloc 1.80 (pantsbuild#94)

The current version of cloc (version 1.82) has a bug where the --ignored
flag is not working properly ( AlDanial/cloc#401 ).
The pants test for the cloc goal tests this behavior, so as long as this
bug is not fixed upstream, pants will fail this test. I've confirmed
that version 1.80 of cloc does not have this bug, so we should be able
to use it until upstream cloc fixes the bug in a new verson.

Add go 1.13.8 for linux and mac 10.11+
  • Loading branch information
cosmicexplorer committed Nov 16, 2020
0 parents commit 746544a
Show file tree
Hide file tree
Showing 373 changed files with 14,802 additions and 0 deletions.
26 changes: 26 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
.vagrant/

/protobuf-2.4.1.tar.bz2
/protobuf-2.4.1/

/pantsbuild-binaries-0.5.0-finagle.tar.gz
/thrift-0.5.0-finagle-pantsbuild-binaries-0.5.0-finagle/

/thrift-0.7.0.tar.gz
/thrift-0.7.0/

/flex-2.5.39.tar.gz
/flex-2.5.39/
/thrift-0.9.1.tar.gz

/bison-2.5.1.tar.gz
/bison-2.5.1/
/thrift-0.9.2.tar.gz
/thrift-0.9.2/
/thrift-0.9.3.tar.gz
/thrift-0.9.3/

/ragel-6.9.tar.gz
/ragel-6.9/

/go1.4.2.*.tar.gz
55 changes: 55 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,55 @@
binaries
========

A home for scripts that build pants static binaries.


Supported Platforms
===================

As of Spring 2018, binaries are no longer being published for i386 nor macOS versions prior to 10.8.
Binaries for Linux x86_64 and macOS 10.8+ are generally published.

workflow
========

The general workflow for publishing new binaries is:

1. Create a script that will build the binary tool as reproducibly as possible, and place
the script in a relevant directory under `build-support`. For example, for `thrift` `0.10.0` for `mac`,
you'd create the script at `build-support/bin/thrift/mac/10.13/0.10.0/build.sh`. The script should place the built binary in the current directory upon success so that the reviewer doesn't have to find and move it after running the build script.
2. Symlink the script directory into all other relevant versions for both platforms (see [supported platforms](#supported-platforms)). Currently this only needs to be done for OSX. If `10.13` is the current OSX version, from within e.g. `build-support/bin/thrift/mac`, run `ln -s 10.13 10.12`, and so forth (e.g. `ln -s 10.13 10.11`) for all supported previous OSX versions.
3. Get the script and links reviewed. During review, the reviewer should confirm that the script
successfully produces a binary on their machine(s).
4. The script should then be merged _without_ the produced binaries.
5. After merging, the reviewer should (re-)execute the script (if necessary), confirm that binaries
have been created in all relevant symlinked directories, and then run:
```
./sync-s3.sh
```
...to upload the produced binaries to s3.

building
========

linux
-----

*Requires [docker](https://www.docker.com/).*

1. Change directories to the root of this repository, and run:
```
docker run -v "$(pwd):/pantsbuild-binaries" -w '/pantsbuild-binaries' --rm -it pantsbuild/centos6:latest /bin/bash
```
...to pop yourself in a controlled image back at this repo's root.

2. Change into the directory containing the `build-*.sh` script corresponding to the binary you wish to build.
3. Run the `build-*.sh` script -- the binary should be location in the script's directory upon success.

osx
---

We have no controlled build environment solution like we do for linux, so you'll need to get your hands on an OSX machine. With that in hand:

1. Change into the directory containing the `build-*.sh` script corresponding to the binary you wish to build.
2. Run the `build-*.sh` script -- the binary should be location in the script's directory upon success.
143 changes: 143 additions & 0 deletions build-clang-5.0.1.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,143 @@
#!/bin/bash

if ! hash xz; then
cat >&2 <<EOF
'xz' is required to run this script. You may have to install it using your
operating system's package manager.
EOF
exit 1
fi

set -euxo pipefail

LLVM_VERSION='5.0.1'
CORRESPONDING_CLANG_BIN_VERSION='5.0'
LLVM_RELEASE_BUILD_DIRNAME='llvm-tmp'
LLVM_PANTS_ARCHIVE_NAME='clang.tar.gz'
CLANG_SUPPORTDIR='build-support/bin/clang'

mkdir -p "$LLVM_RELEASE_BUILD_DIRNAME"

CLANG_BINARIES=(
clang
clang++
clang-"${CORRESPONDING_CLANG_BIN_VERSION}"
)

function extract-required-files-from-unpacked-llvm {
local -r unpacked_llvm_dir="$1"
local -r pants_output_archive_name="$2"

mkdir -p bin/ include/

for bin_path in ${CLANG_BINARIES[@]}; do
cp "${unpacked_llvm_dir}/bin/${bin_path}" bin/
done

# Copy over the C standard library headers into the include/ subdir. We will
# include the C++ standard library headers in a separate subdirectory in a
# future commit.
find "$unpacked_llvm_dir"/lib/clang/"$LLVM_VERSION"/include \
-type f \
-name '*.h' \
-exec cp '{}' include/ ';'

tar czf "$pants_output_archive_name" bin/ include/
}


## MacOS (LLVM-packaged release binaries)
MACOS_REVS=(
10.7
10.8
10.9
10.10
10.11
10.12
10.13
)
LLVM_TMP_MACOS_PKG_DIR='llvm-macos-pkg'

pushd "$LLVM_RELEASE_BUILD_DIRNAME"

curl -L -O "https://releases.llvm.org/${LLVM_VERSION}/clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
tar xf "clang+llvm-${LLVM_VERSION}-x86_64-apple-darwin.tar.xz"
llvm_macos_bin_release_dir_abs="$(pwd)/clang+llvm-${LLVM_VERSION}-final-x86_64-apple-darwin"

mkdir -p "$LLVM_TMP_MACOS_PKG_DIR"
pushd "$LLVM_TMP_MACOS_PKG_DIR"

extract-required-files-from-unpacked-llvm \
"$llvm_macos_bin_release_dir_abs" \
"$LLVM_PANTS_ARCHIVE_NAME"

llvm_macos_packaged_abs="$(pwd)/${LLVM_PANTS_ARCHIVE_NAME}"
popd

popd

for rev in ${MACOS_REVS[@]}; do
dest_base="${CLANG_SUPPORTDIR}/mac/${rev}/${LLVM_VERSION}"
mkdir -p "$dest_base"
cp "$llvm_macos_packaged_abs" "${dest_base}/${LLVM_PANTS_ARCHIVE_NAME}"
done


## Linux (from source release)
# We need cmake >= 3.4, so use the one we already build for pants.
CMAKE_VERSION='3.9.5'
CMAKE_BUILD_TMP_DIR='cmake-build-tmp'
LLVM_BUILD_TMP_DIR='llvm-build'
LLVM_TMP_LINUX_PKG_DIR='llvm-linux-pkg'

"./build-cmake-${CMAKE_VERSION}.sh"
cmake_linux_packaged_abs="$(pwd)/build-support/bin/cmake/linux/x86_64/${CMAKE_VERSION}/cmake.tar.gz"

mkdir -p "$CMAKE_BUILD_TMP_DIR"
pushd "$CMAKE_BUILD_TMP_DIR"
tar zxf "$cmake_linux_packaged_abs"
cmake_linux_bin_abs="$(pwd)/bin/cmake"
popd

pushd "$LLVM_RELEASE_BUILD_DIRNAME"

# LLVM requires you to download the source for LLVM and the Clang frontend
# separately. The alternative is checking out their SVN repo, which takes much
# longer.
curl -L -O "https://releases.llvm.org/${LLVM_VERSION}/llvm-${LLVM_VERSION}.src.tar.xz"
curl -L -O "https://releases.llvm.org/${LLVM_VERSION}/cfe-${LLVM_VERSION}.src.tar.xz"
tar xf "llvm-${LLVM_VERSION}.src.tar.xz"
tar xf "cfe-${LLVM_VERSION}.src.tar.xz"

mkdir -p "$LLVM_BUILD_TMP_DIR"
pushd "$LLVM_BUILD_TMP_DIR"

"$cmake_linux_bin_abs" \
-DCMAKE_BUILD_TYPE=Release \
-DLLVM_EXTERNAL_CLANG_SOURCE_DIR="../cfe-${LLVM_VERSION}.src" \
-DLLVM_EXTERNAL_PROJECTS='clang' \
"../llvm-${LLVM_VERSION}.src"

# NB: There appear to be race conditions when running make with any parallelism
# here in a Docker image.
make

llvm_linux_source_release_dir_abs="$(pwd)"

popd

mkdir -p "$LLVM_TMP_LINUX_PKG_DIR"
pushd "$LLVM_TMP_LINUX_PKG_DIR"

extract-required-files-from-unpacked-llvm \
"$llvm_linux_source_release_dir_abs" \
"$LLVM_PANTS_ARCHIVE_NAME"

llvm_linux_packaged_abs="$(pwd)/${LLVM_PANTS_ARCHIVE_NAME}"

popd

popd

mkdir -p "${CLANG_SUPPORTDIR}/linux/x86_64/${LLVM_VERSION}"
cp "$llvm_linux_packaged_abs" "${CLANG_SUPPORTDIR}/linux/x86_64/${LLVM_VERSION}/${LLVM_PANTS_ARCHIVE_NAME}"
4 changes: 4 additions & 0 deletions build-cloc-1.64.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
#!/bin/sh

curl -L -O https://github.com/AlDanial/cloc/releases/download/1.64/cloc-1.64.pl

3 changes: 3 additions & 0 deletions build-cloc-1.66.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/bin/sh

curl -L -O https://github.com/AlDanial/cloc/releases/download/v1.66/cloc-1.66.pl
27 changes: 27 additions & 0 deletions build-cmake-3.8.2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
#!/bin/bash

set -e

for plat in "cmake-3.8.2-Darwin-x86_64" "cmake-3.8.2-Linux-x86_64"; do
curl -O "https://cmake.org/files/v3.8/${plat}.tar.gz"
rm -rf "${plat}"
tar xzf "${plat}.tar.gz"
done

# Initial copies for macOS and Linux.
MACOS_BASE="build-support/bin/cmake/mac/10.7/3.8.2"
mkdir -p "${MACOS_BASE}"
cp "cmake-3.8.2-Darwin-x86_64/CMake.app/Contents/bin/cmake" "${MACOS_BASE}"

LINUX_BASE="build-support/bin/cmake/linux/x86_64/3.8.2"
mkdir -p "${LINUX_BASE}"
cp "cmake-3.8.2-Linux-x86_64/bin/cmake" "${LINUX_BASE}"

# Additional symlinks for macOS.
for rev in "10.8" "10.9" "10.10" "10.11" "10.12" "10.13"; do
DEST_BASE="build-support/bin/cmake/mac/${rev}"
mkdir -p "${DEST_BASE}"
pushd "${DEST_BASE}" > /dev/null
ln -s "../10.7/3.8.2" "3.8.2"
popd > /dev/null
done
25 changes: 25 additions & 0 deletions build-cmake-3.9.4.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash -eu

for plat in "cmake-3.9.4-Darwin-x86_64" "cmake-3.9.4-Linux-x86_64"; do
curl -O "https://cmake.org/files/v3.9/${plat}.tar.gz"
rm -rf "${plat}"
tar xzf "${plat}.tar.gz"
done

# Initial copies for macOS and Linux.
MACOS_BASE="$(pwd)/build-support/bin/cmake/mac/10.7/3.9.4"
mkdir -p "${MACOS_BASE}"
tar -C cmake-3.9.4-Darwin-x86_64/CMake.app/Contents -czf "${MACOS_BASE}/cmake.tar.gz" bin share

LINUX_BASE="$(pwd)/build-support/bin/cmake/linux/x86_64/3.9.4"
mkdir -p "${LINUX_BASE}"
tar -C cmake-3.9.4-Linux-x86_64 -czf "${LINUX_BASE}/cmake.tar.gz" bin share

# Additional symlinks for macOS.
for rev in "10.8" "10.9" "10.10" "10.11" "10.12" "10.13"; do
DEST_BASE="build-support/bin/cmake/mac/${rev}"
mkdir -p "${DEST_BASE}"
pushd "${DEST_BASE}" > /dev/null
ln -s "../10.7/3.9.4" "3.9.4"
popd > /dev/null
done
25 changes: 25 additions & 0 deletions build-cmake-3.9.5.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
#!/bin/bash -eu

for plat in "cmake-3.9.5-Darwin-x86_64" "cmake-3.9.5-Linux-x86_64"; do
curl -O "https://cmake.org/files/v3.9/${plat}.tar.gz"
rm -rf "${plat}"
tar xzf "${plat}.tar.gz"
done

# Initial copies for macOS and Linux.
MACOS_BASE="$(pwd)/build-support/bin/cmake/mac/10.7/3.9.5"
mkdir -p "${MACOS_BASE}"
tar -C cmake-3.9.5-Darwin-x86_64/CMake.app/Contents -czf "${MACOS_BASE}/cmake.tar.gz" bin share

LINUX_BASE="$(pwd)/build-support/bin/cmake/linux/x86_64/3.9.5"
mkdir -p "${LINUX_BASE}"
tar -C cmake-3.9.5-Linux-x86_64 -czf "${LINUX_BASE}/cmake.tar.gz" bin share

# Additional symlinks for macOS.
for rev in "10.8" "10.9" "10.10" "10.11" "10.12" "10.13"; do
DEST_BASE="build-support/bin/cmake/mac/${rev}"
mkdir -p "${DEST_BASE}"
pushd "${DEST_BASE}" > /dev/null
ln -sf "../10.7/3.9.5" "3.9.5"
popd > /dev/null
done
12 changes: 12 additions & 0 deletions build-go-1.4.2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

ARCHS=(
darwin-amd64-osx10.6
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.4.2.${arch}.tar.gz
done
12 changes: 12 additions & 0 deletions build-go-1.5.1.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

ARCHS=(
darwin-amd64
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.5.1.${arch}.tar.gz
done
12 changes: 12 additions & 0 deletions build-go-1.5.2.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

ARCHS=(
darwin-amd64
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.5.2.${arch}.tar.gz
done
12 changes: 12 additions & 0 deletions build-go-1.5.3.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

ARCHS=(
darwin-amd64
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.5.3.${arch}.tar.gz
done
12 changes: 12 additions & 0 deletions build-go-1.5.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/sh

ARCHS=(
darwin-amd64
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.5.${arch}.tar.gz
done
12 changes: 12 additions & 0 deletions build-go-1.6.1.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
#!/bin/bash

ARCHS=(
darwin-amd64
linux-386
linux-amd64
)

for arch in ${ARCHS[@]}
do
curl -O https://storage.googleapis.com/golang/go1.6.1.${arch}.tar.gz
done
Loading

0 comments on commit 746544a

Please sign in to comment.