From c7c2130007ba91bcd667863014234925f10b5589 Mon Sep 17 00:00:00 2001
From: dreamer <1185977+dromer@users.noreply.github.com>
Date: Tue, 30 Dec 2025 11:48:01 +0100
Subject: [PATCH 1/2] Update (#45)
* use macos-15-intel
* update dpf deps; update changelog
* install pyinstaller into env
* use github links for arm-gcc; add status checks to all downloads
* docs cleanup path
* update hvcc to 0.15.0
* Fix Heavy codesigning
* Notarize macOS executable
---------
Co-authored-by: Timothy Schoen <44585538+timothyschoen@users.noreply.github.com>
---
.github/workflows/run_script.yml | 5 ++-
CHANGELOG.md | 7 ++++
build.bat | 3 +-
build.sh | 71 ++++++++++++++++++++++++++++----
dpf | 2 +-
dpf-widgets | 2 +-
hvcc | 2 +-
7 files changed, 78 insertions(+), 14 deletions(-)
diff --git a/.github/workflows/run_script.yml b/.github/workflows/run_script.yml
index 3b21efe..767a4db 100644
--- a/.github/workflows/run_script.yml
+++ b/.github/workflows/run_script.yml
@@ -5,7 +5,7 @@ on: [push, workflow_dispatch]
jobs:
build-macos:
name: MacOS Univeral
- runs-on: macos-13
+ runs-on: macos-15-intel
steps:
- uses: actions/checkout@v4
with:
@@ -40,6 +40,9 @@ jobs:
- name: Run Packaging Script
working-directory: ${{github.workspace}}
+ env:
+ AC_USERNAME: ${{ secrets.AC_USERNAME }}
+ AC_PASSWORD: ${{ secrets.AC_PASSWORD }}
run: CLEAR_INTL=1 ./build.sh
- name: Compress Artifacts
diff --git a/CHANGELOG.md b/CHANGELOG.md
index e90eded..8d4687d 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -1,6 +1,13 @@
CHANGELOG
=====
+0.8.0
+-----
+
+* update hvcc
+* update dpf and dpf-widgets
+* use macos-15-intel
+
0.7.0
-----
diff --git a/build.bat b/build.bat
index 25ab7f5..20caecf 100644
--- a/build.bat
+++ b/build.bat
@@ -53,9 +53,10 @@ powershell -Command "$ProgressPreference = 'SilentlyContinue'; Expand-Archive Fi
:: Package heavy using pyinstaller
python -m ensurepip
-python -m pip install poetry poetry-pyinstaller-plugin
+python -m pip install poetry poetry-pyinstaller-plugin pyinstaller
cd hvcc
+pip install -e .
poetry build
cd ..
diff --git a/build.sh b/build.sh
index 532abc5..d7dde9a 100755
--- a/build.sh
+++ b/build.sh
@@ -4,17 +4,23 @@ export MACOSX_DEPLOYMENT_TARGET="10.6"
# Download arm compiler for compiling on daisy
if [[ "$OSTYPE" == "darwin"* ]]; then
- URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-mac.tar.bz2"
+ URL="https://github.com/plugdata-team/plugdata-heavy-toolchain/releases/download/arm_gcc/gcc-arm-none-eabi-10-2020-q4-major-mac.tar.bz2"
# Aarch64 Linux
elif [[ $(uname -m) == "aarch64" ]]; then
- URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-aarch64-linux.tar.bz2"
+ URL="https://github.com/plugdata-team/plugdata-heavy-toolchain/releases/download/arm_gcc/gcc-arm-none-eabi-10-2020-q4-major-aarch64-linux.tar.bz2"
# x86_64 Linux
else
- URL="https://developer.arm.com/-/media/Files/downloads/gnu-rm/10-2020q4/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2"
+ URL="https://github.com/plugdata-team/plugdata-heavy-toolchain/releases/download/arm_gcc/gcc-arm-none-eabi-10-2020-q4-major-x86_64-linux.tar.bz2"
fi
curl -fSL -A "Mozilla/4.0" -o gcc-arm-none-eabi.tar.bz2 $URL
+status=$?
+if [ $status -ne 0 ]; then
+ echo "Failed to download gcc-arm-none-eabi"
+ exit $status
+fi
+
echo "Extracting..."
mkdir gcc-arm-none-eabi
pushd gcc-arm-none-eabi
@@ -30,9 +36,16 @@ cp -rf gcc-arm-none-eabi/gcc-arm-*/share ./Heavy
# cp -rf gcc-arm-none-eabi/gcc-arm-*/include ./Heavy
cp -rf gcc-arm-none-eabi/gcc-arm-*/arm-none-eabi ./Heavy
+# some cleanup
+rm -rf ./Heavy/share/doc*
+
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
curl -fSL -A "Mozilla/4.0" -o x86_64-anywhere-linux-gnu-v5.tar.xz https://github.com/theopolis/build-anywhere/releases/download/v5/x86_64-anywhere-linux-gnu-v5.tar.xz
-
+ status=$?
+ if [ $status -ne 0 ]; then
+ echo "Failed to download x86_64-anywhere-linux-gnu-v5.tar.xz"
+ exit $status
+ fi
mkdir build-anywhere
pushd build-anywhere
tar -xf ../x86_64-anywhere-linux-gnu-v5.tar.xz
@@ -60,7 +73,6 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
rm -rf ./x86_64-anywhere-linux-gnu/sysroot/usr/src*
rm -rf ./x86_64-anywhere-linux-gnu/sysroot/usr/sbin*
rm -rf ./x86_64-anywhere-linux-gnu/sysroot/usr/share/doc*
- rm -rf ./share/doc*
# copy scripts
@@ -105,6 +117,11 @@ if [[ "$OSTYPE" == "linux-gnu"* ]]; then
# Get libasound
TEMP_DEB2="$(mktemp)"
wget -O "$TEMP_DEB2" 'http://ftp.de.debian.org/debian/pool/main/a/alsa-lib/libasound2_1.2.4-1.1_amd64.deb'
+ status=$?
+ if [ $status -ne 0 ]; then
+ echo "Failed to download libasound2"
+ exit $status
+ fi
ar x "$TEMP_DEB2"
tar xvf data.tar.xz
cp ./usr/lib/x86_64-linux-gnu/libasound.so.2.0.0 ./Heavy/x86_64-anywhere-linux-gnu/sysroot/lib/libasound.so
@@ -129,6 +146,11 @@ fi
# build a version of GNU make that has no dependencies
curl -fSL -A "Mozilla/4.0" -o make-4.4.tar.gz https://ftpmirror.gnu.org/make/make-4.4.tar.gz
+status=$?
+if [ $status -ne 0 ]; then
+ echo "Failed to download make-4.4"
+ exit $status
+fi
tar -xf make-4.4.tar.gz
pushd make-4.4
@@ -170,11 +192,21 @@ popd
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
FS_URL="https://github.com/Wasted-Audio/FirmwareSender_plugdata/releases/download/plugdata/FirmwareSender-ubuntu.zip"
curl -fSL -A "Mozilla/4.0" -o FirmwareSender-ubuntu.zip $FS_URL
+ status=$?
+ if [ $status -ne 0 ]; then
+ echo "Failed to download FirmwareSender-ubuntu"
+ exit $status
+ fi
unzip FirmwareSender-ubuntu.zip -d FirmwareSender-ubuntu
cp ./FirmwareSender-ubuntu/FirmwareSender OwlProgram/Tools/
elif [[ "$OSTYPE" == "darwin"* ]]; then
FS_URL="https://github.com/Wasted-Audio/FirmwareSender_plugdata/releases/download/plugdata/FirmwareSender-osx.zip"
curl -fSL -A "Mozilla/4.0" -o FirmwareSender-osx.zip $FS_URL
+ status=$?
+ if [ $status -ne 0 ]; then
+ echo "Failed to download FirmwareSender-osx"
+ exit $status
+ fi
unzip FirmwareSender-osx.zip -d FirmwareSender-osx
cp ./FirmwareSender-osx/FirmwareSender OwlProgram/Tools/
fi
@@ -187,9 +219,10 @@ cp -rf ./dpf-widgets ./Heavy/lib/dpf-widgets
# Package Heavy with pyinstaller
python3 -m ensurepip
-python3 -m pip install poetry poetry-pyinstaller-plugin
+python3 -m pip install poetry poetry-pyinstaller-plugin pyinstaller
pushd hvcc
+pip install -e .
poetry build
popd
@@ -198,9 +231,29 @@ mkdir -p Heavy/bin/Heavy
if [[ "$OSTYPE" == "linux-gnu"* ]]; then
mv ./hvcc/dist/pyinstaller/manylinux_2_35_x86_64/Heavy Heavy/bin/Heavy/
elif [[ "$OSTYPE" == "darwin"* ]]; then
- mv ./hvcc/dist/pyinstaller/macosx_13_0_x86_64/Heavy Heavy/bin/Heavy/
- /usr/bin/codesign --force -s "Developer ID Application: Timothy Schoen (7SV7JPRR2L)" ./Heavy/bin/*
- /usr/bin/codesign --force -s "Developer ID Application: Timothy Schoen (7SV7JPRR2L)" ./Heavy/bin/Heavy/*
+ mv ./hvcc/dist/pyinstaller/macosx_15_0_x86_64/Heavy Heavy/bin/Heavy/
+
+ cat > entitlements.plist << EOF
+
+
+
+
+ com.apple.security.cs.disable-library-validation
+
+
+
+EOF
+
+ find ./Heavy/bin -type f -perm +111 -exec /usr/bin/codesign --force --options runtime -s "Developer ID Application: Timothy Schoen (7SV7JPRR2L)" {} \;
+ /usr/bin/codesign --force --options runtime --entitlements entitlements.plist -s "Developer ID Application: Timothy Schoen (7SV7JPRR2L)" ./Heavy/bin/Heavy/Heavy
+
+ # Submit the zipped executable for notarization
+ # This makes sure we can at least run it with online notarization
+ ditto -c -k --keepParent ./Heavy/bin Heavy.zip
+ xcrun notarytool store-credentials "notary_login" --apple-id ${AC_USERNAME} --password ${AC_PASSWORD} --team-id "7SV7JPRR2L"
+ xcrun notarytool submit Heavy.zip --keychain-profile "notary_login" --wait
+ rm Heavy.zip
+ rm entitlements.plist
fi
cp VERSION ./Heavy/VERSION
diff --git a/dpf b/dpf
index d47aaad..4238e1c 160000
--- a/dpf
+++ b/dpf
@@ -1 +1 @@
-Subproject commit d47aaadfdfe47b7841bf03b76971fa83579f6a64
+Subproject commit 4238e1c7f0351bbe488d79f0899c540543ac7583
diff --git a/dpf-widgets b/dpf-widgets
index 4f3fc42..d89febb 160000
--- a/dpf-widgets
+++ b/dpf-widgets
@@ -1 +1 @@
-Subproject commit 4f3fc4296e3e71d9b44d1821aaf2051de643b6e8
+Subproject commit d89febb337cc8154caef694889c90ddf108a0ce9
diff --git a/hvcc b/hvcc
index b96467a..d038dae 160000
--- a/hvcc
+++ b/hvcc
@@ -1 +1 @@
-Subproject commit b96467a91f7c4dca0f12e4bfd99b5ec23ae31222
+Subproject commit d038daefb97b1d205f8d6ee3c220431b37bb077b
From 6fd87644f775710882052e4b4aa390a59d26f8f7 Mon Sep 17 00:00:00 2001
From: dreamer
Date: Tue, 30 Dec 2025 12:22:06 +0100
Subject: [PATCH 2/2] update compat
---
COMPATIBILITY | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/COMPATIBILITY b/COMPATIBILITY
index 4d78783..a1989c7 100644
--- a/COMPATIBILITY
+++ b/COMPATIBILITY
@@ -6,5 +6,5 @@
"0.8.4": "0.4.3",
"0.9.0": "0.4.3",
"0.9.1": "0.4.3",
- "0.9.2": "0.7.0"
+ "0.9.2": "0.8.0"
}