Files
vorleser/project.yml

111 lines
3.7 KiB
YAML

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"