diff --git a/.github/workflows/bootstrap.yml b/.github/workflows/bootstrap.yml index 5f70676..bb6d361 100644 --- a/.github/workflows/bootstrap.yml +++ b/.github/workflows/bootstrap.yml @@ -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 diff --git a/.github/workflows/plugins.yml b/.github/workflows/plugins.yml deleted file mode 100644 index 2c2811d..0000000 --- a/.github/workflows/plugins.yml +++ /dev/null @@ -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 diff --git a/bootstrap-common.sh b/bootstrap-common.sh index 42cb827..6a1868a 100755 --- a/bootstrap-common.sh +++ b/bootstrap-common.sh @@ -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 # --------------------------------------------------------------------------------------------------------------------- diff --git a/setup/check_target.sh b/setup/check_target.sh index 76a5e88..49b0dfe 100644 --- a/setup/check_target.sh +++ b/setup/check_target.sh @@ -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 diff --git a/setup/env.sh b/setup/env.sh index c28e34d..b1ee38d 100644 --- a/setup/env.sh +++ b/setup/env.sh @@ -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 diff --git a/setup/versions.sh b/setup/versions.sh index 73da73c..3fc91b9 100644 --- a/setup/versions.sh +++ b/setup/versions.sh @@ -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