Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
a5f42fe56e |
|||
|
185c1d2714 |
|||
|
7eab09585b |
5 changed files with 25 additions and 21 deletions
12
.github/workflows/ios.yml
vendored
12
.github/workflows/ios.yml
vendored
|
|
@ -22,7 +22,17 @@ jobs:
|
||||||
extra_nix_config: experimental-features = nix-command flakes flake-self-attrs
|
extra_nix_config: experimental-features = nix-command flakes flake-self-attrs
|
||||||
|
|
||||||
- name: Build app
|
- name: Build app
|
||||||
run: nix develop --command bash -c "flutter pub get && dart scripts/generate.dart && flutter pub run build_runner build && flutter build ios --release --no-codesign"
|
run: |
|
||||||
|
nix develop --command bash -c '
|
||||||
|
set -e
|
||||||
|
flutter pub get
|
||||||
|
dart scripts/generate.dart
|
||||||
|
flutter pub run build_runner build
|
||||||
|
# Nix-provided Flutter'"'"'s bundled frameworks are read-only, which
|
||||||
|
# breaks lipo when Flutter thins them into build/ (NixOS/nixpkgs#405066).
|
||||||
|
find "$(dirname "$(dirname "$(readlink -f "$(command -v flutter)")")")" -type d -iname "*.framework" -exec chmod -R u+w {} + 2>/dev/null || true
|
||||||
|
flutter build ios --release --no-codesign
|
||||||
|
'
|
||||||
|
|
||||||
# Unsigned IPA: SideStore/AltStore re-sign this on-device with the
|
# Unsigned IPA: SideStore/AltStore re-sign this on-device with the
|
||||||
# user's own Apple ID at install time, so no certificate is needed here.
|
# user's own Apple ID at install time, so no certificate is needed here.
|
||||||
|
|
|
||||||
13
.github/workflows/macos.yml
vendored
13
.github/workflows/macos.yml
vendored
|
|
@ -21,8 +21,17 @@ jobs:
|
||||||
with:
|
with:
|
||||||
extra_nix_config: experimental-features = nix-command flakes flake-self-attrs
|
extra_nix_config: experimental-features = nix-command flakes flake-self-attrs
|
||||||
|
|
||||||
- name: Build app
|
- run: |
|
||||||
run: nix develop --command bash -c "flutter pub get && dart scripts/generate.dart && flutter pub run build_runner build && flutter build macos --release"
|
nix develop --command bash -c '
|
||||||
|
set -e
|
||||||
|
flutter pub get
|
||||||
|
dart scripts/generate.dart
|
||||||
|
flutter pub run build_runner build
|
||||||
|
# Nix-provided Flutter'"'"'s bundled frameworks are read-only, which
|
||||||
|
# breaks lipo when Flutter thins them into build/ (NixOS/nixpkgs#405066).
|
||||||
|
find "$(dirname "$(dirname "$(readlink -f "$(command -v flutter)")")")" -type d -iname "*.framework" -exec chmod -R u+w {} + 2>/dev/null || true
|
||||||
|
flutter build macos --release
|
||||||
|
'
|
||||||
|
|
||||||
- name: Upload installer artifact
|
- name: Upload installer artifact
|
||||||
uses: actions/upload-artifact@v6
|
uses: actions/upload-artifact@v6
|
||||||
|
|
|
||||||
|
|
@ -336,7 +336,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "export PATH=\"$PROJECT_DIR/scripts:$PATH\"\n/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin";
|
shellScript = "ebin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" embed_and_thin;
|
||||||
};
|
};
|
||||||
9740EEB61CF901F6004384FC /* Run Script */ = {
|
9740EEB61CF901F6004384FC /* Run Script */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
|
@ -351,7 +351,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "export PATH=\"$PROJECT_DIR/scripts:$PATH\"\n/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
shellScript = "/bin/sh \"$FLUTTER_ROOT/packages/flutter_tools/bin/xcode_backend.sh\" build";
|
||||||
};
|
};
|
||||||
EE82EC529EB6C0F1FA480659 /* [CP] Check Pods Manifest.lock */ = {
|
EE82EC529EB6C0F1FA480659 /* [CP] Check Pods Manifest.lock */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
|
|
||||||
|
|
@ -349,7 +349,7 @@
|
||||||
);
|
);
|
||||||
runOnlyForDeploymentPostprocessing = 0;
|
runOnlyForDeploymentPostprocessing = 0;
|
||||||
shellPath = /bin/sh;
|
shellPath = /bin/sh;
|
||||||
shellScript = "export PATH=\"$PROJECT_DIR/scripts:$PATH\"\necho \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
|
shellScript = "echo \"$PRODUCT_NAME.app\" > \"$PROJECT_DIR\"/Flutter/ephemeral/.app_filename && \"$FLUTTER_ROOT\"/packages/flutter_tools/bin/macos_assemble.sh embed\n";
|
||||||
};
|
};
|
||||||
33CC111E2044C6BF0003C045 /* ShellScript */ = {
|
33CC111E2044C6BF0003C045 /* ShellScript */ = {
|
||||||
isa = PBXShellScriptBuildPhase;
|
isa = PBXShellScriptBuildPhase;
|
||||||
|
|
|
||||||
15
scripts/lipo
15
scripts/lipo
|
|
@ -1,15 +0,0 @@
|
||||||
#!/bin/sh
|
|
||||||
|
|
||||||
for arg in "$@"; do
|
|
||||||
case "$arg" in
|
|
||||||
*.framework/*)
|
|
||||||
fw_dir="${arg%.framework/*}.framework"
|
|
||||||
chmod -R u+w "$fw_dir" 2>/dev/null
|
|
||||||
;;
|
|
||||||
*.lipo)
|
|
||||||
chmod u+w "$(dirname "$arg")" 2>/dev/null
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
exec /usr/bin/lipo "$@"
|
|
||||||
Loading…
Reference in a new issue