svn commit: r467343 - in head/biology: . tabixpp tabixpp/files

Jason W. Bacon jwb at FreeBSD.org
Sat Apr 14 23:52:18 UTC 2018


Author: jwb
Date: Sat Apr 14 23:52:16 2018
New Revision: 467343
URL: https://svnweb.freebsd.org/changeset/ports/467343

Log:
  biology/tabixpp: C++ wrapper to tabix indexer
  
  Reviewed by:    mat
  Approved by:    jrm (mentor)
  Differential Revision:  https://reviews.freebsd.org/D14977

Added:
  head/biology/tabixpp/
  head/biology/tabixpp/Makefile   (contents, props changed)
  head/biology/tabixpp/distinfo   (contents, props changed)
  head/biology/tabixpp/files/
  head/biology/tabixpp/files/Makefile   (contents, props changed)
  head/biology/tabixpp/pkg-descr   (contents, props changed)
Modified:
  head/biology/Makefile

Modified: head/biology/Makefile
==============================================================================
--- head/biology/Makefile	Sat Apr 14 22:17:53 2018	(r467342)
+++ head/biology/Makefile	Sat Apr 14 23:52:16 2018	(r467343)
@@ -115,6 +115,7 @@
     SUBDIR += stacks
     SUBDIR += tRNAscan-SE
     SUBDIR += t_coffee
+    SUBDIR += tabixpp
     SUBDIR += tinker
     SUBDIR += treepuzzle
     SUBDIR += trimadap

Added: head/biology/tabixpp/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/tabixpp/Makefile	Sat Apr 14 23:52:16 2018	(r467343)
@@ -0,0 +1,36 @@
+# $FreeBSD$
+
+PORTNAME=	tabixpp
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.0.0-10
+DISTVERSIONSUFFIX=	-g6bbe690
+CATEGORIES=	biology
+
+MAINTAINER=	jwb at FreeBSD.org
+COMMENT=	C++ wrapper to tabix indexer
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+LIB_DEPENDS=	libhts.so:biology/htslib
+
+USES=		localbase:ldflags
+USE_LDCONFIG=	yes
+USE_GITHUB=	yes
+GH_ACCOUNT=	ekg
+
+# Disable bundled htslib
+MAKE_ENV=	HTS_HEADERS='' HTS_LIB=''
+MAKEFILE=	${FILESDIR}/Makefile
+INSTALL_TARGET=	install-strip
+PLIST_FILES=	bin/tabix++ \
+		include/tabix.hpp \
+		lib/libtabix.a \
+		lib/libtabix.so \
+		lib/libtabix.so.1
+
+post-install:
+	${RLN} ${STAGEDIR}${PREFIX}/lib/libtabix.so.1 \
+		${STAGEDIR}${PREFIX}/lib/libtabix.so
+
+.include <bsd.port.mk>

Added: head/biology/tabixpp/distinfo
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/tabixpp/distinfo	Sat Apr 14 23:52:16 2018	(r467343)
@@ -0,0 +1,3 @@
+TIMESTAMP = 1522943679
+SHA256 (ekg-tabixpp-v1.0.0-10-g6bbe690_GH0.tar.gz) = 3a83517f77da15bfd48e6fbaa860560e0f1927254c9f1c332759fe086f65154a
+SIZE (ekg-tabixpp-v1.0.0-10-g6bbe690_GH0.tar.gz) = 3694

