Browse Source

[CI] Use prebuilt deps so we can build on 10.9

Colin Edwards 8 years ago
parent
commit
0f2e71cdb5
3 changed files with 81 additions and 2 deletions
  1. 1 1
      CI/before-script-osx.sh
  2. 4 1
      CI/install-dependencies-osx.sh
  3. 76 0
      CI/util/build-package-deps-osx.sh

+ 1 - 1
CI/before-script-osx.sh

@@ -1,3 +1,3 @@
 mkdir build
 cd build
-cmake -DBUILD_BROWSER=ON -DCEF_ROOT_DIR=$PWD/../../cef_binary_3.2704.1434.gec3e9ed_macosx64 ..
+cmake -DCMAKE_OSX_DEPLOYMENT_TARGET=10.9 -DDepsPath=/tmp/obsdeps -DBUILD_BROWSER=ON -DCEF_ROOT_DIR=$PWD/../../cef_binary_3.2704.1434.gec3e9ed_macosx64 ..

+ 4 - 1
CI/install-dependencies-osx.sh

@@ -1,7 +1,10 @@
 brew update
 
 #Base OBS Deps
-brew install ffmpeg x264 qt5
+brew install qt5
+
+curl -L -O https://s3-us-west-2.amazonaws.com/obs-nightly/osx-deps.tar.gz
+tar -xf ./osx-deps.tar.gz -C /tmp
 
 # CEF Stuff
 cd ../

+ 76 - 0
CI/util/build-package-deps-osx.sh

@@ -0,0 +1,76 @@
+#!/usr/bin/env bash
+
+CURDIR=$(pwd)
+
+# the temp directory
+WORK_DIR=`mktemp -d`
+
+# deletes the temp directory
+function cleanup {
+  #rm -rf "$WORK_DIR"
+  echo "Deleted temp working directory $WORK_DIR"
+}
+
+# register the cleanup function to be called on the EXIT signal
+trap cleanup EXIT
+
+cd $WORK_DIR
+
+DEPS_DEST=$WORK_DIR/obsdeps
+
+# make dest dirs
+mkdir $DEPS_DEST
+mkdir $DEPS_DEST/bin
+mkdir $DEPS_DEST/include
+
+# OSX COMPAT
+export MACOSX_DEPLOYMENT_TARGET=10.9
+
+# If you need an olders SDK and Xcode won't give it to you
+# https://github.com/phracker/MacOSX-SDKs
+
+# x264
+git clone git://git.videolan.org/x264.git
+cd ./x264
+mkdir build
+cd ./build
+../configure --extra-ldflags="-mmacosx-version-min=10.9" --enable-shared --libdir="/tmp/obsdeps/bin"
+make -j 12
+ln -f -s libx264.*.dylib libx264.dylib
+find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \;
+rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/
+rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/
+
+cd $WORK_DIR
+
+# janson
+curl -L -O http://www.digip.org/jansson/releases/jansson-2.9.tar.gz
+tar -xf jansson-2.9.tar.gz
+cd jansson-2.9
+mkdir build
+cd ./build
+../configure --libdir="/tmp/obsdeps/bin" --enable-shared --disable-static
+make -j 12
+find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \;
+rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/
+rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/
+
+cd $WORK_DIR
+
+# FFMPEG
+curl -L -O https://github.com/FFmpeg/FFmpeg/archive/n3.2.2.zip
+unzip ./n3.2.2.zip
+cd ./FFmpeg-n3.2.2
+mkdir build
+cd ./build
+../configure --extra-ldflags="-mmacosx-version-min=10.9" --enable-shared --disable-static --shlibdir="/tmp/obsdeps/bin"
+make -j 12
+find . -name \*.dylib -exec cp \{\} $DEPS_DEST/bin/ \;
+rsync -avh --include="*/" --include="*.h" --exclude="*" ../* $DEPS_DEST/include/
+rsync -avh --include="*/" --include="*.h" --exclude="*" ./* $DEPS_DEST/include/
+
+cd $WORK_DIR
+
+tar -czf osx-deps.tar.gz obsdeps
+
+cp ./osx-deps.tar.gz $CURDIR