Skip to content

Instantly share code, notes, and snippets.

@ronantreacy
Created August 25, 2014 09:50
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ronantreacy/3dfd56ca49001e287567 to your computer and use it in GitHub Desktop.
Save ronantreacy/3dfd56ca49001e287567 to your computer and use it in GitHub Desktop.
A script for building the breach exo browser
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH="$PATH":`pwd`/depot_tools
export GYP_GENERATORS='ninja'
if [ `uname` == 'Darwin' ]; then
export GYP_DEFINES=mac_sdk=10.8
fi
echo 'p' | svn ls https://src.chromium.org/chrome
echo 'p' | svn ls https://sctp-refimpl.googlecode.com/svn/trunk
echo 'p' | svn ls https://cld2.googlecode.com/svn/trunk
mkdir chromium && cd chromium
CHROMIUM_PATH=`pwd`
git clone https://github.com/breach/exo_browser.git
gclient config `cat exo_browser/DEPS/chromium.RELEASE`
gclient sync
gclient runhooks
cd "$CHROMIUM_PATH/src" && mv ../exo_browser .
cd "$CHROMIUM_PATH/src/exo_browser/shell" && npm install
cd "$CHROMIUM_PATH/src/third_party" && git clone -b exo_browser https://github.com/breach/node.git
cd "$CHROMIUM_PATH/src/third_party/node" && git reset --hard `cat ../../exo_browser/DEPS/node_exo_browser.HEAD`
cd "$CHROMIUM_PATH/src" && patch -p0 -i exo_browser/DEPS/chromium.patch
cd "$CHROMIUM_PATH/src" && GYP_DEFINES=mac_sdk=10.7
sed -i 's/\"chrome\/browser\/resources\/component_extension_resources\.grd\"/\
"exo_browser\/exo_browser_resources\.grd\": \
\{\"includes"\: \[32000\]\,\"structures\"\: \[32100\]\,\"messages\"\: \[32200\]\,\}\,\n\
\"chrome\/browser\/resources\/component_extension_resources\.grd\"/'\
tools/gritsettings/resource_ids
build/gyp_chromium exo_browser/exo_browser.gyp
if [ `uname` == 'Darwin' ]; then
# if you get compile errors with pyobjc, depending on your python installation (brew, ports, manual)
# some combination of these may be need to be run:
# defaults write com.apple.versioner.python Prefer-32-Bit -bool yes
# sudo /usr/bin/easy_install -U pyobjc
# pip install pyobjc
cd "$CHROMIUM_PATH/src/third_party/node" && ./configure --ninja --dest-cpu ia32
elif [ `uname` == 'Linux' ]; then
cd "$CHROMIUM_PATH/src/third_party/node" && ./configure --ninja
fi
cd "$CHROMIUM_PATH/src" && ninja -C out/Debug exo_browser -j8
echo "you may now 'open out/Debug/ExoBrowser.app'"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment