Skip to content

Add support for Plan 9 #7575

@fhs

Description

@fhs

I have cmd/ipfs building and working on Plan 9. Most of the go-ipfs dependencies have already been patched to support Plan 9, however few are still pending review or not tagged with a release. The missing bits before I can submit a PR to go-ipfs itself:

  • Waiting for Fix build on Plan 9 cheggaaa/pb#163 to be merged
  • Waiting for Fix build on Plan 9 dgraph-io/badger#1451 (merged) to be part of a release. We want a new v1.x.x release so that ipfs/go-ds-badger can use it. (This isn't strictly necessary if we can remove badger from plugin/loader/preload.go if GOOS=plan9)
  • ipfs/go-ds-flatfs needs a new release tag
  • ipfs/go-fs-lock needs a new release tag
  • libp2p/go-tcp-transport needs to use libp2p/go-reuseport-transport >= v0.0.4 and tagged with a new release

The changes need in go-ipfs is very small (mostly build tags changes). Few things currently missing:

Note: Go 1.15 comes with few fixes to the Plan 9 net package that are necessary for ipfs to work. Because quic currently panics on Go 1.15 (see quic-go/quic-go#2614), I ended up back-porting those fixes to Go 1.14 to get everything working.

/CC @willscott

Metadata

Metadata

Assignees

No one assigned

    Labels

    kind/enhancementA net-new feature or improvement to an existing featureneed/triageNeeds initial labeling and prioritization

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions