Skip to content

CLI tool to generate Flatpak sources directives for Go modules

License

Notifications You must be signed in to change notification settings

dennwc/flatpak-go-mod

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Flatpak Go modules helper

This CLI tool generates Flatpak sources directives for Go modules.

It helps avoid exposing network access to Flatpak build step, which is one of the requirements for publishing to Flathub.

Usage

go run github.com/dennwc/flatpak-go-mod@latest ./path/to/your/project

It will generate following files: go.mod.yml and modules.txt.

Contents of go.mod.yml should be copied into sources directives of Flatpak YAML. These directives will populate ./vendor during Flatpak build with all dependencies of your project, downloading them directly from Go modules mirror.

The modules.txt file should be copied into your Flatpak directory, which will be added to ./vendor directory during Flatpak build as well.

Then, build your Go project as usual. It should detect vendor directory automatically. You can also pass -mod=vendor to force vendoring mode during build.

Output

# Workaround for Go modules generated by github.com/dennwc/flatpak-go-mod
- type: file
  path: modules.txt
  dest: vendor

- type: archive
  url: https://proxy.golang.org/golang.org/x/mod/@v/v0.7.0.zip
  strip-components: 3
  dest: vendor/golang.org/x/mod
  sha256: 24abd1db13329873d72034dc27efad09cbc37d39cf28b8ff7bb3c2adc8eedef7

Options

  • line-pref customizes indentation in YAML file
  • dest-pref sets a prefix for sources.dest paths in YAML file

License

MIT

About

CLI tool to generate Flatpak sources directives for Go modules

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages