Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Use cargokit for builds, generate Rust->C FFI bindings, and use official sources #61

Draft
wants to merge 55 commits into
base: main
Choose a base branch
from

Conversation

sneurlax
Copy link
Member

@sneurlax sneurlax commented Mar 12, 2025

Supercedes:

Added EpicCash/epic, EpicCash/epic-wallet, and cypherstack/epicbox as git subtrees and used each

To do:

Optionally:

Sub-issues:

  • delete git subtrees and replace them with submodules
    • cypherstack/epic
    • cypherstack/epic-wallet
    • cypherstack/epicbox
  • rename crates ... cs_epic_*
    stack_epic_*
    • cs_epic_util 1.0.1
    • cs_epic_keychain 1.0.1
    • cs_epic_core 1.0.1
    • cs_epic_store 1.0.1
    • cs_epic_chain 1.0.1
    • cs_epic_pool 1.0.2
    • cs_epic_p2p 1.0.2
    • cs_epic_api 1.0.1
    • cs_epic_servers 1.0.0
    • cs_epic_config 1.0.0
  • stack_test_epic*
    • cs_epic_util 0.0.1
    • cs_epic_keychain 0.0.1
    • cs_epic_core 0.0.1
    • cs_epic_store 0.0.1
    • cs_epic_chain 0.0.1
    • cs_epic_pool 0.0.1
    • cs_epic_p2p 0.0.1
    • cs_epic_api
    • cs_epic_servers
    • cs_epic_config
  • rename crates ... cs_epic_epicbox*
  • rename crates ... cs_epic_wallet_*
    • cs_epic_wallet_util 1.0.0
    • cs_epic_wallet_config 1.0.0
    • cs_epic_wallet_libwallet 1.0.1
    • cs_epic_wallet_impls 1.0.0
    • cs_epic_wallet_api 1.0.0
    • cs_epic_wallet_controller 1.0.0

Closes #15

breaking lib into smaller, better-organized pieces.
TODO remove/make debug prints conditional/situational (to eg. debug runs)
functionality to be re-added via irondash/cargokit
git-subtree-dir: cargokit
git-subtree-split: 918f28083f9ef24ce08b9e90d2c46e6a52812d5d
on underscores.

TODO rename to epic_wallet_ffi anyways.
sneurlax added 15 commits March 2, 2025 11:28
git-subtree-dir: rust
git-subtree-split: f4bd572a649598553692efeb2aa17984f0d78b5d
Used `git subtree add --prefix rust https://github.com/cypherstack/epic-ffi.git main --squash`

To push subtree changes upstream:

1. Make and commit your changes in the 'rust' directory.
2. Run:
   git subtree push --prefix rust https://github.com/cypherstack/epic-ffi.git main
2b8c2a,cf4f13
blacktyger/epic-wallet-rust-lib is a fork of cypherstack/flutter_libepiccash, so I couldn't just fork it as usual (as cypherstack/flutter_libepiccash of course already exists).  So this is a copy thereof
git-subtree-dir: rust/epic-wallet
git-subtree-split: 03fc494409742e001d2389f4f80b3389a80d7263
…-wallet'

Added as in `git subtree add --prefix=rust/epic-wallet https://github.com/EpicCash/epic-wallet.git master --squash`

Subtree maintenance:

- Add a subtree:  
  `git subtree add --prefix=<subdir> <remote-url> <branch> --squash`  

- Change a subtree’s remote (update from URL A to URL B):  
  Instead of relying on stored remotes, explicitly reference the new URL:  
  `git subtree pull --prefix=<subdir> <new-url> <branch> --squash`  

  (If needed, add a named remote first: `git remote add <new-remote> <new-url>`)  

- Remove a subtree:  
  `git rm -r <subdir>`  
  (Optionally, remove the remote: `git remote remove <remote>`)
git-subtree-dir: rust/epic
git-subtree-split: 07fa6e3c13d969c6fe4268253410359cac59666b
git-subtree-dir: rust/epicbox
git-subtree-split: 9ab9409fcdeb19428d8ffdc2a6e307a817ef7e6c
TODO: push to cypherstack/epicboxlib repo
@sneurlax sneurlax changed the title (4) Use official sources Reorganize codebase, add tests, fix example app, use cargokit for FFI bindings generation, and use official sources Mar 12, 2025
@sneurlax sneurlax changed the title Reorganize codebase, add tests, fix example app, use cargokit for FFI bindings generation, and use official sources Use cargokit for FFI bindings generation and use official sources Mar 17, 2025
@sneurlax sneurlax changed the title Use cargokit for FFI bindings generation and use official sources Use cargokit for build, generate C bindings, and use official sources Mar 17, 2025
@sneurlax sneurlax changed the title Use cargokit for build, generate C bindings, and use official sources Use cargokit for builds, generate C bindings, and use official sources Mar 17, 2025
@sneurlax sneurlax changed the title Use cargokit for builds, generate C bindings, and use official sources Use cargokit for builds, generate Rust->C FFI bindings, and use official sources Mar 17, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Use official sources
1 participant