Added: head/biology/tabixpp/files/Makefile
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/tabixpp/files/Makefile	Sat Apr 14 23:52:16 2018	(r467343)
@@ -0,0 +1,86 @@
+
+# Use ?= to allow overriding from the env or command-line, e.g.
+#
+#       make CXXFLAGS="-O3 -fPIC" install
+#
+# Package managers will override many of these variables automatically, so
+# this is aimed at making it easy to create packages (Debian packages,
+# FreeBSD ports, MacPorts, pkgsrc, etc.)
+
+CC ?=		cc
+CXX ?= 		c++
+CXXFLAGS ?=	-g -Wall -O2 #-m64 #-arch ppc
+CXXFLAGS +=	-fPIC
+INCLUDES ?=	-Ihtslib
+HTS_HEADERS ?=	htslib/htslib/bgzf.h htslib/htslib/tbx.h
+HTS_LIB ?=	htslib/libhts.a
+LDFLAGS ?=	-Lhtslib
+LDFLAGS +=	-L.
+
+DESTDIR ?=	stage
+PREFIX ?=	/usr/local
+STRIP ?=	strip
+INSTALL ?=	install -c
+MKDIR ?=	mkdir -p
+AR ?=		ar
+
+DFLAGS =	-D_FILE_OFFSET_BITS=64 -D_USE_KNETFILE
+BIN =		tabix++
+LIB =		libtabix.a
+SOVERSION =	1
+SLIB =		libtabix.so.$(SOVERSION)
+OBJS =		tabix.o
+SUBDIRS =	.
+
+.SUFFIXES:.c .o
+
+.c.o:
+	$(CC) -c $(CXXFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
+
+all-recur lib-recur clean-recur cleanlocal-recur install-recur:
+	@target=`echo $@ | sed s/-recur//`; \
+	wdir=`pwd`; \
+	list='$(SUBDIRS)'; for subdir in $$list; do \
+		cd $$subdir; \
+		$(MAKE) CC="$(CC)" DFLAGS="$(DFLAGS)" CXXFLAGS="$(CXXFLAGS)" \
+			INCLUDES="$(INCLUDES)" LDFLAGS="$(LDFLAGS)" $$target \
+			|| exit 1; \
+		cd $$wdir; \
+	done;
+
+all:	$(BIN) $(LIB) $(SLIB)
+
+tabix.o: $(HTS_HEADERS) tabix.cpp tabix.hpp
+	$(CXX) $(CXXFLAGS) -c tabix.cpp $(INCLUDES)
+
+htslib/libhts.a:
+	cd htslib && $(MAKE) lib-static
+
+$(LIB): $(OBJS)
+	$(AR) rs $(LIB) $(OBJS)
+
+$(SLIB): $(OBJS)
+	$(CXX) -shared -Wl,-soname,$(SLIB) -o $(SLIB) $(OBJS)
+
+tabix++: $(OBJS) main.cpp $(HTS_LIB)
+	$(CXX) $(CXXFLAGS) -o $@ main.cpp $(OBJS) $(INCLUDES) $(LDFLAGS) \
+		-lhts -lpthread -lm -lz
+
+install: all
+	$(MKDIR) $(DESTDIR)$(PREFIX)/bin
+	$(MKDIR) $(DESTDIR)$(PREFIX)/include
+	$(MKDIR) $(DESTDIR)$(PREFIX)/lib
+	$(INSTALL) $(BIN) $(DESTDIR)$(PREFIX)/bin
+	$(INSTALL) *.hpp $(DESTDIR)$(PREFIX)/include
+	$(INSTALL) $(LIB) $(SLIB) $(DESTDIR)$(PREFIX)/lib
+
+install-strip: install
+	$(STRIP) $(DESTDIR)$(PREFIX)/bin/$(BIN) $(DESTDIR)$(PREFIX)/lib/$(SLIB)
+
+cleanlocal:
+	rm -rf $(BIN) $(LIB) $(SLIB) $(OBJS) $(DESTDIR)
+	rm -fr gmon.out *.o a.out *.dSYM $(BIN) *~ *.a tabix.aux tabix.log \
+		tabix.pdf *.class libtabix.*.dylib
+	cd htslib && $(MAKE) clean
+
+clean: cleanlocal-recur

Added: head/biology/tabixpp/pkg-descr
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ head/biology/tabixpp/pkg-descr	Sat Apr 14 23:52:16 2018	(r467343)
@@ -0,0 +1,5 @@
+This is a C++ wrapper around tabix project which abstracts some of the details
+of opening and jumping in tabix-indexed files. Tabix is a generic indexer for
+TAB-delimited genome position files.
+
+WWW: https://github.com/ekg/tabixpp


More information about the svn-ports-head mailing list