From 7d514c3a83f05ff0baf197e5d0790cba726ac202 Mon Sep 17 00:00:00 2001 From: Dan Miller Date: Wed, 27 May 2026 12:08:48 -0700 Subject: [PATCH 1/2] Parameterize build_all.sh, remove per-app build script variants --- scripts/android/build_all.sh | 20 +++++++++++++------- scripts/android/build_all_campfire.sh | 15 --------------- scripts/android/build_all_duo.sh | 18 ------------------ scripts/build_app.sh | 11 +---------- scripts/ios/build_all.sh | 26 ++++++++++++-------------- scripts/ios/build_all_campfire.sh | 22 ---------------------- scripts/ios/build_all_duo.sh | 26 -------------------------- scripts/linux/build_all.sh | 20 +++++++++++++------- scripts/linux/build_all_campfire.sh | 19 ------------------- scripts/linux/build_all_duo.sh | 24 ------------------------ scripts/macos/build_all.sh | 20 ++++++++++++-------- scripts/macos/build_all_campfire.sh | 11 ----------- scripts/macos/build_all_duo.sh | 16 ---------------- scripts/windows/build_all.sh | 20 +++++++++++++------- scripts/windows/build_all_campfire.sh | 14 -------------- scripts/windows/build_all_duo.sh | 18 ------------------ 16 files changed, 64 insertions(+), 236 deletions(-) delete mode 100755 scripts/android/build_all_campfire.sh delete mode 100755 scripts/android/build_all_duo.sh delete mode 100755 scripts/ios/build_all_campfire.sh delete mode 100755 scripts/ios/build_all_duo.sh delete mode 100755 scripts/linux/build_all_campfire.sh delete mode 100755 scripts/linux/build_all_duo.sh delete mode 100755 scripts/macos/build_all_campfire.sh delete mode 100755 scripts/macos/build_all_duo.sh delete mode 100755 scripts/windows/build_all_campfire.sh delete mode 100755 scripts/windows/build_all_duo.sh diff --git a/scripts/android/build_all.sh b/scripts/android/build_all.sh index c13540403b..1ee7c10cf7 100755 --- a/scripts/android/build_all.sh +++ b/scripts/android/build_all.sh @@ -2,21 +2,27 @@ set -x -e +APP="${1:-stack_wallet}" + mkdir -p build . ./config.sh PLUGINS_DIR=../../crypto_plugins -# libepiccash requires old rust source ../rust_version.sh -set_rust_version_for_libepiccash -(cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh ) -set_rust_version_for_libmwc -(cd "${PLUGINS_DIR}"/flutter_libmwc/scripts/android && ./build_all.sh ) -# set rust (back) to a more recent stable release after building epiccash + +if [[ "$APP" = "stack_wallet" ]]; then + set_rust_version_for_libepiccash + (cd "${PLUGINS_DIR}"/flutter_libepiccash/scripts/android && ./build_all.sh ) + set_rust_version_for_libmwc + (cd "${PLUGINS_DIR}"/flutter_libmwc/scripts/android && ./build_all.sh ) +fi + set_rust_to_everything_else -(cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) +if [[ "$APP" = "stack_wallet" || "$APP" = "stack_duo" ]]; then + (cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) +fi wait echo "Done building" diff --git a/scripts/android/build_all_campfire.sh b/scripts/android/build_all_campfire.sh deleted file mode 100755 index fd10e418fa..0000000000 --- a/scripts/android/build_all_campfire.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/bash - -set -x -e - -mkdir -p build -. ./config.sh - -PLUGINS_DIR=../../crypto_plugins - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -wait -echo "Done building" diff --git a/scripts/android/build_all_duo.sh b/scripts/android/build_all_duo.sh deleted file mode 100755 index dcfc24427a..0000000000 --- a/scripts/android/build_all_duo.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -x -e - -# todo: revisit following at some point - -mkdir -p build -. ./config.sh - -PLUGINS_DIR=../../crypto_plugins - -source ../rust_version.sh -set_rust_to_everything_else - -(cd "${PLUGINS_DIR}"/frostdart/scripts/android && ./build_all.sh ) - -wait -echo "Done building" diff --git a/scripts/build_app.sh b/scripts/build_app.sh index 71a5ec6bcd..051236d09e 100755 --- a/scripts/build_app.sh +++ b/scripts/build_app.sh @@ -119,16 +119,7 @@ if [ "$BUILD_CRYPTO_PLUGINS" -eq 0 ]; then if [ "$DOWNLOAD_CRYPTO_PLUGINS" -eq 1 ]; then ./download_all.sh "$APP_NAMED_ID" else - if [[ "$APP_NAMED_ID" = "stack_wallet" ]]; then - ./build_all.sh - elif [[ "$APP_NAMED_ID" = "stack_duo" ]]; then - ./build_all_duo.sh - elif [[ "$APP_NAMED_ID" = "campfire" ]]; then - ./build_all_campfire.sh - else - echo "Invalid app id: ${APP_NAMED_ID}" - exit 1 - fi + ./build_all.sh "$APP_NAMED_ID" fi fi diff --git a/scripts/ios/build_all.sh b/scripts/ios/build_all.sh index ed5fb236fd..f025c6c250 100755 --- a/scripts/ios/build_all.sh +++ b/scripts/ios/build_all.sh @@ -2,28 +2,26 @@ set -x -e -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios +APP="${1:-stack_wallet}" # ensure ios rust triples are there rustup target add aarch64-apple-ios rustup target add x86_64-apple-ios -# libepiccash requires old rust source ../rust_version.sh -set_rust_version_for_libepiccash -(cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh ) -set_rust_version_for_libmwc -(cd ../../crypto_plugins/flutter_libmwc/scripts/ios/ && ./build_all.sh ) -# set rust (back) to a more recent stable release after building epiccash + +if [[ "$APP" = "stack_wallet" ]]; then + set_rust_version_for_libepiccash + (cd ../../crypto_plugins/flutter_libepiccash/scripts/ios && ./build_all.sh ) + set_rust_version_for_libmwc + (cd ../../crypto_plugins/flutter_libmwc/scripts/ios/ && ./build_all.sh ) +fi + set_rust_to_everything_else -(cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) +if [[ "$APP" = "stack_wallet" || "$APP" = "stack_duo" ]]; then + (cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) +fi wait echo "Done building" - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios diff --git a/scripts/ios/build_all_campfire.sh b/scripts/ios/build_all_campfire.sh deleted file mode 100755 index 994b682446..0000000000 --- a/scripts/ios/build_all_campfire.sh +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/bash - -set -x -e - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -wait -echo "Done building" - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios diff --git a/scripts/ios/build_all_duo.sh b/scripts/ios/build_all_duo.sh deleted file mode 100755 index c09b3528fa..0000000000 --- a/scripts/ios/build_all_duo.sh +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -set -x -e - -# todo: revisit following at some point - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -(cd ../../crypto_plugins/frostdart/scripts/ios && ./build_all.sh ) - -wait -echo "Done building" - -# ensure ios rust triples are there -rustup target add aarch64-apple-ios -rustup target add x86_64-apple-ios diff --git a/scripts/linux/build_all.sh b/scripts/linux/build_all.sh index 374b2d4621..d2c703d218 100755 --- a/scripts/linux/build_all.sh +++ b/scripts/linux/build_all.sh @@ -2,6 +2,8 @@ set -x -e +APP="${1:-stack_wallet}" + # for arm # flutter-elinux clean # flutter-elinux pub get @@ -9,16 +11,20 @@ set -x -e mkdir -p build ./build_secure_storage_deps.sh -# libepiccash requires old rust source ../rust_version.sh -set_rust_version_for_libepiccash -(cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh ) -set_rust_version_for_libmwc -(cd ../../crypto_plugins/flutter_libmwc/scripts/linux && ./build_all.sh ) -# set rust (back) to a more recent stable release after building epiccash + +if [[ "$APP" = "stack_wallet" ]]; then + set_rust_version_for_libepiccash + (cd ../../crypto_plugins/flutter_libepiccash/scripts/linux && ./build_all.sh ) + set_rust_version_for_libmwc + (cd ../../crypto_plugins/flutter_libmwc/scripts/linux && ./build_all.sh ) +fi + set_rust_to_everything_else -(cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) +if [[ "$APP" = "stack_wallet" || "$APP" = "stack_duo" ]]; then + (cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) +fi ./build_secp256k1.sh diff --git a/scripts/linux/build_all_campfire.sh b/scripts/linux/build_all_campfire.sh deleted file mode 100755 index d1e1de71a1..0000000000 --- a/scripts/linux/build_all_campfire.sh +++ /dev/null @@ -1,19 +0,0 @@ -#!/bin/bash - -set -x -e - -# for arm -# flutter-elinux clean -# flutter-elinux pub get -# flutter-elinux build linux --dart-define="IS_ARM=true" -mkdir -p build -./build_secure_storage_deps.sh - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -./build_secp256k1.sh - -wait -echo "Done building" diff --git a/scripts/linux/build_all_duo.sh b/scripts/linux/build_all_duo.sh deleted file mode 100755 index 3e2ee5b5b1..0000000000 --- a/scripts/linux/build_all_duo.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/bin/bash - -set -x -e - -# todo: revisit following at some point - - -# for arm -# flutter-elinux clean -# flutter-elinux pub get -# flutter-elinux build linux --dart-define="IS_ARM=true" -mkdir -p build -./build_secure_storage_deps.sh - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -(cd ../../crypto_plugins/frostdart/scripts/linux && ./build_all.sh ) - -./build_secp256k1.sh - -wait -echo "Done building" diff --git a/scripts/macos/build_all.sh b/scripts/macos/build_all.sh index 2012568b10..4dbefd5e53 100755 --- a/scripts/macos/build_all.sh +++ b/scripts/macos/build_all.sh @@ -2,18 +2,22 @@ set -x -e +APP="${1:-stack_wallet}" -# libepiccash requires old rust source ../rust_version.sh -set_rust_version_for_libepiccash -(cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh ) -set_rust_version_for_libmwc -(cd ../../crypto_plugins/flutter_libmwc/scripts/macos && ./build_all.sh ) -# set rust (back) to a more recent stable release after building epiccash + +if [[ "$APP" = "stack_wallet" ]]; then + set_rust_version_for_libepiccash + (cd ../../crypto_plugins/flutter_libepiccash/scripts/macos && ./build_all.sh ) + set_rust_version_for_libmwc + (cd ../../crypto_plugins/flutter_libmwc/scripts/macos && ./build_all.sh ) +fi + set_rust_to_everything_else -(cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) +if [[ "$APP" = "stack_wallet" || "$APP" = "stack_duo" ]]; then + (cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) +fi wait echo "Done building" - diff --git a/scripts/macos/build_all_campfire.sh b/scripts/macos/build_all_campfire.sh deleted file mode 100755 index e1b4216bc0..0000000000 --- a/scripts/macos/build_all_campfire.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/bash - -set -x -e - - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -wait -echo "Done building" diff --git a/scripts/macos/build_all_duo.sh b/scripts/macos/build_all_duo.sh deleted file mode 100755 index a618eeebb7..0000000000 --- a/scripts/macos/build_all_duo.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash - -set -x -e - -# todo: revisit following at some point - - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -(cd ../../crypto_plugins/frostdart/scripts/macos && ./build_all.sh ) - -wait -echo "Done building" - diff --git a/scripts/windows/build_all.sh b/scripts/windows/build_all.sh index 50513331ba..6d3f3f55b8 100755 --- a/scripts/windows/build_all.sh +++ b/scripts/windows/build_all.sh @@ -2,18 +2,24 @@ set -x -e +APP="${1:-stack_wallet}" + mkdir -p build -# libepiccash requires old rust source ../rust_version.sh -set_rust_version_for_libepiccash -(cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh ) -set_rust_version_for_libmwc -(cd ../../crypto_plugins/flutter_libmwc/scripts/windows && ./build_all.sh ) -# set rust (back) to a more recent stable release after building epiccash + +if [[ "$APP" = "stack_wallet" ]]; then + set_rust_version_for_libepiccash + (cd ../../crypto_plugins/flutter_libepiccash/scripts/windows && ./build_all.sh ) + set_rust_version_for_libmwc + (cd ../../crypto_plugins/flutter_libmwc/scripts/windows && ./build_all.sh ) +fi + set_rust_to_everything_else -(cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh ) +if [[ "$APP" = "stack_wallet" || "$APP" = "stack_duo" ]]; then + (cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh ) +fi ./build_secp256k1_wsl.sh diff --git a/scripts/windows/build_all_campfire.sh b/scripts/windows/build_all_campfire.sh deleted file mode 100755 index e74572b457..0000000000 --- a/scripts/windows/build_all_campfire.sh +++ /dev/null @@ -1,14 +0,0 @@ -#!/bin/bash - -set -x -e - -mkdir -p build - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -./build_secp256k1_wsl.sh - -wait -echo "Done building" diff --git a/scripts/windows/build_all_duo.sh b/scripts/windows/build_all_duo.sh deleted file mode 100755 index 42ff340c37..0000000000 --- a/scripts/windows/build_all_duo.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/bin/bash - -set -x -e - -# todo: revisit following at some point - -mkdir -p build - -# libepiccash requires old rust -source ../rust_version.sh -set_rust_to_everything_else - -(cd ../../crypto_plugins/frostdart/scripts/windows && ./build_all.sh ) - -./build_secp256k1_wsl.sh - -wait -echo "Done building" From 0d3742dfb49cf82931fbab134c161e4a0a13e5f1 Mon Sep 17 00:00:00 2001 From: Dan Miller Date: Wed, 27 May 2026 12:51:46 -0700 Subject: [PATCH 2/2] use portable sed -i.bak in configure and version scripts from @parasew --- scripts/app_config/configure_stack_duo.sh | 13 +++++-------- scripts/app_config/configure_stack_wallet.sh | 13 +++++-------- .../platforms/macos/platform_config.sh | 19 ++++++++++++++----- scripts/app_config/shared/update_version.sh | 15 ++++++--------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/scripts/app_config/configure_stack_duo.sh b/scripts/app_config/configure_stack_duo.sh index 502e1a056d..7d6bae012d 100755 --- a/scripts/app_config/configure_stack_duo.sh +++ b/scripts/app_config/configure_stack_duo.sh @@ -14,14 +14,11 @@ NEW_PUBSPEC_NAME="stackduo" PUBSPEC_FILE="${APP_PROJECT_ROOT_DIR}/pubspec.yaml" # String replacements. -if [[ "$(uname)" == 'Darwin' ]]; then - # macos specific sed - sed -i '' "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" "${PUBSPEC_FILE}" - sed -i '' "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}" -else - sed -i "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" "${PUBSPEC_FILE}" - sed -i "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}" -fi +sed -i.bak \ + -e "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" \ + -e "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" \ + "${PUBSPEC_FILE}" +rm -f "${PUBSPEC_FILE}.bak" dart "${APP_PROJECT_ROOT_DIR}/tool/process_pubspec_deps.dart" \ "${PUBSPEC_FILE}" \ diff --git a/scripts/app_config/configure_stack_wallet.sh b/scripts/app_config/configure_stack_wallet.sh index 03d9562692..bf3d6c6621 100755 --- a/scripts/app_config/configure_stack_wallet.sh +++ b/scripts/app_config/configure_stack_wallet.sh @@ -14,14 +14,11 @@ NEW_PUBSPEC_NAME="stackwallet" PUBSPEC_FILE="${APP_PROJECT_ROOT_DIR}/pubspec.yaml" # String replacements. -if [[ "$(uname)" == 'Darwin' ]]; then - # macos specific sed - sed -i '' "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" "${PUBSPEC_FILE}" - sed -i '' "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}" -else - sed -i "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" "${PUBSPEC_FILE}" - sed -i "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" "${PUBSPEC_FILE}" -fi +sed -i.bak \ + -e "s/name: PLACEHOLDER/name: ${NEW_PUBSPEC_NAME}/g" \ + -e "s/description: PLACEHOLDER/description: ${NEW_NAME}/g" \ + "${PUBSPEC_FILE}" +rm -f "${PUBSPEC_FILE}.bak" dart "${APP_PROJECT_ROOT_DIR}/tool/process_pubspec_deps.dart" \ "${PUBSPEC_FILE}" \ diff --git a/scripts/app_config/platforms/macos/platform_config.sh b/scripts/app_config/platforms/macos/platform_config.sh index c54ba32a6e..dd71bc1178 100755 --- a/scripts/app_config/platforms/macos/platform_config.sh +++ b/scripts/app_config/platforms/macos/platform_config.sh @@ -13,8 +13,17 @@ for (( i=0; i<=2; i++ )); do done # Configure macOS for Duo. -sed -i '' "s/${APP_ID_PLACEHOLDER_CAMEL}/${NEW_APP_ID_CAMEL}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_0}" -sed -i '' "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_0}" -sed -i '' "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_1}" -sed -i '' "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_2}" -sed -i '' "s/${APP_ID_PLACEHOLDER_SNAKE}/${NEW_APP_ID_SNAKE}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_2}" +sed -i.bak \ + -e "s/${APP_ID_PLACEHOLDER_CAMEL}/${NEW_APP_ID_CAMEL}/g" \ + -e "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" \ + "${APP_PROJECT_ROOT_DIR}/${MAC_TF_0}" +rm -f "${APP_PROJECT_ROOT_DIR}/${MAC_TF_0}.bak" + +sed -i.bak "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" "${APP_PROJECT_ROOT_DIR}/${MAC_TF_1}" +rm -f "${APP_PROJECT_ROOT_DIR}/${MAC_TF_1}.bak" + +sed -i.bak \ + -e "s/${APP_NAME_PLACEHOLDER}/${NEW_NAME}/g" \ + -e "s/${APP_ID_PLACEHOLDER_SNAKE}/${NEW_APP_ID_SNAKE}/g" \ + "${APP_PROJECT_ROOT_DIR}/${MAC_TF_2}" +rm -f "${APP_PROJECT_ROOT_DIR}/${MAC_TF_2}.bak" diff --git a/scripts/app_config/shared/update_version.sh b/scripts/app_config/shared/update_version.sh index d056b9b738..11c1cbd8c9 100755 --- a/scripts/app_config/shared/update_version.sh +++ b/scripts/app_config/shared/update_version.sh @@ -1,4 +1,4 @@ -#!/bin/bash +#!/usr/bin/env bash set -x -e @@ -34,13 +34,10 @@ if [ ! -f "$PUBSPEC_FILE" ]; then exit 1 fi -if [[ "$(uname)" == 'Darwin' ]]; then - # macos specific sed - sed -i '' "s/PLACEHOLDER_V/$VERSION/g" "${PUBSPEC_FILE}" - sed -i '' "s/PLACEHOLDER_B/$BUILD_NUMBER/g" "${PUBSPEC_FILE}" -else - sed -i "s/PLACEHOLDER_V/$VERSION/g" "${PUBSPEC_FILE}" - sed -i "s/PLACEHOLDER_B/$BUILD_NUMBER/g" "${PUBSPEC_FILE}" -fi +sed -i.bak \ + -e "s/PLACEHOLDER_V/$VERSION/g" \ + -e "s/PLACEHOLDER_B/$BUILD_NUMBER/g" \ + "${PUBSPEC_FILE}" +rm -f "${PUBSPEC_FILE}.bak" echo "Updated $PUBSPEC_FILE with version: $VERSION and build number: $BUILD_NUMBER"