From 56d31ae1901be8d68293e9ff5c2a006341ecb9f8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Ekstr=C3=B6m?= Date: Sun, 21 Jul 2019 21:14:47 +0300 Subject: 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. --- ci/build-macos.sh | 26 ++++++++++++++++++++++++++ ci/get_ffmpeg.sh | 38 ++++++++++++++++++++++++++++++++++++++ 2 files changed, 64 insertions(+) create mode 100755 ci/build-macos.sh create mode 100755 ci/get_ffmpeg.sh (limited to 'ci') 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 -- cgit v1.2.3