flatpak-go-mod

command module
v0.0.0-...-a603e24 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 23, 2024 License: MIT Imports: 12 Imported by: 0

README

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

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL