summaryrefslogtreecommitdiffstats
path: root/ci
diff options
context:
space:
mode:
authorJan Ekström <jeebjp@gmail.com>2019-07-21 21:14:47 +0300
committerJan Ekström <jeebjp@gmail.com>2019-09-02 00:34:49 +0300
commit56d31ae1901be8d68293e9ff5c2a006341ecb9f8 (patch)
tree5a34fe1ac6d9e553e534b7954c60c34e87dcf834 /ci
parentb539eb222bbc6099e6661e6b1fe4dcb2d775342a (diff)
downloadmpv-56d31ae1901be8d68293e9ff5c2a006341ecb9f8.tar.bz2
mpv-56d31ae1901be8d68293e9ff5c2a006341ecb9f8.tar.xz
travis: rework scripts to re-enable macOS
* Adds a script to clone and build FFmpeg as well as to configure and build mpv itself. Currently only used for macOS and contain hard-coded macOS specific options. * Still works with the Linux containers. * Moves our language back to "c" from "generic" * Defines our Linux distribution as "bionic" to get the latest Ubuntu base distribution to be the runner for our containers. * Adds the homebrew add-on for macOS package installation for dependencies. Installs everything required but FFmpeg, as we want to have our own FFmpeg snapshots.
Diffstat (limited to 'ci')
-rwxr-xr-xci/build-macos.sh26
-rwxr-xr-xci/get_ffmpeg.sh38
2 files changed, 64 insertions, 0 deletions
diff --git a/ci/build-macos.sh b/ci/build-macos.sh
new file mode 100755
index 0000000000..4984e3ba81
--- /dev/null
+++ b/ci/build-macos.sh
@@ -0,0 +1,26 @@
+#!/usr/bin/env bash
+
+set -e
+
+FFMPEG_SYSROOT="${HOME}/deps/sysroot"
+MPV_INSTALL_PREFIX="${HOME}/out/mpv"
+MPV_VARIANT="${TRAVIS_OS_NAME}"
+
+if [[ -d "./build/${MPV_VARIANT}" ]] ; then
+ rm -rf "./build/${MPV_VARIANT}"
+fi
+
+if [[ ! -e "./waf" ]] ; then
+ python3 ./bootstrap.py
+fi
+
+PKG_CONFIG_PATH="${FFMPEG_SYSROOT}/lib/pkgconfig/" CC="${CC}" CXX="${CXX}" python3 \
+ ./waf configure \
+ --variant="${MPV_VARIANT}" \
+ --prefix="${MPV_INSTALL_PREFIX}" \
+ --enable-{gl,iconv,lcms2,libass,libass-osd,libmpv-shared,lua,jpeg,plain-gl,zlib} \
+ --enable-{apple-remote,cocoa,coreaudio,gl-cocoa,macos-cocoa-cb,macos-touchbar,videotoolbox-gl}
+
+python3 ./waf build --variant="${MPV_VARIANT}" -j4
+
+python3 ./waf install --variant="${MPV_VARIANT}"
diff --git a/ci/get_ffmpeg.sh b/ci/get_ffmpeg.sh
new file mode 100755
index 0000000000..ef575701d9
--- /dev/null
+++ b/ci/get_ffmpeg.sh
@@ -0,0 +1,38 @@
+#!/usr/bin/env bash
+
+set -e
+
+FFMPEG_SRC_DIR="${HOME}/deps/src/ffmpeg"
+FFMPEG_BUILD_DIR="${FFMPEG_SRC_DIR}/${TRAVIS_OS_NAME}"
+FFMPEG_SYSROOT="${HOME}/deps/sysroot"
+FFMPEG_HASH="18928e2bb4568cbe5e9061c3e6b63559392af3d2"
+
+# Get the sauce if not around
+if [[ ! -d "${FFMPEG_SRC_DIR}" ]] ; then
+ git clone "https://git.videolan.org/git/ffmpeg.git" "${FFMPEG_SRC_DIR}"
+fi
+
+# pop into FFmpeg's source dir and clean up & check out our wanted revision
+pushd "${FFMPEG_SRC_DIR}"
+git reset --hard HEAD && git clean -dfx
+git checkout "${FFMPEG_HASH}"
+popd
+
+# If a build dir of the same type is around, clean it up
+if [[ -d "${FFMPEG_BUILD_DIR}" ]] ; then
+ rm -rf "${FFMPEG_BUILD_DIR}"
+fi
+
+# Create and move into the build dir, configure and build!
+mkdir -p "${FFMPEG_BUILD_DIR}" && pushd "${FFMPEG_BUILD_DIR}"
+
+PKG_CONFIG_PATH="${FFMPEG_SYSROOT}/lib/pkgconfig/" ../configure \
+ --disable-{autodetect,stripping} \
+ --cc="${CC}" \
+ --cxx="${CXX}" \
+ --prefix="${FFMPEG_SYSROOT}" \
+ --enable-{zlib,securetransport,videotoolbox}
+
+make -j4 && make install && popd
+
+exit 0