diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 5177ee2..88d515c 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -4,168 +4,92 @@ on: push: env: - HVCC_VERSION: 424308377a8b0e4291e0bfda3bcf68ae9fd88f33 + HVCC_COMMIT_HASH: 424308377a8b0e4291e0bfda3bcf68ae9fd88f33 + CACHE_VERSION: 1 + DEBIAN_FRONTEND: noninteractive + GIT_LFS_SKIP_SMUDGE: 1 jobs: - linux-x86_64: - runs-on: ubuntu-20.04 + linux: + strategy: + matrix: + target: [linux-arm64, linux-armhf, linux-i686, linux-riscv64, linux-x86_64] + runs-on: ubuntu-latest + container: + image: ubuntu:20.04 steps: - - name: Checkout repository - uses: actions/checkout@v3 - with: - submodules: recursive - - name: Set up Python - uses: actions/setup-python@v4 - with: - python-version: 3.9 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} - sudo apt-get update -qq - sudo apt-get install -yqq libgl1-mesa-dev - - - name: Build plugins + - name: Install git run: | - hvcc wstd_eq.pd -n WSTD_EQ -m wstd_eq.json -o WSTD_EQ -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" - cp override/* WSTD_EQ/plugin/source/ - make -C WSTD_EQ WITH_LTO=true -j $(nproc) - - - name: Set sha8 (non-release) - if: startsWith(github.ref, 'refs/tags/') != true - id: slug1 - run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - - name: Set tag (release) - if: startsWith(github.ref, 'refs/tags/') - id: slug2 - run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - - - name: Pack binaries + apt-get update -qq && apt-get install -yqq --no-install-recommends ca-certificates curl git openssl + curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git_2.34.1-1ubuntu1~bpo20.04.1~ppa1_amd64.deb + curl -sLO https://launchpad.net/~kxstudio-debian/+archive/ubuntu/toolchain/+files/git-man_2.34.1-1ubuntu1~bpo20.04.1~ppa1_all.deb + dpkg -i *.deb + rm *.deb + - name: Install and use python3.9 run: | - cd WSTD_EQ - mv bin WSTD_EQ - tar -c -h -z -f ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz WSTD_EQ/ - - uses: actions/upload-artifact@v3 + apt-get install -yqq python3 python3.9 + update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.9 1 + - name: Install pip + run: apt-get install -yqq --no-install-recommends python3-pip + - name: Checkout repository + uses: actions/checkout@v4 with: - name: ${{ github.event.repository.name }}-linux-x86_64-${{ github.event.pull_request.number || env.action_tag }} - path: | - WSTD_EQ/*.tar.gz - - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') + submodules: recursive + - uses: distrho/dpf-makefile-action@v1 with: - tag_name: ${{ github.ref_name }} - name: ${{ github.ref_name }} - draft: false - prerelease: false - files: | - WSTD_EQ/*.tar.gz + target: ${{ matrix.target }} + hvcc: True + dpf_path: 'dep/dpf' - win64: - runs-on: ubuntu-20.04 + windows: + strategy: + matrix: + target: [win32, win64] + runs-on: ubuntu-22.04 steps: - name: Checkout repository - uses: actions/checkout@v3 + uses: actions/checkout@v4 with: submodules: recursive - - name: Set up Python - uses: actions/setup-python@v4 + - uses: distrho/dpf-makefile-action@v1 with: - python-version: 3.9 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} - sudo apt-get update -qq - sudo apt-get install -yqq binutils-mingw-w64-x86-64 g++-mingw-w64-x86-64 mingw-w64 wine-stable + target: ${{ matrix.target }} + hvcc: True + dpf_path: 'dep/dpf' - - name: Build win64 cross-compiled plugins - env: - CC: x86_64-w64-mingw32-gcc - CXX: x86_64-w64-mingw32-g++ - EXE_WRAPPER: wine - PKG_CONFIG: "false" - WINEDEBUG: "-all" - run: | - hvcc wstd_eq.pd -n WSTD_EQ -m wstd_eq.json -o WSTD_EQ -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" - cp override/* WSTD_EQ/plugin/source/ - make -C WSTD_EQ WITH_LTO=true -j $(nproc) - - - name: Set sha8 (non-release) - if: startsWith(github.ref, 'refs/tags/') != true - id: slug1 - run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - - name: Set tag (release) - if: startsWith(github.ref, 'refs/tags/') - id: slug2 - run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - - name: Pack binaries - run: | - cd WSTD_EQ - mv bin WSTD_EQ - tar -c -h -z -f ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }}.tar.gz WSTD_EQ/ - - uses: actions/upload-artifact@v3 + macos: + strategy: + matrix: + target: [macos-intel, macos-universal] + runs-on: macos-13 + steps: + - uses: actions/checkout@v4 with: - name: ${{ github.event.repository.name }}-win64-${{ github.event.pull_request.number || env.action_tag }} - path: | - WSTD_EQ/*.tar.gz - - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') + submodules: recursive + - uses: distrho/dpf-makefile-action@v1 with: - tag_name: ${{ github.ref_name }} - name: ${{ github.ref_name }} - draft: false - prerelease: false - files: | - WSTD_EQ/*.tar.gz + target: ${{ matrix.target }} + hvcc: True + dpf_path: 'dep/dpf' - macos-universal: - runs-on: macos-11 + pluginval: + runs-on: ubuntu-22.04 steps: - - uses: actions/checkout@v3 + - uses: actions/checkout@v4 with: submodules: recursive - - name: Set up Python - uses: actions/setup-python@v4 + - uses: distrho/dpf-makefile-action@v1 with: - python-version: 3.9 - - name: Install dependencies - run: | - python -m pip install --upgrade pip - python -m pip install git+https://github.com/Wasted-Audio/hvcc.git@${{ env.HVCC_VERSION }} + target: pluginval + hvcc: True + dpf_path: 'dep/dpf' - - name: Build macOS universal plugins - env: - CFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2 - CXXFLAGS: -arch x86_64 -arch arm64 -DMAC_OS_X_VERSION_MAX_ALLOWED=MAC_OS_X_VERSION_10_12 -mmacosx-version-min=10.12 -mtune=generic -msse -msse2 - LDFLAGS: -arch x86_64 -arch arm64 -mmacosx-version-min=10.12 - run: | - hvcc wstd_eq.pd -n WSTD_EQ -m wstd_eq.json -o WSTD_EQ -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" - cp override/* WSTD_EQ/plugin/source/ - make -C WSTD_EQ NOOPT=true WITH_LTO=true -j $(sysctl -n hw.logicalcpu) - cd WSTD_EQ - ../dep/dpf/utils/package-osx-bundles.sh - - - name: Set sha8 (non-release) - if: startsWith(github.ref, 'refs/tags/') != true - id: slug1 - run: echo "action_tag=$(echo ${{ github.sha }} | cut -c1-8)" >> $GITHUB_ENV - - name: Set tag (release) - if: startsWith(github.ref, 'refs/tags/') - id: slug2 - run: echo "action_tag=$(echo ${{ github.ref_name }})" >> $GITHUB_ENV - - - uses: actions/upload-artifact@v3 + source: + runs-on: ubuntu-22.04 + steps: + - uses: actions/checkout@v4 with: - name: ${{ github.event.repository.name }}-macOS-universal-${{ github.event.pull_request.number || env.action_tag }} - path: | - WSTD_EQ/*-macOS.pkg - - - uses: softprops/action-gh-release@v1 - if: startsWith(github.ref, 'refs/tags/') + submodules: recursive + - uses: distrho/dpf-makefile-action@v1 with: - tag_name: ${{ github.ref_name }} - name: ${{ github.ref_name }} - draft: false - prerelease: false - files: | - WSTD_EQ/*-macOS.pkg + target: source diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..feb0a17 --- /dev/null +++ b/Makefile @@ -0,0 +1,19 @@ +#!/usr/bin/make -f + +include dep/dpf/Makefile.base.mk + +PLUGINS = WSTD_EQ +PREGEN = $(PLUGINS:%=%/plugin/source) + +all: build + +build: pregen + $(foreach p, $(PLUGINS), $(MAKE) -C $(p);) + mkdir bin + $(foreach p, $(PLUGINS), mv $(p)/bin/* bin/;) + +pregen: $(PREGEN) + +%/plugin/source: %.json %.pd override/*.* + hvcc $*.pd -m $*.json -n $* -o $* -g dpf -p dep/heavylib/ dep/ --copyright "Copyright (c) Wasted Audio 2023 - GPL-3.0-or-later" + cp override/*.* $*/plugin/source/ diff --git a/wstd_eq.json b/WSTD_EQ.json similarity index 96% rename from wstd_eq.json rename to WSTD_EQ.json index 5edc30b..dfc03db 100644 --- a/wstd_eq.json +++ b/WSTD_EQ.json @@ -6,7 +6,7 @@ "wstd.clrs" ], "enable_ui": true, - "enable_modgui": true, + "enable_modgui": false, "ui_size": { "width": 120, "height": 520 diff --git a/wstd_eq.pd b/WSTD_EQ.pd similarity index 100% rename from wstd_eq.pd rename to WSTD_EQ.pd