Stabilize Python builds and improve CLI tool usability#179
Open
Manamama-Gemini-Cloud-AI-01 wants to merge 31 commits into
Open
Stabilize Python builds and improve CLI tool usability#179Manamama-Gemini-Cloud-AI-01 wants to merge 31 commits into
Manamama-Gemini-Cloud-AI-01 wants to merge 31 commits into
Conversation
This commit resolves several issues that prevented the project from building and running correctly on Android via Termux. The key changes are: - **Updated CMake version:** The `CMakeLists.txt` is updated to require CMake 3.10+, which is necessary for modern builds. - **Android Audio Fix:** The documentation in `README.md` and `GEMINI.md` now provides the correct instructions to use the native Android audio backend by installing the `portaudio-static` package. This resolves the session-crashing bugs caused by the incorrect `libportaudio.so`. - **Submodule Update:** The `ggsock` submodule has been updated. - **Documentation:** A new `GEMINI.md` file has been added to document the debugging journey and the final, successful architecture. With these changes, the project is now fully functional on Android, enabling the use of the audio examples for data transmission.
This commit includes: - Additional updates to GEMINI.md, incorporating details about the ggsock submodule. - Commits the current state of the ggsock submodule.
This commit performs the following cleanup and updates: - Deletes .clang-format and README-tmpl.md to align with upstream. - Updates the ggsock submodule to its current state.
…submodule This commit updates GEMINI.md to document the unresolved compilation error related to the ggsock submodule. It also stages the current state of the ggsock submodule.
This commit adds an execute_process command to the top-level CMakeLists.txt to automatically initialize and update Git submodules during the CMake configuration step. This resolves issues where submodules might not be properly cloned or updated, leading to compilation errors on other machines.
- Patched ggwave-cli to handle EOF gracefully and exit after transmission (fixes infinite loop when piped). - Added install directives for ggwave-cli and ggwave-to-file in CMake. - Fixed SyntaxError in bindings/python/setup-tmpl.py. - Updated bindings/python/Makefile to avoid name collisions with 'cog' binary. - Added GGWave_txPlaying() helper for graceful CLI exit. - Comprehensive overhaul of README.md and README-tmpl.md for better clarity and robustness.
added 5 commits
May 17, 2026 17:08
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR addresses several stability and usability issues to ensure a smooth experience for both developers and standard users.
Key Improvements:
1. CLI Tool Usability (Pipe Support)
ggwave-clito detect the end of the input stream (EOF) when piped. It no longer enters an infinite "Re-sending" loop.GGWave_txPlaying()helper to ensure the tool waits for the audio buffer to finish playing before exiting.echo "All is done" | ggwave-clinow works as expected.2. Python Binding Stability
SyntaxErrorinsetup-tmpl.pyregarding thelong_descriptionassignment.Makefileto prioritizepython3 -m cogapp. This prevents build failures on systems where the ReplicatecogCLI is also installed.3. Build & Installation
installdirectives forggwave-cliandggwave-to-file. These are now installed to the system path by default.ggwave-cliagainst SDL2.4. Documentation
README.md(and the template) to clearly distinguish between standard user installation (pip install) and source-based development (--no-build-isolation).