• Harvey Hunt's avatar
    getdeps: Add support for brew packages and define package dependencies · c2270f28
    Harvey Hunt authored
    Summary:
    In order to speed up build times on a mac, add homebrew support to
    getdeps.
    
    Homebrew packages can be declared in a manifest using the `homebrew` header.
    
    Futher, ahornby has added manifest entries for homebrew packages which are
    included in this diff and also included a change to use the correct version of
    openssl. Without this openssl change, homebrew cmake configure finds an old
    openssl 1.0.2 install.
    
    This diff provides a 2x speed up for building folly:
    
    Timings for clean getdeps folly build on mid-2018 2.9Ghz i9 6 core intel macbook pro with 32GB RAM:
    
    With new homebrew system deps:
    ```
    rm -rf /Users/ahornby/.scratch/UsersZahornbyZfbsource/fbcode_builder_getdeps/
    time ./opensource/fbcode_builder/getdeps.py build --allow-system-packages folly
    real	17m39.329s
    user	76m10.317s
    sys	5m50.163s
    ```
    
    Without:
    ```
    rm -rf /Users/ahornby/.scratch/UsersZahornbyZfbsource/fbcode_builder_getdeps/
    time ./opensource/fbcode_builder/getdeps.py build folly
    real	32m10.344s
    user	105m53.448s
    sys	15m57.858s
    ```
    
    Reviewed By: ahornby
    
    Differential Revision: D33842632
    
    fbshipit-source-id: ac785d4a8dcfa31b77292bddd9e747022ac36e3b
    c2270f28
fetcher.py 28.7 KB