diff --git a/cross/macos-arm64.txt b/cross/macos-arm64.txt index 1a7c322..a03cf36 100644 --- a/cross/macos-arm64.txt +++ b/cross/macos-arm64.txt @@ -11,6 +11,7 @@ needs_exe_wrapper = false c = 'cc' cpp = 'c++' strip = 'strip' +pkgconfig = 'pkg-config' [built-in options] c_args = ['-arch', 'arm64'] diff --git a/cross/macos-universal.txt b/cross/macos-universal.txt index eb7970e..728980f 100644 --- a/cross/macos-universal.txt +++ b/cross/macos-universal.txt @@ -11,6 +11,7 @@ needs_exe_wrapper = false c = 'cc' cpp = 'c++' strip = 'strip' +pkgconfig = 'pkg-config' [built-in options] c_args = ['-arch', 'arm64', '-arch', 'x86_64'] diff --git a/cross/macos-x86_64.txt b/cross/macos-x86_64.txt index ad979a4..fb1a10d 100644 --- a/cross/macos-x86_64.txt +++ b/cross/macos-x86_64.txt @@ -11,6 +11,7 @@ needs_exe_wrapper = false c = 'cc' cpp = 'c++' strip = 'strip' +pkgconfig = 'pkg-config' [built-in options] c_args = ['-arch', 'x86_64'] diff --git a/otherbuilds/deploy/macos.sh b/otherbuilds/deploy/macos.sh new file mode 100755 index 0000000..425b5eb --- /dev/null +++ b/otherbuilds/deploy/macos.sh @@ -0,0 +1,33 @@ +#!/bin/bash +set -eu +if [ ! -f ../rba/deploy/macos/notarize.sh ]; then + echo "need notarize script in ../rba/deploy/macos" +fi +version=$(grep '^ *version:' meson.build | head -1 | sed "s/^.*'\([0-9][0-9.]*\)'.*$/\1/") +echo +echo "Packaging command-line utility for Mac for Rubber Band v$version..." +echo +rm -rf build +PKG_CONFIG_PATH=/usr/local/lib/pkgconfig/ meson build --cross-file ./cross/macos-universal.txt +ninja -C build +./build/rubberband -V +key="Developer ID Application: Particular Programs Ltd (73F996B92S)" +mkdir -p packages +( cd build + codesign -s "$key" -fv --options runtime rubberband + zipfile="rubberband-$version-gpl-executable-macos.zip" + rm -f "$zipfile" + ditto -c -k rubberband "$zipfile" + ../../rba/deploy/macos/notarize.sh "$zipfile" com.breakfastquay.rubberband +) +package_dir="rubberband-$version-gpl-executable-macos" +rm -rf "$package_dir" +mkdir "$package_dir" +cp build/rubberband "$package_dir" +cp CHANGELOG README.md COPYING "$package_dir" +tar cvjf "$package_dir.tar.bz2" "$package_dir" +mv "$package_dir.tar.bz2" packages/ +rm -rf "$package_dir" +echo +echo "Done, package is in packages/$package_dir.tar.bz2" +