You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Is your feature request related to a problem? Please describe.
The current codebase requires CGo to be compiled, which means that binaries cannot be statically compiled and cross-compilation is complex.
This is especially complex for contributors who are trying to build updated Docker images.
Describe the solution you'd like
I would like to be able to compile stash without CGo, to be able to cross-compile. I'm especially interested in building for Linux and Docker.
There are 2 dependencies that depend on CGo:
https://github.com/kermieisinthehouse/systray -> This is already "optional" and only used on Mac and Windows, so isn't useful for Docker users. We can use build tags to exclude it if CGo is available AND building for Windows or Mac.
https://github.com/mattn/go-sqlite3 -> Can be replaced with (modernc.org/sqlite)[https://pkg.go.dev/modernc.org/sqlite], which is pure-Go. It's almost a drop-in replacement, but it will require some changes to how user-defined SQLite functions are loaded (they are supported by this package but the code needs to change slightly).
Describe alternatives you've considered
Continue to cross-compile, which is especially painful when trying to build Docker images.
Additional context
Should make it easier for contributors to the project.
The text was updated successfully, but these errors were encountered:
Is your feature request related to a problem? Please describe.
The current codebase requires CGo to be compiled, which means that binaries cannot be statically compiled and cross-compilation is complex.
This is especially complex for contributors who are trying to build updated Docker images.
Describe the solution you'd like
I would like to be able to compile stash without CGo, to be able to cross-compile. I'm especially interested in building for Linux and Docker.
There are 2 dependencies that depend on CGo:
Describe alternatives you've considered
Continue to cross-compile, which is especially painful when trying to build Docker images.
Additional context
Should make it easier for contributors to the project.
The text was updated successfully, but these errors were encountered: