name: Vorleser options: bundleIdPrefix: de.felixfoertsch developmentLanguage: en deploymentTarget: iOS: 26.0 macOS: 15.0 createIntermediateGroups: true settings: base: SWIFT_VERSION: 5.9 CURRENT_PROJECT_VERSION: 1 MARKETING_VERSION: 0.1.0 packages: ZipFoundation: path: Vendor/ZipFoundation SwiftSoup: path: Vendor/SwiftSoup targets: Vorleser: type: application platform: iOS sources: - path: Vorleser configFiles: Debug: Config/Signing.xcconfig Release: Config/Signing.xcconfig settings: base: PRODUCT_BUNDLE_IDENTIFIER: de.felixfoertsch.vorleser IPHONEOS_DEPLOYMENT_TARGET: 26.0 GENERATE_INFOPLIST_FILE: true INFOPLIST_KEY_CFBundleVersion: "1" INFOPLIST_KEY_CFBundleShortVersionString: "0.1.0" INFOPLIST_KEY_UIBackgroundModes: [audio, processing] INFOPLIST_KEY_LSSupportsOpeningDocumentsInPlace: true INFOPLIST_KEY_UIFileSharingEnabled: true dependencies: - package: ZipFoundation product: ZIPFoundation - package: SwiftSoup product: SwiftSoup VorleserMac: type: application platform: macOS sources: - path: VorleserMac resources: - path: VorleserMac/Resources/Models - path: VorleserMac/Resources/Voices - path: VorleserMac/Resources/Config - path: VorleserMac/Resources/Tools dependencies: - package: ZipFoundation product: ZIPFoundation - package: SwiftSoup product: SwiftSoup configFiles: Debug: Config/Signing.xcconfig Release: Config/Signing.xcconfig postBuildScripts: - name: Bundle espeak-ng script: | set -euo pipefail BIN_SRC="/opt/homebrew/bin/espeak-ng" DATA_SRC="/opt/homebrew/share/espeak-ng-data" DYLIB_SRC="/opt/homebrew/lib/libespeak-ng.dylib" if [ ! -x "$BIN_SRC" ]; then echo "espeak-ng not found at $BIN_SRC. Install via: brew install espeak-ng" exit 1 fi if [ ! -d "$DATA_SRC" ]; then echo "espeak-ng data not found at $DATA_SRC" exit 1 fi if [ ! -f "$DYLIB_SRC" ]; then echo "libespeak-ng.dylib not found at $DYLIB_SRC" exit 1 fi RES_DIR="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources" TOOL_DIR="${RES_DIR}/Tools" FRAMEWORK_DIR="${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Frameworks" mkdir -p "$TOOL_DIR" "$FRAMEWORK_DIR" cp -f "$BIN_SRC" "$TOOL_DIR/espeak-ng" chmod +x "$TOOL_DIR/espeak-ng" rsync -a "$DATA_SRC/" "$TOOL_DIR/espeak-ng-data/" cp -f "$DYLIB_SRC" "$FRAMEWORK_DIR/libespeak-ng.dylib" install_name_tool -id "@rpath/libespeak-ng.dylib" "$FRAMEWORK_DIR/libespeak-ng.dylib" install_name_tool -change "$DYLIB_SRC" "@rpath/libespeak-ng.dylib" "$TOOL_DIR/espeak-ng" install_name_tool -add_rpath "@executable_path/../Frameworks" "$TOOL_DIR/espeak-ng" || true codesign --force --sign - --timestamp=none "$FRAMEWORK_DIR/libespeak-ng.dylib" codesign --force --sign - --timestamp=none "$TOOL_DIR/espeak-ng" outputFiles: - ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources/Tools/espeak-ng - ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Resources/Tools/espeak-ng-data/phondata - ${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Frameworks/libespeak-ng.dylib settings: base: PRODUCT_BUNDLE_IDENTIFIER: de.felixfoertsch.vorleser.mac MACOSX_DEPLOYMENT_TARGET: 15.0 GENERATE_INFOPLIST_FILE: true INFOPLIST_KEY_CFBundleVersion: "1" INFOPLIST_KEY_CFBundleShortVersionString: "0.1.0"