name: MacOS on: push: branches: [ master ] pull_request: branches: [ master ] jobs: build: runs-on: macos-latest steps: # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it - uses: actions/checkout@v2 - name: Install build tools run: brew install automake autoconf libtool pkg-config - name: Install libinotify-kqueue # brew does not have libinotify package run: | git clone https://github.com/libinotify-kqueue/libinotify-kqueue cd libinotify-kqueue autoreconf -fvi ./configure make sudo make install cd .. - name: Install sqlite # Brew package does not have unlock-notify run: | wget https://www.sqlite.org/2020/sqlite-autoconf-3310100.tar.gz tar xzf sqlite-autoconf-3310100.tar.gz cd sqlite-autoconf-3310100 export CFLAGS='-DSQLITE_ENABLE_UNLOCK_NOTIFY=1' ./configure make sudo make install cd .. - name: Install gperf and antlr3 run: | brew install gperf chmod +x ./scripts/antlr35_install.sh ./scripts/antlr35_install.sh -y -p /usr/local - name: Install ffmpeg # The libbluray ffmpeg dependency fails without the chown (source: stackoverflow) run: | sudo chown -R $(whoami) $(brew --prefix)/* brew install ffmpeg - name: Install other dependencies run: brew install libunistring libmxml confuse libplist sqlite libwebsockets libevent libgcrypt json-c protobuf-c libsodium gnutls pulseaudio - name: Configure forked-daapd run: | autoreconf -fi ./configure --enable-chromecast --enable-lastfm --with-pulseaudio - name: Build forked-daapd run: | # Without setting these env vars the build fails with "fatal error: 'openssl/ssl.h' file not found" # (Solution taken from https://github.com/libimobiledevice/libimobiledevice/issues/389#issuecomment-289284190) export LD_LIBRARY_PATH=$(brew --prefix openssl)/lib export CPATH=$(brew --prefix openssl)/include export PKG_CONFIG_PATH=$(brew --prefix openssl)/lib/pkgconfig make - name: Install forked-daapd run: sudo make install