Page MenuHomeFreeBSD

biology/stacks: Software pipeline for building loci from short-read sequences
ClosedPublic

Authored by jwb on Mar 28 2018, 5:25 PM.

Details

Summary

biology/stacks: Software pipeline for building loci from short-read sequences
Approved by jrm (mentor) or wen (mentor)
Differential to be added to commit message

Test Plan

Passed pkglint -A, stage-qa, poudriere {10.3,11.1}-{amd64,i386}
Tested by researchers

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Lint Not Applicable
Unit
Tests Not Applicable

Event Timeline

I notice some perl and php files in pkg-plist. Looking at http://catchenlab.life.illinois.edu/stacks/manual-v1/#install they describe some other dependencies. How important is the database and web interface functionality? A run-time dependency on a web server is probably over the top, but maybe a note in pkg-message saying something like, "If you want support for these extras, install...".

biology/stacks/Makefile
18 ↗(On Diff #40847)

+=?
GNU_CONFIGURE=yes in the Standard bsd.port.mk Variables block with the LDFLAGS assignment?

Good idea. We don't use stacks directly here, only as a dependency for ddocent, which people run on our clusters. I'll take a look at how it might be used on a desktop machine and make some adjustments along the line you suggested.

biology/stacks/Makefile
18 ↗(On Diff #40847)

Technically, GNU_CONFIGURE includes USE_CONFIGURE, so having it in the USES block is all right.

Here's the best I can come up with short of setting up a web server and
testing, which I don't have time for. I'm not sure we have anyone here who
would know how to use it anyway. At least this points potential users in
the right direction.

Regarding GNU_CONFIGURE: Yeah, I've always read this as "USES_GNU_CONFIGURE", so it seems logical to keep it in the USES section. Thanks...

Ok, just the += to = and I will sign off.

Are you referring to LDFLAGS+=? If so, I think that should be left as-is.

Mathieu's recent comment:

Old habit. I came under the impression long ago that using CONFIGURE_ARGS=
instead of CONFIGURE_ARGS+= would clobber args injected by the ports system,
and I transferred the same habit to cmake. This doesn't appear to be true
anymore, if it ever was.

Time to break the habit. Thanks for the heads-up.

The only variables that you must use += for are the ones you usually set
in make.conf like CFLAGS.

Seems to always be done this way as well:

<<<ROOT@cray.acadix>>> /usr/ports/biology/stacks 1017 # port-grep ^LDFLAGS
accessibility/caribou/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
accessibility/mousetweaks/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
accessibility/orca/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
accessibility/speech-dispatcher/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
archivers/advancecomp/Makefile:LDFLAGS+= -L${LOCALBASE}/lib -lzopfli
archivers/grzip/Makefile:LDFLAGS+= -L${LOCALBASE}/lib -lintl
archivers/libarchive/Makefile:LDFLAGS+= "-L${LOCALBASE}/lib"
archivers/lrzip/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
archivers/lzop/Makefile:LDFLAGS+= -L${LOCALBASE}/lib
archivers/p5-Compress-LZO/Makefile:LDFLAGS+= -L${LOCALBASE}/lib

Thanks...

Oh yes. I was just checking to make sure you were paying attention. :-P

I did actually test with make -C/usr/ports/biology/stacks -VLDFLAGS, with = and +=, but because I initially misunderstood @mat's comment, my test was flawed. I thought he meant when setting the value in make.conf use +=, but I now see that is wrong. Sorry.

This revision is now accepted and ready to land.Mar 31 2018, 1:04 AM

Yes, I was focused this time around. I've always been good during exams. ;-)

This revision was automatically updated to reflect the committed changes.