git: 086a436ba451 - main - biology/fermi-lite: New port: Library anf tool for assembling Illumina short reads in small regions

From: Yuri Victorovich <yuri_at_FreeBSD.org>
Date: Sat, 03 Aug 2024 08:27:34 UTC
The branch main has been updated by yuri:

URL: https://cgit.FreeBSD.org/ports/commit/?id=086a436ba4517c1f068a99669a9aabc727ebf2df

commit 086a436ba4517c1f068a99669a9aabc727ebf2df
Author:     Yuri Victorovich <yuri@FreeBSD.org>
AuthorDate: 2024-08-03 05:31:51 +0000
Commit:     Yuri Victorovich <yuri@FreeBSD.org>
CommitDate: 2024-08-03 08:27:25 +0000

    biology/fermi-lite: New port: Library anf tool for assembling Illumina short reads in small regions
---
 biology/Makefile             |  1 +
 biology/fermi-lite/Makefile  | 39 +++++++++++++++++++++++++++++++++++++++
 biology/fermi-lite/distinfo  |  3 +++
 biology/fermi-lite/pkg-descr |  8 ++++++++
 4 files changed, 51 insertions(+)

diff --git a/biology/Makefile b/biology/Makefile
index 2a6da67d4b30..faa2b7ac520f 100644
--- a/biology/Makefile
+++ b/biology/Makefile
@@ -60,6 +60,7 @@
     SUBDIR += fastqc
     SUBDIR += fasttree
     SUBDIR += fastx-toolkit
+    SUBDIR += fermi-lite
     SUBDIR += figtree
     SUBDIR += flash
     SUBDIR += fluctuate
diff --git a/biology/fermi-lite/Makefile b/biology/fermi-lite/Makefile
new file mode 100644
index 000000000000..86512a27552a
--- /dev/null
+++ b/biology/fermi-lite/Makefile
@@ -0,0 +1,39 @@
+PORTNAME=	fermi-lite
+DISTVERSIONPREFIX=	v
+DISTVERSION=	0.1-13
+DISTVERSIONSUFFIX=	-g85f159e
+CATEGORIES=	biology devel
+
+MAINTAINER=	yuri@FreeBSD.org
+COMMENT=	Library and tool for assembling Illumina short reads in small regions
+WWW=		https://github.com/lh3/fermi-lite
+
+LICENSE=	MIT
+LICENSE_FILE=	${WRKSRC}/LICENSE.txt
+
+USES=		gmake
+USE_LDCONFIG=	yes
+
+USE_GITHUB=	yes
+GH_ACCOUNT=	lh3
+
+MAKE_ARGS=	CFLAGS="${CFLAGS}"
+
+BINARY_ALIAS=	gcc=${CC}
+
+PLIST_FILES=	bin/fml-asm \
+		include/fml.h \
+		lib/libfml.a \
+		lib/libfml.so
+
+post-build:
+		@cd ${WRKSRC} && \
+			${CC} ${CFLAGS} -fPIC ${LDFLAGS} -shared $$(ls *.c | grep -v example.c) -o libfml.so
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/fml-asm ${STAGEDIR}${PREFIX}/bin
+	${INSTALL_DATA} ${WRKSRC}/fml.h ${STAGEDIR}${PREFIX}/include
+	${INSTALL_DATA} ${WRKSRC}/libfml.a ${STAGEDIR}${PREFIX}/lib
+	${INSTALL_LIB} ${WRKSRC}/libfml.so ${STAGEDIR}${PREFIX}/lib
+
+.include <bsd.port.mk>
diff --git a/biology/fermi-lite/distinfo b/biology/fermi-lite/distinfo
new file mode 100644
index 000000000000..a2bcd5b34a70
--- /dev/null
+++ b/biology/fermi-lite/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1722640889
+SHA256 (lh3-fermi-lite-v0.1-13-g85f159e_GH0.tar.gz) = eafa2f290c3857bcae4804fa3e86c59b8437777835cc601699d78e2192ca44fd
+SIZE (lh3-fermi-lite-v0.1-13-g85f159e_GH0.tar.gz) = 248339
diff --git a/biology/fermi-lite/pkg-descr b/biology/fermi-lite/pkg-descr
new file mode 100644
index 000000000000..f020c272f73e
--- /dev/null
+++ b/biology/fermi-lite/pkg-descr
@@ -0,0 +1,8 @@
+Fermi-lite is a standalone C library as well as a command-line tool for
+assembling Illumina short reads in regions from 100bp to 10 million bp in size.
+It is largely a light-weight in-memory version of fermikit without generating
+any intermediate files. It inherits the performance, the relatively small memory
+footprint and the features of fermikit. In particular, fermi-lite is able to
+retain heterozygous events and thus can be used to assemble diploid regions for
+the purpose of variant calling. It is one of the limited choices for local
+re-assembly and arguably the easiest to interface.