Browse Source

Start cleanup, start with bootstrap-common

Signed-off-by: falkTX <falktx@falktx.com>
pull/25/head
falkTX 3 years ago
parent
commit
432ed143a0
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
6 changed files with 439 additions and 894 deletions
  1. +423
    -451
      .github/workflows/bootstrap.yml
  2. +0
    -401
      .github/workflows/plugins.yml
  3. +8
    -16
      bootstrap-common.sh
  4. +0
    -6
      setup/check_target.sh
  5. +7
    -19
      setup/env.sh
  6. +1
    -1
      setup/versions.sh

+ 423
- 451
.github/workflows/bootstrap.yml View File

@@ -18,14 +18,10 @@ jobs:
include:
- name: linux-common
installer: apt
os: ubuntu-18.04
os: ubuntu-20.04
target: linux
- name: macos-old-common
installer: apt
os: ubuntu-18.04
target: macos-old
- name: macos-universal-common
installer: brew
installer: homebrew
os: macos-10.15
target: macos-universal
- name: win32-common
@@ -43,72 +39,48 @@ jobs:
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
~/PawPawBuilds
key: bootstrap-common-${{ matrix.target }}
- name: Restore debian package cache
- name: [apt] Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up repositories (macos-old)
if: ${{ matrix.target == 'macos-old' }}
- name: [apt] Fix GitHub's mess
run: |
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -qq
sudo apt-get install -y kxstudio-repos
sudo apt-get update -qq
- name: Set up cross-compiler (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
mkdir -p ~/PawPawBuilds/debs
cd ~/PawPawBuilds/debs && \
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
fi && \
sudo dpkg -i \
'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
- name: Set up dependencies (apt)
sudo apt-get install -yqq --allow-downgrades libpcre2-8-0/focal
- name: [apt] Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
sudo apt-get install -yqq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
sudo apt-get install -yqq libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
- name: [homebrew] Set up dependencies
if: ${{ matrix.installer == 'homebrew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
- name: [homebrew] Fix up Xcode
if: ${{ matrix.installer == 'homebrew' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
- name: [apt] Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
@@ -126,412 +98,412 @@ jobs:
name: bootstrap-common-${{ matrix.target }}
path: bootstrap-common-${{ matrix.target }}.tar.gz

bootstrap-plugins:
strategy:
matrix:
include:
- name: linux-plugins
installer: apt
os: ubuntu-18.04
target: linux
- name: macos-old-plugins
installer: apt
os: ubuntu-18.04
target: macos-old
- name: macos-universal-plugins
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-plugins
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-plugins
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: bootstrap-common
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-plugins-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up repositories (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -y kxstudio-repos
sudo apt-get update -qq
- name: Set up cross-compiler (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
mkdir -p ~/PawPawBuilds/debs
cd ~/PawPawBuilds/debs && \
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
fi && \
sudo dpkg -i \
'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-common-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-plugins-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-plugins-${{ matrix.target }}
path: bootstrap-plugins-${{ matrix.target }}.tar.gz
#bootstrap-plugins:
#strategy:
#matrix:
#include:
#- name: linux-plugins
#installer: apt
#os: ubuntu-18.04
#target: linux
#- name: macos-old-plugins
#installer: apt
#os: ubuntu-18.04
#target: macos-old
#- name: macos-universal-plugins
#installer: brew
#os: macos-10.15
#target: macos-universal
#- name: win32-plugins
#installer: apt
#os: ubuntu-20.04
#target: win32
#- name: win64-plugins
#installer: apt
#os: ubuntu-20.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: bootstrap-common
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds/builds
#~/PawPawBuilds/debs
#~/PawPawBuilds/downloads
#~/PawPawBuilds/targets
#key: bootstrap-plugins-${{ matrix.target }}
#- name: Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: Set up repositories (macos-old)
#if: ${{ matrix.target == 'macos-old' }}
#run: |
#sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
#sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
#sudo apt-get update -qq
#sudo apt-get install -y kxstudio-repos
#sudo apt-get update -qq
#- name: Set up cross-compiler (macos-old)
#if: ${{ matrix.target == 'macos-old' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#cd ~/PawPawBuilds/debs && \
#if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
#wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
#fi && \
#if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
#wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
#fi && \
#if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
#wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
#fi && \
#sudo dpkg -i \
#'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
#'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
#'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
#- name: Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux' ]; then \
#sudo apt-get install -yq libglib2.0-dev; \
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then \
#sudo dpkg --add-architecture i386; \
#sudo apt-get update -qq; \
#sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then \
#sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
#fi
#- name: Set up dependencies (brew)
#if: ${{ matrix.installer == 'brew' }}
#run: |
#brew install cmake jq meson
#- name: Fix up Xcode
#if: ${{ matrix.target == 'macos-universal' }}
#run: |
#sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
#sudo xcode-select -s "/Applications/Xcode_12.3.app"
#- name: Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download bootstrap-common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract bootstrap-common-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf bootstrap-common-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf bootstrap-plugins-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v2
#with:
#name: bootstrap-plugins-${{ matrix.target }}
#path: bootstrap-plugins-${{ matrix.target }}.tar.gz

bootstrap-jack2:
strategy:
matrix:
include:
- name: macos-universal-jack2
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-jack2
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-jack2
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: bootstrap-common
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-jack2-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-common-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-jack2.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-jack2-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-jack2-${{ matrix.target }}
path: bootstrap-jack2-${{ matrix.target }}.tar.gz
#bootstrap-jack2:
#strategy:
#matrix:
#include:
#- name: macos-universal-jack2
#installer: brew
#os: macos-10.15
#target: macos-universal
#- name: win32-jack2
#installer: apt
#os: ubuntu-20.04
#target: win32
#- name: win64-jack2
#installer: apt
#os: ubuntu-20.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: bootstrap-common
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds/builds
#~/PawPawBuilds/debs
#~/PawPawBuilds/downloads
#~/PawPawBuilds/targets
#key: bootstrap-jack2-${{ matrix.target }}
#- name: Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux' ]; then \
#sudo apt-get install -yq libglib2.0-dev; \
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then \
#sudo dpkg --add-architecture i386; \
#sudo apt-get update -qq; \
#sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then \
#sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
#fi
#- name: Set up dependencies (brew)
#if: ${{ matrix.installer == 'brew' }}
#run: |
#brew install cmake jq meson
#- name: Fix up Xcode
#if: ${{ matrix.target == 'macos-universal' }}
#run: |
#sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
#sudo xcode-select -s "/Applications/Xcode_12.3.app"
#- name: Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download bootstrap-common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract bootstrap-common-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf bootstrap-common-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-jack2.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf bootstrap-jack2-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v2
#with:
#name: bootstrap-jack2-${{ matrix.target }}
#path: bootstrap-jack2-${{ matrix.target }}.tar.gz

bootstrap-qt:
strategy:
matrix:
include:
- name: macos-universal-qt
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-qt
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-qt
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: bootstrap-common
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-qt-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-common-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-qt.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-qt-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-qt-${{ matrix.target }}
path: bootstrap-qt-${{ matrix.target }}.tar.gz
#bootstrap-qt:
#strategy:
#matrix:
#include:
#- name: macos-universal-qt
#installer: brew
#os: macos-10.15
#target: macos-universal
#- name: win32-qt
#installer: apt
#os: ubuntu-20.04
#target: win32
#- name: win64-qt
#installer: apt
#os: ubuntu-20.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: bootstrap-common
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds/builds
#~/PawPawBuilds/debs
#~/PawPawBuilds/downloads
#~/PawPawBuilds/targets
#key: bootstrap-qt-${{ matrix.target }}
#- name: Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux' ]; then \
#sudo apt-get install -yq libglib2.0-dev; \
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then \
#sudo dpkg --add-architecture i386; \
#sudo apt-get update -qq; \
#sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then \
#sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
#fi
#- name: Set up dependencies (brew)
#if: ${{ matrix.installer == 'brew' }}
#run: |
#brew install cmake jq meson
#- name: Fix up Xcode
#if: ${{ matrix.target == 'macos-universal' }}
#run: |
#sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
#sudo xcode-select -s "/Applications/Xcode_12.3.app"
#- name: Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download bootstrap-common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract bootstrap-common-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf bootstrap-common-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-qt.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf bootstrap-qt-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v2
#with:
#name: bootstrap-qt-${{ matrix.target }}
#path: bootstrap-qt-${{ matrix.target }}.tar.gz

bootstrap-carla:
strategy:
matrix:
include:
- name: macos-universal-carla
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-carla
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-carla
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: [bootstrap-plugins, bootstrap-qt]
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-carla-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Download bootstrap-qt-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-qt-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Download bootstrap-plugins-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-plugins-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-{common,plugins,qt}-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz && \
tar xf bootstrap-plugins-${{ matrix.target }}.tar.gz && \
tar xf bootstrap-qt-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-carla.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-carla-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-carla-${{ matrix.target }}
path: bootstrap-carla-${{ matrix.target }}.tar.gz
#bootstrap-carla:
#strategy:
#matrix:
#include:
#- name: macos-universal-carla
#installer: brew
#os: macos-10.15
#target: macos-universal
#- name: win32-carla
#installer: apt
#os: ubuntu-20.04
#target: win32
#- name: win64-carla
#installer: apt
#os: ubuntu-20.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: [bootstrap-plugins, bootstrap-qt]
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds/builds
#~/PawPawBuilds/debs
#~/PawPawBuilds/downloads
#~/PawPawBuilds/targets
#key: bootstrap-carla-${{ matrix.target }}
#- name: Restore debian package cache
#if: ${{ matrix.installer == 'apt' }}
#run: |
#if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
#sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
#fi
#- name: Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux' ]; then \
#sudo apt-get install -yq libglib2.0-dev; \
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then \
#sudo dpkg --add-architecture i386; \
#sudo apt-get update -qq; \
#sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then \
#sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
#fi
#- name: Set up dependencies (brew)
#if: ${{ matrix.installer == 'brew' }}
#run: |
#brew install cmake jq meson
#- name: Fix up Xcode
#if: ${{ matrix.target == 'macos-universal' }}
#run: |
#sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
#sudo xcode-select -s "/Applications/Xcode_12.3.app"
#- name: Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download bootstrap-common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download bootstrap-qt-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-qt-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download bootstrap-plugins-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: bootstrap-plugins-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract bootstrap-{common,plugins,qt}-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf bootstrap-common-${{ matrix.target }}.tar.gz && \
#tar xf bootstrap-plugins-${{ matrix.target }}.tar.gz && \
#tar xf bootstrap-qt-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-carla.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
#- name: Pack bootstrap build
#shell: bash
#run: |
#tar -C ~/PawPawBuilds -czf bootstrap-carla-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v2
#with:
#name: bootstrap-carla-${{ matrix.target }}
#path: bootstrap-carla-${{ matrix.target }}.tar.gz

+ 0
- 401
.github/workflows/plugins.yml View File

@@ -1,401 +0,0 @@
name: plugins

on:
push:
branches:
- '*'
pull_request:
branches:
- '*'
env:
DEBIAN_FRONTEND: noninteractive
HOMEBREW_NO_AUTO_UPDATE: 1
PLUGINS_BASE: abgate artyfx caps die-plugins fomp mda
PLUGINS_CROSS: blop dpf-plugins
PLUGINS_DISTRHO_PORTS: distrho-ports-arctican distrho-ports-drowaudio distrho-ports-tal-plugins
#distrho-ports-dexed
#distrho-ports-klangfalter
#distrho-ports-luftikus
#distrho-ports-obxd
#distrho-ports-pitched-delay
#distrho-ports-refine
#distrho-ports-swankyamp
#distrho-ports-temper
#distrho-ports-vex
#distrho-ports-vitalium
#distrho-ports-wolpertinger

jobs:
bootstrap-common:
strategy:
matrix:
include:
- name: linux-common
installer: apt
os: ubuntu-18.04
target: linux
- name: macos-old-common
installer: apt
os: ubuntu-18.04
target: macos-old
- name: macos-universal-common
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-common
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-common
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-common-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up repositories (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -y kxstudio-repos
sudo apt-get update -qq
- name: Set up cross-compiler (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
mkdir -p ~/PawPawBuilds/debs
cd ~/PawPawBuilds/debs && \
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
fi && \
sudo dpkg -i \
'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Run bootstrap
shell: bash
run: |
./bootstrap-common.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-common-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: bootstrap-common-${{ matrix.target }}.tar.gz

bootstrap-plugins:
strategy:
matrix:
include:
- name: linux-plugins
installer: apt
os: ubuntu-18.04
target: linux
- name: macos-old-plugins
installer: apt
os: ubuntu-18.04
target: macos-old
- name: macos-universal-plugins
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-plugins
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-plugins
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: bootstrap-common
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: bootstrap-plugins-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up repositories (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -y kxstudio-repos
sudo apt-get update -qq
- name: Set up cross-compiler (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
mkdir -p ~/PawPawBuilds/debs
cd ~/PawPawBuilds/debs && \
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
fi && \
sudo dpkg -i \
'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-common-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack bootstrap build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf bootstrap-plugins-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: bootstrap-plugins-${{ matrix.target }}
path: bootstrap-plugins-${{ matrix.target }}.tar.gz

plugins-base:
strategy:
matrix:
include:
- name: linux-plugins-base
installer: apt
os: ubuntu-18.04
target: linux
- name: macos-old-plugins-base
installer: apt
os: ubuntu-18.04
target: macos-old
- name: macos-universal-plugins-base
installer: brew
os: macos-10.15
target: macos-universal
- name: win32-plugins-base
installer: apt
os: ubuntu-20.04
target: win32
- name: win64-plugins-base
installer: apt
os: ubuntu-20.04
target: win64
runs-on: ${{ matrix.os }}
needs: bootstrap-plugins
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds/builds
~/PawPawBuilds/debs
~/PawPawBuilds/downloads
~/PawPawBuilds/targets
key: plugins-${{ matrix.target }}
- name: Restore debian package cache
if: ${{ matrix.installer == 'apt' }}
run: |
if [ -d ~/PawPawBuilds/debs ] && [ "$(ls ~/PawPawBuilds/debs | wc -l)" -ne 0 ]; then \
sudo cp ~/PawPawBuilds/debs/*.deb /var/cache/apt/archives/; \
fi
- name: Set up repositories (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
sudo add-apt-repository -y ppa:kxstudio-debian/kxstudio
sudo add-apt-repository -y ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -y kxstudio-repos
sudo apt-get update -qq
- name: Set up cross-compiler (macos-old)
if: ${{ matrix.target == 'macos-old' }}
run: |
mkdir -p ~/PawPawBuilds/debs
cd ~/PawPawBuilds/debs && \
if [ ! -f 'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-odcctools_758.159-0kxstudio2_amd64.deb'; \
fi && \
if [ ! -f 'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb' ]; then \
wget -c 'https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'; \
fi && \
sudo dpkg -i \
'apple-uni-sdk-10.5_20110407-0.flosoft1_amd64.deb' \
'apple-x86-odcctools_758.159-0kxstudio2_amd64.deb' \
'apple-x86-gcc_4.2.1~5646-1kxstudio2_amd64.deb'
- name: Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux' ]; then \
sudo apt-get install -yq libglib2.0-dev; \
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then \
sudo dpkg --add-architecture i386; \
sudo apt-get update -qq; \
sudo apt-get install -yq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable:i386; \
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then \
sudo apt-get install -yq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable; \
fi
- name: Set up dependencies (brew)
if: ${{ matrix.installer == 'brew' }}
run: |
brew install cmake jq meson
- name: Fix up Xcode
if: ${{ matrix.target == 'macos-universal' }}
run: |
sudo rm -Rf /Library/Developer/CommandLineTools/SDKs/*
sudo xcode-select -s "/Applications/Xcode_12.3.app"
- name: Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download bootstrap-common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Download bootstrap-plugins-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: bootstrap-plugins-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract bootstrap-{common,plugins}-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf bootstrap-common-${{ matrix.target }}.tar.gz && \
tar xf bootstrap-plugins-${{ matrix.target }}.tar.gz
- name: Re-run bootstrap
shell: bash
run: |
./bootstrap-plugins.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
- name: Build plugins
shell: bash
run: |
./build-plugins.sh ${{ matrix.target }} ${{ env.PLUGINS_BASE }} && ./.cleanup.sh ${{ matrix.target }}
- name: Pack plugins build
shell: bash
run: |
tar -C ~/PawPawBuilds -czf plugins-base-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: plugins-base-${{ matrix.target }}
path: plugins-base-${{ matrix.target }}.tar.gz

+ 8
- 16
bootstrap-common.sh View File

@@ -127,16 +127,18 @@ download libvorbis "${LIBVORBIS_VERSION}" "${LIBVORBIS_URL}"
build_autoconf libvorbis "${LIBVORBIS_VERSION}" "${LIBVORBIS_EXTRAFLAGS}"

# ---------------------------------------------------------------------------------------------------------------------
# flac (forces intrinsic optimizations on macos-universal target)
# flac

FLAC_EXTRAFLAGS="--disable-doxygen-docs --disable-examples --disable-thorough-tests --disable-xmms-plugin"

# force intrinsic optimizations on macos-universal target
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
FLAC_EXTRAFLAGS+=" ac_cv_header_x86intrin_h=yes asm_opt=yes"
fi

download flac "${FLAC_VERSION}" "${FLAC_URL}" "tar.xz"

# fixup for intrinsic optimizations on macos-universal target
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
patch_file flac "${FLAC_VERSION}" "configure" 's/amd64|x86_64/amd64|arm|x86_64/'
fi
@@ -155,9 +157,6 @@ OPUS_EXTRAFLAGS="--enable-custom-modes --enable-float-approx"
if [ "${CROSS_COMPILING}" -eq 1 ]; then
OPUS_EXTRAFLAGS+=" --disable-extra-programs"
fi
if [ "${MACOS_OLD}" -eq 1 ]; then
OPUS_EXTRAFLAGS+=" --disable-intrinsics"
fi

# FIXME macos-universal proper optimizations
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
@@ -176,24 +175,17 @@ fi

LIBSNDFILE_EXTRAFLAGS="--disable-alsa --disable-full-suite --disable-sqlite"

# otherwise tests fail
export EXTRA_CFLAGS="-frounding-math -fsignaling-nans"

if [ "${MACOS_OLD}" -eq 0 ]; then
export EXTRA_CFLAGS+=" -fno-associative-math"
if [ "${MACOS}" -eq 0 ]; then
# otherwise tests fail
export EXTRA_CFLAGS="-frounding-math -fsignaling-nans"
fi

download libsndfile "${LIBSNDFILE_VERSION}" "${LIBSNDFILE_URL}" "tar.bz2"

if [ "${MACOS_OLD}" -eq 1 ]; then
patch_file libsndfile "${LIBSNDFILE_VERSION}" "src/sfconfig.h" 's/#define USE_SSE2/#undef USE_SSE2/'
fi

build_autoconf libsndfile "${LIBSNDFILE_VERSION}" "${LIBSNDFILE_EXTRAFLAGS}"

# FIXME tests fail on macos-universal
if [ "${CROSS_COMPILING}" -eq 0 ] && [ "${MACOS_UNIVERSAL}" -eq 0 ]; then
run_make libsndfile "${LIBSNDFILE_VERSION}" "check -j 8"
if [ "${CROSS_COMPILING}" -eq 0 ]; then
run_make libsndfile "${LIBSNDFILE_VERSION}" "check ${MAKE_ARGS}"
fi

# ---------------------------------------------------------------------------------------------------------------------


+ 0
- 6
setup/check_target.sh View File

@@ -4,7 +4,6 @@ CROSS_COMPILING=0
INVALID_TARGET=0
LINUX=0
MACOS=0
MACOS_OLD=0
MACOS_UNIVERSAL=0
WIN32=0
WIN64=0
@@ -14,11 +13,6 @@ function check_target() {
"macos"|"Darwin")
MACOS=1
;;
"macos-old")
MACOS=1
MACOS_OLD=1
CROSS_COMPILING=1
;;
"macos-universal")
MACOS=1
MACOS_UNIVERSAL=1


+ 7
- 19
setup/env.sh View File

@@ -11,9 +11,7 @@ if [ "${LINUX}" -eq 1 ]; then
elif [ "${MACOS}" -eq 1 ]; then
APP_EXT=""
CMAKE_SYSTEM_NAME="Darwin"
if [ "${MACOS_OLD}" -eq 1 ]; then
PAWPAW_TARGET="macos-old"
elif [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
PAWPAW_TARGET="macos-universal"
else
PAWPAW_TARGET="macos"
@@ -69,9 +67,7 @@ elif [ "${TOOLCHAIN_PREFIX}" != "aarch64-linux-gnu" ]; then
fi

if [ "${MACOS}" -eq 1 ]; then
if [ "${MACOS_OLD}" -eq 1 ]; then
BUILD_FLAGS+=" -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_5 -mmacosx-version-min=10.5 -arch i686"
elif [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
BUILD_FLAGS+=" -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -arch x86_64 -arch arm64"
else
BUILD_FLAGS+=" -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_8 -mmacosx-version-min=10.8 -stdlib=libc++ -Wno-deprecated-declarations -arch x86_64"
@@ -88,16 +84,13 @@ TARGET_CXXFLAGS="${BUILD_FLAGS} -fvisibility-inlines-hidden"

## link flags

LINK_FLAGS="-L${PAWPAW_PREFIX}/lib ${EXTRA_FLAGS}"
LINK_FLAGS+=" -fno-strict-aliasing -flto -Werror=odr -Werror=lto-type-mismatch"
LINK_FLAGS+=" -fdata-sections -ffunction-sections -fstack-protector"
LINK_FLAGS="-L${PAWPAW_PREFIX}/lib ${BUILD_FLAGS} ${EXTRA_FLAGS}"
LINK_FLAGS+=" -Werror=odr -Werror=lto-type-mismatch"

if [ "${MACOS}" -eq 1 ]; then
LINK_FLAGS+=" -Wl,-dead_strip -Wl,-dead_strip_dylibs -Wl,-x"

if [ "${MACOS_OLD}" -eq 1 ]; then
LINK_FLAGS+=" -mmacosx-version-min=10.5 -arch i686"
elif [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
LINK_FLAGS+=" -mmacosx-version-min=10.12 -arch x86_64 -arch arm64"
else
LINK_FLAGS+=" -mmacosx-version-min=10.8 -stdlib=libc++ -arch x86_64"
@@ -121,10 +114,7 @@ TARGET_LDFLAGS="${LINK_FLAGS}"
## toolchain

if [ "${CROSS_COMPILING}" -eq 1 ]; then
if [ "${MACOS}" -eq 1 ]; then
TOOLCHAIN_PREFIX="i686-apple-darwin10"
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
elif [ "${WIN64}" -eq 1 ]; then
if [ "${WIN64}" -eq 1 ]; then
TOOLCHAIN_PREFIX="x86_64-w64-mingw32"
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
elif [ "${WIN32}" -eq 1 ]; then
@@ -177,9 +167,7 @@ fi

if [ "${MACOS}" -eq 1 ]; then
MAKE_ARGS+=" MACOS=true"
if [ "${MACOS_OLD}" -eq 1 ]; then
MAKE_ARGS+=" MACOS_OLD=true"
elif [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
MAKE_ARGS+=" MACOS_UNIVERSAL=true"
fi
elif [ "${WIN32}" -eq 1 ]; then


+ 1
- 1
setup/versions.sh View File

@@ -90,7 +90,7 @@ CARLA_VERSION=ca44f4bc538690e76f4e02544f047ad9d559a1b8

LV2LINT_SUPPORTED=1

if [ "${MACOS_OLD}" -eq 1 ] || [ "${CROSS_COMPILING}" -eq 1 ]; then
if [ "${CROSS_COMPILING}" -eq 1 ]; then
LV2LINT_SUPPORTED=0
fi
if [ "${MACOS}" -eq 1 ] && [ "$(uname -r)" = "12.6.0" ]; then


Loading…
Cancel
Save