Browse Source

Begin to enable qt again

Signed-off-by: falkTX <falktx@falktx.com>
pull/28/head
falkTX 2 years ago
parent
commit
4a523444c6
Signed by: falkTX <falktx@falktx.com> GPG Key ID: CDBAA37ABC74FBA0
4 changed files with 289 additions and 274 deletions
  1. +266
    -266
      .github/workflows/bootstrap.yml
  2. +19
    -4
      bootstrap-carla.sh
  3. +1
    -1
      bootstrap-qt.sh
  4. +3
    -3
      setup/check_target.sh

+ 266
- 266
.github/workflows/bootstrap.yml View File

@@ -604,154 +604,154 @@ jobs:
name: jack2-${{ matrix.target }}
path: jack2-${{ matrix.target }}.tar.gz

#qt:
#strategy:
#matrix:
#include:
#- name: macos
#installer: homebrew
#os: macos-11
#target: macos
#- name: macos-universal
#installer: homebrew
#os: macos-11
#target: macos-universal
#- name: win32
#installer: apt
#os: ubuntu-22.04
#target: win32
#- name: win64
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: common
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds
#key: qt-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- 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: (apt) Fix GitHub's mess in ubuntu-20.04
#if: ${{ matrix.os == 'ubuntu-20.04' }}
#run: |
#sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
#sudo add-apt-repository -yn ppa:kxstudio-debian/toolchain
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
#sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
#- name: (apt) Fix GitHub's mess in ubuntu-22.04
#if: ${{ matrix.os == 'ubuntu-22.04' }}
#run: |
#sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades libgd3/jammy
#sudo apt-get purge -yqq libmono* moby* mono* msbuild* php* libgdiplus libpcre2-posix3 nuget
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yqq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#sudo apt-get update -qq
#sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
#fi
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract common-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf 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 qt-${{ matrix.target }}.tar.gz builds targets
#- uses: actions/upload-artifact@v2
#with:
#name: qt-${{ matrix.target }}
#path: qt-${{ matrix.target }}.tar.gz
qt:
strategy:
matrix:
include:
- name: macos
installer: homebrew
os: macos-11
target: macos
- name: macos-universal
installer: homebrew
os: macos-11
target: macos-universal
- name: win32
installer: apt
os: ubuntu-22.04
target: win32
- name: win64
installer: apt
os: ubuntu-22.04
target: win64
runs-on: ${{ matrix.os }}
needs: common
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds
key: qt-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
- 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: (apt) Fix GitHub's mess in ubuntu-20.04
if: ${{ matrix.os == 'ubuntu-20.04' }}
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo add-apt-repository -yn ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
- name: (apt) Fix GitHub's mess in ubuntu-22.04
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/jammy
sudo apt-get purge -yqq libmono* moby* mono* msbuild* php* libgdiplus libpcre2-posix3 nuget
- name: (apt) Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yqq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
sudo dpkg --add-architecture arm64
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
sudo dpkg --add-architecture armhf
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
sudo dpkg --add-architecture riscv64
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
fi
# extra, for wasm
if [ '${{ matrix.target }}' == 'wasm' ]; then
[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then
sudo apt-get update -qq
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
fi
- name: (homebrew) Set up dependencies
if: ${{ matrix.installer == 'homebrew' }}
run: |
brew install cmake jq meson
- name: (apt) Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract common-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf 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 qt-${{ matrix.target }}.tar.gz builds targets
- uses: actions/upload-artifact@v2
with:
name: qt-${{ matrix.target }}
path: qt-${{ matrix.target }}.tar.gz

#carla:
#strategy:
#matrix:
#include:
#- name: macos
#installer: homebrew
#os: macos-11
#target: macos
#- name: macos-universal
#installer: homebrew
#os: macos-11
#target: macos-universal
carla:
strategy:
matrix:
include:
- name: macos
installer: homebrew
os: macos-11
target: macos
- name: macos-universal
installer: homebrew
os: macos-11
target: macos-universal
#- name: win32
#installer: apt
#os: ubuntu-22.04
@@ -760,122 +760,122 @@ jobs:
#installer: apt
#os: ubuntu-22.04
#target: win64
#runs-on: ${{ matrix.os }}
#needs: [plugins, qt]
#steps:
#- uses: actions/checkout@v2
#- name: Set up cache
#uses: actions/cache@v2
#with:
#path: |
#~/PawPawBuilds
#key: carla-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
#- 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: (apt) Fix GitHub's mess in ubuntu-20.04
#if: ${{ matrix.os == 'ubuntu-20.04' }}
#run: |
#sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
#sudo add-apt-repository -yn ppa:kxstudio-debian/toolchain
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
#sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
#- name: (apt) Fix GitHub's mess in ubuntu-22.04
#if: ${{ matrix.os == 'ubuntu-22.04' }}
#run: |
#sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
#sudo apt-get update -qq
#sudo apt-get install -yqq --allow-downgrades libgd3/jammy
#sudo apt-get purge -yqq libmono* moby* mono* msbuild* php* libgdiplus libpcre2-posix3 nuget
#- name: (apt) Set up dependencies (apt)
#if: ${{ matrix.installer == 'apt' }}
#run: |
#sudo apt-get update -qq
#sudo apt-get install -yqq autopoint build-essential curl cmake jq meson
## extra, for using system libraries
#if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
#sudo dpkg --add-architecture arm64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
#sudo dpkg --add-architecture armhf
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
#elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
#sudo dpkg --add-architecture riscv64
#sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
#sudo apt-get update -qq
#sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
#elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
#sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
#fi
## extra, for wasm
#if [ '${{ matrix.target }}' == 'wasm' ]; then
#[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
#cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
#fi
## extra, for win32
#if [ '${{ matrix.target }}' == 'win32' ]; then
#sudo dpkg --add-architecture i386
#sudo apt-get update -qq
#sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
#fi
## extra, for win64
#if [ '${{ matrix.target }}' == 'win64' ]; then
#sudo apt-get update -qq
#sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
#fi
#- name: (homebrew) Set up dependencies
#if: ${{ matrix.installer == 'homebrew' }}
#run: |
#brew install cmake jq meson
#- name: (apt) Cache debian packages
#if: ${{ matrix.installer == 'apt' }}
#run: |
#mkdir -p ~/PawPawBuilds/debs
#sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
#- name: Download common-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: common-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download qt-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: qt-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Download plugins-${{ matrix.target }}
#uses: actions/download-artifact@v2
#with:
#name: plugins-${{ matrix.target }}
#path: ~/PawPawBuilds
#- name: Extract {common,plugins,qt}-${{ matrix.target }}
#shell: bash
#run: |
#cd ~/PawPawBuilds && \
#tar xf common-${{ matrix.target }}.tar.gz && \
#tar xf plugins-${{ matrix.target }}.tar.gz && \
#tar xf qt-${{ matrix.target }}.tar.gz
#- name: Run bootstrap
#shell: bash
#run: |
#./bootstrap-carla.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}
runs-on: ${{ matrix.os }}
needs: [plugins, qt]
steps:
- uses: actions/checkout@v2
- name: Set up cache
uses: actions/cache@v2
with:
path: |
~/PawPawBuilds
key: carla-${{ matrix.target }}-v${{ env.CACHE_VERSION }}
- 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: (apt) Fix GitHub's mess in ubuntu-20.04
if: ${{ matrix.os == 'ubuntu-20.04' }}
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo add-apt-repository -yn ppa:kxstudio-debian/toolchain
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/focal libpcre2-8-0/focal libpcre2-16-0/focal libpcre2-32-0/focal libpcre2-posix2/focal
sudo apt-get purge -yqq libclang* libgbm* libllvm* libmono* moby* mono* php* libgdiplus libpcre2-posix3 libzip4
- name: (apt) Fix GitHub's mess in ubuntu-22.04
if: ${{ matrix.os == 'ubuntu-22.04' }}
run: |
sudo rm -f /etc/apt/sources.list.d/microsoft-prod.list
sudo apt-get update -qq
sudo apt-get install -yqq --allow-downgrades libgd3/jammy
sudo apt-get purge -yqq libmono* moby* mono* msbuild* php* libgdiplus libpcre2-posix3 nuget
- name: (apt) Set up dependencies (apt)
if: ${{ matrix.installer == 'apt' }}
run: |
sudo apt-get update -qq
sudo apt-get install -yqq autopoint build-essential curl cmake jq meson
# extra, for using system libraries
if [ '${{ matrix.target }}' == 'linux-aarch64' ]; then
sudo dpkg --add-architecture arm64
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
echo "deb [arch=arm64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-arm64.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-aarch64-linux-gnu libasound2-dev:arm64 libdbus-1-dev:arm64 libgl1-mesa-dev:arm64 libglib2.0-dev:arm64 libx11-dev:arm64 libxcursor-dev:arm64 libxext-dev:arm64 libxrandr-dev:arm64 qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-armhf' ]; then
sudo dpkg --add-architecture armhf
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-armhf.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
echo "deb [arch=armhf] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-armhf.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-arm-linux-gnueabihf libasound2-dev:armhf libdbus-1-dev:armhf libgl1-mesa-dev:armhf libglib2.0-dev:armhf libx11-dev:armhf libxcursor-dev:armhf libxext-dev:armhf libxrandr-dev:armhf qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-i686' ]; then
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -yqq g++-i686-linux-gnu libasound2-dev:i386 libdbus-1-dev:i386 libgl1-mesa-dev:i386 libglib2.0-dev:i386 libx11-dev:i386 libxcursor-dev:i386 libxext-dev:i386 libxrandr-dev:i386
elif [ '${{ matrix.target }}' == 'linux-riscv64' ]; then
sudo dpkg --add-architecture riscv64
sudo sed -i "s/deb http/deb [arch=amd64] http/" /etc/apt/sources.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal main restricted universe multiverse" | sudo tee /etc/apt/sources.list.d/ports-riscv64.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-updates main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
echo "deb [arch=riscv64] http://ports.ubuntu.com/ubuntu-ports focal-backports main restricted universe multiverse" | sudo tee -a /etc/apt/sources.list.d/ports-riscv64.list
sudo apt-get update -qq
sudo apt-get install -yqq g++-riscv64-linux-gnu libasound2-dev:riscv64 libdbus-1-dev:riscv64 libgl1-mesa-dev:riscv64 libglapi-mesa:riscv64 libglvnd0:riscv64 libglib2.0-dev:riscv64 libx11-dev:riscv64 libxcursor-dev:riscv64 libxext-dev:riscv64 libxrandr-dev:riscv64 qemu-user-static
elif [ '${{ matrix.target }}' == 'linux-x86_64' ]; then
sudo apt-get install -yqq libasound2-dev libdbus-1-dev libgl1-mesa-dev libglib2.0-dev libx11-dev libxcursor-dev libxext-dev libxrandr-dev
fi
# extra, for wasm
if [ '${{ matrix.target }}' == 'wasm' ]; then
[ -e ~/PawPawBuilds/emsdk ] || git clone https://github.com/emscripten-core/emsdk.git ~/PawPawBuilds/emsdk
cd ~/PawPawBuilds/emsdk && ./emsdk install latest && ./emsdk activate latest
fi
# extra, for win32
if [ '${{ matrix.target }}' == 'win32' ]; then
sudo dpkg --add-architecture i386
sudo apt-get update -qq
sudo apt-get install -yqq binutils-mingw-w64-i686 g++-mingw-w64-i686 mingw-w64 wine-stable
fi
# extra, for win64
if [ '${{ matrix.target }}' == 'win64' ]; then
sudo apt-get update -qq
sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable
fi
- name: (homebrew) Set up dependencies
if: ${{ matrix.installer == 'homebrew' }}
run: |
brew install cmake jq meson
- name: (apt) Cache debian packages
if: ${{ matrix.installer == 'apt' }}
run: |
mkdir -p ~/PawPawBuilds/debs
sudo mv /var/cache/apt/archives/*.deb ~/PawPawBuilds/debs/
- name: Download common-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: common-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Download qt-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: qt-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Download plugins-${{ matrix.target }}
uses: actions/download-artifact@v2
with:
name: plugins-${{ matrix.target }}
path: ~/PawPawBuilds
- name: Extract {common,plugins,qt}-${{ matrix.target }}
shell: bash
run: |
cd ~/PawPawBuilds && \
tar xf common-${{ matrix.target }}.tar.gz && \
tar xf plugins-${{ matrix.target }}.tar.gz && \
tar xf qt-${{ matrix.target }}.tar.gz
- name: Run bootstrap
shell: bash
run: |
./bootstrap-carla.sh ${{ matrix.target }} && ./.cleanup.sh ${{ matrix.target }}

+ 19
- 4
bootstrap-carla.sh View File

@@ -155,6 +155,10 @@ function build_pyqt() {

local python="python$(echo ${PYTHON_VERSION} | cut -b 1,2,3)"

if [ -n "${PYTHON_FOR_BUILD}" ]; then
python="${PYTHON_FOR_BUILD}"
fi

# Place link to Qt DLLs for PyQt tests
if [ "${WIN32}" -eq 1 ] && [ -d "pyuic" ] && [ ! -d "release" ]; then
mkdir release
@@ -206,7 +210,8 @@ function build_pyqt() {
fi
else
if [ "${CROSS_COMPILING}" -eq 1 ]; then
sed -i -e "s|/usr|${PAWPAW_PREFIX}|g" "${PAWPAW_PREFIX}/lib/python3/dist-packages/sipconfig.py"
ln -sf "${PAWPAW_PREFIX}-host/bin/sip" "${PAWPAW_PREFIX}/bin/sip"
#sed -i -e "s|/usr|${PAWPAW_PREFIX}|g" "${PAWPAW_PREFIX}/lib/python3/dist-packages/sipconfig.py"
fi
fi
touch .stamp_installed
@@ -220,13 +225,23 @@ function build_pyqt() {
# ---------------------------------------------------------------------------------------------------------------------
# wine bootstrap for python (needed for cross-compilation)

if [ "${WIN32}" -eq 1 ] && [ -n "${EXE_WRAPPER}" ] && [ ! -d "${WINEPREFIX}" ]; then
wineboot -u
fi
# if [ "${WIN32}" -eq 1 ] && [ -n "${EXE_WRAPPER}" ] && [ ! -d "${WINEPREFIX}" ]; then
# wineboot -u
# fi

# ---------------------------------------------------------------------------------------------------------------------
# python

# build for host first
if [ "${CROSS_COMPILING}" -eq 1 ]; then
download host-Python "${PYTHON_VERSION}" "https://www.python.org/ftp/python/${PYTHON_VERSION}" "tgz" "" Python
build_host_autoconf host-Python "${PYTHON_VERSION}" "--build=$(gcc -dumpmachine) --prefix=${PAWPAW_PREFIX}-host"
export PYTHON_FOR_BUILD="${PAWPAW_PREFIX}-host/bin/python3"
# FIXME
mkdir -p "${PAWPAW_PREFIX}-host/lib/python3.8/config-3.8-x86_64-linux-gnu/Tools"
ln -sf "${PAWPAW_PREFIX}-host/bin" "${PAWPAW_PREFIX}-host/lib/python3.8/config-3.8-x86_64-linux-gnu/Tools/scripts"
fi

if [ "${MACOS_UNIVERSAL}" -eq 1 ]; then
PYTHON_EXTRAFLAGS="--enable-optimizations"
PYTHON_EXTRAFLAGS+=" ac_cv_lib_intl_textdomain=no"


+ 1
- 1
bootstrap-qt.sh View File

@@ -296,7 +296,7 @@ fi
if [ "${WIN32}" -eq 1 ]; then
if [ "${QT5_MVERSION}" = "5.12" ]; then
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/common/g++-win32.conf" 's/= -shared/= -static -shared/'
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/win32-g++/qmake.conf" 's/= -fno-keep-inline-dllexport/= -Wno-deprecated-declarations -fno-keep-inline-dllexport/'
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/win32-g++/qmake.conf" 's/= -fno-keep-inline-dllexport/= -Wno-deprecated-copy -Wno-deprecated-declarations -fno-keep-inline-dllexport/'
else
patch_file qtbase${qtsuffix} ${QT5_VERSION} "mkspecs/win32-g++/qmake.conf" 's/= -shared/= -static -shared/'
patch_file qtbase${qtsuffix} ${QT5_VERSION} "src/plugins/platforms/direct2d/direct2d.pro" 's/-lVersion/-lversion/'


+ 3
- 3
setup/check_target.sh View File

@@ -33,19 +33,19 @@ function check_target() {
"wasm")
CLANG=1
CROSS_COMPILING=1
EXE_WRAPPER="emrun --no_server"
WASM=1
PAWPAW_SKIP_FORTIFY=1
PAWPAW_SKIP_LTO=1
export EXE_WRAPPER="emrun --no_server"
;;
"win32"|"MINGW32"*)
GCC=1
WIN32=1
if [ "$(uname -o)" != "Msys" ] && [ "$(uname -o)" != "Cygwin" ]; then
CROSS_COMPILING=1
EXE_WRAPPER="wine"
TOOLCHAIN_PREFIX="i686-w64-mingw32"
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
export EXE_WRAPPER="wine"
fi
;;
"win64"|"MINGW64"*)
@@ -54,9 +54,9 @@ function check_target() {
WIN64=1
if [ "$(uname -o)" != "Msys" ] && [ "$(uname -o)" != "Cygwin" ]; then
CROSS_COMPILING=1
EXE_WRAPPER="wine"
TOOLCHAIN_PREFIX="x86_64-w64-mingw32"
TOOLCHAIN_PREFIX_="${TOOLCHAIN_PREFIX}-"
export EXE_WRAPPER="wine"
fi
;;
"CYGWIN"*|"MSYS"*)


Loading…
Cancel
Save