OK sthen@ to import. Any takers? I've reattached the tgz to make it easier.


On 2015/04/04 19:12, Adam Wolk wrote:
> 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
> 

Attachment: gocover.tar.gz
Description: application/tar-gz

Reply via email to