Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
117 commits
Select commit Hold shift + click to select a range
af4a59e
fix(scripts): make sed commands portable for GNU and BSD variants
Mar 16, 2026
2cbb5aa
fix(scripts): use 'flutter pub run' instead of 'dart run' for launche…
Mar 16, 2026
81f427d
feat(nix): introduce flake-based dev shell for guaranteed reproducibi…
Mar 16, 2026
e6be04e
feat(makefile): build management
Mar 16, 2026
010eadd
fixing flake
Mar 16, 2026
5f9a8ce
submodules fix and macOs specific nix fixes
Mar 16, 2026
4454920
adding changes for successful macOs run
Mar 16, 2026
6ce520a
fixing part in last build step (dropping flags)
Mar 16, 2026
1d48641
adding linux parts
Mar 16, 2026
7759828
removing overrides
Mar 16, 2026
f204511
adding better clean
Mar 16, 2026
e62c261
macos makefile fixes
Mar 16, 2026
6ba1741
up
Mar 16, 2026
5c43045
nixos fixes
Mar 16, 2026
b2a90e7
Makefile fixes
Mar 16, 2026
90c08b8
makefile fixes
Mar 16, 2026
9768ea5
makefile fixes
Mar 16, 2026
e1a9c78
makefile fixes
Mar 16, 2026
62db43c
successful macOS build
Mar 17, 2026
52ce806
fixing env bash calls for nixos
sneurlax May 12, 2026
ed122ef
macOS build split into phases
Mar 17, 2026
ebb3774
NEW_APP_ID_SNAKE changed from com.cypherstack.stack_duo to com.cypher…
Mar 17, 2026
795a993
adding direnv and macOS build tools install helper script
Mar 17, 2026
a0c85bd
Replaced exit 1 with echo 'Bypassed by Nix' in missing-toolchain bran…
Mar 17, 2026
3bf60c0
fixing current repo path for APP_PROJECT_ROOT_DIR
Mar 17, 2026
fa14da7
scripts now compute project root from their own location
Mar 17, 2026
380874e
adding pubspec.yaml creation to macos-configure
Mar 17, 2026
0ca3fb1
git submodule update --init --recursive for macos-configure
Mar 17, 2026
6abc46c
fixing xelis_dart_sdk version bug
Mar 17, 2026
a3b3022
fixing wrong formatting of xelis_dart_sdk yaml
Mar 17, 2026
ea00542
fix(macos): bootstrap missing local build files in macos-configure
Mar 17, 2026
8e6f953
fix(macos): run prebuild.sh from scripts directory
Mar 17, 2026
58ac7e1
asset prep
Mar 17, 2026
322fafa
fix(macos): correct Pods xcconfig include paths for Flutter macOS con…
Mar 17, 2026
92dc48d
fix(macos): use Debug/Release xcconfigs for Runner target to restore …
Mar 17, 2026
b1f2ac8
macos: rebuild native crypto plugins during build-macos
Mar 17, 2026
b1a423f
macos: unify build path and add fresh-clone CI smoke build
Mar 17, 2026
1f6d937
macos: fix scripts/macos/build_all.sh path resolution when run from r…
Mar 17, 2026
5eb0959
macos: stop forcing stable rust toolchain for native plugin build
Mar 17, 2026
8e963a5
macos: fix tor_ffi build by ensuring rust x86_64-apple-darwin target …
Mar 17, 2026
ef4e682
macos: patch flutter_libepiccash build script at runtime from main repo
Mar 17, 2026
f905423
fix(macos): prevent empty Runner module name and stabilize xcconfig i…
Mar 17, 2026
28cc199
build(macos): harden sed usage and patch libmwc script via superproject
Mar 17, 2026
387601c
build(macos): enforce reproducible arm64 pod architecture settings
Mar 17, 2026
810e6cb
fixing introduced error in multiline sed
Mar 17, 2026
b638731
build(macos): harden sed rewrites for frostdart and enforce reproduci…
Mar 17, 2026
a044b61
build(macos): patch frostdart sed invocation during native build
Mar 17, 2026
14240e2
build(macos): use flutter pub for coinlib build step in nix env
Mar 17, 2026
7895630
build(macos): make CocoaPods/plugin resolution reproducible in nix shell
Mar 17, 2026
d875fed
build(macos): harden reproducible nix setup and coinlib toolchain req…
Mar 17, 2026
69b96ae
build(macos): improve reproducibility and drop unused rust 1.81.0
Mar 17, 2026
1eedefa
build(macos): force darwin-arm64 app build for reproducible Apple Sil…
Mar 17, 2026
36ebfa6
Adding distinct arm build only
Mar 17, 2026
9d6ce68
build(macos): force arm64 via env vars instead of unsupported flutter…
Mar 17, 2026
ac25798
build(macos): force Apple libtool in epiccash patch under nix
Mar 17, 2026
d6823c3
build(macos): force Apple clang/binutils and SDKROOT in native nix bu…
Mar 17, 2026
0ade1c9
build(macos): clear make jobserver flags for libmwc openssl build in nix
Mar 17, 2026
ac59ca8
initial version of nixos build tools
Mar 17, 2026
460463c
update of nixos build tools
Mar 17, 2026
bb93e51
build(macos): serialize epiccash cargo build to avoid openssl jobserv…
Mar 17, 2026
64d4262
build(macos): sanitize cargo env to prevent openssl/lmdb race failure…
Mar 17, 2026
d10230e
build(macos): validate epiccash combined archive and fallback on failure
Mar 17, 2026
0bfb888
build(macos): replace cargo lipo with cargo build for stable nix arm6…
Mar 17, 2026
2b3ed09
build(macos): stabilize epiccash cargo target dir and retry on transi…
Mar 17, 2026
e4b05e9
build(macos): restore automatic cargo parallelism while keeping nix e…
Mar 17, 2026
41455bb
build-linux: normalize linux shebangs for nixos
Mar 17, 2026
f2f79d3
build-linux: skip coinlib build when no container runtime
Mar 17, 2026
d807217
linux: generate local libsecret pkg-config metadata
Mar 17, 2026
e872655
build-linux: export local libsecret pkg-config for flutter
Mar 17, 2026
4159e4b
makefile: fix build-linux recipe separator regression
Mar 17, 2026
7f43e1a
build-linux: preflight libsecret pkg-config resolution
Mar 17, 2026
468b601
build-linux: disable pkg-config uninstalled resolution
Mar 18, 2026
172803f
check-reqs: require meson and ninja for linux builds
Mar 18, 2026
3650d18
nix: add opencv and sysprof packages to linux dev shell
Mar 18, 2026
aebfb7c
build-linux: run prebuild bootstrap before config
Mar 18, 2026
a448a92
build-linux: recreate external_api_keys template before flutter
Mar 18, 2026
0d36a9a
build-linux: force deterministic pkg-config libdir on nix
Mar 18, 2026
522f32c
linux: ignore deprecated literal operator warning as error
Mar 18, 2026
ad79a1e
linux: force local CMake install prefix for bundle builds
Mar 18, 2026
6e99dc7
linux: stage secp256k1 shared lib at CMake install path
Mar 18, 2026
6eb9856
linux: restore executable bit on secp256k1 builder
Mar 18, 2026
4e1a476
macos: add bootstrap target and install meson
Mar 18, 2026
a77eff0
macos: replace pbxproj UUID patching with xcconfig overrides
Mar 19, 2026
a219534
makefile: fallback to current dart/flutter when env path is stale
Mar 19, 2026
428fd61
macos build: split bootstrap from host-agnostic build path
Mar 19, 2026
124ae40
build(macos): harden make targets and unify req checks
Mar 19, 2026
3e0bc9f
docs(build): split nix vs non-nix flow and clarify bootstrap roles
Mar 19, 2026
86d2cf4
macos: auto-enable desktop support in local build home
Mar 19, 2026
aa19dab
build(macos): use .build-home and reassert desktop metadata before fi…
Mar 19, 2026
d47dcee
changing rust version requs
Mar 19, 2026
b027d40
build(macos): use Rust 1.94.0 for final pod/flutter compile
Mar 19, 2026
f5f3ae5
build(rust): align flake and macOS bootstrap to Rust 1.94.0
Mar 19, 2026
5b2b8e6
build(macos): ensure local stable rust toolchain is updated before fl…
Mar 19, 2026
a893a56
build(macos): switch defaults to stable and initialize local rustup f…
Mar 19, 2026
538ea15
build: run coinlib via flutter dart to honor Flutter SDK constraints
Mar 20, 2026
568d135
updating .gitignore: toolchain/state dirs
May 11, 2026
94ee769
adding rust default stable, drop 1.89.0
May 11, 2026
2c529c4
adding information on building: macos, nixos, linux
May 11, 2026
b4f7565
gitignore: ignore generated CodexOverrides.xcconfig and flutter-creat…
May 11, 2026
6b72f09
build(macos): remove flutter-create boilerplate test after platform r…
May 11, 2026
0f17367
flake(nix): pin Rust to stable + 1.85.1 and ensure clang symlinks
May 11, 2026
94e10ec
add MWC FFI integration smoke test and make test-mwc target
May 11, 2026
59975f2
add MWC FFI integration smoke test and make test-mwc target (2)
May 11, 2026
dba97dc
fix(macos): bundle GNU rsync in flake to fix release_unpack_macos
sneurlax May 12, 2026
cac32a1
build(macos): commit CodexOverrides.xcconfig include lines
sneurlax May 12, 2026
bbf41dc
build(nix): pin nixpkgs rev for reproducible toolchain
sneurlax May 12, 2026
ca05bf1
Merge remote-tracking branch 'origin/staging' into feat/make
sneurlax May 13, 2026
936192b
Add a Select Xcode step before the build that finds /Applications/Xco…
danrmiller May 13, 2026
594d230
CI: Change check-macos-sdk to validating that xcrun --sdk macosx --sh…
danrmiller May 13, 2026
75ed4bc
Update dart formatting for libmwc integration tests
danrmiller May 13, 2026
18b79fc
Merge branch 'staging' into feat/make
danrmiller May 13, 2026
411f4dc
Run MWC integration tests
danrmiller May 13, 2026
8ad98db
fix: add Rust toolchain to test-mwc target and port build.yaml macos …
danrmiller May 13, 2026
6d9566a
fix(linux): reconcile secp256k1 build script with staging
danrmiller May 14, 2026
1d9635d
Merge branch 'staging' into feat/make
danrmiller May 14, 2026
54e9ea0
Use nix flake for macos builds
danrmiller May 14, 2026
4777452
Add protobuf to common packages and export PROTOC on macOS in nix flake
danrmiller May 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .envrc
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
use flake
36 changes: 4 additions & 32 deletions .github/workflows/build.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -313,46 +313,18 @@ jobs:
echo "version=${VERSION}" >> $GITHUB_OUTPUT
echo "build_number=${BUILD_NUMBER}" >> $GITHUB_OUTPUT

