2020-05-22 14:10:57 -04:00
|
|
|
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
|
2020-05-23 11:55:55 -04:00
|
|
|
# brew does not have libinotify package
|
2020-05-22 14:10:57 -04:00
|
|
|
run: |
|
|
|
|
git clone https://github.com/libinotify-kqueue/libinotify-kqueue
|
|
|
|
cd libinotify-kqueue
|
|
|
|
autoreconf -fvi
|
|
|
|
./configure
|
|
|
|
make
|
|
|
|
sudo make install
|
|
|
|
cd ..
|
|
|
|
|
|
|
|
- name: Install sqlite
|
2020-05-25 15:15:31 -04:00
|
|
|
# Brew package does not have unlock-notify
|
2020-05-22 14:10:57 -04:00
|
|
|
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 ..
|
|
|
|
|
2020-05-23 11:55:55 -04:00
|
|
|
- name: Install gperf and antlr3
|
|
|
|
run: |
|
|
|
|
brew install gperf
|
|
|
|
chmod +x ./scripts/antlr35_install.sh
|
|
|
|
./scripts/antlr35_install.sh -y -p /usr/local
|
|
|
|
|
2020-05-22 14:10:57 -04:00
|
|
|
- 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
|
2021-10-01 13:13:36 -04:00
|
|
|
run: brew install libunistring libmxml confuse libplist sqlite libwebsockets libevent libgcrypt json-c protobuf-c libsodium gnutls pulseaudio openssl
|
2020-05-22 14:10:57 -04:00
|
|
|
|
2021-10-01 13:03:55 -04:00
|
|
|
- name: Configure
|
2020-05-22 14:10:57 -04:00
|
|
|
run: |
|
|
|
|
autoreconf -fi
|
|
|
|
./configure --enable-chromecast --enable-lastfm --with-pulseaudio
|
|
|
|
|
2021-10-01 13:03:55 -04:00
|
|
|
- name: Build
|
2020-05-23 02:30:27 -04:00
|
|
|
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
|
2020-05-22 14:10:57 -04:00
|
|
|
|
2021-10-01 13:03:55 -04:00
|
|
|
- name: Install
|
2020-05-22 14:10:57 -04:00
|
|
|
run: sudo make install
|