owntone-server/.github/workflows/macos.yml
ejurgensen c50f386d68 Fix MacOS build failure due to missing OpenSSL
Seems OpenSSL headers aren't installed by default any more on the virtual host,
but they are required by libwebsockets
2021-10-01 19:52:38 +02:00

74 lines
2.2 KiB
YAML

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 openssl
- name: Configure
run: |
autoreconf -fi
./configure --enable-chromecast --enable-lastfm --with-pulseaudio
- name: Build
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
run: sudo make install