On Wed, Mar 25, 2015, at 08:32 PM, Adam Wolk wrote: > On Sat, Mar 21, 2015, at 05:34 PM, Adam Wolk wrote: > > Hi ports@, > > > > $ cat gocover/pkg/DESCR > > Cover is a program for analyzing the coverage profiles > > generated by 'go test -coverprofile=cover.out'. > > > > Cover is also used by 'go test -cover' to rewrite > > the source code with annotations to track which parts > > of each function are executed. > > $ > > > > Most notably the tool is also required by goconvey > > (http://goconvey.co/). > > > > The reason for providing a port is the way the go tools are > > packaged by upstream which assumes that they will land > > in the $GOTOOLDIR which is outside the users folder (on my box > > it defaults to: /usr/local/go/pkg/tool/openbsd_386/). > > > > for details please see a previous thread: > > http://marc.info/?t=142686792400002&r=1&w=2 > > > > Testing: > > > > This port has been tested on a i386 snapshot of (Mar 19) OpenBSD 5.7 > > using go 1.4.1. > > > > $ go version > > go version go1.4.1 openbsd/386 > > > > Note that working with go requires raised limits or an altered > > login.conf. > > If your account is in staff you can change a terminal temporarily with: > > > > ulimit -n 512 > > ulimit -p 512 > > ulimit -d 2036792 > > > > if 'go version' results in: > > $ go version > > runtime: panic before malloc heap initialized > > fatal error: runtime: cannot reserve arena virtual address space > > > > runtime stack: > > runtime.throw(0x854ce92) > > /usr/local/go/src/runtime/panic.go:491 +0x83 fp=0xcfbc508c > > sp=0xcfbc5074 > > runtime.mallocinit() > > /usr/local/go/src/runtime/malloc.c:223 +0xe9 fp=0xcfbc50c8 > > sp=0xcfbc508c > > runtime.schedinit() > > /usr/local/go/src/runtime/proc.c:137 +0x34 fp=0xcfbc50e0 > > sp=0xcfbc50c8 > > runtime.rt0_go(0xcfbc5174, 0xfff, 0x85470a0, 0x0, 0x0, 0x0, 0x4c9d5d2b, > > 0xcfbc512c, 0xcfbc5170, 0xcfbc512c, ...) > > /usr/local/go/src/runtime/asm_386.s:100 +0xed fp=0xcfbc50e4 > > sp=0xcfbc50e0 > > $ > > > > Then you're limits are too low. > > > > > > Most desired tests are: > > - different architectures (not i386) > > - checking if I didn't miss anything > > - testing on a fresh system by installing go convey and running it with > > -cover=true > > > > What I am not sure about: > > - Duplicated code from lang/go (do-configure ; see below) > > - Correctness of do-install step > > - Port category (though I saw a lot of code coverage tools in devel > > group) > > - The way I fetch the common gotools distfile > > - The last point in the 'desired tests'. I had a global 'root' install > > of the cover tool > > without a port so I don't know if it installed anything else except > > the cover binary > > installing goconvey and running it with -cover=true on a fresh system > > would quickly > > reveal any stuff that I might have missed > > > > The biggest part to take away from this port is how the go upstream > > packages 'tools'. > > They want to install them in GOTOOLDIR where most users don't have > > permission for > > writing (/usr/local/go/pkg/openbsd_$arch) they are also packaged in the > > same repository > > with a single common download. > > > > Most notable of those tools might be: > > - cover for code coverage (this port) > > - godoc for documentation (textproc/godoc in ports@ mailing list) > > - oracle for code analysis (no port) > > possibly more interesting ones now & in the future. > > > > I already asked Stuart for a common download mirror with godoc (Thanks!) > > but I had to copy > > parts of lang/go to get the proper target directory for the go tools. My > > question to more experienced > > port maintainers is: 'Does the OpenBSD ports tree have a mechanism for > > common port components > > so other ports for go tools won't have to copy this again?' > > > > Additionally should it be treated differently? A single meta-port with > > flavours? Common namespace > > for all future tools? > > > > Regards, > > -- > > Adam Wolk > > adam.w...@koparo.com > > Email had 1 attachment: > > + gocover.tar.gz > > 2k (application/gzip) > > > Hi ports@, > > Attaching an updated port for devel/gocover based on initial feedback > and on > observations from similar ports (www/go-websocket / www/websocketd). > > Changes: > - SUBST_VARS & GO_PKG introduced to fix packaging for other platforms > (Thanks to Kent R. Spillner) > - Dropped GOOS, GOARCH, GOROOT > - Dropped arch detecting and unused variables copied from lang/go > - Dropped 'do-configure' step > > Additional tests performed with the port: > - I removed my lang/go and all data to confirm that the binary is the > only required artifact > - Tested with goconvey (confirm properly detected cover tool when the > port is installed) > > Regards, > Adam Wolk > Email had 1 attachment: > + gocover.tar.gz > 1k (application/x-tar-gz)
Ping. Regards, Adam