2610:1c1:1:6068::e6a:5]) by mxrelay.nyi.freebsd.org (Postfix) with ESMTP id 4fvLHk20grzwrh for ; Mon, 13 Apr 2026 08:32:18 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from git (uid 1279) (envelope-from git@FreeBSD.org) id 1a1f2 by gitrepo.freebsd.org (DragonFly Mail Agent v0.13+ on gitrepo.freebsd.org); Mon, 13 Apr 2026 08:32:18 +0000 To: ports-committers@FreeBSD.org, dev-commits-ports-all@FreeBSD.org, dev-commits-ports-main@FreeBSD.org From: Yuri Victorovich Subject: git: 54788d73060e - main - biology/barrnap: update 0=?utf-8?Q?=2E9 =E2=86=92 1?=.10.6 List-Id: Commits to the main branch of the FreeBSD ports repository List-Archive: https://lists.freebsd.org/archives/dev-commits-ports-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: X-BeenThere: dev-commits-ports-main@freebsd.org Sender: owner-dev-commits-ports-main@FreeBSD.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: yuri X-Git-Repository: ports X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 54788d73060e9fbb2fcb3385fdc603f9719c20c5 Auto-Submitted: auto-generated Date: Mon, 13 Apr 2026 08:32:18 +0000 Message-Id: <69dcaa12.1a1f2.1c6bfdfa@gitrepo.freebsd.org> The branch main has been updated by yuri: URL: https://cgit.FreeBSD.org/ports/commit/?id=54788d73060e9fbb2fcb3385fdc603f9719c20c5 commit 54788d73060e9fbb2fcb3385fdc603f9719c20c5 Author: Yuri Victorovich AuthorDate: 2026-04-13 08:31:34 +0000 Commit: Yuri Victorovich CommitDate: 2026-04-13 08:32:11 +0000 biology/barrnap: update 0.9 → 1.10.6 --- biology/barrnap/Makefile | 30 +++++--- biology/barrnap/distinfo | 6 +- biology/barrnap/files/patch-Makefile | 22 ++++++ biology/barrnap/files/patch-bin_barrnap | 87 +++++++++++++++++++++++ biology/barrnap/files/patch-test_Makefile | 8 +++ biology/barrnap/files/patch-test_test.sh | 113 ++++++++++++++++++++++++++++++ biology/barrnap/pkg-plist | 7 +- 7 files changed, 256 insertions(+), 17 deletions(-) diff --git a/biology/barrnap/Makefile b/biology/barrnap/Makefile index 90971ff06d7a..1d623b7e1952 100644 --- a/biology/barrnap/Makefile +++ b/biology/barrnap/Makefile @@ -1,5 +1,6 @@ PORTNAME= barrnap -DISTVERSION= 0.9 +DISTVERSIONPREFIX= v +DISTVERSION= 1.10.6 CATEGORIES= biology science MAINTAINER= yuri@FreeBSD.org @@ -10,23 +11,32 @@ LICENSE= GPLv3 LICENSE_FILE= ${WRKSRC}/LICENSE RUN_DEPENDS= bedtools:biology/bedtools \ - nhmmer:biology/hmmer + cmsearch:biology/infernal \ + p5-File-Which>0:sysutils/p5-File-Which \ + p5-List-MoreUtils>0:lang/p5-List-MoreUtils \ + p5-Path-Tiny>0:devel/p5-Path-Tiny \ + seqkit:biology/seqkit +TEST_DEPENDS= bats:devel/bats-core -USES= gmake perl5 +USES= gmake perl5 shebangfix +SHEBANG_FILES= bin/barrnap test/test.sh USE_GITHUB= yes GH_ACCOUNT= tseemann -NO_BUILD= yes -NO_ARCH= yes +MAKE_ENV= PREFIX=${PREFIX} DATADIR=${DATADIR} +INSTALL_TARGET= install TEST_TARGET= test -do-install: - ${INSTALL_SCRIPT} ${WRKSRC}/bin/barrnap ${STAGEDIR}${PREFIX}/bin - cd ${WRKSRC} && ${COPYTREE_SHARE} db ${STAGEDIR}${DATADIR} +NO_BUILD= yes +NO_ARCH= yes + +post-patch: ${REINPLACE_CMD} \ - -i '' -e 's|^my $$DBDIR = .*|my $$DBDIR = "${DATADIR}/db";|' \ - ${STAGEDIR}${PREFIX}/bin/barrnap + -e 's|^my $$DEFAULT_DBDIR = .*|my $$DEFAULT_DBDIR = path("${DATADIR}/db");|' \ + ${WRKSRC}/bin/barrnap + +# tests as of 1.10.6: 17 tests, 0 failures, 7 skipped in 0 seconds .include diff --git a/biology/barrnap/distinfo b/biology/barrnap/distinfo index 48b3f9e21728..92cf72fa74fb 100644 --- a/biology/barrnap/distinfo +++ b/biology/barrnap/distinfo @@ -1,3 +1,3 @@ -TIMESTAMP = 1669343398 -SHA256 (tseemann-barrnap-0.9_GH0.tar.gz) = 36c27cd4350531d98b3b2fb7d294a2d35c15b7365771476456d7873ba33cce15 -SIZE (tseemann-barrnap-0.9_GH0.tar.gz) = 11837541 +TIMESTAMP = 1776067425 +SHA256 (tseemann-barrnap-v1.10.6_GH0.tar.gz) = 6904ca909f59ce8e0952784d59a7d6b5334586f592e1595fa153a917d2a33d62 +SIZE (tseemann-barrnap-v1.10.6_GH0.tar.gz) = 954417 diff --git a/biology/barrnap/files/patch-Makefile b/biology/barrnap/files/patch-Makefile new file mode 100644 index 000000000000..ea23225312d7 --- /dev/null +++ b/biology/barrnap/files/patch-Makefile @@ -0,0 +1,22 @@ +--- Makefile.orig 2026-04-13 08:14:51 UTC ++++ Makefile +@@ -0,0 +1,19 @@ ++PREFIX ?= /usr/local ++DESTDIR ?= ++DATADIR ?= $(PREFIX)/share/barrnap ++BINDIR ?= $(PREFIX)/bin ++INSTALL ?= install ++MKDIR_P ?= mkdir -p ++CP ?= cp -R ++ ++.PHONY: all install test ++ ++all: ++ ++install: ++ $(MKDIR_P) $(DESTDIR)$(BINDIR) $(DESTDIR)$(DATADIR) ++ $(INSTALL) -m 0555 bin/barrnap $(DESTDIR)$(BINDIR)/barrnap ++ $(CP) db $(DESTDIR)$(DATADIR)/ ++ ++test: ++ $(MAKE) -C test all diff --git a/biology/barrnap/files/patch-bin_barrnap b/biology/barrnap/files/patch-bin_barrnap new file mode 100644 index 000000000000..0c482e61845d --- /dev/null +++ b/biology/barrnap/files/patch-bin_barrnap @@ -0,0 +1,87 @@ +--- bin/barrnap.orig 2026-04-13 08:23:19 UTC ++++ bin/barrnap +@@ -14,14 +14,22 @@ use FindBin; + # . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . + # global variables + +-my $VERSION = "1.10.5"; ++my $VERSION = "1.10.6"; + my $EXE = $FindBin::RealScript; + my $DESC = "Rapid microbial RNA annotationn"; + my $AUTHOR = 'Torsten Seemann'; + my $URL = 'https://github.com/tseemann/barrnap'; +-my $DEFAULT_DBDIR = path("$FindBin::RealBin/../db")->realpath; ++my $DEFAULT_DBDIR = path("/usr/local/share/barrnap/db"); + my $BUILD_DIR = path("$FindBin::RealBin/../build")->realpath; + my $DEVNULL = File::Spec->devnull; ++my %NEEDS_EXE = ( ++ rrna => [qw(cmsearch seqkit)], ++ trna => [qw(aragorn)], ++ ncrna => [qw(cmscan)], ++ mrna => [qw(pyrodigal diamond ziggypep transterm)], ++ operon => [qw(bedtools)], ++ updatedb => [qw(make taxonkit diamond seqkit)], ++); + my $DOT = '.'; + my @KINGDOM = qw"bac arc fun"; + my %KINGDOM = (map { $_ => 1 } @KINGDOM); +@@ -91,11 +99,7 @@ msg("Checking dependencies:"); + $rrna = $trna = $ncrna = $operon = $mrna = 1; + } + msg("Checking dependencies:"); +-require_exe( +- 'cmsearch', 'cmscan', 'bedtools', 'aragorn', +- 'any2fasta', 'seqkit', 'make', 'transterm', +- 'ziggypep', 'pyrodigal', 'diamond', 'taxonkit' +-); ++require_exe(required_exe()); + + # Check all input files and make + my @infile; +@@ -115,8 +119,13 @@ my($a2f_opt,$sk_opt) = $quiet ? ('-q','--quiet') : ('' + # Write a single combined FASTA file + my $FASTA = File::Spec->rel2abs("$EXE.fasta"); + my($a2f_opt,$sk_opt) = $quiet ? ('-q','--quiet') : ('',''); +-run_cmd("any2fasta -k $a2f_opt @infile > $FASTA.tmp"); +-run_cmd("seqkit seq $sk_opt -g --min-len 1 -u -w 60 $FASTA.tmp > $FASTA"); ++if (which('any2fasta')) { ++ run_cmd("any2fasta -k $a2f_opt @infile > $FASTA.tmp"); ++ run_cmd("seqkit seq $sk_opt -g --min-len 1 -u -w 60 $FASTA.tmp > $FASTA"); ++} ++else { ++ run_cmd("seqkit seq $sk_opt -g --min-len 1 -u -w 60 @infile > $FASTA"); ++} + -s $FASTA or err("No sequences found in input"); + run_cmd("rm -f $FASTA.fai"); # for --debug case of tmp=. + run_cmd("seqkit faidx $sk_opt $FASTA"); +@@ -716,6 +725,12 @@ sub enumerate_dbs { + $dmnd =~ m=(\w+)\.dmnd$= or err("Bad DMND model: $dmnd"); + $db->{$1}{'CDS'} = $dmnd; + } ++ if (! keys %$db) { ++ for my $yml (glob("$dir/*/database.yml")) { ++ $yml =~ m=(\w+)/database\.yml$= or err("Bad database metadata: $yml"); ++ $db->{$1}{rRNA} = $yml; ++ } ++ } + return $db; + } + #---------------------------------------------------------------------- +@@ -747,6 +762,17 @@ sub update_dbs { + list_dbs($d); + #msg("Finished updating databases."); + exit(0); ++} ++#---------------------------------------------------------------------- ++sub required_exe { ++ my @exe; ++ push @exe, @{$NEEDS_EXE{updatedb}} if $updatedb; ++ push @exe, @{$NEEDS_EXE{rrna}} if $rrna; ++ push @exe, @{$NEEDS_EXE{trna}} if $trna; ++ push @exe, @{$NEEDS_EXE{ncrna}} if $ncrna; ++ push @exe, @{$NEEDS_EXE{mrna}} if $mrna; ++ push @exe, @{$NEEDS_EXE{operon}} if $operon || $outseq; ++ return uniq @exe; + } + #---------------------------------------------------------------------- + sub require_exe { diff --git a/biology/barrnap/files/patch-test_Makefile b/biology/barrnap/files/patch-test_Makefile new file mode 100644 index 000000000000..61835909f1a9 --- /dev/null +++ b/biology/barrnap/files/patch-test_Makefile @@ -0,0 +1,8 @@ +--- test/Makefile.orig 2026-04-13 08:21:58 UTC ++++ test/Makefile +@@ -2,4 +2,4 @@ all: + .PHONY: all + + all: +- bats --abort -T test.sh ++ bats -T test.sh diff --git a/biology/barrnap/files/patch-test_test.sh b/biology/barrnap/files/patch-test_test.sh new file mode 100644 index 000000000000..eb1be37ae64b --- /dev/null +++ b/biology/barrnap/files/patch-test_test.sh @@ -0,0 +1,113 @@ +--- test/test.sh.orig 2026-04-13 08:23:19 UTC ++++ test/test.sh +@@ -4,8 +4,8 @@ setup () { + bats_require_minimum_version 1.5.0 + dir=$(dirname "$BATS_TEST_FILENAME") + cd "$dir" +- cpus=$(nproc) +- exe="$dir/../bin/barrnap --threads $cpus" ++ cpus=${CPUS:-$(sysctl -n hw.ncpu)} ++ exe="$dir/../bin/barrnap --threads $cpus --dbdir $dir/../db" + dbs="bac arc fun" + tab=$'\t' + TRNA="${tab}tRNA${tab}" +@@ -14,6 +14,18 @@ setup () { + OPERON="${tab}operon${tab}" + SEQREG="##sequence-region" + } ++ ++require_cmds() { ++ local cmd ++ for cmd in "$@"; do ++ command -v "$cmd" >/dev/null || skip "missing required command: $cmd" ++ done ++} ++ ++require_db_models() { ++ find "$dir/../db" -name '*.cm' -print -quit | grep -q . || skip "missing bundled CM models" ++} ++ + @test "Script syntax check" { + run -0 perl -c "$dir/../bin/barrnap" + } +@@ -47,33 +59,42 @@ setup () { + [[ "$output" =~ "--kingdom" ]] + } + @test "Null input" { ++ require_cmds cmsearch seqkit + run ! $exe null.fa + [[ "$output" =~ "ERROR" ]] + } + @test "Empry input" { ++ require_cmds cmsearch seqkit + run ! $exe empty.fa + [[ "$output" =~ "ERROR" ]] + } + @test "Weird poly-G sequence" { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 $exe --fast polyg.fa + [[ "$output" =~ "Found 0 features" ]] + } + @test "Input with no hits" { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 $exe nohits.fa + [[ "$output" =~ "Found 0 features" ]] + } + @test "Fast mode" { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 $exe -q --fast small.fa + [[ "$output" =~ $RRNA ]] + } + @test "Mini bacterial genome" { ++ require_cmds aragorn bedtools cmsearch cmscan diamond pyrodigal seqkit taxonkit transterm ziggypep + local outseq="${BATS_TMPDIR}/outseq.fa" + run -0 $exe --all --quiet \ + --outseq "$outseq" \ + --incseqreg --incseq --addids \ + small.fa + [[ "$output" =~ $TRNA ]] +- [[ "$output" =~ $RRMA ]] ++ [[ "$output" =~ $RRNA ]] + [[ "$output" =~ $NCRNA ]] + [[ "$output" =~ "ID=5S" ]] + [[ "$output" =~ "ID=16S" ]] +@@ -90,9 +111,11 @@ barrnap_legacy() { + } + + barrnap_legacy() { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 $exe --quiet \ + --kingdom "$1" "$1.fa" +- [[ "$output" =~ $RRMA ]] ++ [[ "$output" =~ $RRNA ]] + [[ ! "$output" =~ $TRNA ]] + [[ ! "$output" =~ $NCRNA ]] + [[ ! "$output" =~ "##FASTA" ]] +@@ -100,6 +123,8 @@ barrnap_legacy() { + [[ ! "$output" =~ "ID=" ]] + } + @test "Bacteria" { ++ require_cmds cmsearch seqkit ++ require_db_models + #type barrnap_legacy + run barrnap_legacy "bac" + #echo "STATUS=$status" >&3 +@@ -108,10 +133,14 @@ barrnap_legacy() { + #[[ "$FOO" =~ "5S_rRNA" ]] + } + @test "Archaea" { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 barrnap_legacy "arc" + #[[ "$output" =~ "5S_rRNA" ]] + } + @test "Fungi" { ++ require_cmds cmsearch seqkit ++ require_db_models + run -0 barrnap_legacy "fun" + #[[ "$output" =~ "28S_rRNA" ]] + } diff --git a/biology/barrnap/pkg-plist b/biology/barrnap/pkg-plist index fbf0ddaac319..7c55633ba79c 100644 --- a/biology/barrnap/pkg-plist +++ b/biology/barrnap/pkg-plist @@ -1,5 +1,4 @@ bin/barrnap -%%DATADIR%%/db/arc.hmm -%%DATADIR%%/db/bac.hmm -%%DATADIR%%/db/euk.hmm -%%DATADIR%%/db/mito.hmm +%%DATADIR%%/db/arc/database.yml +%%DATADIR%%/db/bac/database.yml +%%DATADIR%%/db/fun/database.yml