The regression caused by Homebrew's removal of [email protected] (see homebrew-core # 11110) has caused some discussion reminding me of an idea I had a couple months ago.
It'd be nifty if we get more dependency builds out of the ponyc build (and into their own CI jobs). Looking through our current setup, I think the following table is roughly accurate right now.
(Although this table does not mention the Visual Studio 2015
image on AppVeyor, or the trusty
distro, ubuntu-toolchain-r-test
package, g++-5
package, or RVM 2.2.3 (Ruby) config on Travis.)
I'm using (β€οΈ=todo/π=hmm/π=yay) hearts to indicate my feelings:
Build dependency | Pony platform | Third party build | Package build | Pony build usage | Feels |
---|---|---|---|---|---|
LLVM | Windows | LLVM provides downloads here. | @kulibali's AppVeyor build for his ponyc-windows-libs downloads source archives (with HTTP and FTP, not SSL) and builds. | Our AppVeyor build for ponyc (in the Waf script here) downloads and uses that. | π Needs SSL downloads though! |
LibreSSL | WIndows | LibreSSL provides downloads here. | Same as LLVM. | Same as LLVM. | π Needs SSL downloads though! |
PCRE | Windows | PCRE provides downloads via FTP at ftp://ftp.csx.cam.ac.uk/ pub/software/ programming/pcre/. | Same as LLVM. | Same as LLVM. | π Needs SSL downloads though! |
Python | Windows | AppVeyor's image has it? | π | ||
Ruby | Linux | Our Travis build rvm-installs it. | π Rubygems? | ||
FPM | Linux (only needed in Linux builds) | A Gem is available. | Our Travis build gem-installs it. | π Rubygems? | |
GMP | Linux | Travis's image has it? | π | ||
LLVM | Linux | LLVM provides downloads here. | Our Travis build downloads the binary package. | π SSL and cache this? | |
LibreSSL | Linux | Travis's image has it? | π | ||
PCRE | Linux | PCRE provides downloads via FTP at ftp://ftp.csx.cam.ac.uk/ pub/software/ programming/pcre/. | Our Travis build downloads and builds from source. | π SSL, do a CI build, and cache this? | |
GMP | OS X | GNU MP Bignum provides downloads here. | Our Travis build installs it via Homebrew. | β€οΈ Homebrew!? | |
LLVM | OS X | LLVM provides downloads here. | Our Travis build installs it via Homebrew. | β€οΈ Homebrew!? | |
LibreSSL | OS X | LibreSSL provides downloads here. | Our Travis build installs it via Homebrew. | β€οΈ Homebrew!? | |
PCRE | OS X | PCRE provides downloads via FTP at ftp://ftp.csx.cam.ac.uk/ pub/software/ programming/pcre/. | Our Travis build installs it via Homebrew. | β€οΈ Homebrew!? |
Runtime dependencies:
- ncurses
- LibreSSL
- GMP
- C++ / Win10 runtimes on Windows
Right now we're dependent on not just the desired {ponylang@GitHub -> AppVeyor/Travis -> Bintray}, but also providers of:
- LLVM, PCRE, and LibreSSL downloads (also: ugh, HTTP)
- kulibali@GitHub
- Homebrew
- Rubygems