- uses: subosito/flutter-action@v2
with:
flutter-version: '3.38.1'
channel: 'stable'

- uses: actions/setup-go@v5
- uses: cachix/install-nix-action@v27
with:
go-version: '1.24.13'

- name: Configure app
run: |
cd scripts
echo "yes" | ./build_app.sh \
-v "${{ steps.ver.outputs.version }}" \
-b "${{ steps.ver.outputs.build_number }}" \
-p macos -a stack_wallet -d -s

- name: Get dependencies
run: flutter pub get

- name: Create git_versions.dart stubs
run: |
mkdir -p crypto_plugins/flutter_libepiccash/lib
mkdir -p crypto_plugins/flutter_libmwc/lib

EPIC_TAG=$(git -C crypto_plugins/flutter_libepiccash describe --tags --exact-match HEAD 2>/dev/null || echo "dev")
MWC_TAG=$(git -C crypto_plugins/flutter_libmwc describe --tags --exact-match HEAD 2>/dev/null || echo "dev")

printf 'String getPluginVersion() => "%s";\n' "$EPIC_TAG" \
> crypto_plugins/flutter_libepiccash/lib/git_versions.dart
printf 'String getPluginVersion() => "%s";\n' "$MWC_TAG" \
> crypto_plugins/flutter_libmwc/lib/git_versions.dart
extra_nix_config: |
experimental-features = nix-command flakes

