| | |
| | | INFO_PLIST="$PROJECT_DIR/build/darwin/Info.plist" |
| | | ENTITLEMENTS="$PROJECT_DIR/build/darwin/entitlements.plist" |
| | | GOMODCACHE="$(go env GOMODCACHE)" |
| | | SHERPA_MACOS_MODULE_VERSION="$(cd "$PROJECT_DIR" && go list -m -f '{{.Version}}' github.com/k2-fsa/sherpa-onnx-go-macos)" |
| | | |
| | | VERSION="$(defaults read "$INFO_PLIST" CFBundleShortVersionString 2>/dev/null || echo "2.1.1")" |
| | | BUILD_ID="$(defaults read "$INFO_PLIST" CFBundleVersion 2>/dev/null || date +%Y%m%d.%H%M)" |
| | |
| | | APP_BUNDLE="$BUILD_DIR/$APP_NAME.app" |
| | | DMG_PATH="$BUILD_DIR/$APP_NAME-$VERSION-build$BUILD_ID-$DMG_ARCH-local.dmg" |
| | | COMPAT_DMG_PATH="$BUILD_DIR/$APP_NAME-$VERSION-$DMG_ARCH-local.dmg" |
| | | SHERPA_LIB_DIR="$GOMODCACHE/github.com/k2-fsa/sherpa-onnx-go-macos@v1.12.24/lib/$SHERPA_ARCH" |
| | | SHERPA_LIB_DIR="$GOMODCACHE/github.com/k2-fsa/sherpa-onnx-go-macos@$SHERPA_MACOS_MODULE_VERSION/lib/$SHERPA_ARCH" |
| | | ONNXRUNTIME_DYLIB="" |
| | | ONNXRUNTIME_DYLIB_NAME="" |
| | | |
| | | ensure_local_identity() { |
| | | if [[ -z "$LOCAL_IDENTITY" ]]; then |
| | |
| | | [[ -f "$ENTITLEMENTS" ]] || fail "entitlements.plist not found at $ENTITLEMENTS" |
| | | [[ -f "$PROJECT_DIR/build/darwin/icon.icns" ]] || fail "icon.icns not found" |
| | | [[ -d "$SHERPA_LIB_DIR" ]] || fail "sherpa-onnx dylibs not found at $SHERPA_LIB_DIR" |
| | | ONNXRUNTIME_DYLIB="$(find "$SHERPA_LIB_DIR" -maxdepth 1 -type f -name 'libonnxruntime.*.dylib' | sort | tail -n 1)" |
| | | [[ -f "$ONNXRUNTIME_DYLIB" ]] || fail "onnxruntime dylib not found in $SHERPA_LIB_DIR" |
| | | ONNXRUNTIME_DYLIB_NAME="$(basename "$ONNXRUNTIME_DYLIB")" |
| | | ensure_local_identity |
| | | |
| | | step "Cleaning old local build" |
| | |
| | | cp "$BUILD_DIR/$APP_NAME" "$APP_BUNDLE/Contents/MacOS/$APP_NAME" |
| | | cp "$PROJECT_DIR/build/darwin/icon.icns" "$APP_BUNDLE/Contents/Resources/icon.icns" |
| | | cp "$SHERPA_LIB_DIR/libsherpa-onnx-c-api.dylib" "$APP_BUNDLE/Contents/Frameworks/" |
| | | cp "$SHERPA_LIB_DIR/libonnxruntime.1.23.2.dylib" "$APP_BUNDLE/Contents/Frameworks/" |
| | | cp "$ONNXRUNTIME_DYLIB" "$APP_BUNDLE/Contents/Frameworks/" |
| | | |
| | | step "Fixing rpaths" |
| | | install_name_tool -add_rpath @executable_path/../Frameworks \ |
| | | "$APP_BUNDLE/Contents/MacOS/$APP_NAME" 2>/dev/null || true |
| | | install_name_tool -id @rpath/libsherpa-onnx-c-api.dylib \ |
| | | "$APP_BUNDLE/Contents/Frameworks/libsherpa-onnx-c-api.dylib" |
| | | install_name_tool -id @rpath/libonnxruntime.1.23.2.dylib \ |
| | | "$APP_BUNDLE/Contents/Frameworks/libonnxruntime.1.23.2.dylib" |
| | | install_name_tool -id "@rpath/$ONNXRUNTIME_DYLIB_NAME" \ |
| | | "$APP_BUNDLE/Contents/Frameworks/$ONNXRUNTIME_DYLIB_NAME" |
| | | |
| | | step "Code signing with stable local identity" |
| | | sign_item "$APP_BUNDLE/Contents/Frameworks/libonnxruntime.1.23.2.dylib" |
| | | sign_item "$APP_BUNDLE/Contents/Frameworks/$ONNXRUNTIME_DYLIB_NAME" |
| | | sign_item "$APP_BUNDLE/Contents/Frameworks/libsherpa-onnx-c-api.dylib" |
| | | sign_item "$APP_BUNDLE/Contents/MacOS/$APP_NAME" |
| | | sign_item "$APP_BUNDLE" |