DEV Community

Cover image for The Day I Merged 6 Go Packages Into Termux Before Dinner 🐹
Gouranga Das Samrat
Gouranga Das Samrat

Posted on

The Day I Merged 6 Go Packages Into Termux Before Dinner 🐹

I didn't wake up planning to get six pull requests merged. I just wanted to add one missing Go tool to termux/termux-packages. Then I figured, while I'm in here, why not bring the rest of my Go toolkit along too? A few hours and six PRs later, all of them were sitting in main.

Here's how it went down β€” and what actually shipped.

What Landed

Termux users can now pkg install a proper Go developer toolkit, straight from the official repo:

Six packages, one theme: making Termux a real place to write Go.

The Curveball: A Last-Minute Rebase

Right as review was wrapping up, maintainer @robertkirkman asked for something I hadn't planned for: rebase and force-push all six PRs so they'd recompile against the just-released Go 1.27.0. You can see the ask in the goimports thread.

No arguing with that logic β€” better to ship on the latest compiler than patch it later. I rebased all six branches, force-pushed, and got a quick "Thank you!" in response. Not long after, the merges started coming in one by one.

Proof It's Real

Once everything landed, I ran the most satisfying command in the Termux workflow β€” pkg show β€” against all six:

Package: goimports        | 0.49.0  | https://pkg.go.dev/golang.org/x/tools/cmd/goimports
Package: golangci-lint    | 2.13.1  | https://golangci-lint.run/
Package: air              | 1.67.4  | https://github.com/air-verse/air
Package: gotests           | 1.9.0   | https://github.com/cweill/gotests
Package: goreleaser        | 2.17.1  | https://goreleaser.com
Package: govulncheck       | 1.1.4   | https://pkg.go.dev/golang.org/x/vuln/cmd/govulncheck
Enter fullscreen mode Exit fullscreen mode

Six for six. All installable right now with:

pkg install goimports golangci-lint air gotests goreleaser govulncheck
Enter fullscreen mode Exit fullscreen mode

What I'd Tell Someone Trying This Themselves

Batch related packages together. Reviewers can apply one piece of feedback β€” like a compiler bump β€” across the whole set instead of repeating themselves six times.

Move fast on review feedback. The gap between "please rebase" and "rebased and pushed" is often the difference between a PR that merges today and one that sits for a week.

Don't underestimate the boring packages. None of these tools are glamorous. Together, though, they turn a phone into a legitimate Go dev environment.

Thanks to @robertkirkman and the rest of the termux/termux-packages team for the fast, thorough reviews. More packages coming soon.


Working on a Go tool you think Termux is missing? Tell me about it in the comments β€” I'm always looking for the next PR.

Top comments (0)