- name: Decode secrets
env:
CHANGE_NOW: ${{ secrets.CHANGE_NOW }}
run: echo "$CHANGE_NOW" | base64 --decode > lib/external_api_keys.dart

- name: Build
run: flutter build macos --release
run: nix develop --command make build-macos VERSION="${{ steps.ver.outputs.version }}" BUILD_NUM="${{ steps.ver.outputs.build_number }}"

- name: Package
run: |
Expand Down
19 changes: 19 additions & 0 deletions .github/workflows/test.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -81,3 +81,22 @@ jobs:
with:
token: ${{secrets.CODECOV_TOKEN}}
file: coverage/lcov.info

macos-fresh-build:
runs-on: macos-14
steps:
- name: Prepare repository
uses: actions/checkout@v4
with:
submodules: recursive

- uses: cachix/install-nix-action@v27
with:
extra_nix_config: |
experimental-features = nix-command flakes

- name: Fresh clone smoke build (macOS)
run: nix develop --command make build-macos VERSION=0.0.1 BUILD_NUM=1

- name: MWC FFI integration test
run: nix develop --command make test-mwc
13 changes: 13 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,9 +34,21 @@ Microsoft.Windows*
/build/
android/app/.cxx

# Nix / direnv / project-local toolchain state
.direnv/
.build-home/
.cargo-home/
.rustup-home/
.nix-bin/
.tmp/
.cache/

