Page MenuHomeFreeBSD

biology/tabixpp: C++ wrapper to tabix indexer
ClosedPublic

Authored by jwb on Apr 5 2018, 4:13 PM.

Details

Summary

biology/tabixpp: C++ wrapper to tabix indexer

First of several submodules for wip/vcflib that I unbundled. files/Makefile
is a generalized version of their Makefile that was not accepted by upstream.
They pulled a few of my merge requests for other things and then seemed to
lose interest in the idea of supporting package managers, so I think the
Makefile will have to live in the port.

Approved by jrm (mentor) or wen (mentor)
Differential to be added to commit message

Test Plan

portlint -A: looks fine
Passed poudriere on {10.3,11.1}-{amd64,i386}
Tested in production as dependency of ddocent

Diff Detail

Repository
rP FreeBSD ports repository
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

biology/tabixpp/Makefile
4–5 ↗(On Diff #41137)
DISTVERSIONPREFIX=	v
DISTVERSION=	1.0.0-10
6 ↗(On Diff #41137)

-wip

16–19 ↗(On Diff #41137)

I think the USES and USE_x block could be

USES=		localbase:ldflags
USE_GITHUB=	yes
GH_ACCOUNT=	ekg
USE_LDCONFIG=	yes

then the Standard bsd.port.mk Variables block could be

# Disable bundled htslib
MAKE_ENV=	HTS_HEADERS='' HTS_LIB=''
INSTALL_TARGET=	install-strip
PLIST_FILES=	bin/tabix++ \
		include/tabix.hpp \
		lib/libtabix.a \
		lib/libtabix.so \
		lib/libtabix.so.1

localbase:ldflags is what I was looking for...

I was surprised I needed to ammend CXXFLAGS and LDFLAGS here. Have to explore
that a little further. Forgot to run port-check outside wip again, hence the
wip category. More distractions today. Thanks.

biology/tabixpp/Makefile
31–32 ↗(On Diff #41145)
MAKEFILE=${FILESDIR}/Makefile
35 ↗(On Diff #41145)

Possibly:

${RLN} ${STAGEDIR}${PREFIX}/libtabix.so.1 ${STAGEDIR}${PREFIX}/libtabix.so

Interesting. I would not have thought to use anything outside WRKSRC in the
build.

With RLN:

install -l rs /usr/ports/biology/tabixpp/work/stage/usr/local/libtabix.so.1 /usr/ports/biology/tabixpp/work/stage/usr/local/libtabix.so
install: /usr/ports/biology/tabixpp/work/stage/usr/local/libtabix.so.1: realpath: No such file or directory

  • Error code 71

The RLN command is actually longer anyway, and wraps. I'm a neat freak so
I prefer the (cd ...) in this case.

biology/tabixpp/Makefile
35 ↗(On Diff #41145)

This works, it's just the path is wrong. It should be

${RLN} ${STAGEDIR}${PREFIX}/lib/libtabix.so.1 ${STAGEDIR}${PREFIX}/lib/libtabix.so

Apparently @mat is human.

See the "Handling Symbolic Links" section of the PH.

This revision is now accepted and ready to land.Apr 6 2018, 2:46 PM

Human because he expected me to notice the missing lib/? ;-)

On second thought, consistent use of available features trumps cosmetic
neatness.

This revision now requires review to proceed.Apr 7 2018, 10:26 PM
This revision is now accepted and ready to land.Apr 7 2018, 10:30 PM
This revision was automatically updated to reflect the committed changes.