git: 964411795080 - main - biology/bifrost: Parallel tool for de Bruijn graphs

From: Jason W. Bacon <jwb_at_FreeBSD.org>
Date: Fri, 07 Jul 2023 13:38:24 UTC
The branch main has been updated by jwb:

URL: https://cgit.FreeBSD.org/ports/commit/?id=964411795080849c96f95a7ce315e1b230b9b93a

commit 964411795080849c96f95a7ce315e1b230b9b93a
Author:     Jason W. Bacon <jwb@FreeBSD.org>
AuthorDate: 2023-07-07 13:37:33 +0000
Commit:     Jason W. Bacon <jwb@FreeBSD.org>
CommitDate: 2023-07-07 13:38:22 +0000

    biology/bifrost: Parallel tool for de Bruijn graphs
    
    Bifrost is a tool and API for parallel construction, indexing and
    querying of colored and compacted de Bruijn graphs from FASTA/FASTQ
    DNA/RNA sequence files.
---
 biology/Makefile                                   |  1 +
 biology/bifrost/Makefile                           | 18 ++++++++
 biology/bifrost/distinfo                           |  3 ++
 .../bifrost/files/patch-src_strict__fstream.hpp    | 11 +++++
 biology/bifrost/pkg-descr                          |  3 ++
 biology/bifrost/pkg-plist                          | 53 ++++++++++++++++++++++
 6 files changed, 89 insertions(+)

diff --git a/biology/Makefile b/biology/Makefile
index c8654fab2077..fe34cafefca7 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -15,6 +15,7 @@
     SUBDIR += bcftools
     SUBDIR += bedtools
     SUBDIR += bfc
+    SUBDIR += bifrost
     SUBDIR += bio-mocha
     SUBDIR += bioawk
     SUBDIR += biococoa
diff --git a/biology/bifrost/Makefile b/biology/bifrost/Makefile
new file mode 100644
index 000000000000..1ca58622a09a
--- /dev/null
+++ b/biology/bifrost/Makefile
@@ -0,0 +1,18 @@
+PORTNAME=	bifrost
+DISTVERSIONPREFIX=	v
+DISTVERSION=	1.2.1
+CATEGORIES=	biology
+
+MAINTAINER=	jwb@FreeBSD.org
+COMMENT=	Parallel construction, indexing and querying of de Bruijn graphs
+WWW=		https://github.com/pmelsted/bifrost
+
+LICENSE=	BSD2CLAUSE
+LICENSE_FILE=	${WRKSRC}/LICENSE
+
+USES=		cmake
+USE_GITHUB=	yes
+
+GH_ACCOUNT=	pmelsted
+
+.include <bsd.port.mk>
diff --git a/biology/bifrost/distinfo b/biology/bifrost/distinfo
new file mode 100644
index 000000000000..f92944f13d87
--- /dev/null
+++ b/biology/bifrost/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1688397139
+SHA256 (pmelsted-bifrost-v1.2.1_GH0.tar.gz) = fe93080ef3ea71ff009fc206b5c17dd40fbfd18293000621a83d7d947dfedf1a
+SIZE (pmelsted-bifrost-v1.2.1_GH0.tar.gz) = 905438
diff --git a/biology/bifrost/files/patch-src_strict__fstream.hpp b/biology/bifrost/files/patch-src_strict__fstream.hpp
new file mode 100644
index 000000000000..e3b3caf35931
--- /dev/null
+++ b/biology/bifrost/files/patch-src_strict__fstream.hpp
@@ -0,0 +1,11 @@
+--- src/strict_fstream.hpp.orig	2023-07-03 15:14:36 UTC
++++ src/strict_fstream.hpp
+@@ -64,7 +64,7 @@ static std::string strerror()
+     } else {
+         return "Unknown error (" + std::to_string(err_num) + ")";
+     }
+-#elif ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || defined(__APPLE__) || defined(__MUSL__)
++#elif ((_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) && ! _GNU_SOURCE) || defined(__APPLE__) || defined(__MUSL__) || defined(__FreeBSD__)
+ // XSI-compliant strerror_r()
+     const int err_num = errno; // See above
+     if (strerror_r(err_num, buff.data(), buff.size()) == 0) {
diff --git a/biology/bifrost/pkg-descr b/biology/bifrost/pkg-descr
new file mode 100644
index 000000000000..68c41b2f44fc
--- /dev/null
+++ b/biology/bifrost/pkg-descr
@@ -0,0 +1,3 @@
+Bifrost is a tool and API for parallel construction, indexing and
+querying of colored and compacted de Bruijn graphs from FASTA/FASTQ
+DNA/RNA sequence files.
diff --git a/biology/bifrost/pkg-plist b/biology/bifrost/pkg-plist
new file mode 100644
index 000000000000..7d555618743c
--- /dev/null
+++ b/biology/bifrost/pkg-plist
@@ -0,0 +1,53 @@
+bin/Bifrost
+include/bifrost/BitContainer.hpp
+include/bifrost/BlockedBloomFilter.hpp
+include/bifrost/ColorSet.hpp
+include/bifrost/ColoredCDBG.hpp
+include/bifrost/ColoredCDBG.tcc
+include/bifrost/Common.hpp
+include/bifrost/CompactedDBG.hpp
+include/bifrost/CompactedDBG.tcc
+include/bifrost/CompressedCoverage.hpp
+include/bifrost/CompressedSequence.hpp
+include/bifrost/DataAccessor.hpp
+include/bifrost/DataAccessor.tcc
+include/bifrost/DataManager.hpp
+include/bifrost/DataStorage.hpp
+include/bifrost/DataStorage.tcc
+include/bifrost/FASTX_Parser.hpp
+include/bifrost/File_Parser.hpp
+include/bifrost/GFA_Parser.hpp
+include/bifrost/IO.tcc
+include/bifrost/Kmer.hpp
+include/bifrost/KmerCovIndex.hpp
+include/bifrost/KmerCovIndex.tcc
+include/bifrost/KmerHashTable.hpp
+include/bifrost/KmerIterator.hpp
+include/bifrost/KmerStream.hpp
+include/bifrost/Lock.hpp
+include/bifrost/MinimizerIndex.hpp
+include/bifrost/NeighborIterator.hpp
+include/bifrost/NeighborIterator.tcc
+include/bifrost/RepHash.hpp
+include/bifrost/Search.tcc
+include/bifrost/StreamCounter.hpp
+include/bifrost/TinyBitmap.hpp
+include/bifrost/TinyVector.hpp
+include/bifrost/Unitig.hpp
+include/bifrost/UnitigIterator.hpp
+include/bifrost/UnitigIterator.tcc
+include/bifrost/UnitigMap.hpp
+include/bifrost/UnitigMap.tcc
+include/bifrost/getRSS.h
+include/bifrost/kseq.h
+include/bifrost/libdivide.h
+include/bifrost/libpopcnt.h
+include/bifrost/minHashIterator.hpp
+include/bifrost/roaring.h
+include/bifrost/roaring.hh
+include/bifrost/rw_spin_lock.h
+include/bifrost/strict_fstream.hpp
+include/bifrost/wyhash.h
+include/bifrost/zstr.hpp
+lib/libbifrost.a
+lib/libbifrost.so