# Web related
lib/generated_plugin_registrant.dart

# Flutter create boilerplate that gets regenerated on `flutter create --platforms=macos .`
test/widget_test.dart

# testing data
test/services/coins/bitcoin/bitcoin_wallet_test_parameters.dart
test/services/coins/firo/firo_wallet_test_parameters.dart
Expand Down Expand Up @@ -91,6 +103,7 @@ pubspec.yaml
/linux/my_application.cc

/macos/Runner/Configs/AppInfo.xcconfig
/macos/Runner/Configs/CodexOverrides.xcconfig
/macos/Runner.xcodeproj/xcshareddata/xcschemes/Runner.xcscheme
/macos/Runner.xcodeproj/project.pbxproj
/macos/Runner/Assets.xcassets/AppIcon.appiconset/*.png
Expand Down
14 changes: 7 additions & 7 deletions .metadata
Original file line number Diff line number Diff line change
@@ -1,23 +1,23 @@
# This file tracks properties of this Flutter project.
# Used by Flutter tool to assess capabilities and perform upgrades etc.
#
# This file should be version controlled.
# This file should be version controlled and should not be manually edited.

version:
revision: f92f44110e87bad5ff168335c36da6f6053036e6
channel: stable
revision: "ff37bef603469fb030f2b72995ab929ccfc227f0"
channel: "stable"

project_type: app

# Tracks metadata for the flutter migrate command
migration:
platforms:
- platform: root
create_revision: f92f44110e87bad5ff168335c36da6f6053036e6
base_revision: f92f44110e87bad5ff168335c36da6f6053036e6
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
- platform: macos
create_revision: f92f44110e87bad5ff168335c36da6f6053036e6
base_revision: f92f44110e87bad5ff168335c36da6f6053036e6
create_revision: ff37bef603469fb030f2b72995ab929ccfc227f0
base_revision: ff37bef603469fb030f2b72995ab929ccfc227f0

# User provided section

Expand Down
Loading
Loading