# Do 'Go' applications belong in ports?



## Tabs (Feb 17, 2017)

I have been using gobench quite a lot recently for benchmarking some new Varnish caches, so I figured I would port it to FreeBSD. Now that I've finished (but not submitted) the port I'm not sure if it belongs or not, there's some (but not many) go applications in FreeBSD already.

The port had a few dependencies so I have ported in total:
go-compress
go-crc32
go-cupid
go-fasthttp
gobench

Am I creating unnecessary work here, or do people want to see stuff like this available in ports and packages?


----------



## Tabs (Feb 17, 2017)

I should add for those unfamiliar - 'Go' has a built in package/dependency manager which can be used to pull in packages.

So from a user perspective it's between this:
`GOPATH=/tmp/ go get github.com/valyala/fasthttp
GOPATH=/tmp/ go get github.com/cmpxchg16/gobench`
And this:
`pkg install gobench`

This is what we already have (including my ports):

```
find /usr/ports/ -type d -name "go-*"
/usr/ports/devel/go-fasthttp
/usr/ports/devel/go-slices
/usr/ports/devel/go-sql-driver
/usr/ports/devel/go-glide
/usr/ports/devel/go-metrics
/usr/ports/devel/go-bayesian
/usr/ports/devel/go-nuid
/usr/ports/devel/go-yaml
/usr/ports/devel/go-tools
/usr/ports/devel/go-raw
/usr/ports/devel/go-gocode
/usr/ports/devel/go-logrus
/usr/ports/devel/go-cpuid
/usr/ports/devel/go-json-rest
/usr/ports/devel/go-snappy
/usr/ports/devel/go-pretty
/usr/ports/devel/go-go.uuid
/usr/ports/devel/go-compress
/usr/ports/devel/go-uuid
/usr/ports/devel/go-faker
/usr/ports/devel/go-runewidth
/usr/ports/devel/go-codec
/usr/ports/devel/go-crc32
/usr/ports/devel/go-goregen
/usr/ports/devel/go-hashicorp-logutils
/usr/ports/devel/go-form
/usr/ports/devel/go-pflag
/usr/ports/devel/go-cobra
/usr/ports/devel/go-protobuf
/usr/ports/devel/go-bindata
/usr/ports/net/go-nats
/usr/ports/net/go-geoip
/usr/ports/net/go-httppath
/usr/ports/net/go-cs
/usr/ports/net/go-bapu
/usr/ports/net/go-httptreemux
/usr/ports/net/go-amqp
/usr/ports/net-p2p/go-ethereum
/usr/ports/deskutils/go-for-it
/usr/ports/textproc/go-text
/usr/ports/www/go-www
```


----------



## SirDice (Feb 17, 2017)

Tabs said:


> Am I creating unnecessary work here, or do people want to see stuff like this available in ports and packages?


Yes. A port will only be added to the ports tree if all its dependencies are met. Just look at the number of rubygem-* ports.

Porter's handbook: 15.34. go


----------



## Tabs (Feb 17, 2017)

SirDice said:


> Yes. A port will only be added to the ports tree if all its dependencies are met. Just look at the number of rubygem-* ports.
> 
> Porter's handbook: 15.34. go



Yeah good point regarding the ruby gems, I guess I'll submit them then.

You are helpful as ever sir!


----------

