summaryrefslogtreecommitdiff
path: root/sci-biology
diff options
context:
space:
mode:
authorroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
committerroot <root@alpha.trunkmasters.com>2026-06-12 19:09:37 -0500
commitb590c8d7572b727d565cc0b8ff660d43569845de (patch)
tree06f7a4102ea4e845df8b66660f252920d52952f9 /sci-biology
parent24f9cbfc4c34fdb6a6e03311674414e881ceab47 (diff)
downloadbaldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.gz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.tar.xz
baldeagleos-repo-b590c8d7572b727d565cc0b8ff660d43569845de.zip
Adding metadata
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/STAR/Manifest1
-rw-r--r--sci-biology/STAR/STAR-2.7.10a.ebuild52
-rw-r--r--sci-biology/STAR/files/STAR-2.7.10a-fix-build-system.patch195
-rw-r--r--sci-biology/STAR/files/STAR-2.7.10a-missing-include.patch22
-rw-r--r--sci-biology/STAR/metadata.xml9
-rw-r--r--sci-biology/aaindex/Manifest1
-rw-r--r--sci-biology/aaindex/aaindex-9.1-r2.ebuild42
-rw-r--r--sci-biology/aaindex/metadata.xml26
-rw-r--r--sci-biology/abyss/Manifest1
-rw-r--r--sci-biology/abyss/abyss-2.3.4.ebuild61
-rw-r--r--sci-biology/abyss/metadata.xml12
-rw-r--r--sci-biology/augustus/Manifest2
-rw-r--r--sci-biology/augustus/augustus-3.4.0-r3.ebuild55
-rw-r--r--sci-biology/augustus/augustus-3.5.0.ebuild94
-rw-r--r--sci-biology/augustus/files/augustus-3.4.0-missing-cstdint.patch39
-rw-r--r--sci-biology/augustus/files/augustus-3.5.0-fix-gcc15.patch20
-rw-r--r--sci-biology/augustus/metadata.xml9
-rw-r--r--sci-biology/bamtools/Manifest1
-rw-r--r--sci-biology/bamtools/bamtools-2.5.3.ebuild33
-rw-r--r--sci-biology/bamtools/bamtools-9999.ebuild33
-rw-r--r--sci-biology/bamtools/metadata.xml10
-rw-r--r--sci-biology/bcftools/Manifest4
-rw-r--r--sci-biology/bcftools/bcftools-1.20.ebuild42
-rw-r--r--sci-biology/bcftools/bcftools-1.21.ebuild42
-rw-r--r--sci-biology/bcftools/bcftools-1.22.ebuild42
-rw-r--r--sci-biology/bcftools/bcftools-1.23.ebuild42
-rw-r--r--sci-biology/bcftools/metadata.xml9
-rw-r--r--sci-biology/bedtools/Manifest1
-rw-r--r--sci-biology/bedtools/bedtools-2.31.1.ebuild49
-rw-r--r--sci-biology/bedtools/files/bedtools-2.31.1-buildsystem.patch84
-rw-r--r--sci-biology/bedtools/files/bedtools-2.31.1-includes.patch180
-rw-r--r--sci-biology/bedtools/files/bedtools-2.31.1-python.patch42
-rw-r--r--sci-biology/bedtools/metadata.xml9
-rw-r--r--sci-biology/bfast/Manifest1
-rw-r--r--sci-biology/bfast/bfast-0.7.0a-r1.ebuild30
-rw-r--r--sci-biology/bfast/files/bfast-0.7.0a-C99-inline.patch74
-rw-r--r--sci-biology/bfast/files/bfast-0.7.0a-autotools.patch41
-rw-r--r--sci-biology/bfast/files/bfast-0.7.0a-gzeof.patch13
-rw-r--r--sci-biology/bfast/files/bfast-0.7.0a-test-sourcing.patch79
-rw-r--r--sci-biology/bfast/metadata.xml9
-rw-r--r--sci-biology/biogrep/Manifest2
-rw-r--r--sci-biology/biogrep/biogrep-1.0-r3.ebuild37
-rw-r--r--sci-biology/biogrep/files/biogrep-1.0-c23.patch35
-rw-r--r--sci-biology/biogrep/metadata.xml9
-rw-r--r--sci-biology/bioperl-db/Manifest1
-rw-r--r--sci-biology/bioperl-db/bioperl-db-1.6.9-r2.ebuild103
-rw-r--r--sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch45
-rw-r--r--sci-biology/bioperl-db/metadata.xml9
-rw-r--r--sci-biology/bioperl-network/Manifest1
-rw-r--r--sci-biology/bioperl-network/bioperl-network-1.6.9-r1.ebuild26
-rw-r--r--sci-biology/bioperl-network/metadata.xml9
-rw-r--r--sci-biology/bioperl-run/Manifest1
-rw-r--r--sci-biology/bioperl-run/bioperl-run-1.6.9-r1.ebuild33
-rw-r--r--sci-biology/bioperl-run/metadata.xml9
-rw-r--r--sci-biology/bioperl/Manifest1
-rw-r--r--sci-biology/bioperl/bioperl-1.6.9-r1.ebuild64
-rw-r--r--sci-biology/bioperl/metadata.xml17
-rw-r--r--sci-biology/biopython/Manifest1
-rw-r--r--sci-biology/biopython/biopython-1.87.ebuild54
-rw-r--r--sci-biology/biopython/metadata.xml9
-rw-r--r--sci-biology/biosql/Manifest1
-rw-r--r--sci-biology/biosql/biosql-1.0.1-r2.ebuild43
-rw-r--r--sci-biology/biosql/metadata.xml9
-rw-r--r--sci-biology/blat/Manifest1
-rw-r--r--sci-biology/blat/blat-34-r3.ebuild42
-rw-r--r--sci-biology/blat/files/blat-34-fix-build-system.patch348
-rw-r--r--sci-biology/blat/files/blat-34-fno-common.patch11
-rw-r--r--sci-biology/blat/metadata.xml9
-rw-r--r--sci-biology/bowtie/Manifest1
-rw-r--r--sci-biology/bowtie/bowtie-2.5.1.ebuild73
-rw-r--r--sci-biology/bowtie/metadata.xml9
-rw-r--r--sci-biology/bwa/Manifest1
-rw-r--r--sci-biology/bwa/bwa-0.7.17.ebuild46
-rw-r--r--sci-biology/bwa/files/bwa-0.7.17-Makefile.patch46
-rw-r--r--sci-biology/bwa/files/bwa-0.7.17-gcc-10.patch13
-rw-r--r--sci-biology/bwa/metadata.xml9
-rw-r--r--sci-biology/cd-hit/Manifest1
-rw-r--r--sci-biology/cd-hit/cd-hit-4.6.6-r1.ebuild46
-rw-r--r--sci-biology/cd-hit/files/cd-hit-4.6.6-fix-build-system.patch122
-rw-r--r--sci-biology/cd-hit/files/cd-hit-4.6.6-fix-perl-shebangs.patch219
-rw-r--r--sci-biology/cd-hit/metadata.xml24
-rw-r--r--sci-biology/clustal-omega/Manifest1
-rw-r--r--sci-biology/clustal-omega/clustal-omega-1.2.4-r1.ebuild36
-rw-r--r--sci-biology/clustal-omega/metadata.xml9
-rw-r--r--sci-biology/clustalw-mpi/Manifest1
-rw-r--r--sci-biology/clustalw-mpi/clustalw-mpi-0.13-r3.ebuild42
-rw-r--r--sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-fno-common.patch13
-rw-r--r--sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-makefile.patch23
-rw-r--r--sci-biology/clustalw-mpi/metadata.xml13
-rw-r--r--sci-biology/clustalw/Manifest2
-rw-r--r--sci-biology/clustalw/clustalw-1.83-r4.ebuild36
-rw-r--r--sci-biology/clustalw/clustalw-2.1-r2.ebuild17
-rw-r--r--sci-biology/clustalw/files/1.83-as-needed.patch36
-rw-r--r--sci-biology/clustalw/files/1.83-clang.patch11
-rw-r--r--sci-biology/clustalw/metadata.xml9
-rw-r--r--sci-biology/cutg/Manifest1
-rw-r--r--sci-biology/cutg/cutg-160-r1.ebuild42
-rw-r--r--sci-biology/cutg/metadata.xml16
-rw-r--r--sci-biology/dialign-tx/Manifest1
-rw-r--r--sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild46
-rw-r--r--sci-biology/dialign-tx/files/dialign-tx-1.0.2-fix-build-system.patch24
-rw-r--r--sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch22
-rw-r--r--sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch31
-rw-r--r--sci-biology/dialign-tx/files/dialign-tx-1.0.2-implicits.patch18
-rw-r--r--sci-biology/dialign-tx/files/dialign-tx-1.0.2-modernize.patch130
-rw-r--r--sci-biology/dialign-tx/metadata.xml9
-rw-r--r--sci-biology/dialign2/Manifest1
-rw-r--r--sci-biology/dialign2/dialign2-2.2.1-r1.ebuild39
-rw-r--r--sci-biology/dialign2/files/dialign2-2.2.1-Wimplicit.patch205
-rw-r--r--sci-biology/dialign2/files/dialign2-2.2.1-fix-build-system.patch48
-rw-r--r--sci-biology/dialign2/metadata.xml9
-rw-r--r--sci-biology/elph/Manifest1
-rw-r--r--sci-biology/elph/elph-1.0.1-r3.ebuild32
-rw-r--r--sci-biology/elph/files/elph-1.0.1-drop-register-keyword.patch102
-rw-r--r--sci-biology/elph/files/elph-1.0.1-fix-build-system.patch55
-rw-r--r--sci-biology/elph/metadata.xml16
-rw-r--r--sci-biology/embassy-cbstools/Manifest1
-rw-r--r--sci-biology/embassy-cbstools/embassy-cbstools-1.0.0.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-cbstools/files/embassy-cbstools-1.0.0.650_fix-build-system.patch110
-rw-r--r--sci-biology/embassy-cbstools/metadata.xml9
-rw-r--r--sci-biology/embassy-clustalomega/Manifest1
-rw-r--r--sci-biology/embassy-clustalomega/embassy-clustalomega-1.1.0.660-r1.ebuild20
-rw-r--r--sci-biology/embassy-clustalomega/files/embassy-clustalomega-1.1.0_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-clustalomega/metadata.xml9
-rw-r--r--sci-biology/embassy-domainatrix/Manifest1
-rw-r--r--sci-biology/embassy-domainatrix/embassy-domainatrix-0.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-domainatrix/files/embassy-domainatrix-0.1.650_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-domainatrix/metadata.xml9
-rw-r--r--sci-biology/embassy-domalign/Manifest1
-rw-r--r--sci-biology/embassy-domalign/embassy-domalign-0.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-domalign/files/embassy-domalign-0.1.650_fix-build-system.patch104
-rw-r--r--sci-biology/embassy-domalign/metadata.xml9
-rw-r--r--sci-biology/embassy-domsearch/Manifest1
-rw-r--r--sci-biology/embassy-domsearch/embassy-domsearch-0.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-domsearch/files/embassy-domsearch-0.1.650_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-domsearch/metadata.xml9
-rw-r--r--sci-biology/embassy-emnu/Manifest1
-rw-r--r--sci-biology/embassy-emnu/embassy-emnu-1.05.660-r1.ebuild27
-rw-r--r--sci-biology/embassy-emnu/files/embassy-emnu-1.05.650_fix-build-system.patch140
-rw-r--r--sci-biology/embassy-emnu/metadata.xml9
-rw-r--r--sci-biology/embassy-esim4/Manifest1
-rw-r--r--sci-biology/embassy-esim4/embassy-esim4-1.0.0.660-r1.ebuild28
-rw-r--r--sci-biology/embassy-esim4/files/embassy-esim4-1.0.0.650_fix-build-system.patch110
-rw-r--r--sci-biology/embassy-esim4/metadata.xml9
-rw-r--r--sci-biology/embassy-hmmer/Manifest1
-rw-r--r--sci-biology/embassy-hmmer/embassy-hmmer-2.3.2.660-r1.ebuild24
-rw-r--r--sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.650_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.660-slotted-hmmer2.patch101
-rw-r--r--sci-biology/embassy-hmmer/metadata.xml9
-rw-r--r--sci-biology/embassy-iprscan/Manifest1
-rw-r--r--sci-biology/embassy-iprscan/embassy-iprscan-4.3.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-iprscan/files/embassy-iprscan-4.3.1.650_fix-build-system.patch110
-rw-r--r--sci-biology/embassy-iprscan/metadata.xml9
-rw-r--r--sci-biology/embassy-mse/Manifest1
-rw-r--r--sci-biology/embassy-mse/embassy-mse-3.0.0.660-r1.ebuild38
-rw-r--r--sci-biology/embassy-mse/files/embassy-mse-3.0.0.650_fix-build-system.patch146
-rw-r--r--sci-biology/embassy-mse/metadata.xml9
-rw-r--r--sci-biology/embassy-phylipnew/Manifest1
-rw-r--r--sci-biology/embassy-phylipnew/embassy-phylipnew-3.69.660-r1.ebuild33
-rw-r--r--sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650-fno-common.patch627
-rw-r--r--sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650_fix-build-system.patch111
-rw-r--r--sci-biology/embassy-phylipnew/metadata.xml9
-rw-r--r--sci-biology/embassy-signature/Manifest1
-rw-r--r--sci-biology/embassy-signature/embassy-signature-0.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-signature/files/embassy-signature-0.1.650_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-signature/metadata.xml9
-rw-r--r--sci-biology/embassy-structure/Manifest1
-rw-r--r--sci-biology/embassy-structure/embassy-structure-0.1.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-structure/files/embassy-structure-0.1.650_fix-build-system.patch103
-rw-r--r--sci-biology/embassy-structure/metadata.xml9
-rw-r--r--sci-biology/embassy-topo/Manifest1
-rw-r--r--sci-biology/embassy-topo/embassy-topo-2.0.660-r1.ebuild18
-rw-r--r--sci-biology/embassy-topo/files/embassy-topo-2.0.650_fix-build-system.patch110
-rw-r--r--sci-biology/embassy-topo/metadata.xml9
-rw-r--r--sci-biology/embassy-vienna/Manifest1
-rw-r--r--sci-biology/embassy-vienna/embassy-vienna-1.7.2.660-r1.ebuild21
-rw-r--r--sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650-C99-inline.patch32
-rw-r--r--sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650_fix-build-system.patch120
-rw-r--r--sci-biology/embassy-vienna/metadata.xml9
-rw-r--r--sci-biology/embassy/embassy-6.6.0-r3.ebuild29
-rw-r--r--sci-biology/embassy/metadata.xml9
-rw-r--r--sci-biology/emboss/Manifest2
-rw-r--r--sci-biology/emboss/emboss-6.6.0-r4.ebuild67
-rw-r--r--sci-biology/emboss/files/README.gentoo34
-rw-r--r--sci-biology/emboss/metadata.xml22
-rw-r--r--sci-biology/eugene/Manifest1
-rw-r--r--sci-biology/eugene/eugene-4.1d-r1.ebuild41
-rw-r--r--sci-biology/eugene/files/eugene-3.6-overflow.patch13
-rw-r--r--sci-biology/eugene/files/eugene-3.6-plugins.patch53
-rw-r--r--sci-biology/eugene/files/eugene-4.1-format-security.patch16
-rw-r--r--sci-biology/eugene/files/eugene-4.1d-Wformat.patch84
-rw-r--r--sci-biology/eugene/files/eugene-4.1d-clang16.patch22
-rw-r--r--sci-biology/eugene/files/eugene-4.1d-fix-c++14.patch17
-rw-r--r--sci-biology/eugene/files/eugene-4.1d-portable-getopt.patch74
-rw-r--r--sci-biology/eugene/metadata.xml9
-rw-r--r--sci-biology/exonerate/Manifest1
-rw-r--r--sci-biology/exonerate/exonerate-2.2.0-r3.ebuild50
-rw-r--r--sci-biology/exonerate/files/exonerate-2.2.0-autotools.patch43
-rw-r--r--sci-biology/exonerate/metadata.xml12
-rw-r--r--sci-biology/fasta/Manifest2
-rw-r--r--sci-biology/fasta/fasta-36.3.8h-r1.ebuild83
-rw-r--r--sci-biology/fasta/fasta-36.3.8i-r1.ebuild85
-rw-r--r--sci-biology/fasta/fasta-36.3.8i.ebuild81
-rw-r--r--sci-biology/fasta/files/fasta-36.3.8h-ldflags.patch63
-rw-r--r--sci-biology/fasta/files/fasta-36.3.8i-musl-build-fix.patch15
-rw-r--r--sci-biology/fasta/metadata.xml9
-rw-r--r--sci-biology/fasttree/Manifest3
-rw-r--r--sci-biology/fasttree/fasttree-2.1.11.ebuild44
-rw-r--r--sci-biology/fasttree/files/CMakeLists.txt31
-rw-r--r--sci-biology/fasttree/files/fasttree-2.1.11-format-security.patch25
-rw-r--r--sci-biology/fasttree/metadata.xml15
-rw-r--r--sci-biology/fastx_toolkit/Manifest1
-rw-r--r--sci-biology/fastx_toolkit/fastx_toolkit-0.0.14-r1.ebuild32
-rw-r--r--sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-fix-build-system.patch63
-rw-r--r--sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-gcc7.patch10
-rw-r--r--sci-biology/fastx_toolkit/metadata.xml9
-rw-r--r--sci-biology/foldingathome/Manifest2
-rw-r--r--sci-biology/foldingathome/files/7.3/folding-conf.d10
-rw-r--r--sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild138
-rw-r--r--sci-biology/foldingathome/foldingathome-7.6.21.ebuild138
-rw-r--r--sci-biology/foldingathome/metadata.xml9
-rw-r--r--sci-biology/glimmer/Manifest1
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch22
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch92
-rw-r--r--sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch196
-rw-r--r--sci-biology/glimmer/glimmer-3.02b.ebuild65
-rw-r--r--sci-biology/glimmer/metadata.xml9
-rw-r--r--sci-biology/glimmerhmm/Manifest2
-rw-r--r--sci-biology/glimmerhmm/files/0001-fix-ridiculous-ODR-violation.patch27
-rw-r--r--sci-biology/glimmerhmm/files/3.0.1-gentoo.patch153
-rw-r--r--sci-biology/glimmerhmm/files/3.0.4-gentoo.patch153
-rw-r--r--sci-biology/glimmerhmm/files/glimmerhmm-3.0.1-fix-data-path.patch20
-rw-r--r--sci-biology/glimmerhmm/glimmerhmm-3.0.1-r1.ebuild48
-rw-r--r--sci-biology/glimmerhmm/glimmerhmm-3.0.4.ebuild47
-rw-r--r--sci-biology/glimmerhmm/metadata.xml9
-rw-r--r--sci-biology/gmap/Manifest1
-rw-r--r--sci-biology/gmap/files/gmap-2020.10.27-fno-common.patch22
-rw-r--r--sci-biology/gmap/gmap-2020.10.27.ebuild17
-rw-r--r--sci-biology/gmap/metadata.xml9
-rw-r--r--sci-biology/hmmer/Manifest2
-rw-r--r--sci-biology/hmmer/files/hmmer-2.3.2-fix-build-system-destdir.patch22
-rw-r--r--sci-biology/hmmer/files/hmmer-2.3.2-fix-missing-include-in-configure.patch18
-rw-r--r--sci-biology/hmmer/files/hmmer-2.3.2-fix-perl-shebangs.patch108
-rw-r--r--sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch331
-rw-r--r--sci-biology/hmmer/files/hmmer-3.1_beta2-makefile.patch110
-rw-r--r--sci-biology/hmmer/hmmer-2.3.2-r6.ebuild88
-rw-r--r--sci-biology/hmmer/hmmer-3.1_beta2-r1.ebuild58
-rw-r--r--sci-biology/hmmer/metadata.xml9
-rw-r--r--sci-biology/iedera/Manifest1
-rw-r--r--sci-biology/iedera/files/iedera-1.05-fix-buildsystem.patch16
-rw-r--r--sci-biology/iedera/iedera-1.05-r2.ebuild21
-rw-r--r--sci-biology/iedera/metadata.xml9
-rw-r--r--sci-biology/infernal/Manifest1
-rw-r--r--sci-biology/infernal/files/infernal-1.0.2-fix-build-system.patch135
-rw-r--r--sci-biology/infernal/files/infernal-1.0.2-overflows.patch15
-rw-r--r--sci-biology/infernal/files/infernal-1.0.2-perl-5.16-2.patch147
-rw-r--r--sci-biology/infernal/infernal-1.0.2-r1.ebuild44
-rw-r--r--sci-biology/infernal/metadata.xml9
-rw-r--r--sci-biology/iqpnni/Manifest1
-rw-r--r--sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch48
-rw-r--r--sci-biology/iqpnni/iqpnni-3.3.2-r2.ebuild27
-rw-r--r--sci-biology/iqpnni/metadata.xml9
-rw-r--r--sci-biology/kalign/Manifest1
-rw-r--r--sci-biology/kalign/files/kalign-2.03-makefile.patch39
-rw-r--r--sci-biology/kalign/kalign-2.03-r3.ebuild15
-rw-r--r--sci-biology/kalign/metadata.xml9
-rw-r--r--sci-biology/kallisto/Manifest1
-rw-r--r--sci-biology/kallisto/files/kallisto-0.46.2-catch2.patch38
-rw-r--r--sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch149
-rw-r--r--sci-biology/kallisto/files/kallisto-0.46.2-gcc11.patch21
-rw-r--r--sci-biology/kallisto/files/kallisto-0.46.2-htslib.patch52
-rw-r--r--sci-biology/kallisto/kallisto-0.46.2-r1.ebuild68
-rw-r--r--sci-biology/kallisto/metadata.xml9
-rw-r--r--sci-biology/lagan/Manifest1
-rw-r--r--sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch258
-rw-r--r--sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch49
-rw-r--r--sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch24
-rw-r--r--sci-biology/lagan/files/lagan-2.0-gcc-10.patch27
-rw-r--r--sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch25
-rw-r--r--sci-biology/lagan/files/lagan-2.0-gcc-9.patch25
-rw-r--r--sci-biology/lagan/files/lagan-2.0-makefile.patch120
-rw-r--r--sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch61
-rw-r--r--sci-biology/lagan/lagan-2.0-r4.ebuild67
-rw-r--r--sci-biology/lagan/metadata.xml9
-rw-r--r--sci-biology/libgtextutils/Manifest1
-rw-r--r--sci-biology/libgtextutils/files/libgtextutils-0.6.1-fix-build-system.patch61
-rw-r--r--sci-biology/libgtextutils/files/libgtextutils-0.6.1-gcc6.patch22
-rw-r--r--sci-biology/libgtextutils/libgtextutils-0.6.1-r1.ebuild30
-rw-r--r--sci-biology/libgtextutils/metadata.xml13
-rw-r--r--sci-biology/mafft/Manifest1
-rw-r--r--sci-biology/mafft/files/mafft-7.525-c23.patch126
-rw-r--r--sci-biology/mafft/mafft-7.525.ebuild66
-rw-r--r--sci-biology/mafft/metadata.xml9
-rw-r--r--sci-biology/maq/Manifest2
-rw-r--r--sci-biology/maq/files/maq-0.7.1-bfr-overfl.patch16
-rw-r--r--sci-biology/maq/files/maq-0.7.1-flags.patch24
-rw-r--r--sci-biology/maq/files/maq-0.7.1-gcc-4.7.patch34
-rw-r--r--sci-biology/maq/files/maq-0.7.1-gcc14-build-fix.patch23
-rw-r--r--sci-biology/maq/files/maq-0.7.1-remove-64bit-flag.patch19
-rw-r--r--sci-biology/maq/maq-0.7.1-r4.ebuild42
-rw-r--r--sci-biology/maq/metadata.xml9
-rw-r--r--sci-biology/maqview/Manifest1
-rw-r--r--sci-biology/maqview/files/0.2.5-ldflags.patch46
-rw-r--r--sci-biology/maqview/files/0.2.5-zlib.patch33
-rw-r--r--sci-biology/maqview/files/maqview-0.2.5-gcc14-build-fix.patch12
-rw-r--r--sci-biology/maqview/files/maqview-0.2.5-gcc4.7.patch16
-rw-r--r--sci-biology/maqview/maqview-0.2.5-r5.ebuild33
-rw-r--r--sci-biology/maqview/metadata.xml9
-rw-r--r--sci-biology/mosaik/Manifest1
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-Wformat-security.patch84
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-fix-build-system.patch226
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-gcc11.patch60
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-gcc12-time.patch11
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-gcc7.patch40
-rw-r--r--sci-biology/mosaik/files/mosaik-2.2.30-remove-platform-code.patch10
-rw-r--r--sci-biology/mosaik/metadata.xml9
-rw-r--r--sci-biology/mosaik/mosaik-2.2.30.ebuild50
-rw-r--r--sci-biology/mothur/Manifest1
-rw-r--r--sci-biology/mothur/files/mothur-1.48.0-build.patch79
-rw-r--r--sci-biology/mothur/files/mothur-1.48.2-boost-1.89.patch11
-rw-r--r--sci-biology/mothur/metadata.xml14
-rw-r--r--sci-biology/mothur/mothur-1.48.2.ebuild55
-rw-r--r--sci-biology/mrbayes/Manifest2
-rw-r--r--sci-biology/mrbayes/files/mb_readline_312.patch25
-rw-r--r--sci-biology/mrbayes/metadata.xml19
-rw-r--r--sci-biology/mrbayes/mrbayes-3.1.2-r2.ebuild64
-rw-r--r--sci-biology/mrbayes/mrbayes-3.2.7.ebuild45
-rw-r--r--sci-biology/mummer/Manifest1
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-build-system.patch397
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch83
-rw-r--r--sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch75
-rw-r--r--sci-biology/mummer/metadata.xml9
-rw-r--r--sci-biology/mummer/mummer-3.23-r1.ebuild44
-rw-r--r--sci-biology/muscle/Manifest1
-rw-r--r--sci-biology/muscle/files/0001-Makefile-fix-horribleness-so-that-it-respects-build-.patch49
-rw-r--r--sci-biology/muscle/metadata.xml9
-rw-r--r--sci-biology/muscle/muscle-5.1.0.ebuild32
-rw-r--r--sci-biology/newick-utils/Manifest1
-rw-r--r--sci-biology/newick-utils/files/newick-utils-1.6-deduplicate-libnw.patch153
-rw-r--r--sci-biology/newick-utils/files/newick-utils-1.6-fno-common.patch41
-rw-r--r--sci-biology/newick-utils/metadata.xml12
-rw-r--r--sci-biology/newick-utils/newick-utils-1.6-r3.ebuild49
-rw-r--r--sci-biology/pals/Manifest1
-rw-r--r--sci-biology/pals/files/pals-1.0-fix-build-system.patch34
-rw-r--r--sci-biology/pals/metadata.xml9
-rw-r--r--sci-biology/pals/pals-1.0-r2.ebuild25
-rw-r--r--sci-biology/paml/Manifest2
-rw-r--r--sci-biology/paml/files/paml-4.10.7-LDFLAGS.patch60
-rw-r--r--sci-biology/paml/metadata.xml9
-rw-r--r--sci-biology/paml/paml-4.10.10.ebuild33
-rw-r--r--sci-biology/paml/paml-4.10.7.ebuild37
-rw-r--r--sci-biology/phylip/Manifest1
-rw-r--r--sci-biology/phylip/files/README.Gentoo15
-rw-r--r--sci-biology/phylip/files/phylip-3.698-fno-common.patch70
-rw-r--r--sci-biology/phylip/files/phylip-3.698-makefile.patch266
-rw-r--r--sci-biology/phylip/metadata.xml9
-rw-r--r--sci-biology/phylip/phylip-3.698.ebuild60
-rw-r--r--sci-biology/phyml/Manifest1
-rw-r--r--sci-biology/phyml/files/phyml-2.4.5-fix-build-system.patch67
-rw-r--r--sci-biology/phyml/metadata.xml15
-rw-r--r--sci-biology/phyml/phyml-2.4.5-r4.ebuild27
-rw-r--r--sci-biology/piler/Manifest1
-rw-r--r--sci-biology/piler/files/piler-1.0-fix-build-system.patch34
-rw-r--r--sci-biology/piler/files/piler-1.0-glibc-2.10.patch12
-rw-r--r--sci-biology/piler/metadata.xml9
-rw-r--r--sci-biology/piler/piler-1.0-r2.ebuild35
-rw-r--r--sci-biology/pilercr/Manifest1
-rw-r--r--sci-biology/pilercr/files/pilercr-1.0-drop-registers.patch14
-rw-r--r--sci-biology/pilercr/files/pilercr-1.0-fix-build-system.patch34
-rw-r--r--sci-biology/pilercr/files/pilercr-1.0-gcc43.patch33
-rw-r--r--sci-biology/pilercr/metadata.xml9
-rw-r--r--sci-biology/pilercr/pilercr-1.0-r2.ebuild28
-rw-r--r--sci-biology/pilercr/pilercr-1.0-r3.ebuild29
-rw-r--r--sci-biology/plink/Manifest1
-rw-r--r--sci-biology/plink/metadata.xml9
-rw-r--r--sci-biology/plink/plink-1.90_pre140514.ebuild57
-rw-r--r--sci-biology/poa/Manifest1
-rw-r--r--sci-biology/poa/files/poa-2-clang16.patch74
-rw-r--r--sci-biology/poa/files/poa-2-fno-common.patch13
-rw-r--r--sci-biology/poa/files/poa-2-respect-flags.patch38
-rw-r--r--sci-biology/poa/metadata.xml9
-rw-r--r--sci-biology/poa/poa-2-r1.ebuild45
-rw-r--r--sci-biology/prank/Manifest1
-rw-r--r--sci-biology/prank/files/prank-140603-fix-c++14.patch14
-rw-r--r--sci-biology/prank/files/prank-140603-makefile.patch28
-rw-r--r--sci-biology/prank/metadata.xml9
-rw-r--r--sci-biology/prank/prank-140603-r1.ebuild28
-rw-r--r--sci-biology/primer3/Manifest1
-rw-r--r--sci-biology/primer3/files/primer3-2.3.7-buildsystem.patch173
-rw-r--r--sci-biology/primer3/files/primer3-2.3.7-gcc7.patch17
-rw-r--r--sci-biology/primer3/metadata.xml17
-rw-r--r--sci-biology/primer3/primer3-2.3.7-r1.ebuild52
-rw-r--r--sci-biology/prints/Manifest1
-rw-r--r--sci-biology/prints/metadata.xml20
-rw-r--r--sci-biology/prints/prints-39.0-r2.ebuild44
-rw-r--r--sci-biology/probcons/Manifest1
-rw-r--r--sci-biology/probcons/files/gcc-4.3.patch44
-rw-r--r--sci-biology/probcons/files/probcons-1.12-cxxflags.patch47
-rw-r--r--sci-biology/probcons/files/probcons-1.12-gcc-4.6.patch15
-rw-r--r--sci-biology/probcons/metadata.xml9
-rw-r--r--sci-biology/probcons/probcons-1.12-r1.ebuild48
-rw-r--r--sci-biology/prodigal/Manifest1
-rw-r--r--sci-biology/prodigal/files/prodigal-2.6.3-fix-build-system.patch45
-rw-r--r--sci-biology/prodigal/metadata.xml9
-rw-r--r--sci-biology/prodigal/prodigal-2.6.3-r1.ebuild21
-rw-r--r--sci-biology/profphd/Manifest1
-rw-r--r--sci-biology/profphd/files/profphd-1.0.39-perl.patch16
-rw-r--r--sci-biology/profphd/files/profphd-1.0.40-symlink.patch11
-rw-r--r--sci-biology/profphd/metadata.xml9
-rw-r--r--sci-biology/profphd/profphd-1.0.40.ebuild33
-rw-r--r--sci-biology/prosite/Manifest1
-rw-r--r--sci-biology/prosite/metadata.xml19
-rw-r--r--sci-biology/prosite/prosite-2017.02-r1.ebuild41
-rw-r--r--sci-biology/pysam/Manifest1
-rw-r--r--sci-biology/pysam/metadata.xml9
-rw-r--r--sci-biology/pysam/pysam-0.23.3.ebuild73
-rw-r--r--sci-biology/pysam/pysam-9999.ebuild72
-rw-r--r--sci-biology/raxml/Manifest1
-rw-r--r--sci-biology/raxml/files/raxml-8.2.13-c23.patch19
-rw-r--r--sci-biology/raxml/files/raxml-8.2.13-makefile.patch37
-rw-r--r--sci-biology/raxml/metadata.xml9
-rw-r--r--sci-biology/raxml/raxml-8.2.13.ebuild41
-rw-r--r--sci-biology/rebase/Manifest1
-rw-r--r--sci-biology/rebase/metadata.xml20
-rw-r--r--sci-biology/rebase/rebase-1901-r2.ebuild45
-rw-r--r--sci-biology/recon/Manifest1
-rw-r--r--sci-biology/recon/files/recon-1.08-Wimplicit-function-declaration.patch20
-rw-r--r--sci-biology/recon/files/recon-1.08-buffer-overflow.patch11
-rw-r--r--sci-biology/recon/files/recon-1.08-perl-shebangs.patch19
-rw-r--r--sci-biology/recon/metadata.xml9
-rw-r--r--sci-biology/recon/recon-1.08-r1.ebuild47
-rw-r--r--sci-biology/samtools/Manifest5
-rw-r--r--sci-biology/samtools/metadata.xml9
-rw-r--r--sci-biology/samtools/samtools-1.20.ebuild47
-rw-r--r--sci-biology/samtools/samtools-1.21.ebuild47
-rw-r--r--sci-biology/samtools/samtools-1.22.1.ebuild47
-rw-r--r--sci-biology/samtools/samtools-1.22.ebuild47
-rw-r--r--sci-biology/samtools/samtools-1.23.ebuild47
-rw-r--r--sci-biology/seaview/Manifest1
-rw-r--r--sci-biology/seaview/files/seaview-4.6-Wreserved-user-defined-literal.patch76
-rw-r--r--sci-biology/seaview/files/seaview-4.6-fno-common.patch110
-rw-r--r--sci-biology/seaview/metadata.xml16
-rw-r--r--sci-biology/seaview/seaview-4.6-r2.ebuild82
-rw-r--r--sci-biology/seqan/Manifest1
-rw-r--r--sci-biology/seqan/metadata.xml9
-rw-r--r--sci-biology/seqan/seqan-3.1.0.ebuild31
-rw-r--r--sci-biology/sibsim4/Manifest1
-rw-r--r--sci-biology/sibsim4/files/sibsim4-0.20-makefile.patch26
-rw-r--r--sci-biology/sibsim4/metadata.xml9
-rw-r--r--sci-biology/sibsim4/sibsim4-0.20.ebuild26
-rw-r--r--sci-biology/sim4/Manifest1
-rw-r--r--sci-biology/sim4/files/sim4-20030921-fix-build-system.patch21
-rw-r--r--sci-biology/sim4/metadata.xml25
-rw-r--r--sci-biology/sim4/sim4-20030921-r2.ebuild26
-rw-r--r--sci-biology/stride/Manifest4
-rw-r--r--sci-biology/stride/files/stride-20011129-clang16.patch15
-rw-r--r--sci-biology/stride/files/stride-20011129-fix-buildsystem.patch21
-rw-r--r--sci-biology/stride/metadata.xml9
-rw-r--r--sci-biology/stride/stride-20011129-r1.ebuild34
-rw-r--r--sci-biology/stride/stride-20060723.ebuild35
-rw-r--r--sci-biology/t-coffee/Manifest1
-rw-r--r--sci-biology/t-coffee/files/t-coffee-11.00-cxx11.patch21
-rw-r--r--sci-biology/t-coffee/files/t-coffee-11.00-gcc7.patch22
-rw-r--r--sci-biology/t-coffee/files/t-coffee-11.00-makefile.patch19
-rw-r--r--sci-biology/t-coffee/files/t-coffee-11.00-mayhem.patch25
-rw-r--r--sci-biology/t-coffee/files/t-coffee-11.00-set_proper_dir_permissions.patch35
-rw-r--r--sci-biology/t-coffee/metadata.xml18
-rw-r--r--sci-biology/t-coffee/t-coffee-11.00-r3.ebuild55
-rw-r--r--sci-biology/tree-puzzle/Manifest1
-rw-r--r--sci-biology/tree-puzzle/files/tree-puzzle-5.2-C99-decls.patch360
-rw-r--r--sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch362
-rw-r--r--sci-biology/tree-puzzle/files/tree-puzzle-5.2-configure-c99.patch20
-rw-r--r--sci-biology/tree-puzzle/metadata.xml29
-rw-r--r--sci-biology/tree-puzzle/tree-puzzle-5.2-r1.ebuild60
-rw-r--r--sci-biology/trf/Manifest1
-rw-r--r--sci-biology/trf/metadata.xml9
-rw-r--r--sci-biology/trf/trf-4.04-r2.ebuild28
-rw-r--r--sci-biology/trnascan-se/Manifest1
-rw-r--r--sci-biology/trnascan-se/files/trnascan-se-1.31-clang16.patch62
-rw-r--r--sci-biology/trnascan-se/files/trnascan-se-1.31-makefile.patch140
-rw-r--r--sci-biology/trnascan-se/files/trnascan-se-1.31-portable-perl-shebangs.patch32
-rw-r--r--sci-biology/trnascan-se/metadata.xml16
-rw-r--r--sci-biology/trnascan-se/trnascan-se-1.31-r3.ebuild45
-rw-r--r--sci-biology/uchime/Manifest1
-rw-r--r--sci-biology/uchime/files/CMakeLists.patch21
-rw-r--r--sci-biology/uchime/metadata.xml19
-rw-r--r--sci-biology/uchime/uchime-4.2.40-r1.ebuild20
-rw-r--r--sci-biology/ucsc-genome-browser/Manifest1
-rw-r--r--sci-biology/ucsc-genome-browser/metadata.xml12
-rw-r--r--sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild123
-rw-r--r--sci-biology/unafold/Manifest1
-rw-r--r--sci-biology/unafold/files/unafold-3.8-autotools.patch41
-rw-r--r--sci-biology/unafold/files/unafold-3.8-clang16.patch775
-rw-r--r--sci-biology/unafold/files/unafold-3.8-doc-version.patch11
-rw-r--r--sci-biology/unafold/metadata.xml9
-rw-r--r--sci-biology/unafold/unafold-3.8-r1.ebuild43
-rw-r--r--sci-biology/update-blastdb/Manifest1
-rw-r--r--sci-biology/update-blastdb/metadata.xml9
-rw-r--r--sci-biology/update-blastdb/update-blastdb-12.0.0.ebuild23
-rw-r--r--sci-biology/vcftools/Manifest1
-rw-r--r--sci-biology/vcftools/metadata.xml9
-rw-r--r--sci-biology/vcftools/vcftools-0.1.16.ebuild37
-rw-r--r--sci-biology/velvet/Manifest1
-rw-r--r--sci-biology/velvet/files/velvet-1.2.10-incompatible-pointers.patch26
-rw-r--r--sci-biology/velvet/metadata.xml9
-rw-r--r--sci-biology/velvet/velvet-1.2.10.ebuild91
-rw-r--r--sci-biology/yass/Manifest1
-rw-r--r--sci-biology/yass/files/1.14-as-needed.patch207
-rw-r--r--sci-biology/yass/files/yass-1.14-lowmem-define.patch13
-rw-r--r--sci-biology/yass/metadata.xml12
-rw-r--r--sci-biology/yass/yass-1.14-r4.ebuild32
511 files changed, 20316 insertions, 0 deletions
diff --git a/sci-biology/STAR/Manifest b/sci-biology/STAR/Manifest
new file mode 100644
index 000000000000..d97c61cb21c0
--- /dev/null
+++ b/sci-biology/STAR/Manifest
@@ -0,0 +1 @@
+DIST STAR-2.7.10a.tar.gz 12270915 BLAKE2B 51a9cf2c838cfeb313df9e5024b53cd5a89088f08ac88c8dc57a9e08cd3ba394e46ffe86a8ff3b9484b25b681ecd960098c06d879e772d21afe8cc2d0d35175d SHA512 19a5f3c25d147bcd96cf68249d275dad7fd11425031a40c97c7ae15846f55839ced897d541ed60b426a6bf089d968ac86625af774db3950dc459035ac2b659c9
diff --git a/sci-biology/STAR/STAR-2.7.10a.ebuild b/sci-biology/STAR/STAR-2.7.10a.ebuild
new file mode 100644
index 000000000000..c3deb5a94b0a
--- /dev/null
+++ b/sci-biology/STAR/STAR-2.7.10a.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="STAR aligner: align RNA-seq reads to reference genome uncompressed suffix arrays"
+HOMEPAGE="https://github.com/alexdobin/STAR"
+SRC_URI="https://github.com/alexdobin/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="sci-libs/htslib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.7.10a-fix-build-system.patch
+ "${FILESDIR}"/${PN}-2.7.10a-missing-include.patch
+)
+DOCS=( README.md CHANGES.md RELEASEnotes.md doc/STARmanual.pdf )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && tc-check-openmp
+}
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r source/htslib || die
+}
+
+src_configure() {
+ tc-export CC CXX PKG_CONFIG
+}
+
+src_compile() {
+ emake -C source STAR
+}
+
+src_install() {
+ dobin source/STAR
+ einstalldocs
+}
diff --git a/sci-biology/STAR/files/STAR-2.7.10a-fix-build-system.patch b/sci-biology/STAR/files/STAR-2.7.10a-fix-build-system.patch
new file mode 100644
index 000000000000..0f06c94fb109
--- /dev/null
+++ b/sci-biology/STAR/files/STAR-2.7.10a-fix-build-system.patch
@@ -0,0 +1,195 @@
+--- a/source/bam_cat.c
++++ b/source/bam_cat.c
+@@ -52,8 +52,8 @@
+ #include <stdlib.h>
+ #include <unistd.h>
+
+-#include "htslib/htslib/bgzf.h"
+-#include "htslib/htslib/sam.h"
++#include <htslib/bgzf.h>
++#include <htslib/sam.h>
+ #include <cstring>
+
+ #define BUF_SIZE 0x10000
+--- a/source/bam_cat.h
++++ b/source/bam_cat.h
+@@ -1,7 +1,7 @@
+ #ifndef CODE_bam_cat
+ #define CODE_bam_cat
+
+-#include "htslib/htslib/sam.h"
++#include <htslib/sam.h>
+
+ int bam_cat(int nfn, char * const *fn, const bam_hdr_t *h, const char* outbam);
+
+--- a/source/BAMfunctions.cpp
++++ b/source/BAMfunctions.cpp
+@@ -1,5 +1,5 @@
+ #include "BAMfunctions.h"
+-#include "htslib/htslib/kstring.h"
++#include <htslib/kstring.h>
+
+
+ string bam_cigarString (bam1_t *b) {//output CIGAR string
+--- a/source/bamRemoveDuplicates.cpp
++++ b/source/bamRemoveDuplicates.cpp
+@@ -1,7 +1,7 @@
+ #include <unordered_map>
+ #include "bamRemoveDuplicates.h"
+ #include <iostream>
+-#include "htslib/htslib/sam.h"
++#include <htslib/sam.h>
+ #include "IncludeDefine.h"
+ #include SAMTOOLS_BGZF_H
+ #include "ErrorWarning.h"
+--- a/source/IncludeDefine.h
++++ b/source/IncludeDefine.h
+@@ -30,8 +30,8 @@
+ #define ERROR_OUT string ( __FILE__ ) +":"+ to_string ( (uint) __LINE__ ) +":"+ string ( __FUNCTION__ )
+
+ //external libs
+-#define SAMTOOLS_BGZF_H "htslib/htslib/bgzf.h"
+-#define SAMTOOLS_SAM_H "htslib/htslib/sam.h"
++#define SAMTOOLS_BGZF_H <htslib/bgzf.h>
++#define SAMTOOLS_SAM_H <htslib/sam.h>
+
+ using namespace std;
+
+--- a/source/Makefile
++++ b/source/Makefile
+@@ -12,11 +12,7 @@
+ CXX ?= g++
+
+ # pre-defined flags
+-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz
+-LDFLAGS_static := -static -static-libgcc -pthread -Lhtslib -lhts -lz
+-LDFLAGS_Mac :=-pthread -lz htslib/libhts.a
+-LDFLAGS_Mac_static :=-pthread -lz -static-libgcc htslib/libhts.a
+-LDFLAGS_gdb := $(LDFLAGS_shared)
++LIBS := -pthread -lhts -lz
+
+ DATE_FMT = --iso-8601=seconds
+ ifdef SOURCE_DATE_EPOCH
+@@ -27,7 +23,7 @@
+
+ BUILD_PLACE ?= $(HOSTNAME):$(shell pwd)
+
+-COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(BUILD_DATE) $(BUILD_PLACE)"'
++COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE=""'
+
+
+ GIT_CHECK := $(shell git status 1> /dev/null 2> /dev/null && echo 0)
+@@ -41,13 +37,13 @@
+
+ # Defaults, can be overridden by make arguments or environment
+ CXXFLAGS ?= -pipe -Wall -Wextra
+-CFLAGS ?= -pipe -Wall -Wextra -O3
++CFLAGS ?= -pipe -Wall -Wextra
+ CXXFLAGS_SIMD ?= -mavx2
+
+ # Unconditionally set essential flags and optimization options
+ CXXFLAGS_common := -std=c++11 -fopenmp $(COMPTIMEPLACE) $(GIT_BRANCH_COMMIT_DIFF)
+-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
+-CXXFLAGS_gdb := -O0 -g3 $(CXXFLAGS_common)
++CXXFLAGS_main := $(CXXFLAGS_common)
++CXXFLAGS_gdb := $(CXXFLAGS_common)
+
+ ##########################################################################################################
+ OBJECTS = SoloFeature_collapseUMI_Graph.o SoloFeature_collapseUMIall_multiMappers.o ParametersClip_initialize.o ClipMate_clip.o ClipCR4.o opal/opal.o ClipMate_clipChunk.o ClipMate_initialize.o \
+@@ -130,7 +126,7 @@
+ ifneq ($(MAKECMDGOALS),clean_solo)
+ ifneq ($(MAKECMDGOALS),STARforMac)
+ ifneq ($(MAKECMDGOALS),STARforMacGDB)
+-Depend.list: $(SOURCES) parametersDefault.xxd htslib
++Depend.list: $(SOURCES) parametersDefault.xxd
+ echo $(SOURCES)
+ 'rm' -f ./Depend.list
+ $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list
+@@ -142,57 +138,43 @@
+ endif
+ endif
+
+-htslib : htslib/libhts.a
+-
+-htslib/libhts.a :
+- $(MAKE) -C htslib lib-static
+-
+ parametersDefault.xxd: parametersDefault
+ xxd -i parametersDefault > parametersDefault.xxd
+
+ STAR$(SFX) : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
+-STAR$(SFX) : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ STAR$(SFX) : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ STARstatic$(SFX) : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
+-STARstatic$(SFX) : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
+ STARstatic$(SFX) : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ STARlong$(SFX) : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
+-STARlong$(SFX) : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ STARlong$(SFX) : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong$(SFX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STARlong$(SFX) $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ STARlongStatic$(SFX) : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
+-STARlongStatic$(SFX) : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
+ STARlongStatic$(SFX) : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong$(SFX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STARlong$(SFX) $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+
+
+ POSIXSHARED : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -DPOSIX_SHARED_MEM $(CXXFLAGS)
+-POSIXSHARED : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ POSIXSHARED : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STAR$(SFX) $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ gdb : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_gdb) $(CXXFLAGS)
+-gdb : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_gdb) $(LDFLAGS)
+ gdb : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STAR $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ gdb-long : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_gdb) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
+-gdb-long : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_gdb) $(LDFLAGS)
+ gdb-long : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ STARforMacStatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_MAC' $(CXXFLAGS)
+-STARforMacStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_Mac_static) $(LDFLAGS)
+ STARforMacStatic : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STAR $(CXXFLAGS) $(OBJECTS) $(LIBS)
+
+ STARlongForMacStatic : CXXFLAGS := -D'COMPILE_FOR_LONG_READS' $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_MAC' $(CXXFLAGS)
+-STARlongForMacStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_Mac_static) $(LDFLAGS)
+ STARlongForMacStatic : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(LDFLAGS) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LIBS)
+--- a/source/signalFromBAM.h
++++ b/source/signalFromBAM.h
+@@ -1,6 +1,6 @@
+ #ifndef CODE_signalFromBAM
+ #define CODE_signalFromBAM
+-#include "htslib/htslib/sam.h"
++#include <htslib/sam.h>
+ #include <fstream>
+ #include <string>
+ #include "Stats.h"
+--- a/source/STAR.cpp
++++ b/source/STAR.cpp
+@@ -29,7 +29,7 @@
+
+ #include "twoPassRunPass1.h"
+
+-#include "htslib/htslib/sam.h"
++#include <htslib/sam.h>
+ #include "parametersDefault.xxd"
+
+ void usage(int usageType) {
diff --git a/sci-biology/STAR/files/STAR-2.7.10a-missing-include.patch b/sci-biology/STAR/files/STAR-2.7.10a-missing-include.patch
new file mode 100644
index 000000000000..c056a8aad887
--- /dev/null
+++ b/sci-biology/STAR/files/STAR-2.7.10a-missing-include.patch
@@ -0,0 +1,22 @@
+From f5ad94329db4fd81fc6ae30684c298772002e30b Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Sat, 7 May 2022 15:06:11 +0200
+Subject: [PATCH] Add missing `#include <array>` (GCC 12)
+
+Bug: https://bugs.gentoo.org/840586
+---
+ source/SoloCommon.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/source/SoloCommon.h b/source/SoloCommon.h
+index 2a1d5fcf..5adc5040 100644
+--- a/source/SoloCommon.h
++++ b/source/SoloCommon.h
+@@ -1,6 +1,7 @@
+ #ifndef H_SoloCommon
+ #define H_SoloCommon
+
++#include <array>
+ #include <unordered_map>
+
+ typedef struct{
diff --git a/sci-biology/STAR/metadata.xml b/sci-biology/STAR/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/STAR/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/aaindex/Manifest b/sci-biology/aaindex/Manifest
new file mode 100644
index 000000000000..e939baf4ddd4
--- /dev/null
+++ b/sci-biology/aaindex/Manifest
@@ -0,0 +1 @@
+DIST aaindex-9.1.tar.bz2 133780 BLAKE2B 2e0a3c9f6f9e9a6d18f7812196595776a03e688b83799a24b63f659fe4c08b50de396d6aa07e80e3beea776d29210c1c71194deecea19faa8bf36204d8544f42 SHA512 d35760712a3f9d8c0d64e32ff450802eab20294851e569cbb9614610704f687c9ec56c440e6009b5c75c45ae12bd7968e28afcc414309318e94b092507df16d8
diff --git a/sci-biology/aaindex/aaindex-9.1-r2.ebuild b/sci-biology/aaindex/aaindex-9.1-r2.ebuild
new file mode 100644
index 000000000000..dea4b6531d4b
--- /dev/null
+++ b/sci-biology/aaindex/aaindex-9.1-r2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Amino acid indices and similarity matrices"
+HOMEPAGE="https://www.genome.jp/aaindex/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+# Minimal build keeps only the indexed files (if applicable) and the
+# documentation. The non-indexed database is not installed.
+KEYWORDS="~amd64 ~x86"
+IUSE="emboss minimal"
+
+BDEPEND="emboss? ( sci-biology/emboss )"
+RDEPEND="${BDEPEND}"
+
+src_compile() {
+ if use emboss; then
+ mkdir AAINDEX || die
+ einfo
+ einfo "Indexing AAindex for usage with EMBOSS"
+ EMBOSS_DATA="." aaindexextract -auto -infile ${PN}1 || die "Indexing AAindex failed"
+ einfo
+ fi
+}
+
+src_install() {
+ dodoc ${PN}.doc
+
+ if ! use minimal; then
+ insinto /usr/share/${PN}
+ doins ${PN}{1,2,3}
+ fi
+
+ if use emboss; then
+ insinto /usr/share/EMBOSS/data/AAINDEX
+ doins -r AAINDEX/.
+ fi
+}
diff --git a/sci-biology/aaindex/metadata.xml b/sci-biology/aaindex/metadata.xml
new file mode 100644
index 000000000000..70e9f4efd374
--- /dev/null
+++ b/sci-biology/aaindex/metadata.xml
@@ -0,0 +1,26 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ Amino acid indices and similarity matrices maintained at Kyoto
+ University. An amino acid index is a set of 20 numerical values
+ representing any of the different physicochemical and biological
+ properties of amino acids. The AAindex1 section of the Amino Acid
+ Index Database is a collection of published indices together with the
+ result of cluster analysis using the correlation coefficient as the
+ distance between two indices. This section currently contains 494
+ indices. Another important feature of amino acids that can be
+ represented numerically is the similarity between amino acids. Thus, a
+ similarity matrix, also called a mutation matrix, is a set of 210
+ numerical values, 20 diagonal and 20x19/2 off-diagonal elements, used
+ for sequence alignments and similarity searches. The AAindex2 section
+ of the Amino Acid Index Database is a collection of published amino
+ acid mutation matrices together with the result of cluster analysis.
+ This section currently contains 83 matrices.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/abyss/Manifest b/sci-biology/abyss/Manifest
new file mode 100644
index 000000000000..9c9041e2c936
--- /dev/null
+++ b/sci-biology/abyss/Manifest
@@ -0,0 +1 @@
+DIST abyss-2.3.4.tar.gz 3511137 BLAKE2B 2b7449233055d22330f44951f9f6d5ff1a116fa3e19c09c17cd4fa517d2fc055c4f00ccb82c7e09b1b939ac6f7a1caf73cf73c33bd3c8aa9ff11879c227a2aaa SHA512 9d4e418399dd62883b53e831f51a0bd2ba228da73eda6c6459cd729c002eb0487f9613fca1c9bd0f4fbb076eed8a9b952505ee97143ab7dde537c23e4a246cd4
diff --git a/sci-biology/abyss/abyss-2.3.4.ebuild b/sci-biology/abyss/abyss-2.3.4.ebuild
new file mode 100644
index 000000000000..2c2c14d35bd5
--- /dev/null
+++ b/sci-biology/abyss/abyss-2.3.4.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Assembly By Short Sequences - a de novo, parallel, paired-end sequence assembler"
+HOMEPAGE="https://www.bcgsc.ca/resources/software/abyss/"
+SRC_URI="https://github.com/bcgsc/abyss/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="openmp misc-haskell"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-cpp/sparsehash
+ dev-libs/boost:=
+ misc-haskell? (
+ dev-libs/gmp:0=
+ dev-libs/libffi:0=
+ )
+ sys-cluster/openmpi
+ dev-db/sqlite:3
+"
+DEPEND="${RDEPEND}
+ misc-haskell? (
+ dev-lang/ghc
+ )
+"
+
+# todo: --enable-maxk=N configure option
+# todo: also allow build with mpich (--enable-mpich)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/-Werror//" configure.ac || die #365195
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862252
+ # https://github.com/bcgsc/abyss/issues/474
+ filter-lto
+
+ # disable building haskell tool Misc/samtobreak
+ # unless request by user: bug #534412
+ use misc-haskell || export ac_cv_prog_ac_ct_GHC=
+
+ econf $(use_enable openmp) --enable-maxk=256
+}
diff --git a/sci-biology/abyss/metadata.xml b/sci-biology/abyss/metadata.xml
new file mode 100644
index 000000000000..926581c74f1a
--- /dev/null
+++ b/sci-biology/abyss/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="misc-haskell">build abyss-samtobreak tool, pull in haskell toolchain</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/augustus/Manifest b/sci-biology/augustus/Manifest
new file mode 100644
index 000000000000..178d054cf6f7
--- /dev/null
+++ b/sci-biology/augustus/Manifest
@@ -0,0 +1,2 @@
+DIST augustus-3.4.0.tar.gz 221652100 BLAKE2B dfc8c98107f5a955f688f3d2976ca936faf2ef7004095f6b9d7c1902a36ca5d3c9aef59cab1b82b56cd5c2abc7b67195c5030111ed68557d53128814b1bf6bab SHA512 ca1df1016589f55527a883429edd5024cbc32c1b32036c81f9df5e0967a7d194f5b7a82109e924f380627427d9731caa478e63cad8cd804c01521aed76d8c4a6
+DIST augustus-3.5.0.tar.gz 225918930 BLAKE2B 26e934f3d3f50d183fb0ee7874352c5ac9af9877eaa40a9a6195ae79cfd9a78a321bd9261e8bd3435b1d4984589d0bdd4e0821ba6600c717d6afd95f511702de SHA512 0869e54b3126b3ab2f6fb2c28ff07b779265a139968e5277352f5230d3c317415324ca61dce4a0cd6c3f1fb5399447ae815bec7732a285ce652cf44e6cd23e5d
diff --git a/sci-biology/augustus/augustus-3.4.0-r3.ebuild b/sci-biology/augustus/augustus-3.4.0-r3.ebuild
new file mode 100644
index 000000000000..1799ee8621a8
--- /dev/null
+++ b/sci-biology/augustus/augustus-3.4.0-r3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_CONFIG_NAME="doxygen.conf"
+inherit docs toolchain-funcs
+
+DESCRIPTION="Eukaryotic gene predictor"
+HOMEPAGE="https://bioinf.uni-greifswald.de/augustus/"
+SRC_URI="https://github.com/Gaius-Augustus/Augustus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-db/mysql++:=
+ dev-db/mysql-connector-c:=
+ dev-libs/boost:=[zlib]
+ sci-biology/bamtools:=
+ sci-biology/samtools:0
+ sci-libs/gsl:=
+ sci-libs/htslib:=
+ sci-libs/suitesparse
+ sci-mathematics/lpsolve:=
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/augustus-3.4.0-missing-cstdint.patch
+)
+
+src_compile() {
+ tc-export CC CXX
+
+ emake LINK.cc="$(tc-getCXX)"
+
+ docs_compile
+}
+
+src_install() {
+ einstalldocs
+ # from upstream Makefile install:
+ dodir "opt/${P}"
+ cp -a config bin scripts "${ED}/opt/${P}" || die
+ local file
+ for file in bin/*; do
+ dosym "../${P}/${file}" "/opt/${file}"
+ done
+}
diff --git a/sci-biology/augustus/augustus-3.5.0.ebuild b/sci-biology/augustus/augustus-3.5.0.ebuild
new file mode 100644
index 000000000000..81df833c68a6
--- /dev/null
+++ b/sci-biology/augustus/augustus-3.5.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DOCS_BUILDER="doxygen"
+DOCS_CONFIG_NAME="doxygen.conf"
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit docs python-any-r1 toolchain-funcs
+
+DESCRIPTION="Eukaryotic gene predictor"
+HOMEPAGE="https://bioinf.uni-greifswald.de/augustus/"
+SRC_URI="https://github.com/Gaius-Augustus/Augustus/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-db/sqlite:3
+ dev-db/mysql++:=
+ dev-db/mysql-connector-c:=
+ dev-libs/boost:=[zlib]
+ sci-biology/bamtools:=
+ sci-biology/samtools:0
+ sci-libs/gsl:=
+ sci-libs/htslib:=
+ sci-libs/suitesparse
+ sci-mathematics/lpsolve:=
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ ${PYTHON_DEPS}
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/augustus-3.4.0-missing-cstdint.patch
+ "${FILESDIR}"/augustus-3.5.0-fix-gcc15.patch
+)
+
+pkg_setup() {
+ use test && python-any-r1_pkg_setup
+}
+
+src_compile() {
+ tc-export CC CXX AR
+
+ emake
+
+ # Vendored gtest
+ use test && emake -C src unittest
+
+ docs_compile
+}
+
+src_test() {
+ if use elibc_musl; then
+ # Upstream already does this for non-amd64 and non-linux environments
+ # Probably related https://github.com/Gaius-Augustus/Augustus/issues/247
+ # bug #873025
+ emake test TEST_COMPARE= TEST_HTML=
+ else
+ emake test
+ fi
+
+ pushd src/unittests >/dev/null || die
+ if use elibc_musl; then
+ # Float issues
+ ./unittests --gtest_filter='-CodonEvoTest.CodonEvoRateReadWrite' || die
+ else
+ ./unittests || die
+ fi
+ popd >/dev/null || die
+}
+
+src_install() {
+ einstalldocs
+ # from upstream Makefile install:
+ dodir "opt/${P}"
+ cp -a config bin scripts "${ED}/opt/${P}" || die
+ local file
+ for file in bin/*; do
+ dosym "../${P}/${file}" "/opt/${file}"
+ done
+}
diff --git a/sci-biology/augustus/files/augustus-3.4.0-missing-cstdint.patch b/sci-biology/augustus/files/augustus-3.4.0-missing-cstdint.patch
new file mode 100644
index 000000000000..3c0095241636
--- /dev/null
+++ b/sci-biology/augustus/files/augustus-3.4.0-missing-cstdint.patch
@@ -0,0 +1,39 @@
+https://bugs.gentoo.org/895204
+
+https://github.com/Gaius-Augustus/Augustus/commit/1ed97dc4ce2909c5f89737005b8ea4a664fbe728
+https://github.com/Gaius-Augustus/Augustus/pull/395
+
+From 1ed97dc4ce2909c5f89737005b8ea4a664fbe728 Mon Sep 17 00:00:00 2001
+From: Kuoi <kuoi@bioarchlinux.org>
+Date: Sun, 11 Jun 2023 23:47:49 +0800
+Subject: [PATCH] fix: gcc13 failed with this
+
+--- a/include/sqliteDB.hh
++++ b/include/sqliteDB.hh
+@@ -11,6 +11,7 @@
+ #include <string>
+ #include <vector>
+ #include <sqlite3.h>
++#include <cstdint>
+
+ using namespace std;
+
+
+https://github.com/Gaius-Augustus/Augustus/commit/3dbe752e4cf3f6778168166a2c662d02d8623f15
+https://github.com/Gaius-Augustus/Augustus/pull/395
+
+From 3dbe752e4cf3f6778168166a2c662d02d8623f15 Mon Sep 17 00:00:00 2001
+From: Kuoi <kuoi@bioarchlinux.org>
+Date: Mon, 12 Jun 2023 01:32:02 +0800
+Subject: [PATCH] fix: without it compile fail
+
+--- a/auxprogs/homGeneMapping/include/sqliteDB.hh
++++ b/auxprogs/homGeneMapping/include/sqliteDB.hh
+@@ -13,6 +13,7 @@
+ #include <string>
+ #include <vector>
+ #include <sqlite3.h>
++#include <cstdint>
+
+ using namespace std;
+
diff --git a/sci-biology/augustus/files/augustus-3.5.0-fix-gcc15.patch b/sci-biology/augustus/files/augustus-3.5.0-fix-gcc15.patch
new file mode 100644
index 000000000000..4c5916ad402f
--- /dev/null
+++ b/sci-biology/augustus/files/augustus-3.5.0-fix-gcc15.patch
@@ -0,0 +1,20 @@
+https://bugs.gentoo.org/949617
+https://github.com/Gaius-Augustus/Augustus/pull/431
+
+From b7cbe782e840c82da1eeb2aae7a1a757ecef9fb0 Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 11 Feb 2025 14:57:23 +0200
+Subject: [PATCH] filterBam: include missing header for gcc15
+
+Bug: https://bugs.gentoo.org/949617
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/auxprogs/filterBam/src/headers/bamaccess.hh
++++ b/auxprogs/filterBam/src/headers/bamaccess.hh
+@@ -7,6 +7,7 @@
+ #include <iostream>
+ #include <vector>
+ #include <memory>
++#include <cstdint>
+
+ class BamAlignmentRecord;
+ typedef std::shared_ptr<BamAlignmentRecord> BamAlignmentRecord_;
diff --git a/sci-biology/augustus/metadata.xml b/sci-biology/augustus/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/augustus/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bamtools/Manifest b/sci-biology/bamtools/Manifest
new file mode 100644
index 000000000000..48e3770f13d9
--- /dev/null
+++ b/sci-biology/bamtools/Manifest
@@ -0,0 +1 @@
+DIST bamtools-2.5.3.tar.gz 245648 BLAKE2B f387dd1dbae87ba22e811f81afd144d1c0fab02cd3c61f0442a3383a4f91d019a3ec8f0765e8d2ab8727bb9f1b3b22f4a2aff424a7c0aaa93396eb7afe0e9ba7 SHA512 bde9d98048d9f30d7f3c4e75db97e610ab58148dedadd09a36ad2421a6357b24510abda2451452d1fb9b40e22e1b8fe6f4e4c6ee1c529c426055a050a24b52d8
diff --git a/sci-biology/bamtools/bamtools-2.5.3.ebuild b/sci-biology/bamtools/bamtools-2.5.3.ebuild
new file mode 100644
index 000000000000..6dfe1b0b9cef
--- /dev/null
+++ b/sci-biology/bamtools/bamtools-2.5.3.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A programmer's API and an end-user's toolkit for handling BAM files"
+HOMEPAGE="https://github.com/pezmaster31/bamtools"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pezmaster31/bamtools.git"
+else
+ SRC_URI="https://github.com/pezmaster31/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}" # no stable ABI yet
+
+RDEPEND="
+ >=dev-libs/jsoncpp-1.8.0:=
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ # delete bundled libs, just to be safe
+ rm -rf src/third_party/{gtest-1.6.0,jsoncpp} || die
+
+ cmake_src_prepare
+}
diff --git a/sci-biology/bamtools/bamtools-9999.ebuild b/sci-biology/bamtools/bamtools-9999.ebuild
new file mode 100644
index 000000000000..e6793562c6a4
--- /dev/null
+++ b/sci-biology/bamtools/bamtools-9999.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="A programmer's API and an end-user's toolkit for handling BAM files"
+HOMEPAGE="https://github.com/pezmaster31/bamtools"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pezmaster31/bamtools.git"
+else
+ SRC_URI="https://github.com/pezmaster31/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="MIT"
+SLOT="0/${PV}" # no stable ABI yet
+
+RDEPEND="
+ >=dev-libs/jsoncpp-1.8.0:=
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ # delete bundled libs, just to be safe
+ rm -rf src/third_party/{gtest-1.6.0,jsoncpp} || die
+
+ cmake_src_prepare
+}
diff --git a/sci-biology/bamtools/metadata.xml b/sci-biology/bamtools/metadata.xml
new file mode 100644
index 000000000000..100057a82ada
--- /dev/null
+++ b/sci-biology/bamtools/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>BAM (Binary Alignment/Map) format is useful for storing large DNA sequence alignments. It is closely related to the text-based SAM format, but optimized for random-access. BamTools provides a fast, flexible C++ API for reading and writing BAM files.</longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bcftools/Manifest b/sci-biology/bcftools/Manifest
new file mode 100644
index 000000000000..ac638db4665d
--- /dev/null
+++ b/sci-biology/bcftools/Manifest
@@ -0,0 +1,4 @@
+DIST bcftools-1.20.tar.bz2 7883049 BLAKE2B 36bfd82c9500f384b75ef93242a5879123f7fd63c893c95a1ce5efbfa9396f2c1fd75025ea2dd48d37e7dc93426ffaffbb2f3c6bdf64128fbdd3af2a2f760b17 SHA512 c77294923a6bb5cb97a2c4947e79aa215612a62f71ba0e4dde627cd3d97ee9a28a3682e8ab2f3bedd0e75e2bb9800915d9430f9504f09ead4492d3583553db2a
+DIST bcftools-1.21.tar.bz2 7982173 BLAKE2B 7da808d1b06d2cdc0ed9ae2768a71f9e3e1de07f6e9c74504eb6f19b06481e509630e14f209ec0250c0689bf9d5807936288ba48f17830a2b004b7cfa3c23c59 SHA512 f8fb2e50a1a9e7a7e8a4f71d71d052f6019d54c60ae060d0abfbd01ab61a2c44e04e069c479ea9f6156513b54a611a9a46930a0ff4454019bb715fdb9558d07d
+DIST bcftools-1.22.tar.bz2 8176878 BLAKE2B 62df4b50e8ee6d4e9614f9317a58a72cc75adf89329cf2759f0e2b65027c51cbb4728e60128b22b4786e2ec541433664f3d7af5d70611dd32d362d2be7f56d0e SHA512 20daee4ecb6b7d0034e0d9590fcc42712ac78c4e511d519ac0dd98d2b2b920d85d234cf1a08abd1be62d1be994788de53d6010af642099f2b75753ecc19efd15
+DIST bcftools-1.23.tar.bz2 8133124 BLAKE2B 3d56c6aacf286414d51e8cd6c3a3d6c5b7357e04119f233fa9272bf9c7f4efb6e126cb3b7572cbe85afc3f2c3ef09ae7cb52880817a12f94f61f534a3e9d60bf SHA512 6daf9bbc0b5ad430c555d70d9bf2a9eeb5b477f564282a86702a2ab4b62240b3aa4867cf1dd7357d3ce7b95b2917ecadc3999c0c67b4150d9c9140f46c945909
diff --git a/sci-biology/bcftools/bcftools-1.20.ebuild b/sci-biology/bcftools/bcftools-1.20.ebuild
new file mode 100644
index 000000000000..7e040f93dcaf
--- /dev/null
+++ b/sci-biology/bcftools/bcftools-1.20.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Utilities for variant calling and manipulating VCF and BCF files"
+HOMEPAGE="http://www.htslib.org"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-lang/perl
+ $(python_gen_cond_dep 'dev-python/matplotlib[${PYTHON_USEDEP}]')
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ virtual/zlib:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+src_prepare() {
+ default
+
+ python_fix_shebang misc/{gff2gff,guess-ploidy,plot-roh}.py
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --disable-bcftools-plugins \
+ --disable-libgsl \
+ --with-htslib=system
+}
diff --git a/sci-biology/bcftools/bcftools-1.21.ebuild b/sci-biology/bcftools/bcftools-1.21.ebuild
new file mode 100644
index 000000000000..7e040f93dcaf
--- /dev/null
+++ b/sci-biology/bcftools/bcftools-1.21.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Utilities for variant calling and manipulating VCF and BCF files"
+HOMEPAGE="http://www.htslib.org"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-lang/perl
+ $(python_gen_cond_dep 'dev-python/matplotlib[${PYTHON_USEDEP}]')
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ virtual/zlib:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+src_prepare() {
+ default
+
+ python_fix_shebang misc/{gff2gff,guess-ploidy,plot-roh}.py
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --disable-bcftools-plugins \
+ --disable-libgsl \
+ --with-htslib=system
+}
diff --git a/sci-biology/bcftools/bcftools-1.22.ebuild b/sci-biology/bcftools/bcftools-1.22.ebuild
new file mode 100644
index 000000000000..7e040f93dcaf
--- /dev/null
+++ b/sci-biology/bcftools/bcftools-1.22.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Utilities for variant calling and manipulating VCF and BCF files"
+HOMEPAGE="http://www.htslib.org"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-lang/perl
+ $(python_gen_cond_dep 'dev-python/matplotlib[${PYTHON_USEDEP}]')
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ virtual/zlib:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+src_prepare() {
+ default
+
+ python_fix_shebang misc/{gff2gff,guess-ploidy,plot-roh}.py
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --disable-bcftools-plugins \
+ --disable-libgsl \
+ --with-htslib=system
+}
diff --git a/sci-biology/bcftools/bcftools-1.23.ebuild b/sci-biology/bcftools/bcftools-1.23.ebuild
new file mode 100644
index 000000000000..7166b3a176bd
--- /dev/null
+++ b/sci-biology/bcftools/bcftools-1.23.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1
+
+DESCRIPTION="Utilities for variant calling and manipulating VCF and BCF files"
+HOMEPAGE="http://www.htslib.org"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ dev-lang/perl
+ $(python_gen_cond_dep 'dev-python/matplotlib[${PYTHON_USEDEP}]')
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ virtual/zlib:=
+ ${PYTHON_DEPS}"
+DEPEND="${RDEPEND}"
+BDEPEND="${PYTHON_DEPS}"
+
+src_prepare() {
+ default
+
+ python_fix_shebang misc/{gff2gff,guess-ploidy,plot-roh}.py
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --disable-bcftools-plugins \
+ --disable-libgsl \
+ --with-htslib=system
+}
diff --git a/sci-biology/bcftools/metadata.xml b/sci-biology/bcftools/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bcftools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bedtools/Manifest b/sci-biology/bedtools/Manifest
new file mode 100644
index 000000000000..4b33688aa042
--- /dev/null
+++ b/sci-biology/bedtools/Manifest
@@ -0,0 +1 @@
+DIST bedtools-2.31.1.tar.gz 19629373 BLAKE2B f09742ee74494c783cef4909c56abd7b8542344539fe006140716b0a6a1d972db4e3df4a03fb3996a71cb57709b0494be8686879cba15c0985236f3a1282c92d SHA512 fbdc23011566697b2fc44bf3e7b466949487d3f648e81957fa80e8ad4b192d0ef7e2e3944b9b18612774a7984ec99e3fc339c3fddb8889caa632b8ce8defa20d
diff --git a/sci-biology/bedtools/bedtools-2.31.1.ebuild b/sci-biology/bedtools/bedtools-2.31.1.ebuild
new file mode 100644
index 000000000000..9c05c3d56eb9
--- /dev/null
+++ b/sci-biology/bedtools/bedtools-2.31.1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-any-r1 toolchain-funcs
+
+DESCRIPTION="Tools for manipulation and analysis of BED, GFF/GTF, VCF, SAM/BAM file formats"
+HOMEPAGE="https://bedtools.readthedocs.io/"
+SRC_URI="https://github.com/arq5x/${PN}2/releases/download/v${PV}/${P}.tar.gz"
+S="${WORKDIR}/${PN}2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ app-arch/bzip2
+ app-arch/xz-utils
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? ( >=sci-biology/samtools-1.10:0 )"
+
+# bedtools2 has a *terrible* build system and development practices.
+# Upstream has forked htslib 1.9 and extended it by adding clever callbacks
+# that make unbundling it nigh impossible. There are no signs of upstream porting
+# their fork to 1.10, which means we're stuck with the bundled version.
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.31.1-buildsystem.patch
+ "${FILESDIR}"/${PN}-2.31.1-python.patch
+ "${FILESDIR}"/${PN}-2.31.1-includes.patch
+)
+
+src_configure() {
+ tc-export AR CC CXX RANLIB
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/bedtools
+ doins -r genomes
+}
diff --git a/sci-biology/bedtools/files/bedtools-2.31.1-buildsystem.patch b/sci-biology/bedtools/files/bedtools-2.31.1-buildsystem.patch
new file mode 100644
index 000000000000..8bb2a096e917
--- /dev/null
+++ b/sci-biology/bedtools/files/bedtools-2.31.1-buildsystem.patch
@@ -0,0 +1,84 @@
+--- a/Makefile
++++ b/Makefile
+@@ -4,46 +4,29 @@
+ # (c) 2009 Aaron Quinlan
+ # ==========================
+
+-SHELL := /bin/bash -e
++SHELL := bash -e
+
+ VERSION_FILE=./src/utils/version/version_git.h
+ RELEASED_VERSION_FILE=./src/utils/version/version_release.txt
+
+
+ # define our object and binary directories
+-ifeq ($(VERBOSE),1)
+ CCPREFIX =
+-else
+-CCPREFIX = @
+-endif
+
+ OBJ_DIR = obj
+ BIN_DIR = bin
+ SRC_DIR = src
+
+-CXX = g++
+-
+-PYTHON ?= $(shell python --version >/dev/null 2>&1 && echo "python" || echo python3)
+-
+-ifeq ($(DEBUG),1)
+-BT_CPPFLAGS = -DDEBUG -D_DEBUG -D_FILE_OFFSET_BITS=64 -DWITH_HTS_CB_API $(INCLUDES)
+-BT_CXXFLAGS = -Wconversion -Wall -Wextra -g -O0
+-else
+ BT_CPPFLAGS = -D_FILE_OFFSET_BITS=64 -DWITH_HTS_CB_API $(INCLUDES)
+-BT_CXXFLAGS = -g -Wall -O2
+-endif
++BT_CXXFLAGS = -Wall
+
+ # If the user has specified to do so, tell the compile to use rand() (instead of mt19937).
+-ifeq ($(USE_RAND),1)
+-BT_CXXFLAGS += -DUSE_RAND
+-else
+ BT_CXXFLAGS += -std=c++11
+-endif
+
+ BT_LDFLAGS =
+ BT_LIBS = -lz -lm -lbz2 -llzma -lpthread
+
+-prefix ?= /usr/local
++prefix = $(EPREFIX)/usr
+
+ SUBDIRS = $(SRC_DIR)/annotateBed \
+ $(SRC_DIR)/bamToBed \
+@@ -213,7 +196,7 @@
+
+ # make the "obj/" and "bin/" directories, if they don't exist
+ $(OBJ_DIR) $(BIN_DIR):
+- @mkdir -p $@
++ mkdir -p $@
+
+
+ # Usually HTSlib's configure script has not been used (detected via config.mk
+--- a/src/utils/htslib/Makefile
++++ b/src/utils/htslib/Makefile
+@@ -22,20 +22,13 @@
+ # FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ # DEALINGS IN THE SOFTWARE.
+
+-CC = gcc
+-AR = ar
+-RANLIB = ranlib
+-
+ # Default libraries to link if configure is not used
+ htslib_default_libs = -lz -lm -lbz2 -llzma
+
+-CPPFLAGS =
+ # TODO: probably update cram code to make it compile cleanly with -Wc++-compat
+ # For testing strict C99 support add -std=c99 -D_XOPEN_SOURCE=600
+ #CFLAGS = -g -Wall -O2 -pedantic -std=c99 -D_XOPEN_SOURCE=600 -D__FUNCTION__=__func__
+-CFLAGS = -g -Wall -O2
+ EXTRA_CFLAGS_PIC = -fpic
+-LDFLAGS =
+ LIBS = $(htslib_default_libs)
+
+ prefix = /usr/local
diff --git a/sci-biology/bedtools/files/bedtools-2.31.1-includes.patch b/sci-biology/bedtools/files/bedtools-2.31.1-includes.patch
new file mode 100644
index 000000000000..927b1b944d6e
--- /dev/null
+++ b/sci-biology/bedtools/files/bedtools-2.31.1-includes.patch
@@ -0,0 +1,180 @@
+https://github.com/arq5x/bedtools2/pull/1087
+
+From 3fbf2ddc8ebf0fc1bd492d14a6046aadd59ecadb Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Thu, 25 Apr 2024 11:18:48 +0200
+Subject: [PATCH] Add missing `stdint.h` includes
+
+* Musl is a lot stricter with transitive includes:
+ Bug: https://bugs.gentoo.org/907971
+--- a/src/bamToBed/bamToBed.cpp
++++ b/src/bamToBed/bamToBed.cpp
+@@ -22,6 +22,7 @@ using namespace BamTools;
+ #include <sstream>
+ #include <fstream>
+ #include <stdlib.h>
++#include <stdint.h>
+
+ using namespace std;
+
+--- a/src/clusterBed/clusterBed.cpp
++++ b/src/clusterBed/clusterBed.cpp
+@@ -12,6 +12,8 @@
+ #include "lineFileUtilities.h"
+ #include "clusterBed.h"
+
++#include <stdint.h>
++
+ // = Constructor =
+ BedCluster::BedCluster(string &bedFile,
+ int maxDistance,
+--- a/src/pairToBed/pairToBed.h
++++ b/src/pairToBed/pairToBed.h
+@@ -22,6 +22,7 @@ using namespace BamTools;
+ #include <vector>
+ #include <iostream>
+ #include <fstream>
++#include <stdint.h>
+
+ using namespace std;
+
+--- a/src/randomBed/randomBed.h
++++ b/src/randomBed/randomBed.h
+@@ -22,6 +22,7 @@
+ #include <unistd.h>
+ #include <sys/types.h>
+ #include <algorithm> // for binary search
++#include <stdint.h>
+ using namespace std;
+
+ const int MAX_TRIES = 1000000;
+--- a/src/summaryFile/summaryFile.h
++++ b/src/summaryFile/summaryFile.h
+@@ -12,6 +12,8 @@
+ #include "ToolBase.h"
+ #include "ContextSummary.h"
+
++#include <stdint.h>
++
+ struct Interval {
+ CHRPOS start;
+ CHRPOS end;
+--- a/src/utils/BamTools/include/BamAlignment.mapping.hpp
++++ b/src/utils/BamTools/include/BamAlignment.mapping.hpp
+@@ -1,3 +1,4 @@
++#include <stdint.h>
+
+ struct _RefID_t {
+ operator int32_t() const {return (int32_t)(_ptr()->core.tid);}
+--- a/src/utils/BamTools/include/api/BamAux.h
++++ b/src/utils/BamTools/include/api/BamAux.h
+@@ -1,4 +1,5 @@
+ #include <string>
++#include <stdint.h>
+
+ #ifndef BAMAUX_H
+ #define BAMAUX_H
+--- a/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.h
++++ b/src/utils/FileRecordTools/FileReaders/SingleLineDelimTextFileReader.h
+@@ -9,6 +9,7 @@
+ #define SINGLELINETEXTFILEREADER_H_
+
+ #include <algorithm>
++#include <stdint.h>
+ #include "FileReader.h"
+ #include "string.h"
+ #include "lineFileUtilities.h"
+--- a/src/utils/FileRecordTools/Records/BamRecord.cpp
++++ b/src/utils/FileRecordTools/Records/BamRecord.cpp
+@@ -10,6 +10,8 @@
+ #include "BamFileReader.h"
+ #include "RecordKeyVector.h"
+
++#include <stdint.h>
++
+ BamRecord::BamRecord()
+ : _bamChromId(-1)
+ {
+--- a/src/utils/GenomeFile/GenomeFile.h
++++ b/src/utils/GenomeFile/GenomeFile.h
+@@ -19,6 +19,7 @@
+ #include <fstream>
+ #include <cstring>
+ #include <cstdio>
++#include <stdint.h>
+ #include <algorithm> // for bsearch lower_bound()
+ #include "api/BamReader.h"
+ #include "api/BamAux.h"
+--- a/src/utils/GenomeFile/NewGenomeFile.h
++++ b/src/utils/GenomeFile/NewGenomeFile.h
+@@ -14,6 +14,7 @@
+ #define NEW_GENOMEFILE_H
+
+ #include <algorithm> // for bsearch lower_bound()
++#include <stdint.h>
+
+ #include "BedtoolsTypes.h"
+
+--- a/src/utils/bedFilePE/bedFilePE.h
++++ b/src/utils/bedFilePE/bedFilePE.h
+@@ -8,6 +8,7 @@
+ #include <fstream>
+ #include <sstream>
+ #include <cstring>
++#include <stdint.h>
+ #include <algorithm>
+ #include "bedFile.h"
+ #include "lineFileUtilities.h"
+--- a/src/utils/general/ParseTools.cpp
++++ b/src/utils/general/ParseTools.cpp
+@@ -2,7 +2,7 @@
+ #include <climits>
+ #include <cctype>
+ #include <cstring>
+-#include <cstdint>
++#include <stdint.h>
+ #include <cstdio>
+ #include <cstdlib>
+ #include <sstream>
+--- a/src/utils/lineFileUtilities/lineFileUtilities.h
++++ b/src/utils/lineFileUtilities/lineFileUtilities.h
+@@ -4,6 +4,7 @@
+ #include <vector>
+ #include <string>
+ #include <cstring>
++#include <stdint.h>
+ #include <cstdlib>
+ #include <sstream>
+ #include <iostream>
+--- a/src/utils/sequenceUtilities/sequenceUtils.h
++++ b/src/utils/sequenceUtilities/sequenceUtils.h
+@@ -4,6 +4,7 @@
+ #include <string>
+ #include <algorithm>
+ #include <cctype>
++#include <stdint.h>
+
+ using namespace std;
+
+--- a/src/windowMaker/windowMaker.h
++++ b/src/windowMaker/windowMaker.h
+@@ -12,6 +12,8 @@ Licenced under the GNU General Public License 2.0 license.
+ #include "NewGenomeFile.h"
+ #include "bedFile.h"
+
++#include <stdint.h>
++
+ using namespace std;
+
+
+--- a/src/windowMaker/windowMakerMain.cpp
++++ b/src/windowMaker/windowMakerMain.cpp
+@@ -12,6 +12,8 @@ Licenced under the GNU General Public License 2.0 license.
+ #include "windowMaker.h"
+ #include "version.h"
+
++#include <stdint.h>
++
+ using namespace std;
+
+ // define our program name
diff --git a/sci-biology/bedtools/files/bedtools-2.31.1-python.patch b/sci-biology/bedtools/files/bedtools-2.31.1-python.patch
new file mode 100644
index 000000000000..99fc1b1d480b
--- /dev/null
+++ b/sci-biology/bedtools/files/bedtools-2.31.1-python.patch
@@ -0,0 +1,42 @@
+https://github.com/arq5x/bedtools2/pull/1087
+
+From eabcd3dcb9caa1fcc17acd43df2ded4170ed1449 Mon Sep 17 00:00:00 2001
+From: David Seifert <soap@gentoo.org>
+Date: Thu, 25 Apr 2024 11:18:47 +0200
+Subject: [PATCH] Allow PYTHON from environment
+
+* Distros need to be able to specify exactly which python
+ interpreter to run tests under.
+--- a/test/bigchroms/test-bigchroms.sh
++++ b/test/bigchroms/test-bigchroms.sh
+@@ -28,7 +28,7 @@ check obs abig.bed
+ rm obs
+
+ if [[ "$BT_NO_BIG_FILES" != "" ]]; then
+-python make-big-chrom.py
++${PYTHON:-python} make-big-chrom.py
+
+ echo -e " bigchroms.t03...big get fasta \c"
+ $BT getfasta -fi bigx.fasta -bed bigx.bed | tail -1 > obs
+--- a/test/fisher/cmp.sh
++++ b/test/fisher/cmp.sh
+@@ -3,7 +3,7 @@ set -eo pipefail
+ echo "fisher,shuffled"
+
+ for i in $(seq 1000); do
+- fisher=$(python ./sim.py | tail -1 | cut -f 2)
++ fisher=$(${PYTHON:-python} ./sim.py | tail -1 | cut -f 2)
+ shuffle=$(bash shuf.sh)
+ echo "$fisher,$shuffle"
+ done
+--- a/test/genomecov/test-genomecov.sh
++++ b/test/genomecov/test-genomecov.sh
+@@ -288,7 +288,7 @@ CRAM_REFERENCE=test_ref.fa $BT genomecov -ibam empty.cram > obs
+ check obs exp
+ rm obs exp
+
+-python mk-deep.py > deep.sam
++${PYTHON:-python} mk-deep.py > deep.sam
+ echo -e " genomecov.t18...\c"
+ echo "c1 1 1000000" > exp
+ $BT genomecov -d -ibam deep.sam | head -1 > obs
diff --git a/sci-biology/bedtools/metadata.xml b/sci-biology/bedtools/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bedtools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bfast/Manifest b/sci-biology/bfast/Manifest
new file mode 100644
index 000000000000..43bf85bb09b8
--- /dev/null
+++ b/sci-biology/bfast/Manifest
@@ -0,0 +1 @@
+DIST bfast-0.7.0a.tar.gz 2456617 BLAKE2B a841e7651e731dbb3faf22eb03dce5d2008c84f9a6198204d3c41aea26626058e3a23375bc0e7e8fc142d4898e09ddbb168016c71a7b79527e602e06ec329151 SHA512 16e7ec5101c478f0dfc171016cbacb2b9240773e43b2d40eeb42d0e47afcee50a6dd5838e043a0326fc1ca9a87d3e55b42326a7f17b7c5654ef9825913860836
diff --git a/sci-biology/bfast/bfast-0.7.0a-r1.ebuild b/sci-biology/bfast/bfast-0.7.0a-r1.ebuild
new file mode 100644
index 000000000000..56c2f6035994
--- /dev/null
+++ b/sci-biology/bfast/bfast-0.7.0a-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Blat-like Fast Accurate Search Tool"
+HOMEPAGE="https://sourceforge.net/projects/bfast/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="test" # tests broken, upstream unresponsive
+
+RDEPEND="dev-perl/XML-Simple"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-test-sourcing.patch
+ "${FILESDIR}"/${P}-C99-inline.patch
+ "${FILESDIR}"/${P}-gzeof.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/bfast/files/bfast-0.7.0a-C99-inline.patch b/sci-biology/bfast/files/bfast-0.7.0a-C99-inline.patch
new file mode 100644
index 000000000000..86450c96048a
--- /dev/null
+++ b/sci-biology/bfast/files/bfast-0.7.0a-C99-inline.patch
@@ -0,0 +1,74 @@
+--- a/bfast/AlignNTSpace.c
++++ b/bfast/AlignNTSpace.c
+@@ -478,7 +478,7 @@
+ }
+ }
+
+-inline void AlignNTSpaceFillInCell(char *read,
++void AlignNTSpaceFillInCell(char *read,
+ int32_t readLength,
+ char *reference,
+ int32_t referenceLength,
+--- a/bfast/AlignNTSpace.h
++++ b/bfast/AlignNTSpace.h
+@@ -10,5 +10,5 @@
+ void AlignNTSpaceRecoverAlignmentFromMatrix(AlignedEntry*, AlignMatrix*, char*, int, char*, int, int32_t, int32_t, int, int32_t, char, int);
+ void AlignNTSpaceInitializeAtStart(AlignMatrix*, ScoringMatrix*, int32_t, int32_t);
+ void AlignNTSpaceInitializeToExtend(AlignMatrix*, ScoringMatrix*, int32_t, int32_t, int32_t, int32_t);
+-inline void AlignNTSpaceFillInCell(char*, int32_t, char*, int32_t, ScoringMatrix*, AlignMatrix*, int32_t, int32_t, int32_t, int32_t);
++void AlignNTSpaceFillInCell(char*, int32_t, char*, int32_t, ScoringMatrix*, AlignMatrix*, int32_t, int32_t, int32_t, int32_t);
+ #endif
+--- a/bfast/BLib.c
++++ b/bfast/BLib.c
+@@ -90,7 +90,7 @@
+ }
+
+ /* TODO */
+-inline char ToUpper(char a)
++char ToUpper(char a)
+ {
+ if(97 <= a && a < 122) return (char)(a - 32);
+ return a;
+--- a/bfast/BLib.h
++++ b/bfast/BLib.h
+@@ -16,7 +16,7 @@
+ int ParseFastaHeaderLine(char*);
+ char ToLower(char);
+ void ToLowerRead(char*, int);
+-inline char ToUpper(char);
++char ToUpper(char);
+ void ToUpperRead(char*, int);
+ void ReverseRead(char*, char*, int);
+ void ReverseReadFourBit(int8_t*, int8_t*, int);
+--- a/bfast/ScoringMatrix.c
++++ b/bfast/ScoringMatrix.c
+@@ -98,14 +98,14 @@
+ return 1;
+ }
+
+-inline int32_t ScoringMatrixGetNTScore(char a,
++int32_t ScoringMatrixGetNTScore(char a,
+ char b,
+ ScoringMatrix *sm)
+ {
+ return (ToUpper(a) == ToUpper(b)) ? sm->ntMatch : sm->ntMismatch;
+ }
+
+-inline int32_t ScoringMatrixGetColorScore(char a,
++int32_t ScoringMatrixGetColorScore(char a,
+ char b,
+ ScoringMatrix *sm)
+ {
+--- a/bfast/ScoringMatrix.h
++++ b/bfast/ScoringMatrix.h
+@@ -3,8 +3,8 @@
+
+ #include "BLibDefinitions.h"
+
+-inline int32_t ScoringMatrixGetNTScore(char, char, ScoringMatrix*);
+-inline int32_t ScoringMatrixGetColorScore(char, char, ScoringMatrix*);
++int32_t ScoringMatrixGetNTScore(char, char, ScoringMatrix*);
++int32_t ScoringMatrixGetColorScore(char, char, ScoringMatrix*);
+
+ int ScoringMatrixRead(char*, ScoringMatrix*, int);
+ void ScoringMatrixInitialize(ScoringMatrix*);
diff --git a/sci-biology/bfast/files/bfast-0.7.0a-autotools.patch b/sci-biology/bfast/files/bfast-0.7.0a-autotools.patch
new file mode 100644
index 000000000000..993f6a554662
--- /dev/null
+++ b/sci-biology/bfast/files/bfast-0.7.0a-autotools.patch
@@ -0,0 +1,41 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,7 +8,7 @@
+ AC_INIT([bfast],[0.7.0a],[bfast-help@lists.sourceforge.net],[bfast])
+ AC_COPYRIGHT([See LICENSE for copyright information.])
+ AC_CONFIG_AUX_DIR(config)
+-AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects])
++AM_INIT_AUTOMAKE([dist-bzip2 subdir-objects serial-tests])
+ AC_CONFIG_SRCDIR([config.h.in])
+ AC_CONFIG_HEADERS([config.h])
+
+@@ -21,10 +21,10 @@
+
+ AC_PROG_INSTALL
+ AC_GNU_SOURCE
++AC_SYS_LARGEFILE
+
+ # set CFLAGS and CXXFLAGS
+-default_CFLAGS="-Wall -g -O2 -pthread";
+-extended_CFLAGS="";# "-m64 -D_FILE_OFFSET_BITS=64";
++default_CFLAGS="-Wall -pthread"
+
+ # Define some variables
+ GITREV="Revision: undefined$";
+@@ -42,7 +42,7 @@
+ AC_DEFINE(HAVE_LIBBZ2, 1, [Define to 1 if you have the <bzlib.h> header file.])],
+ AC_MSG_ERROR("could not find the bzlib library. Please use --disable-bzlib if you wish to disable bzlib support."))])
+
+-CFLAGS="${default_CFLAGS} ${extended_CFLAGS}";
++CFLAGS="${CFLAGS} ${default_CFLAGS} ${extended_CFLAGS}";
+
+ # Enable large file support; disable with --disable-largefile
+ AC_SYS_LARGEFILE
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -16,5 +16,4 @@
+
+ SUBDIRS = bfast butil scripts tests
+
+-docdir = ${datadir}/doc/${PACKAGE}
+ dist_doc_DATA = LICENSE manual/bfast-book.pdf
diff --git a/sci-biology/bfast/files/bfast-0.7.0a-gzeof.patch b/sci-biology/bfast/files/bfast-0.7.0a-gzeof.patch
new file mode 100644
index 000000000000..b0b992abf1bc
--- /dev/null
+++ b/sci-biology/bfast/files/bfast-0.7.0a-gzeof.patch
@@ -0,0 +1,13 @@
+Use correct gzip function to check for the end of file
+https://bugs.gentoo.org/919254
+--- a/bfast/RGMatch.c
++++ b/bfast/RGMatch.c
+@@ -20,7 +20,7 @@
+ /* Read in the read length */
+ if(gzread64(fp, &m->readLength, sizeof(int32_t))!=sizeof(int32_t)||
+ gzread64(fp, &m->qualLength, sizeof(int32_t))!=sizeof(int32_t)) {
+- if(feof(fp) != 0) {
++ if(gzeof(fp) != 0) {
+ return EOF;
+ }
+ else {
diff --git a/sci-biology/bfast/files/bfast-0.7.0a-test-sourcing.patch b/sci-biology/bfast/files/bfast-0.7.0a-test-sourcing.patch
new file mode 100644
index 000000000000..f4dd64e75cac
--- /dev/null
+++ b/sci-biology/bfast/files/bfast-0.7.0a-test-sourcing.patch
@@ -0,0 +1,79 @@
+--- a/tests/test.cleanup.sh
++++ b/tests/test.cleanup.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Cleaning up files.";
+
+--- a/tests/test.diff.sh
++++ b/tests/test.diff.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ #error()
+ #{
+--- a/tests/test.fasta2brg.sh
++++ b/tests/test.fasta2brg.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+ TMP_DIR="tmp/";
+
+ echo " Building a reference genome.";
+--- a/tests/test.index.sh
++++ b/tests/test.index.sh
+@@ -1,5 +1,5 @@
+ #!/bin/sh
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Building an index.";
+
+--- a/tests/test.initialize.sh
++++ b/tests/test.initialize.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Initializing data for tests.";
+
+--- a/tests/test.localalign.sh
++++ b/tests/test.localalign.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Running local alignment.";
+
+--- a/tests/test.match.sh
++++ b/tests/test.match.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Finding matches.";
+
+--- a/tests/test.postprocess.sh
++++ b/tests/test.postprocess.sh
+@@ -1,6 +1,6 @@
+ #!/bin/sh
+
+-. test.definitions.sh
++. ./test.definitions.sh
+
+ echo " Running postprocessing.";
+
diff --git a/sci-biology/bfast/metadata.xml b/sci-biology/bfast/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bfast/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/biogrep/Manifest b/sci-biology/biogrep/Manifest
new file mode 100644
index 000000000000..1666ad7c813c
--- /dev/null
+++ b/sci-biology/biogrep/Manifest
@@ -0,0 +1,2 @@
+DIST biogrep-1.0.pdf 22179 BLAKE2B 9a401b50480ae8fe903b96082b8011cc02d8f65d97cdcc2659e835d8fc01969f756d33e14428aeee802f5dd994e3b5277b6e705ec73f92c0fb2be255e5a1588f SHA512 b0430bded7529a14e3e551e4c7deeffdbdbbe674b5a4bd68afa359b2a4e9f0b8fb4a6474673d298508fa728cf83a328327860e60b3777e92afb15fa87f076411
+DIST biogrep-1.0.tar.gz 71867 BLAKE2B 48baf2b13f65e3b2d79fabccf978c8a3b275e6b915fed56a2fa9a0cd98ab36ff3810dbe9be1447a32b5f95b5ed006cc19dbd0673ec9e617e4a9115dcddf240a4 SHA512 da07ea6f5f6fd601a94dc1b9495b204affcdc4d5e7fedfebbb65d6382ef0573e43b4ebd081c24909b2790ec2ae532505604112d4943c3e4e6575e13bdcdf1ae3
diff --git a/sci-biology/biogrep/biogrep-1.0-r3.ebuild b/sci-biology/biogrep/biogrep-1.0-r3.ebuild
new file mode 100644
index 000000000000..cfdeeb440f72
--- /dev/null
+++ b/sci-biology/biogrep/biogrep-1.0-r3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Multithreaded tool for matching large sets of patterns against biosequence DBs"
+HOMEPAGE="http://stephanopoulos.openwetware.org/BIOGREP.html"
+SRC_URI="
+ http://www.openwetware.org/images/3/3d/${P^}.tar.gz -> ${P}.tar.gz
+ doc? ( http://www.openwetware.org/images/4/49/${PN^}.pdf -> ${P}.pdf )"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc examples"
+
+PATCHES=( "${FILESDIR}"/${P}-c23.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ use doc && dodoc "${DISTDIR}"/${P}.pdf
+ if use examples; then
+ # remove cruft before installing examples
+ find examples/ \( -name 'CVS' -o -name '*~' \) -exec rm -rf '{}' + || die
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-biology/biogrep/files/biogrep-1.0-c23.patch b/sci-biology/biogrep/files/biogrep-1.0-c23.patch
new file mode 100644
index 000000000000..a287dd905b48
--- /dev/null
+++ b/sci-biology/biogrep/files/biogrep-1.0-c23.patch
@@ -0,0 +1,35 @@
+--- a/src/main.c
++++ b/src/main.c
+@@ -198,8 +198,8 @@
+ int i;
+ int regExsPerThread;
+ int completedRegExs;
+- int (*parseFunct) () = &ParseTxtLine;
+- fSeq_t *(*seqReadFunct) () = &ReadTxtSeqs;
++ int (*parseFunct) (char*, int, tPat_t*) = &ParseTxtLine;
++ fSeq_t *(*seqReadFunct) (FILE*, int*) = &ReadTxtSeqs;
+ printFormat_t myFormat;
+ int ignoreCase = 0;
+
+--- a/src/patternFunctions.c
++++ b/src/patternFunctions.c
+@@ -39,7 +39,7 @@
+ // output file from Teiresias, which may or may not have logOdds values
+ //
+ tPat_t *
+-ReadTPats(FILE * INPUT, int getOffsets, int *numberOfPatterns, int (*parseFunct) ())
++ReadTPats(FILE * INPUT, int getOffsets, int *numberOfPatterns, int (*parseFunct) (char*, int, tPat_t*))
+ {
+ int i;
+ int countedPatterns;
+--- a/src/patternFunctions.h
++++ b/src/patternFunctions.h
+@@ -33,7 +33,7 @@
+ int MeasurePattern(char *pattern);
+ int ParseTPatLine(char *buffer, int getOffsets, tPat_t * myTeiresiasPattern);
+ int ParseTxtLine(char *buffer, int getOffsets, tPat_t * myTeiresiasPattern);
+-tPat_t *ReadTPats(FILE * INPUT, int getOffsets, int *numberOfPatterns, int (*parseFunct)() );
++tPat_t *ReadTPats(FILE * INPUT, int getOffsets, int *numberOfPatterns, int (*parseFunct)(char*, int, tPat_t*) );
+ int printTPat(FILE * OUTPUT, tPat_t * myTeiresiasPattern, int hasOffsets);
+ int FreeTPatA(tPat_t * arrayOfTeiresiasPatterns, int numberOfPatterns);
+
diff --git a/sci-biology/biogrep/metadata.xml b/sci-biology/biogrep/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/biogrep/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bioperl-db/Manifest b/sci-biology/bioperl-db/Manifest
new file mode 100644
index 000000000000..9a21d61ff2e9
--- /dev/null
+++ b/sci-biology/bioperl-db/Manifest
@@ -0,0 +1 @@
+DIST BioPerl-DB-1.006900.tar.gz 492799 BLAKE2B fb923533ecdb74e868a3aef0c0c6ba8da419ae3c0e9d2e8c55297aad15563b135b6b00fd158481b31dcacd1125f7e10a557052bd4b04eed3a400c972653ff757 SHA512 e06b8b9aa4188a83128f910d7b4a031f69d36f75e4f2d7210357366379024ef39b58eca97112b5b419f141c82b7518086273cc97c9637382ee5e0ddb9ce28746
diff --git a/sci-biology/bioperl-db/bioperl-db-1.6.9-r2.ebuild b/sci-biology/bioperl-db/bioperl-db-1.6.9-r2.ebuild
new file mode 100644
index 000000000000..435dc4a67173
--- /dev/null
+++ b/sci-biology/bioperl-db/bioperl-db-1.6.9-r2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BIOPERL_RELEASE=1.6.9
+
+DIST_NAME=BioPerl-DB
+DIST_AUTHOR=CJFIELDS
+DIST_VERSION=1.006900
+DIST_TEST="do" # Parallelism probably bad
+inherit perl-module
+
+DESCRIPTION="Perl tools for bioinformatics - Perl API that accesses the BioSQL schema"
+HOMEPAGE="http://www.bioperl.org/"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="test"
+RESTRICT="test"
+
+RDEPEND="
+ >=sci-biology/bioperl-${PV}
+ dev-perl/DBD-mysql
+ dev-perl/DBI
+ sci-biology/biosql"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ dev-perl/Data-Stag
+ dev-perl/Sub-Uplevel
+ dev-perl/Test-Warn
+ dev-perl/Test-Exception
+ virtual/perl-Test-Simple
+ )"
+BDEPEND="dev-perl/Module-Build"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.6.9-db.patch )
+
+src_prepare() {
+ export GENTOO_DB_HOSTNAME=localhost
+ perl-module_src_prepare
+}
+
+src_test() {
+ einfo "Removing bundled test libraries t/lib"
+ rm -r "${S}/t/lib" || die "Cannot remove t/lib"
+
+ ebegin "Setting up test database"
+
+ local mysql_install_db="${EPREFIX}/usr/share/mariadb/scripts/mysql_install_db"
+ [[ ! -x "${mysql_install_db}" ]] && mysql_install_db="${EPREFIX}/usr/bin/mysql_install_db"
+ [[ ! -x "${mysql_install_db}" ]] && die "mysql_install_db command not found!"
+
+ local mysqld="${EPREFIX}/usr/sbin/mysqld"
+ local socket="${T}/mysql.sock"
+ local pidfile="${T}/mysql.pid"
+ local datadir="${T}/mysql-data-dir"
+ local mysql="${EPREFIX}/usr/bin/mysql"
+
+ mkdir -p "${datadir}" || die "Can't make mysql database dir";
+ chmod 755 "${datadir}" || die "Can't fix mysql database dir perms";
+
+ "${mysql_install_db}" \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${datadir}" \
+ --user=$(whoami) \
+ || die "Failed to initalize test database"
+
+ "${mysqld}" \
+ --no-defaults \
+ --user=$(whoami) \
+ --skip-networking \
+ --skip-grant \
+ --socket="${socket}" \
+ --pid-file="${pidfile}" \
+ --datadir="${datadir}" &
+
+ local maxtry=20
+ while ! [[ -S "${socket}" || "${maxtry}" -lt 1 ]] ; do
+ maxtry=$((${maxtry}-1))
+ echo -n "."
+ sleep 1
+ done
+
+ local rc=1
+ [[ -S "${socket}" ]] && rc=0
+
+ eend ${rc}
+
+ [[ ${rc} -ne 0 ]] && die "Failed to start mysqld test instance"
+
+ export MYSQL_UNIX_PORT="${socket}"
+ perl-module_src_test
+ ebegin "Shutting down mysql test database"
+ pkill -F "${pidfile}"
+ eend $?
+}
+
+src_install() {
+ mydoc="AUTHORS BUGS FAQ"
+ perl-module_src_install
+}
diff --git a/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch b/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch
new file mode 100644
index 000000000000..36698651c7d1
--- /dev/null
+++ b/sci-biology/bioperl-db/files/bioperl-db-1.6.9-db.patch
@@ -0,0 +1,45 @@
+From d689a1473977b0aa368590ba1f913521e4f466c7 Mon Sep 17 00:00:00 2001
+From: Kent Fredric <kentfredric@gmail.com>
+Date: Tue, 18 Jul 2017 16:02:26 +1200
+Subject: [PATCH] Allow custom host/port configurations
+
+---
+ Build.PL | 4 ++--
+ t/DBTestHarness.pm | 4 ++--
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Build.PL b/Build.PL
+index ecc402e..a61190f 100755
+--- a/Build.PL
++++ b/Build.PL
+@@ -97,9 +97,9 @@ sub biosql_conf {
+ or die "Error: could not write to config file '$config_file'\n";
+
+ my %config = (driver => $drivers[0],
+- host => '127.0.0.1',
++ host => $ENV{GENTOO_DB_HOSTNAME} || '127.0.0.1',
+ user => 'root',
+- port => 3306,
++ port => $ENV{GENTOO_DB_PORT} || undef,
+ password => '',
+ dbname => 'bioseqdb',
+ database => 'biosql',
+diff --git a/t/DBTestHarness.pm b/t/DBTestHarness.pm
+index b660429..91e0c54 100755
+--- a/t/DBTestHarness.pm
++++ b/t/DBTestHarness.pm
+@@ -47,9 +47,9 @@ my $counter=0;
+ # Default settings as a hash
+ my $dflt = {
+ 'driver' => 'mysql',
+- 'host' => 'localhost',
++ 'host' => $ENV{GENTOO_DB_HOST} || 'localhost',
+ 'user' => 'root',
+- 'port' => undef,
++ 'port' => $ENV{GENTOO_DB_PORT} || undef,
+ 'password' => '',
+ 'schema_sql' => ['../biosql-schema/sql/biosqldb-mysql.sql'],
+ 'database' => 'biosql',
+--
+2.13.1
+
diff --git a/sci-biology/bioperl-db/metadata.xml b/sci-biology/bioperl-db/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bioperl-db/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bioperl-network/Manifest b/sci-biology/bioperl-network/Manifest
new file mode 100644
index 000000000000..6411c750971a
--- /dev/null
+++ b/sci-biology/bioperl-network/Manifest
@@ -0,0 +1 @@
+DIST BioPerl-Network-1.006900.tar.gz 2198089 BLAKE2B 67197ed356f642d9e85f779019f6854f4baa3963e059895b89c75ae56f8b5a075ca04b04ce5c7622d46a3a2f55e1c7d80af695085c607ed7fda5517c71c579f3 SHA512 d0a95af17cb024cbc615c784f1dbcddd7bfc5b54524163ab127f1077ded18df222fe067c085f3dd17dd416d6417b8f726526be164e1e33144991393f6b6d5842
diff --git a/sci-biology/bioperl-network/bioperl-network-1.6.9-r1.ebuild b/sci-biology/bioperl-network/bioperl-network-1.6.9-r1.ebuild
new file mode 100644
index 000000000000..fc51a12da036
--- /dev/null
+++ b/sci-biology/bioperl-network/bioperl-network-1.6.9-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BIOPERL_RELEASE=1.6.9
+
+DIST_AUTHOR=CJFIELDS
+DIST_NAME=BioPerl-Network
+DIST_VERSION=1.006900
+inherit perl-module
+
+DESCRIPTION="Perl tools for bioinformatics - Analysis of protein-protein interaction networks"
+HOMEPAGE="http://www.bioperl.org/"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test" # bug 298326
+
+RDEPEND="
+ >=sci-biology/bioperl-${PV}
+ >=dev-perl/Graph-0.86"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-perl/Module-Build"
+
+mydoc="AUTHORS BUGS"
diff --git a/sci-biology/bioperl-network/metadata.xml b/sci-biology/bioperl-network/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bioperl-network/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bioperl-run/Manifest b/sci-biology/bioperl-run/Manifest
new file mode 100644
index 000000000000..f1a12f80dfc3
--- /dev/null
+++ b/sci-biology/bioperl-run/Manifest
@@ -0,0 +1 @@
+DIST BioPerl-Run-1.006900.tar.gz 14546677 BLAKE2B 9faf58796b9874b19b66e74abc51ed1d1b6e2928bcf9904506b2af6b2b7c1772a90eab24bf0e7c050fd4a2b120ba506ad5edb8a693496b7468fe7c8d05d11f0a SHA512 47f2b853885c604291ac0aba3269b897de59cf7da6f7d54a50ff950cca836338091309df550f32695159c620be23391306d0421d2bbc22eebbb61a9e280ad83c
diff --git a/sci-biology/bioperl-run/bioperl-run-1.6.9-r1.ebuild b/sci-biology/bioperl-run/bioperl-run-1.6.9-r1.ebuild
new file mode 100644
index 000000000000..9c32c7eaa5f7
--- /dev/null
+++ b/sci-biology/bioperl-run/bioperl-run-1.6.9-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+BIOPERL_RELEASE=1.6.9
+
+DIST_AUTHOR=CJFIELDS
+DIST_NAME=BioPerl-Run
+DIST_VERSION=1.006900
+inherit perl-module
+
+DESCRIPTION="Perl wrapper modules for key bioinformatics applications"
+HOMEPAGE="http://www.bioperl.org/"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="minimal test"
+RESTRICT="test"
+
+RDEPEND="
+ >=sci-biology/bioperl-${BIOPERL_RELEASE}
+ !minimal? (
+ dev-perl/Algorithm-Diff
+ dev-perl/XML-Twig
+ dev-perl/IO-String
+ dev-perl/IPC-Run
+ dev-perl/File-Sort
+ )"
+DEPEND="${RDEPEND}"
+BDEPEND="dev-perl/Module-Build"
+
+mydoc="AUTHORS BUGS FAQ"
diff --git a/sci-biology/bioperl-run/metadata.xml b/sci-biology/bioperl-run/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bioperl-run/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bioperl/Manifest b/sci-biology/bioperl/Manifest
new file mode 100644
index 000000000000..4858ef718510
--- /dev/null
+++ b/sci-biology/bioperl/Manifest
@@ -0,0 +1 @@
+DIST BioPerl-1.6.901.tar.gz 12284856 BLAKE2B 004947fde9d02355ac96f71b67a33a27d6d0163892c978ac9059e70e089fb83b473e21252c5217dfba8faaa65bc3d2eebb8826d03f29a13409e2b6d337316b42 SHA512 227387437c940da1435ed83fad6ec2168ca12a729c90dc557e84750c6474213874c23a8f23e50db4027909469627baee581faa11be6208c8e0a5453a01c7eca4
diff --git a/sci-biology/bioperl/bioperl-1.6.9-r1.ebuild b/sci-biology/bioperl/bioperl-1.6.9-r1.ebuild
new file mode 100644
index 000000000000..a692fe812401
--- /dev/null
+++ b/sci-biology/bioperl/bioperl-1.6.9-r1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DIST_AUTHOR=CJFIELDS
+DIST_NAME=BioPerl
+DIST_VERSION=1.6.901
+inherit perl-module
+
+SUBPROJECTS="+db +network +run"
+MIN_PV="${PV}"
+
+DESCRIPTION="Perl tools for bioinformatics - Core modules"
+HOMEPAGE="http://www.bioperl.org/"
+
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="minimal graphviz sqlite ${SUBPROJECTS}"
+REQUIRED_USE="minimal? ( !graphviz )"
+
+RDEPEND="
+ dev-perl/libwww-perl
+ !minimal? (
+ dev-perl/Algorithm-Munkres
+ dev-perl/Array-Compare
+ dev-perl/YAML
+ dev-perl/Bio-ASN1-EntrezGene
+ dev-perl/Clone
+ dev-perl/Convert-Binary-C
+ dev-perl/Data-Stag
+ dev-perl/GD
+ dev-perl/Graph
+ >=dev-perl/HTML-Parser-3.60
+ dev-perl/List-MoreUtils
+ dev-perl/Math-Random
+ dev-perl/PostScript
+ dev-perl/Set-Scalar
+ dev-perl/SOAP-Lite
+ dev-perl/Sort-Naturally
+ dev-perl/Spreadsheet-ParseExcel
+ >=virtual/perl-Storable-2.05
+ >=dev-perl/SVG-2.26
+ >=dev-perl/SVG-Graph-0.01
+ dev-perl/URI
+ >=dev-perl/XML-DOM-XPath-0.13
+ dev-perl/XML-Parser
+ >=dev-perl/XML-SAX-0.15
+ dev-perl/XML-Simple
+ dev-perl/XML-Twig
+ >=dev-perl/XML-Writer-0.4
+ dev-perl/XML-DOM
+ dev-perl/XML-XPath
+ )
+ graphviz? ( dev-perl/GraphViz )
+ sqlite? ( dev-perl/DBD-SQLite )"
+DEPEND="${RDEPEND}"
+PDEPEND="
+ db? ( >=sci-biology/bioperl-db-${MIN_PV} )
+ network? ( >=sci-biology/bioperl-network-${MIN_PV} )
+ run? ( >=sci-biology/bioperl-run-${MIN_PV} )"
+BDEPEND="dev-perl/Module-Build"
+
+mydoc="AUTHORS BUGS FAQ"
diff --git a/sci-biology/bioperl/metadata.xml b/sci-biology/bioperl/metadata.xml
new file mode 100644
index 000000000000..1187a4b868eb
--- /dev/null
+++ b/sci-biology/bioperl/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="run">Install <pkg>sci-biology/bioperl-run</pkg>
+ </flag>
+ <flag name="network">Install <pkg>sci-biology/bioperl-run</pkg>
+ </flag>
+ <flag name="db">Install <pkg>sci-biology/bioperl-run</pkg>
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/biopython/Manifest b/sci-biology/biopython/Manifest
new file mode 100644
index 000000000000..958821fd58aa
--- /dev/null
+++ b/sci-biology/biopython/Manifest
@@ -0,0 +1 @@
+DIST biopython-1.87.tar.gz 19855264 BLAKE2B 04e98210f5addcd2e18ef085fb054b322cdf4377c0fee51300a2581555967f03e46285dd2d3ecec63864e42fecf91d9c9b9b7763c9497e3413a817eb007845d3 SHA512 aed9131f85b28d1b6fb7b1878d6afe2b701eddae092514ec43c69b623c871e16dbf5aaed464709423031169c0c13709bfbc0055e4cdc89c766e4445b959ba7a5
diff --git a/sci-biology/biopython/biopython-1.87.ebuild b/sci-biology/biopython/biopython-1.87.ebuild
new file mode 100644
index 000000000000..d7b0506361a6
--- /dev/null
+++ b/sci-biology/biopython/biopython-1.87.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+DISTUTILS_USE_PEP517="setuptools"
+DISTUTILS_EXT=1
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python modules for computational molecular biology"
+HOMEPAGE="https://www.biopython.org/ https://pypi.org/project/biopython/"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/rdflib[${PYTHON_USEDEP}]
+ dev-python/pygraphviz[${PYTHON_USEDEP}]
+ >=dev-python/reportlab-3.5.13-r1[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+BDEPEND="app-alternatives/lex"
+
+DOCS=( {CONTRIB,DEPRECATED,NEWS,README}.rst Doc/. )
+
+python_test() {
+ cd Tests || die
+ "${EPYTHON}" run_tests.py --offline --verbose || die
+}
+
+python_install_all() {
+ # remove files causing ecompressdir to fail
+ rm Doc/examples/ls_orchid.gbk.{gz,bz2} || die
+
+ distutils-r1_python_install_all
+
+ dodir /usr/share/${PN}
+ cp -r --preserve=mode Scripts Tests "${ED}"/usr/share/${PN} || die
+}
+
+pkg_postinst() {
+ optfeature_header "For database support you need to install:"
+ optfeature "MySQL database support" dev-python/mysqlclient
+ optfeature "PostgreSQL database support" dev-python/psycopg:2
+
+ optfeature_header "Some applications need extra packages:"
+ optfeature "EMBOSS (The European Molecular Biology Open Software Suite)" sci-biology/emboss
+}
diff --git a/sci-biology/biopython/metadata.xml b/sci-biology/biopython/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/biopython/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/biosql/Manifest b/sci-biology/biosql/Manifest
new file mode 100644
index 000000000000..44fca7f843af
--- /dev/null
+++ b/sci-biology/biosql/Manifest
@@ -0,0 +1 @@
+DIST biosql-1.0.1.tar.bz2 253516 BLAKE2B d2b0d6c3f03389fbcf9dfca823b02c611b63d4c1ee1356150f92bb8c14c534d988644253fd1a6ed6522b8d2d06cacf7b21d7a9e9fe7b9464704497e7f976b283 SHA512 2e1fef6ab9b4386f146910937700f9108f8ef266161b7adfbbc52c0011eebc84716637c897a01a399ff39b066ff0a5905ba3fa27e7b41f53a87baf58d5b32695
diff --git a/sci-biology/biosql/biosql-1.0.1-r2.ebuild b/sci-biology/biosql/biosql-1.0.1-r2.ebuild
new file mode 100644
index 000000000000..838f3b443ed8
--- /dev/null
+++ b/sci-biology/biosql/biosql-1.0.1-r2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A generic bioinformatics relational database model"
+HOMEPAGE="https://biosql.org/"
+SRC_URI="https://biosql.org/DIST/${P}.tar.bz2"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="mysql postgres"
+
+# WARNING: bioperl-db is claimed to be incompatible with >=postgresql-8.3 (see INSTALL)
+
+DEPEND="
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )"
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl"
+
+src_install() {
+ insinto /usr/share/biosql
+ doins -r sql scripts/.
+
+ dodoc Changes README Release.txt doc/*.pdf
+
+ docinto biopython
+ dodoc doc/{README,schema-overview.txt,biopython/{cor6_6.gb,*.pdf}}
+ docompress -x /usr/share/doc/${PF}/biopython
+
+ docinto html
+ dodoc doc/{biopython/,}*.htm*
+}
+
+pkg_postinst() {
+ elog
+ elog "Please read the BioSQL schema installation instructions in"
+ elog "${EROOT}/usr/share/doc/${PF} to begin using the schema."
+ elog
+}
diff --git a/sci-biology/biosql/metadata.xml b/sci-biology/biosql/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/biosql/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/blat/Manifest b/sci-biology/blat/Manifest
new file mode 100644
index 000000000000..bfb1512a0aec
--- /dev/null
+++ b/sci-biology/blat/Manifest
@@ -0,0 +1 @@
+DIST blatSrc34.zip 2142975 BLAKE2B 88a2da3b1551d5d50aaa507978c17cbe34de5a27efee9405829aea51b0950b748775f21e8d806470ba5ee7831fe71d6d87cd126c38727f25306a0f793543912e SHA512 67a1dc9a93d8ddee0fca7ce94096ecfffc71d4e0697afb285f4b64205e9eb62150a145375c29dd1ccb3cea8e8a7a71a817c8e73d7aba3e97616f1606b751afe8
diff --git a/sci-biology/blat/blat-34-r3.ebuild b/sci-biology/blat/blat-34-r3.ebuild
new file mode 100644
index 000000000000..18c4128ec578
--- /dev/null
+++ b/sci-biology/blat/blat-34-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_PN="${PN}Src"
+
+DESCRIPTION="The BLAST-Like Alignment Tool, a fast genomic sequence aligner"
+HOMEPAGE="http://www.cse.ucsc.edu/~kent/"
+SRC_URI="http://www.soe.ucsc.edu/~kent/src/${MY_PN}${PV}.zip"
+S="${WORKDIR}/${MY_PN}"
+
+LICENSE="blat"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-34-fix-build-system.patch
+ "${FILESDIR}"/${PN}-34-fno-common.patch
+)
+
+src_compile() {
+ tc-export AR CC
+
+ export HOME="${S}"
+ export MACHTYPE="$(tc-arch)"
+ [[ ${MACHTYPE} == "x86" ]] && MACHTYPE="i386"
+
+ mkdir -p bin/${MACHTYPE} || die
+ default
+}
+
+src_install() {
+ export MACHTYPE="$(tc-arch)"
+ [[ ${MACHTYPE} == "x86" ]] && MACHTYPE="i386"
+
+ dobin bin/${MACHTYPE}/*
+}
diff --git a/sci-biology/blat/files/blat-34-fix-build-system.patch b/sci-biology/blat/files/blat-34-fix-build-system.patch
new file mode 100644
index 000000000000..9aca3f841315
--- /dev/null
+++ b/sci-biology/blat/files/blat-34-fix-build-system.patch
@@ -0,0 +1,348 @@
+--- a/blat/makefile
++++ b/blat/makefile
+@@ -7,8 +7,7 @@
+ O = blat.o
+
+ blat: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/blat $O $(MYLIBS) $L
+- ${STRIP} ${BINDIR}/blat${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/blat $O $(MYLIBS) $L
+
+ all:
+ cd ../lib && ${MAKE}
+--- a/gfClient/makefile
++++ b/gfClient/makefile
+@@ -8,5 +8,4 @@
+ X = gfClient
+
+ gfClient: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/$X $O $(MYLIBS) $L
+- ${STRIP} ${BINDIR}/$X${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/$X $O $(MYLIBS) $L
+--- a/gfServer/makefile
++++ b/gfServer/makefile
+@@ -8,8 +8,7 @@
+ X = gfServer
+
+ gfServer: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/$X $O $(MYLIBS) $L
+- ${STRIP} ${BINDIR}/$X${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/$X $O $(MYLIBS) $L
+
+ test:
+ ${MKDIR} tests/output
+--- a/hg/pslPretty/makefile
++++ b/hg/pslPretty/makefile
+@@ -8,7 +8,7 @@
+ O = pslPretty.o
+
+ pslPretty: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/pslPretty $O $(MYLIBS) $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/pslPretty $O $(MYLIBS) $L
+
+ test:: testRna testDnax
+
+--- a/hg/pslReps/makefile
++++ b/hg/pslReps/makefile
+@@ -9,7 +9,7 @@
+ O = pslReps.o
+
+ pslReps: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/pslReps${EXE} $O $(MYLIBS) $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/pslReps${EXE} $O $(MYLIBS) $L
+
+ lib:
+ cd ../../lib && ${MAKE}
+--- a/hg/pslSort/makefile
++++ b/hg/pslSort/makefile
+@@ -8,7 +8,7 @@
+ O = pslSort.o
+
+ pslSort: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/pslSort $O $(MYLIBS) $L
++ ${CC} ${LDFLAGS} ${CFLAGS} ${LDFLAGS} -o ${BINDIR}/pslSort $O $(MYLIBS) $L
+
+
+ lib:
+--- a/inc/cgi_build_rules.mk
++++ b/inc/cgi_build_rules.mk
+@@ -12,7 +12,6 @@
+ mv $A${EXE} ${CGI_BIN}-beta/$A
+
+ strip:: compile
+- ${STRIP} $A${EXE}
+ chmod g+w $A${EXE}
+ chmod a+rx $A${EXE}
+
+--- a/inc/common.mk
++++ b/inc/common.mk
+@@ -1,20 +1,15 @@
+-CC=gcc
+-ifeq (${COPT},)
+- COPT=-O
+-endif
+-CFLAGS=
+ HG_DEFS=-D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_GNU_SOURCE -DMACHTYPE_${MACHTYPE}
+ HG_WARN=-Wformat -Wimplicit -Wuninitialized -Wreturn-type
+ HG_INC=-I../inc -I../../inc -I../../../inc -I../../../../inc -I../../../../../inc
+
+ # Stronger warning checks, and warnings-->errors, for libraries and CGIs:
+ ifeq (darwin,$(findstring darwin,${OSTYPE}))
+- HG_WARN_ERR = -DJK_WARN -Wall -Werror -Wno-unused-variable
++ HG_WARN_ERR = -DJK_WARN -Wall -Wno-unused-variable
+ else
+ ifeq (solaris,$(findstring solaris,${OSTYPE}))
+ HG_WARN_ERR = -DJK_WARN -Wall
+ else
+- HG_WARN_ERR = -DJK_WARN -Wall -Werror
++ HG_WARN_ERR = -DJK_WARN -Wall
+ endif
+ endif
+ # Apply the stronger checks to all code on our development machine:
+@@ -36,9 +31,6 @@
+ BINDIR = ${HOME}/bin/${MACHTYPE}
+ endif
+ MKDIR=mkdir -p
+-ifeq (${STRIP},)
+- STRIP=strip
+-endif
+ CVS=cvs
+
+ # portable naming of compiled executables: add ".exe" if compiled on
+@@ -55,6 +47,6 @@
+ STRINGIFY = ${BINDIR}/stringify
+
+ %.o: %.c
+- ${CC} ${COPT} ${CFLAGS} ${HG_DEFS} ${HG_WARN} ${HG_INC} ${XINC} -o $@ -c $<
++ ${CC} ${CPPFLAGS} ${CFLAGS} ${HG_DEFS} ${HG_WARN} ${HG_INC} ${XINC} -o $@ -c $<
+
+
+--- a/jkOwnLib/makefile
++++ b/jkOwnLib/makefile
+@@ -9,7 +9,7 @@
+ T = ../lib/$(MACHTYPE)/jkOwnLib.a
+
+ $(T): $(O) ../lib/$(MACHTYPE)
+- ar rcus $(T) $(O)
++ $(AR) rcus $(T) $(O)
+
+ ../lib/$(MACHTYPE):
+ mkdir ../lib/$(MACHTYPE)
+--- a/jkOwnLib/tests/freen/makefile
++++ b/jkOwnLib/tests/freen/makefile
+@@ -7,5 +7,5 @@
+ O = freen.o
+
+ hello: freen.o
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/freen $O $(MYLIBS) $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/freen $O $(MYLIBS) $L
+
+--- a/lib/makefile
++++ b/lib/makefile
+@@ -32,7 +32,7 @@
+
+
+ $(MACHTYPE)/jkweb.a: $(O) $(MACHTYPE)
+- ar rcus $(MACHTYPE)/jkweb.a $(O)
++ $(AR) rcus $(MACHTYPE)/jkweb.a $(O)
+
+ $(MACHTYPE):
+ mkdir $(MACHTYPE)
+--- a/lib/tests/makefile
++++ b/lib/tests/makefile
+@@ -14,22 +14,19 @@
+ ${MKDIR} output ${BIN_DIR}
+
+ errCatchTest: errCatchTest.o ${MYLIBS} mkdirs
+- ${CC} ${COPT} -o ${BIN_DIR}/errCatchTest errCatchTest.o ${MYLIBS} $L
+- ${STRIP} ${BIN_DIR}/errCatchTest${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/errCatchTest errCatchTest.o ${MYLIBS} $L
+ ${BIN_DIR}/errCatchTest secret > output/errCatch.good
+ diff expected/errCatch.good output/errCatch.good
+ ${BIN_DIR}/errCatchTest bad > output/errCatch.bad
+ diff expected/errCatch.bad output/errCatch.bad
+
+ htmlExpandUrlTest: htmlExpandUrlTest.o ${MYLIBS} mkdirs
+- ${CC} ${COPT} -o ${BIN_DIR}/htmlExpandUrlTest htmlExpandUrlTest.o ${MYLIBS} $L
+- ${STRIP} ${BIN_DIR}/htmlExpandUrlTest${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/htmlExpandUrlTest htmlExpandUrlTest.o ${MYLIBS} $L
+ ${BIN_DIR}/htmlExpandUrlTest > output/htmlExpandUrlTest 2>&1
+ diff expected/htmlExpandUrlTest output/htmlExpandUrlTest
+
+ htmlPageTest: htmlPageTest.o ${MYLIBS} mkdirs
+- ${CC} ${COPT} -o ${BIN_DIR}/htmlPageTest htmlPageTest.o ${MYLIBS} $L
+- ${STRIP} ${BIN_DIR}/htmlPageTest${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/htmlPageTest htmlPageTest.o ${MYLIBS} $L
+ ${BIN_DIR}/htmlPageTest input/google.html > output/google.out
+ diff expected/google.out output/google.out
+
+@@ -86,20 +83,20 @@
+ diff -b expected/$@.err output/$@.err
+
+ ${BIN_DIR}/pipelineTester: mkdirs pipelineTester.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/pipelineTester pipelineTester.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/pipelineTester pipelineTester.o ${MYLIBS} $L
+
+
+ dyStringTest: ${BIN_DIR}/dyStringTester mkdirs
+ ${BIN_DIR}/dyStringTester
+
+ ${BIN_DIR}/dyStringTester: mkdirs dyStringTester.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/dyStringTester dyStringTester.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/dyStringTester dyStringTester.o ${MYLIBS} $L
+
+
+ mimeTests: mime1 mime2 mime3 mime4 mimeBin mime5 mimeAltHead mimeAutoBoundary mimeBlat
+
+ ${BIN_DIR}/mimeTester: mkdirs mimeTester.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/mimeTester mimeTester.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/mimeTester mimeTester.o ${MYLIBS} $L
+
+
+ mime1: ${BIN_DIR}/mimeTester mkdirs
+@@ -142,7 +139,7 @@
+ ${BIN_DIR}/mimeTester -sizeSeries=3000
+
+ ${BIN_DIR}/htmlMimeTest: mkdirs htmlMimeTest.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/htmlMimeTest htmlMimeTest.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/htmlMimeTest htmlMimeTest.o ${MYLIBS} $L
+
+ htmlMime1: ${BIN_DIR}/htmlMimeTest mkdirs
+ ${BIN_DIR}/htmlMimeTest http://hgwdev.cse.ucsc.edu/cgi-bin/hgBlat input/htmlMime.txt 3490 3502 > output/$@.out
+@@ -152,7 +149,7 @@
+ base64Tests: base64Encode base64Decode
+
+ ${BIN_DIR}/testBase64: mkdirs testBase64.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/testBase64 testBase64.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/testBase64 testBase64.o ${MYLIBS} $L
+
+ base64Encode: ${BIN_DIR}/testBase64 mkdirs
+ ${BIN_DIR}/testBase64 'My Test String' > output/$@.out
+@@ -167,7 +164,7 @@
+ quotedPTests: quotedPEncode quotedPDecode
+
+ ${BIN_DIR}/testQuotedP: mkdirs testQuotedP.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/testQuotedP testQuotedP.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/testQuotedP testQuotedP.o ${MYLIBS} $L
+
+ quotedPEncode: ${BIN_DIR}/testQuotedP mkdirs
+ ${BIN_DIR}/testQuotedP 'taxes are quite high ' > output/$@.out
+@@ -178,14 +175,14 @@
+ diff expected/$@.out output/$@.out
+
+ ${BIN_DIR}/mimeDecodeTest: mkdirs mimeDecodeTest.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/mimeDecodeTest mimeDecodeTest.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/mimeDecodeTest mimeDecodeTest.o ${MYLIBS} $L
+
+ mimeDecodeTest: ${BIN_DIR}/mimeDecodeTest mkdirs
+ ${BIN_DIR}/mimeDecodeTest -cid -autoBoundary output < input/$@.txt
+ diff expected/noName1.html output/noName1.html
+
+ ${BIN_DIR}/safeTester: mkdirs safeTester.o ${MYLIBS}
+- ${CC} ${COPT} -o ${BIN_DIR}/safeTester safeTester.o ${MYLIBS} $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BIN_DIR}/safeTester safeTester.o ${MYLIBS} $L
+
+ safeTest: ${BIN_DIR}/safeTester mkdirs
+ ${BIN_DIR}/safeTester
+--- a/makefile
++++ b/makefile
+@@ -1,18 +1,18 @@
+ all:
+- cd lib && ${MAKE}
+- cd jkOwnLib && ${MAKE}
+- cd blat && $(MAKE)
+- cd gfClient && $(MAKE)
+- cd gfServer && $(MAKE)
+- cd hg/pslPretty && $(MAKE)
+- cd hg/pslReps && $(MAKE)
+- cd hg/pslSort && $(MAKE)
+- cd utils/nibFrag && $(MAKE)
+- cd utils/faToNib && $(MAKE)
+- cd utils/faToTwoBit && $(MAKE)
+- cd utils/twoBitToFa && $(MAKE)
+- cd utils/twoBitInfo && $(MAKE)
+- cd webBlat && $(MAKE)
++ $(MAKE) -C lib
++ $(MAKE) -C jkOwnLib
++ $(MAKE) -C blat
++ $(MAKE) -C gfClient
++ $(MAKE) -C gfServer
++ $(MAKE) -C hg/pslPretty
++ $(MAKE) -C hg/pslReps
++ $(MAKE) -C hg/pslSort
++ $(MAKE) -C utils/nibFrag
++ $(MAKE) -C utils/faToNib
++ $(MAKE) -C utils/faToTwoBit
++ $(MAKE) -C utils/twoBitToFa
++ $(MAKE) -C utils/twoBitInfo
++ $(MAKE) -C webBlat
+
+ clean:
+ rm -f */*.o */*/*.o
+--- a/utils/faToNib/makefile
++++ b/utils/faToNib/makefile
+@@ -8,4 +8,4 @@
+ O = faToNib.o
+
+ faToNib: $O $(MYLIBS)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/faToNib $O $(MYLIBS) $L
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/faToNib $O $(MYLIBS) $L
+--- a/utils/faToTwoBit/makefile
++++ b/utils/faToTwoBit/makefile
+@@ -7,8 +7,7 @@
+ O = faToTwoBit.o
+
+ faToTwoBit: $O ${MYLIBS}
+- ${CC} ${COPT} -o ${BINDIR}/faToTwoBit $O ${MYLIBS} $L
+- ${STRIP} ${BINDIR}/faToTwoBit${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/faToTwoBit $O ${MYLIBS} $L
+
+ clean:
+ rm -f $O
+--- a/utils/nibFrag/makefile
++++ b/utils/nibFrag/makefile
+@@ -4,7 +4,7 @@
+ O = nibFrag.o
+
+ nibFrag: $(O)
+- ${CC} ${COPT} ${CFLAGS} -o ${BINDIR}/nibFrag $O ../../lib/$(MACHTYPE)/jkweb.a
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/nibFrag $O ../../lib/$(MACHTYPE)/jkweb.a
+
+
+
+--- a/utils/twoBitInfo/makefile
++++ b/utils/twoBitInfo/makefile
+@@ -7,8 +7,7 @@
+ O = twoBitInfo.o
+
+ twoBitInfo: $O ${MYLIBS}
+- ${CC} ${COPT} -o ${BINDIR}/twoBitInfo $O ${MYLIBS} $L
+- ${STRIP} ${BINDIR}/twoBitInfo${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/twoBitInfo $O ${MYLIBS} $L
+
+ clean:
+ rm -f $O
+--- a/utils/twoBitToFa/makefile
++++ b/utils/twoBitToFa/makefile
+@@ -8,8 +8,7 @@
+ O = twoBitToFa.o
+
+ twoBitToFa: $O ${MYLIBS}
+- ${CC} ${COPT} -o ${BINDIR}/twoBitToFa $O ${MYLIBS} $L
+- #${STRIP} ${BINDIR}/twoBitToFa${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o ${BINDIR}/twoBitToFa $O ${MYLIBS} $L
+
+ clean:
+ rm -f $O
+--- a/webBlat/makefile
++++ b/webBlat/makefile
+@@ -7,8 +7,7 @@
+ O = webBlat.o
+
+ webBlat: $O ${MYLIBS}
+- ${CC} ${COPT} -o webBlat $O ${MYLIBS} $L
+- ${STRIP} webBlat${EXE}
++ ${CC} ${LDFLAGS} ${CFLAGS} -o webBlat $O ${MYLIBS} $L
+
+ installOsX: webBlat
+ cp webBlat /Library/WebServer/CGI-Executables
diff --git a/sci-biology/blat/files/blat-34-fno-common.patch b/sci-biology/blat/files/blat-34-fno-common.patch
new file mode 100644
index 000000000000..63a49cf81299
--- /dev/null
+++ b/sci-biology/blat/files/blat-34-fno-common.patch
@@ -0,0 +1,11 @@
+--- a/inc/htmshell.h
++++ b/inc/htmshell.h
+@@ -85,7 +85,7 @@ void htmlBadVar(char *varName);
+ void htmlImage(char *fileName, int width, int height);
+ /* Display centered image file. */
+
+-jmp_buf htmlRecover; /* Error recovery jump. Exposed for cart's use. */
++extern jmp_buf htmlRecover; /* Error recovery jump. Exposed for cart's use. */
+
+ void htmlVaWarn(char *format, va_list args);
+ /* Write an error message. (Generally you just call warn() or errAbort().
diff --git a/sci-biology/blat/metadata.xml b/sci-biology/blat/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/blat/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bowtie/Manifest b/sci-biology/bowtie/Manifest
new file mode 100644
index 000000000000..fb01787b9ecb
--- /dev/null
+++ b/sci-biology/bowtie/Manifest
@@ -0,0 +1 @@
+DIST bowtie2-2.5.1-source.zip 10528859 BLAKE2B 9dc22bfef4b3a1cfaa606cb235acd1d7688015678d82e8ca80d3d7cf269e1f45d6cb60bc29eb334fb6f0c25d5afd8202e83a83e53668c8965857b8885d2692c8 SHA512 31cc642e318ab50e7ef6035a9c2095024d46d92a317011ed0c3ac3ccb3d427a13bf724d0158d29a4f1e07115ddcb85229b95bcb2d4351164fcadd6568293565f
diff --git a/sci-biology/bowtie/bowtie-2.5.1.ebuild b/sci-biology/bowtie/bowtie-2.5.1.ebuild
new file mode 100644
index 000000000000..4e0b6a41032d
--- /dev/null
+++ b/sci-biology/bowtie/bowtie-2.5.1.ebuild
@@ -0,0 +1,73 @@
+# Copyright 2021-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit python-single-r1 toolchain-funcs
+
+DESCRIPTION="Popular short read aligner for Next-generation sequencing data"
+HOMEPAGE="https://bowtie-bio.sourceforge.net/bowtie2/"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}-bio/bowtie2/${PV}/bowtie2-${PV}-source.zip"
+S="${WORKDIR}/${PN}2-${PV}"
+
+LICENSE="GPL-3"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+
+IUSE="test cpu_flags_x86_sse2 examples"
+# Test script missing from tarball
+# ./scripts/sim/run.sh: No such file or directory
+RESTRICT="test"
+REQUIRED_USE="cpu_flags_x86_sse2 ${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-lang/perl
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/unzip
+ test? (
+ dev-perl/App-cpanminus
+ dev-perl/B-COW
+ dev-perl/Clone
+ dev-perl/Config-General
+ dev-perl/File-Which
+ dev-perl/local-lib
+ dev-perl/Math-Random
+ dev-perl/Test-Deep
+ dev-perl/Text-Template
+ )
+"
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CXXFLAGS="" \
+ CPPFLAGS="${CPPFLAGS}" \
+ EXTRA_FLAGS="${LDFLAGS}" \
+ RELEASE_FLAGS="${CXXFLAGS} -msse2"
+}
+
+src_install() {
+ dobin bowtie2 bowtie2-*
+
+ exeinto /usr/libexec/bowtie2
+ doexe scripts/*
+
+ HTML_DOCS=( doc/{manual.html,style.css} )
+ einstalldocs
+ dodoc TUTORIAL
+ newman MANUAL bowtie2.1
+
+ python_fix_shebang "${ED}"/usr/bin/bowtie2-{build,inspect}
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/sci-biology/bowtie/metadata.xml b/sci-biology/bowtie/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bowtie/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/bwa/Manifest b/sci-biology/bwa/Manifest
new file mode 100644
index 000000000000..5f912dc43cf0
--- /dev/null
+++ b/sci-biology/bwa/Manifest
@@ -0,0 +1 @@
+DIST bwa-0.7.17.tar.gz 232593 BLAKE2B fa48aad72a47547d66c767e2e2a5aadfcfc7c77c517410812230f51a2222ee66bb04383b068036b696af0a57b04b35e97bed11e3c44793aa899a8c0807f3df5e SHA512 114e61b7cc5edcb67172d1eca7be1fa670ea33dd48b5c02c98318e254871363775c0dab327fd7ee7023200a5fedc745fa01cbe0fd9550d783f091d4df6926f48
diff --git a/sci-biology/bwa/bwa-0.7.17.ebuild b/sci-biology/bwa/bwa-0.7.17.ebuild
new file mode 100644
index 000000000000..e7c3a944b33e
--- /dev/null
+++ b/sci-biology/bwa/bwa-0.7.17.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Burrows-Wheeler Alignment Tool, a fast short genomic sequence aligner"
+HOMEPAGE="https://github.com/lh3/bwa/"
+SRC_URI="https://github.com/lh3/bwa/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+DEPEND="virtual/zlib:="
+RDEPEND="
+ ${DEPEND}
+ dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.7.17-Makefile.patch
+ "${FILESDIR}"/${PN}-0.7.17-gcc-10.patch
+)
+DOCS=( NEWS.md README-alt.md README.md )
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862255
+ # https://github.com/lh3/bwa/issues/411
+ #
+ # Fix merged upstream. Remove on next revbump.
+ filter-lto
+
+ tc-export CC AR
+}
+
+src_install() {
+ dobin bwa
+
+ exeinto /usr/libexec/${PN}
+ doexe qualfa2fq.pl xa2multi.pl
+
+ einstalldocs
+ doman bwa.1
+}
diff --git a/sci-biology/bwa/files/bwa-0.7.17-Makefile.patch b/sci-biology/bwa/files/bwa-0.7.17-Makefile.patch
new file mode 100644
index 000000000000..cbdd136e87aa
--- /dev/null
+++ b/sci-biology/bwa/files/bwa-0.7.17-Makefile.patch
@@ -0,0 +1,46 @@
+https://github.com/lh3/bwa/pull/267
+
+Rejected, but small parts of it included in https://github.com/lh3/bwa/pull/263
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,9 +1,7 @@
+-CC= gcc
+ #CC= clang --analyze
+-CFLAGS= -g -Wall -Wno-unused-function -O2
++CFLAGS+= -Wall -Wno-unused-function
+ WRAP_MALLOC=-DUSE_MALLOC_WRAPPERS
+-AR= ar
+-DFLAGS= -DHAVE_PTHREAD $(WRAP_MALLOC)
++CPPFLAGS+= -DHAVE_PTHREAD $(WRAP_MALLOC)
+ LOBJS= utils.o kthread.o kstring.o ksw.o bwt.o bntseq.o bwa.o bwamem.o bwamem_pair.o bwamem_extra.o malloc_wrap.o \
+ QSufSort.o bwt_gen.o rope.o rle.o is.o bwtindex.o
+ AOBJS= bwashm.o bwase.o bwaseqio.o bwtgap.o bwtaln.o bamlite.o \
+@@ -21,16 +19,13 @@
+
+ .SUFFIXES:.c .o .cc
+
+-.c.o:
+- $(CC) -c $(CFLAGS) $(DFLAGS) $(INCLUDES) $< -o $@
+-
+ all:$(PROG)
+
+ bwa:libbwa.a $(AOBJS) main.o
+- $(CC) $(CFLAGS) $(DFLAGS) $(AOBJS) main.o -o $@ -L. -lbwa $(LIBS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) $(AOBJS) main.o -o $@ -L. -lbwa $(LIBS)
+
+ bwamem-lite:libbwa.a example.o
+- $(CC) $(CFLAGS) $(DFLAGS) example.o -o $@ -L. -lbwa $(LIBS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) example.o -o $@ -L. -lbwa $(LIBS)
+
+ libbwa.a:$(LOBJS)
+ $(AR) -csru $@ $(LOBJS)
+@@ -39,7 +34,7 @@
+ rm -f gmon.out *.o a.out $(PROG) *~ *.a
+
+ depend:
+- ( LC_ALL=C ; export LC_ALL; makedepend -Y -- $(CFLAGS) $(DFLAGS) -- *.c )
++ ( LC_ALL=C ; export LC_ALL; makedepend -Y -- $(CFLAGS) $(CPPFLAGS) -- *.c )
+
+ # DO NOT DELETE THIS LINE -- make depend depends on it.
+
diff --git a/sci-biology/bwa/files/bwa-0.7.17-gcc-10.patch b/sci-biology/bwa/files/bwa-0.7.17-gcc-10.patch
new file mode 100644
index 000000000000..4d2762cef84c
--- /dev/null
+++ b/sci-biology/bwa/files/bwa-0.7.17-gcc-10.patch
@@ -0,0 +1,13 @@
+https://github.com/lh3/bwa/pull/267
+
+--- a/rle.h
++++ b/rle.h
+@@ -30,7 +30,7 @@
+ *** 43+3 codec ***
+ ******************/
+
+-const uint8_t rle_auxtab[8];
++extern const uint8_t rle_auxtab[8];
+
+ #define RLE_MIN_SPACE 18
+ #define rle_nptr(block) ((uint16_t*)(block))
diff --git a/sci-biology/bwa/metadata.xml b/sci-biology/bwa/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/bwa/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/cd-hit/Manifest b/sci-biology/cd-hit/Manifest
new file mode 100644
index 000000000000..a20e0ea6d439
--- /dev/null
+++ b/sci-biology/cd-hit/Manifest
@@ -0,0 +1 @@
+DIST cd-hit-4.6.6.tar.gz 1152570 BLAKE2B 6a7cf99be947376af19172739626b571e06936b7b0bc8c5cb52069c63e98f0949a44edf7560fa50810d2d96e310df87dcf2e3ebf5a3856ada46dcdcd3595b6c0 SHA512 8241d6674fb041559792dbbb58c12b41302d2275d3bacb1362946094b48a0b8e1236e71b5dc77d13405220b60f8253e6f996753a8b051995a72c8353d4333c51
diff --git a/sci-biology/cd-hit/cd-hit-4.6.6-r1.ebuild b/sci-biology/cd-hit/cd-hit-4.6.6-r1.ebuild
new file mode 100644
index 000000000000..18d126aa8653
--- /dev/null
+++ b/sci-biology/cd-hit/cd-hit-4.6.6-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+RELDATE="2016-0711"
+RELEASE="${PN}-v${PV}-${RELDATE}"
+
+DESCRIPTION="Clustering Database at High Identity with Tolerance"
+HOMEPAGE="http://weizhong-lab.ucsd.edu/cd-hit/"
+SRC_URI="https://github.com/weizhongli/cdhit/releases/download/V${PV}/${RELEASE}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${RELEASE}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="openmp"
+
+RDEPEND="dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.6.6-fix-perl-shebangs.patch
+ "${FILESDIR}"/${PN}-4.6.6-fix-build-system.patch
+)
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_compile() {
+ tc-export CXX
+ emake openmp=$(usex openmp)
+}
+
+src_install() {
+ dodir /usr/bin
+ PREFIX="${EPREFIX}"/usr/bin default
+
+ dodoc doc/*.pdf
+}
diff --git a/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-build-system.patch b/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-build-system.patch
new file mode 100644
index 000000000000..c668d5c6154e
--- /dev/null
+++ b/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-build-system.patch
@@ -0,0 +1,122 @@
+Fix build system, in order to honour user variables
+
+--- a/makefile
++++ b/makefile
+@@ -1,7 +1,4 @@
+-
+-CC = g++ -Wall -ggdb
+-CC = g++ -pg
+-CC = g++
++CXX ?= g++
+
+ # without OpenMP
+
+@@ -9,35 +6,19 @@
+ # in command line:
+ # make openmp=yes
+ ifeq ($(openmp),no)
+- CCFLAGS = -DNO_OPENMP
+-else
+- CCFLAGS = -fopenmp
+-endif
+-
+-# support debugging
+-# in command line:
+-# make debug=yes
+-# make openmp=yes debug=yes
+-ifeq ($(debug),yes)
+-CCFLAGS += -ggdb
++ my_CPPFLAGS = -DNO_OPENMP
+ else
+-CCFLAGS += -O2
++ my_CXXFLAGS = -fopenmp
+ endif
+
+ ifdef MAX_SEQ
+-CCFLAGS += -DMAX_SEQ=$(MAX_SEQ)
++my_CPPFLAGS += -DMAX_SEQ=$(MAX_SEQ)
+ endif
+
+-#LDFLAGS = -static -o
+-LDFLAGS += -o
+-
+ PROGS = cd-hit cd-hit-est cd-hit-2d cd-hit-est-2d cd-hit-div cd-hit-454
+
+-# Propagate hardening flags
+-CCFLAGS := $(CPPFLAGS) $(CCFLAGS) $(CXXFLAGS)
+-
+ .c++.o:
+- $(CC) $(CCFLAGS) -c $<
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $<
+
+ all: $(PROGS)
+
+@@ -47,52 +28,52 @@
+ # programs
+
+ cd-hit: cdhit-common.o cdhit-utility.o cdhit.o
+- $(CC) $(CCFLAGS) cdhit.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit.o cdhit-common.o cdhit-utility.o -o cd-hit
+
+ cd-hit-2d: cdhit-common.o cdhit-utility.o cdhit-2d.o
+- $(CC) $(CCFLAGS) cdhit-2d.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-2d
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit-2d.o cdhit-common.o cdhit-utility.o -o cd-hit-2d
+
+ cd-hit-est: cdhit-common.o cdhit-utility.o cdhit-est.o
+- $(CC) $(CCFLAGS) cdhit-est.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-est
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit-est.o cdhit-common.o cdhit-utility.o -o cd-hit-est
+
+ cd-hit-est-2d: cdhit-common.o cdhit-utility.o cdhit-est-2d.o
+- $(CC) $(CCFLAGS) cdhit-est-2d.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-est-2d
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit-est-2d.o cdhit-common.o cdhit-utility.o -o cd-hit-est-2d
+
+ cd-hit-div: cdhit-common.o cdhit-utility.o cdhit-div.o
+- $(CC) $(CCFLAGS) cdhit-div.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-div
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit-div.o cdhit-common.o cdhit-utility.o -o cd-hit-div
+
+ cd-hit-454: cdhit-common.o cdhit-utility.o cdhit-454.o
+- $(CC) $(CCFLAGS) cdhit-454.o cdhit-common.o cdhit-utility.o $(LDFLAGS) cd-hit-454
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(LDFLAGS) cdhit-454.o cdhit-common.o cdhit-utility.o -o cd-hit-454
+
+ # objects
+ cdhit-common.o: cdhit-common.c++ cdhit-common.h
+- $(CC) $(CCFLAGS) cdhit-common.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-common.c++ -c
+
+ cdhit-utility.o: cdhit-utility.c++ cdhit-utility.h
+- $(CC) $(CCFLAGS) cdhit-utility.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-utility.c++ -c
+
+ cdhit.o: cdhit.c++ cdhit-utility.h
+- $(CC) $(CCFLAGS) cdhit.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit.c++ -c
+
+ cdhit-2d.o: cdhit-2d.c++ cdhit-utility.h
+- $(CC) $(CCFLAGS) cdhit-2d.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-2d.c++ -c
+
+ cdhit-est.o: cdhit-est.c++ cdhit-utility.h
+- $(CC) $(CCFLAGS) cdhit-est.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-est.c++ -c
+
+ cdhit-est-2d.o: cdhit-est-2d.c++ cdhit-utility.h
+- $(CC) $(CCFLAGS) cdhit-est-2d.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-est-2d.c++ -c
+
+ cdhit-div.o: cdhit-div.c++ cdhit-common.h
+- $(CC) $(CCFLAGS) cdhit-div.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-div.c++ -c
+
+ cdhit-454.o: cdhit-454.c++ cdhit-common.h
+- $(CC) $(CCFLAGS) cdhit-454.c++ -c
++ $(CXX) $(my_CXXFLAGS) $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) cdhit-454.c++ -c
+
+ PREFIX ?= /usr/local/bin
+
+ install:
+ for prog in $(PROGS); do \
+- install -m 0755 $$prog $(PREFIX); \
++ install -m 0755 $$prog $(DESTDIR)$(PREFIX); \
+ done
+- install -m 0755 *.pl $(PREFIX);
++ install -m 0755 *.pl $(DESTDIR)$(PREFIX);
diff --git a/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-perl-shebangs.patch b/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-perl-shebangs.patch
new file mode 100644
index 000000000000..3784296f2e94
--- /dev/null
+++ b/sci-biology/cd-hit/files/cd-hit-4.6.6-fix-perl-shebangs.patch
@@ -0,0 +1,219 @@
+Make perl shebangs more Prefix friendly
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/cd-hit-2d-para.pl
++++ b/cd-hit-2d-para.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w
++#!/usr/bin/env perl
+ # =============================================================================
+ # CD-HIT
+ # http://cd-hit.org/
+--- a/cd-hit-div.pl
++++ b/cd-hit-div.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #not like cd-hit-div, this script do not sort input
+ #or throw away seq
+--- a/cd-hit-para.pl
++++ b/cd-hit-para.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w
++#!/usr/bin/env perl
+ # =============================================================================
+ # CD-HIT
+ # http://cd-hit.org/
+--- a/clstr2tree.pl
++++ b/clstr2tree.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ $clstr = shift;
+ $fr = shift; # for nr80.clstr $fr = 0.8
+--- a/clstr2txt.pl
++++ b/clstr2txt.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ my $no = 0;
+ my $clstr_no = "";
+--- a/clstr2xml.pl
++++ b/clstr2xml.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #usage: clstr_xml.pl [-len|-size] level1.clstr [level2.clstr level3.clstr ...]
+ #purpose: to create xml file from cd-hit or hierarchical cd-hit(h-cd-hit) results
+--- a/clstr_cut.pl
++++ b/clstr_cut.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #keep only top $no proteins in cluster
+
+--- a/clstr_merge_noorder.pl
++++ b/clstr_merge_noorder.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ # order of clusters don't need to be the same
+ # but then I have to read everything into memory
+--- a/clstr_merge.pl
++++ b/clstr_merge.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ # the order of clusters need to be identical
+ my ($master_clstr, @clstr) = @ARGV;
+--- a/clstr_quality_eval_by_link.pl
++++ b/clstr_quality_eval_by_link.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ ## calculate the sensitivity and specificity of clusters
+ ## if the input fasta file has pre-defined classification term
+--- a/clstr_quality_eval.pl
++++ b/clstr_quality_eval.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ ## calculate the sensitivity and specificity of clusters
+ ## if the input fasta file has pre-defined classification term
+--- a/clstr_reduce.pl
++++ b/clstr_reduce.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+
+ $file90 = shift;
+--- a/clstr_renumber.pl
++++ b/clstr_renumber.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+ $no = 0;
+ while($ll=<>){
+ if ($ll =~ /^>Cluster (\d+)/) {
+--- a/clstr_rep.pl
++++ b/clstr_rep.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ $rep = "";
+ $no = 0;
+--- a/clstr_reps_faa_rev.pl
++++ b/clstr_reps_faa_rev.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+ # output single fasta file
+ # for each cluster output at least $cutoff seqs
+
+--- a/clstr_rev.pl
++++ b/clstr_rev.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+ # if nr90 from nr100 and
+ # nr80 from nr90, so I have nr90.clstr and nr80.clstr
+ # but, in nr80.clstr, some gi numbers whose from nr100 are there
+--- a/clstr_select.pl
++++ b/clstr_select.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #my $by = shift;
+ my $min;
+--- a/clstr_select_rep.pl
++++ b/clstr_select_rep.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #my $by = shift;
+ my $min;
+--- a/clstr_size_histogram.pl
++++ b/clstr_size_histogram.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ if(@ARGV==0){
+ print "Usage:\n\tclstr_size_histogram.pl [-bin N] clstr_file\n";
+--- a/clstr_size_stat.pl
++++ b/clstr_size_stat.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ if(@ARGV==0){
+ print "Usage:\n\tclstr_size_stat.pl clstr_file\n";
+--- a/clstr_sort_by.pl
++++ b/clstr_sort_by.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ my $sort_by_what = shift;
+ $sort_by_what = "no" unless $sort_by_what;
+--- a/clstr_sort_prot_by.pl
++++ b/clstr_sort_prot_by.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ my $sort_by = shift;
+ $sort_by = "len" unless ($sort_by);
+--- a/clstr_sql_tbl.pl
++++ b/clstr_sql_tbl.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ if(@ARGV==0){
+ print "Usage:\n\tclstr_sql_tbl.pl clstr_file tbl_file\n";
+--- a/clstr_sql_tbl_sort.pl
++++ b/clstr_sql_tbl_sort.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ if(@ARGV==0){
+ print "Usage:\n\tclstr_sql_tbl_sort.pl table_file level\n";
+--- a/make_multi_seq.pl
++++ b/make_multi_seq.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ #note you have to use "-d 0" in the cd-hit run
+ #note you better to use "-g 1" in the cd-hit run
+--- a/plot_2d.pl
++++ b/plot_2d.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ use Image::Magick;
+
+--- a/plot_len1.pl
++++ b/plot_len1.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl
++#!/usr/bin/env perl
+
+ $file90 = shift;
+ $segs = shift;
diff --git a/sci-biology/cd-hit/metadata.xml b/sci-biology/cd-hit/metadata.xml
new file mode 100644
index 000000000000..6dfa92c25d63
--- /dev/null
+++ b/sci-biology/cd-hit/metadata.xml
@@ -0,0 +1,24 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+CD-HIT is a very widely used program for clustering and comparing large sets
+of protein or nucleotide sequences. CD-HIT is very fast and can handle
+extremely large databases. CD-HIT helps to significantly reduce the
+computational and manual efforts in many sequence analysis tasks and aids in
+understanding the data structure and correct the bias within a dataset.
+The CD-HIT package has CD-HIT, CD-HIT-2D, CD-HIT-EST, CD-HIT-EST-2D,
+CD-HIT-454, CD-HIT-PARA, PSI-CD-HIT and over a dozen scripts. CD-HIT
+(CD-HIT-EST) clusters similar proteins (DNAs) into clusters that meet a
+user-defined similarity threshold. CD-HIT-2D (CD-HIT-EST-2D) compares 2
+datasets and identifies the sequences in db2 that are similar to db1 above
+a threshold. CD-HIT-454 is a program to identify natural and artificial
+duplicates from pyrosequencing reads. The usage of other programs and
+scripts can be found in CD-HIT user's guide.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/clustal-omega/Manifest b/sci-biology/clustal-omega/Manifest
new file mode 100644
index 000000000000..55a68a04db22
--- /dev/null
+++ b/sci-biology/clustal-omega/Manifest
@@ -0,0 +1 @@
+DIST clustal-omega-1.2.4.tar.gz 1170516 BLAKE2B 0751a30a8d7bab2bac01980b84a28720e127dfeeec5b72f1826c8d9da4e84d5d9434b0f138b600155cc76f4385320913edb9bbdeb463ed757364feb3538f325b SHA512 b31514c30b412d731ee22c9020156b65a6a6cbc6fd51edc195d17b560935184bc070feeb58964c54df9eecdefb00e5a21ce859cb0ea69d92917f6bd8e93b819e
diff --git a/sci-biology/clustal-omega/clustal-omega-1.2.4-r1.ebuild b/sci-biology/clustal-omega/clustal-omega-1.2.4-r1.ebuild
new file mode 100644
index 000000000000..50d8ce873de9
--- /dev/null
+++ b/sci-biology/clustal-omega/clustal-omega-1.2.4-r1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools dot-a
+
+DESCRIPTION="Scalable multiple alignment of protein sequences"
+HOMEPAGE="http://www.clustal.org/omega/"
+SRC_URI="http://www.clustal.org/omega/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DEPEND="dev-libs/argtable"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ sed \
+ -e "s:-O3::g" \
+ -i configure.ac || die
+ default
+ eautoreconf
+}
+
+src_configure() {
+ lto-guarantee-fat
+ default
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+ strip-lto-bytecode
+}
diff --git a/sci-biology/clustal-omega/metadata.xml b/sci-biology/clustal-omega/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/clustal-omega/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/clustalw-mpi/Manifest b/sci-biology/clustalw-mpi/Manifest
new file mode 100644
index 000000000000..d819c8f2a13c
--- /dev/null
+++ b/sci-biology/clustalw-mpi/Manifest
@@ -0,0 +1 @@
+DIST clustalw-mpi-0.13.tar.gz 154911 BLAKE2B 705f62263340b0ac13895657c97e185f395910f25653bdcc20cf867732c270c65eebebe5b914367a534a5d058909d0baf307c0a3727a2095d4f21c313e83b94d SHA512 e0008accb6c07584dc5ad1b953e0c668fad43ca3a86d88dbcf50fbfa858870131e4db005cc87b46f5268cd0795e9a2ce01326d8318d66b694a92b85e6f9635df
diff --git a/sci-biology/clustalw-mpi/clustalw-mpi-0.13-r3.ebuild b/sci-biology/clustalw-mpi/clustalw-mpi-0.13-r3.ebuild
new file mode 100644
index 000000000000..334c34e78ce6
--- /dev/null
+++ b/sci-biology/clustalw-mpi/clustalw-mpi-0.13-r3.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="An MPI implemention of the ClustalW general purpose multiple alignment algorithm"
+HOMEPAGE="http://www.bii.a-star.edu.sg/achievements/applications/clustalw/index.php"
+SRC_URI="http://web.bii.a-star.edu.sg/~kuobin/${PN}/${P}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="mpi-njtree static-pairalign"
+
+DEPEND="virtual/mpi"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_prepare() {
+ default
+
+ if use mpi-njtree; then
+ sed -e "s/TREES_FLAG/#TREES_FLAG/" -i Makefile || \
+ die "Failed to configure MPI code for NJ trees"
+ fi
+
+ if use static-pairalign; then
+ sed -e "s/DDYNAMIC_SCHEDULING/DSTATIC_SCHEDULING/" -i Makefile || \
+ die "Failed to configure static scheduling for pair alignments"
+ fi
+}
+
+src_install() {
+ dobin clustalw-mpi
+ newdoc README.clustalw-mpi README
+}
diff --git a/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-fno-common.patch b/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-fno-common.patch
new file mode 100644
index 000000000000..da74f0ba172d
--- /dev/null
+++ b/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-fno-common.patch
@@ -0,0 +1,13 @@
+--- a/parallel_compare.c
++++ b/parallel_compare.c
+@@ -74,8 +74,8 @@
+ static sint **accum;
+ static sint *diag_index;
+ static char *slopes;
+-sint ktup,window,wind_gap,signif;
+-sint *zza, *zzb, *zzc, *zzd;
++extern sint ktup,window,wind_gap,signif;
++extern sint *zza, *zzb, *zzc, *zzd;
+ extern Boolean percent;
+ static void make_p_ptrs(sint *tptr, sint *pl, sint naseq, sint l);
+ static void make_n_ptrs(sint *tptr, sint *pl, sint naseq, sint len);
diff --git a/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-makefile.patch b/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-makefile.patch
new file mode 100644
index 000000000000..6e36061cbb39
--- /dev/null
+++ b/sci-biology/clustalw-mpi/files/clustalw-mpi-0.13-makefile.patch
@@ -0,0 +1,23 @@
+ Makefile | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index f2107ce..835232b 100644
+--- a/Makefile
++++ b/Makefile
+@@ -25,12 +25,12 @@ TREES_FLAG = -DSERIAL_NJTREE
+ PAIRALIGN_FLAG = -DDYNAMIC_SCHEDULING_PAIRALIGN
+ #PAIRALIGN_FLAG = -DSTATIC_SCHEDULING_PAIRALIGN
+
+-CFLAGS = -c -O3
++CFLAGS += -c
+ #CFLAGS = -c -O3 -funroll-all-loops
+-LFLAGS = -lm
++LIBS = -lm
+
+ clustalw-mpi: $(OBJECTS)
+- $(CC) -o $@ $(OBJECTS) $(LFLAGS)
++ $(CC) $(LDFLAGS) -o $@ $(OBJECTS) $(LIBS)
+
+ interface.o : interface.c $(HEADERS) param.h
+ $(CC) $(CFLAGS) $*.c
diff --git a/sci-biology/clustalw-mpi/metadata.xml b/sci-biology/clustalw-mpi/metadata.xml
new file mode 100644
index 000000000000..8addc03d59e0
--- /dev/null
+++ b/sci-biology/clustalw-mpi/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="mpi-njtree">Use MPI (as opposed to serial) code for computing neighbor-joining trees</flag>
+ <flag name="static-pairalign">Use static (as opposed to dynamic) scheduling for pair alignments</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/clustalw/Manifest b/sci-biology/clustalw/Manifest
new file mode 100644
index 000000000000..65ff8b3584d9
--- /dev/null
+++ b/sci-biology/clustalw/Manifest
@@ -0,0 +1,2 @@
+DIST clustalw-2.1.tar.gz 350761 BLAKE2B 479acb42ec0b0adee8e04e99132a782c947a1261f48e674c6a11e4f38e44e5709d03f0c864f0cd3cf7eb4faf76a36b6121c3e3d3573c86ee3895971df07f1a58 SHA512 659cfe0121015dd2b84578b1a0a7f016fc944de155686b9bdef31122200a21e792203f3a6ab93a31676a50ffb70858b506ceb7ac27d921189a8381dbe0887921
+DIST clustalw1.83.UNIX.tar.gz 166863 BLAKE2B a3b1eabad8bc736cde4655f13fa8544759b7b5c50ea97fd45ee0be45ac6c361db5ced8ad21622ac2530b57c37c77dfd67657afd2c411acbfb7ff2a3ba014637e SHA512 c0cc9ebf4c8869be819065546b499b547990342c87425fae8f921a141704343f2a518ecfc2b8bfd527061902825fc5befcb2cd080c83ba887390e48338c9dc1a
diff --git a/sci-biology/clustalw/clustalw-1.83-r4.ebuild b/sci-biology/clustalw/clustalw-1.83-r4.ebuild
new file mode 100644
index 000000000000..b11c6e2bf48c
--- /dev/null
+++ b/sci-biology/clustalw/clustalw-1.83-r4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="General purpose multiple alignment program for DNA and proteins"
+HOMEPAGE="http://www.embl-heidelberg.de/~seqanal/"
+SRC_URI="ftp://ftp.ebi.ac.uk/pub/software/unix/clustalw/${PN}${PV}.UNIX.tar.gz"
+S="${WORKDIR}/${PN}${PV}"
+
+LICENSE="clustalw"
+SLOT="1"
+KEYWORDS="amd64 ~ppc ppc64 ~sparc ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-as-needed.patch
+ "${FILESDIR}"/${PV}-clang.patch
+)
+
+src_prepare() {
+ default
+ sed \
+ -e "s|clustalw_help|${EPREFIX}/usr/share/doc/${PF}/clustalw_help|" \
+ -i clustalw.c || die
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin clustalw
+ dodoc README clustalv.doc clustalw{.doc,.ms,_help}
+}
diff --git a/sci-biology/clustalw/clustalw-2.1-r2.ebuild b/sci-biology/clustalw/clustalw-2.1-r2.ebuild
new file mode 100644
index 000000000000..7b45d9b4cb84
--- /dev/null
+++ b/sci-biology/clustalw/clustalw-2.1-r2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="General purpose multiple alignment program for DNA and proteins"
+HOMEPAGE="http://www.clustal.org/"
+SRC_URI="http://www.clustal.org/download/current/${P}.tar.gz"
+
+LICENSE="GPL-3 LGPL-3"
+SLOT="2"
+KEYWORDS="amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+src_install() {
+ default
+ rmdir "${ED}"/usr/share/aclocal || die
+}
diff --git a/sci-biology/clustalw/files/1.83-as-needed.patch b/sci-biology/clustalw/files/1.83-as-needed.patch
new file mode 100644
index 000000000000..54b78b0811e0
--- /dev/null
+++ b/sci-biology/clustalw/files/1.83-as-needed.patch
@@ -0,0 +1,36 @@
+--- a/makefile
++++ b/makefile
+@@ -10,25 +10,22 @@
+
+ HEADERS = general.h clustalw.h
+
+-CC = cc
+-CFLAGS = -c -O
+-LFLAGS = -O -lm
++# C99 for gets()
++CFLAGS += -std=gnu99
++LIBS += -lm
+
+ clustalw : $(OBJECTS) amenu.o clustalw.o
+- $(CC) -o $@ $(OBJECTS) amenu.o clustalw.o $(LFLAGS)
++ $(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJECTS) amenu.o clustalw.o $(LIBS)
+
+ interface.o : interface.c $(HEADERS) param.h
+- $(CC) $(CFLAGS) $*.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
+ amenu.o : amenu.c $(HEADERS) param.h
+- $(CC) $(CFLAGS) $*.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
+ readmat.o : readmat.c $(HEADERS) matrices.h
+- $(CC) $(CFLAGS) $*.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
+ trees.o : trees.c $(HEADERS) dayhoff.h
+- $(CC) $(CFLAGS) $*.c
+-
+-.c.o :
+- $(CC) $(CFLAGS) $?
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c $<
+
diff --git a/sci-biology/clustalw/files/1.83-clang.patch b/sci-biology/clustalw/files/1.83-clang.patch
new file mode 100644
index 000000000000..ea1202079d9e
--- /dev/null
+++ b/sci-biology/clustalw/files/1.83-clang.patch
@@ -0,0 +1,11 @@
+--- a/interface.c
++++ b/interface.c
+@@ -210,7 +210,7 @@
+ Boolean name1 = FALSE;
+ sint ajb;
+
+- if(args[0]==NULL) return;
++ if(args[0]==NULL) return 0;
+
+
+
diff --git a/sci-biology/clustalw/metadata.xml b/sci-biology/clustalw/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/clustalw/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/cutg/Manifest b/sci-biology/cutg/Manifest
new file mode 100644
index 000000000000..ff4a4b903266
--- /dev/null
+++ b/sci-biology/cutg/Manifest
@@ -0,0 +1 @@
+DIST cutg-160.tar.xz 178015420 BLAKE2B acfc65f4f152b7293cb8ec8e2bfa3c2c33c5da7bcdcae5349d13122e36c4061931195034548963cb78f6350bce88f72e4fc764f119e181f1f6278ee837b65b6e SHA512 9b72283f311fb805b7b22f59f3ca8fed2ab0af72b82247900922999792c1b112dcaca9b29b265a1e0e7b9eaf9ff846a1dc4c196fb95ddbfb3ee5175755ffb8e7
diff --git a/sci-biology/cutg/cutg-160-r1.ebuild b/sci-biology/cutg/cutg-160-r1.ebuild
new file mode 100644
index 000000000000..07bf5566a84b
--- /dev/null
+++ b/sci-biology/cutg/cutg-160-r1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Codon usage tables calculated from GenBank"
+HOMEPAGE="http://www.kazusa.or.jp/codon/"
+SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# Minimal build keeps only the indexed files (if applicable) and the
+# documentation. The non-indexed database is not installed.
+IUSE="emboss minimal"
+RESTRICT="binchecks strip"
+
+RDEPEND="emboss? ( sci-biology/emboss )"
+BDEPEND="${RDEPEND}"
+
+src_compile() {
+ if use emboss; then
+ mkdir CODONS || die
+ ebegin "Indexing CUTG for usage with EMBOSS."
+ EMBOSS_DATA="." cutgextract -auto -directory "${S}"
+ eend $? "Indexing CUTG failed" || die
+ fi
+}
+
+src_install() {
+ dodoc README CODON_LABEL SPSUM_LABEL
+
+ if ! use minimal; then
+ insinto /usr/share/cutg
+ doins *.codon *.spsum
+ fi
+
+ if use emboss; then
+ insinto /usr/share/EMBOSS/data
+ doins -r CODONS
+ fi
+}
diff --git a/sci-biology/cutg/metadata.xml b/sci-biology/cutg/metadata.xml
new file mode 100644
index 000000000000..9c9ea7e0947d
--- /dev/null
+++ b/sci-biology/cutg/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ Codon usage tables maintained at the Kazusa DNA Research Institute.
+ Codon usage in individual genes has been calculated using the
+ nucleotide sequence data obtained from the GenBank Genetic Sequence
+ Database. The compilation of codon usage is synchronized with each
+ major release of GenBank.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/dialign-tx/Manifest b/sci-biology/dialign-tx/Manifest
new file mode 100644
index 000000000000..6cf412f93444
--- /dev/null
+++ b/sci-biology/dialign-tx/Manifest
@@ -0,0 +1 @@
+DIST DIALIGN-TX_1.0.2.tar.gz 1765296 BLAKE2B 3cce811a58fcf210f42c4a783e8ebb56c66436912ff04bce270058193f0d7b21114d75e2d67829c7abfbb35814e5a16f7f952611729ab211d066403a411db94a SHA512 ff43f1f2900bdd12b7a8ba382a4d6ad68e6c2e6d7ceb1a65f0e571bb891cc2dc2661fb6ce698aaabf0e20c14565b5927ae0076a7170c8611679f936851a00c43
diff --git a/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild b/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild
new file mode 100644
index 000000000000..78681265a0b7
--- /dev/null
+++ b/sci-biology/dialign-tx/dialign-tx-1.0.2-r2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P=${PN^^}_${PV}
+
+DESCRIPTION="Greedy and progressive approaches for segment-based multiple sequence alignment"
+HOMEPAGE="http://dialign-tx.gobics.de/"
+SRC_URI="http://dialign-tx.gobics.de/${MY_P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-implicits.patch
+ "${FILESDIR}"/${P}-modernize.patch
+ "${FILESDIR}"/${P}-gnu89-inline.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake -C source clean
+ emake -C source
+}
+
+src_install() {
+ dobin source/dialign-tx
+ insinto /usr/$(get_libdir)/dialign-tx/conf
+ doins -r conf/.
+}
+
+pkg_postinst() {
+ einfo "The configuration directory is"
+ einfo "${EROOT}/usr/$(get_libdir)/dialign-tx/conf"
+ einfo "You will need to pass this to dialign-tx on every run."
+}
diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fix-build-system.patch b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fix-build-system.patch
new file mode 100644
index 000000000000..cbfd458043c5
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fix-build-system.patch
@@ -0,0 +1,24 @@
+--- a/source/Makefile
++++ b/source/Makefile
+@@ -1,4 +1,3 @@
+-CC=gcc
+ # debug
+ #CPPFLAGS=-g -O0 -Q -v -da
+ #CPPFLAGS=-g -O0 -fstack-check -Q -v -da
+@@ -8,7 +7,6 @@
+ # THIS IS FOR THE OPTIMIZED ONE
+ #CPPFLAGS=-g
+ #CPPFLAGS=-O3 -march=i686 -funroll-loops
+-CPPFLAGS=-O3 -funroll-loops -march=i686 -mfpmath=sse -msse -mmmx
+ #CPPFLAGS=-march=athlon-mp -g -O0 -Wall -D_USE_XOPEN -D__unix__
+
+ OBJ_DIR=.
+@@ -33,7 +31,7 @@
+
+ museq: $(OBJ)
+ rm -f $(TARGET)/$@
+- $(CC) -o $(TARGET)/$@ \
++ $(CC) $(LDFLAGS) -o $(TARGET)/$@ \
+ $(OBJ) \
+ -pipe -Wall -lm
+ mv museq dialign-tx
diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch
new file mode 100644
index 000000000000..de3104fa0ebb
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-fno-common.patch
@@ -0,0 +1,22 @@
+--- a/source/parameters.c
++++ b/source/parameters.c
+@@ -26,6 +26,8 @@
+
+ extern char *optarg;
+ extern int optind, opterr, optopt;
++
++struct parameters* para;
+ /****************************
+ * PROTEIN DEFAULT VALUES! *
+ ****************************/
+--- a/source/parameters.h
++++ b/source/parameters.h
+@@ -138,7 +138,7 @@
+ /* global variable */
+ /* */
+ /************************************************/
+-struct parameters* para;
++extern struct parameters* para;
+
+
+
diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch
new file mode 100644
index 000000000000..fc8d0284e6ab
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-gnu89-inline.patch
@@ -0,0 +1,31 @@
+--- a/source/assemble.c
++++ b/source/assemble.c
+@@ -574,7 +574,7 @@
+ * returns a value <0 if there is an non-conflicting overlap
+ * returns 0 in all other non-conflicting cases
+ */
+-inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) {
++static inline char confl_diag(struct alignment *algn, char *layer, struct diag *dg1, struct diag *dg2) {
+ // if(dg1->multi_dg || dg2->multi_dg) error(" confl_diag(): cannot accept multi dgs!");
+ int s1_1 = dg1->seq_p1.num;
+ int s1_2 = dg1->seq_p2.num;
+--- a/source/diag.c
++++ b/source/diag.c
+@@ -312,7 +312,7 @@
+ /**
+ * calculates the overlap weight for the given diag
+ */
+-inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
++void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
+ struct prob_dist *pdist) {
+ int sn1 = dg->seq_p1.num;
+ int sn2 = dg->seq_p2.num;
+@@ -958,7 +958,7 @@
+ * The pointer returned (and the ones included in the struct)
+ * has to be deallocted explicitely from memory.
+ */
+-inline struct simple_diag_col* find_diags_dialign(struct scr_matrix *smatrix,
++static inline struct simple_diag_col* find_diags_dialign(struct scr_matrix *smatrix,
+ struct prob_dist *pdist, struct seq* seq1,
+ struct seq* seq2, struct alignment *algn,
+ long double **tmp_dist, int round) {
diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-implicits.patch b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-implicits.patch
new file mode 100644
index 000000000000..d82a5bf4be33
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-implicits.patch
@@ -0,0 +1,18 @@
+--- a/source/museq.c
++++ b/source/museq.c
+@@ -38,6 +38,7 @@
+ //extern void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ // struct prob_dist *pdist);
+ //extern struct diag_col *create_diag_col(int seq_amount);
++extern void free_diag(struct diag* dg);
+ extern void free_diag_col(struct diag_col* dcol);
+ extern struct diag_col *find_all_diags(struct scr_matrix *smatrix,
+ struct prob_dist *pdist,
+@@ -52,6 +53,7 @@
+
+ // alig.c
+ extern struct alignment* create_empty_alignment(struct seq_col *scol);
++extern void free_alignment(struct alignment *algn);
+ //extern char adapt_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
+ extern int simple_aligner(struct seq_col *scol, struct diag_col *dcol,
+ struct scr_matrix* smatrix,
diff --git a/sci-biology/dialign-tx/files/dialign-tx-1.0.2-modernize.patch b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-modernize.patch
new file mode 100644
index 000000000000..b732e34da81c
--- /dev/null
+++ b/sci-biology/dialign-tx/files/dialign-tx-1.0.2-modernize.patch
@@ -0,0 +1,130 @@
+Fix changed gnu89->gnu11 inline semantics with GCC-5, Gentoo Bug #570252
+https://bugs.gentoo.org/show_bug.cgi?id=570252
+
+In addition, fixed multiple -Wformat= warnings, such as
+
+io.c:535:20: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 3 has type ‘int *’ [-Wformat=]
+ while( fscanf(fp,"%li %li %li %li %li %le\n",&s1,&s2,&sp1,&sp2,&len,&score ) == 6) {
+ ^
+io.c:535:20: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 4 has type ‘int *’ [-Wformat=]
+io.c:535:20: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 5 has type ‘int *’ [-Wformat=]
+io.c:535:20: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 6 has type ‘int *’ [-Wformat=]
+io.c:535:20: warning: format ‘%li’ expects argument of type ‘long int *’, but argument 7 has type ‘int *’ [-Wformat=]
+
+--- DIALIGN-TX_1.0.2/source/alig.c
++++ DIALIGN-TX_1.0.2/source/alig.c
+@@ -10,9 +10,9 @@
+
+ extern void error(char *message);
+ extern void merror(char *msg1, char *msg2);
+-extern inline void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
++extern void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ struct prob_dist *pdist);
+-extern inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
++extern void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
+ struct prob_dist *pdist);
+ //extern struct seq_part* create_seq_part(int num, struct seq* aSeq, unsigned int startpos);
+ extern struct diag* create_diag(struct seq_part* part1, struct seq_part* part2,
+@@ -520,7 +520,7 @@
+ * datastructure (i.e. frontiers). The given diag must be consistent
+ * to the given alignment !
+ */
+-inline char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg) {
++char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg) {
+
+ char alignedSomething = 0;
+ int i,j,k;
+--- DIALIGN-TX_1.0.2/source/assemble.c
++++ DIALIGN-TX_1.0.2/source/assemble.c
+@@ -10,9 +10,9 @@
+
+ extern void error(char *message);
+ extern void merror(char *msg1, char *msg2);
+-extern inline void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
++extern void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ struct prob_dist *pdist);
+-extern inline void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
++extern void calc_ov_weight(struct diag* dg, struct diag_col *dcol, struct scr_matrix* smatrix,
+ struct prob_dist *pdist);
+ //extern struct seq_part* create_seq_part(int num, struct seq* aSeq, unsigned int startpos);
+ extern long double** create_tmp_pdist(struct prob_dist *pdist);
+@@ -22,7 +22,7 @@
+ int n2, struct seq* sq2, unsigned int sp2,
+ int dlength);
+ extern void free_diag(struct diag* dg);
+-extern inline struct simple_diag_col* find_diags_guided(struct scr_matrix *smatrix,
++extern struct simple_diag_col* find_diags_guided(struct scr_matrix *smatrix,
+ struct prob_dist *pdist,
+ struct gt_node* n1,
+ struct gt_node* n2,
+@@ -34,10 +34,10 @@
+
+ extern struct alignment* create_empty_alignment(struct seq_col *scol);
+ extern void free_alignment(struct alignment *algn);
+-extern inline struct algn_pos *find_eqc(struct algn_pos **ap, int seqnum, int pos);
++extern struct algn_pos *find_eqc(struct algn_pos **ap, int seqnum, int pos);
+ extern struct alignment* copy_alignment( struct alignment *o_algn, struct alignment *algn, char doDgc);
+ //extern char adapt_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
+-extern inline char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
++extern char align_diag(struct alignment *algn, struct scr_matrix *smatrix, struct diag* dg);
+ //extern inline struct diag_cont* enter_sorted(struct diag_cont* backlog_diags, struct diag_cont *cand);
+ //extern inline char fit_fpos_diag(struct alignment *algn, struct diag* dg);
+
+--- DIALIGN-TX_1.0.2/source/diag.c
++++ DIALIGN-TX_1.0.2/source/diag.c
+@@ -183,7 +183,7 @@
+ * omitScore = 0: normal
+ * omitScore = 1: no score calculation
+ */
+-inline void real_calc_weight(struct diag* dg, struct scr_matrix* smatrix,
++void real_calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ struct prob_dist *pdist, char omitScore, long double **tmp_dist, struct alignment *algn ) {
+
+ if(dg->multi_dg) {
+@@ -302,7 +302,7 @@
+ }
+ }
+
+-inline void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
++void calc_weight(struct diag* dg, struct scr_matrix* smatrix,
+ struct prob_dist *pdist) {
+ real_calc_weight(dg, smatrix, pdist, 0,NULL,NULL);
+ }
+--- DIALIGN-TX_1.0.2/source/io.c
++++ DIALIGN-TX_1.0.2/source/io.c
+@@ -267,7 +267,7 @@
+ for( c=r; c<length; c++) {
+ // check whether it is a regular acid or a special character like '$',...
+ if( (r<length-additional) && (c<length-additional)) {
+- fscanf( fp, "%i", &is);
++ if( fscanf( fp, "%i", &is) ){};
+ } else {
+ is = 0;
+ }
+@@ -279,7 +279,7 @@
+ // ensure symmetry of the weight matrix
+ data[length*c+r] = is;
+ }
+- fscanf(fp, "%s\n", rline);
++ if( fscanf(fp, "%s\n", rline) ){};
+ }
+ fclose(fp);
+
+@@ -368,7 +368,7 @@
+ }
+ for(scr=0;scr<=mxscr;scr++) {
+ dist[i][scr]=1.0;
+- fscanf( fp, "%li %li %Le\n", &ti,&tscr,&weight );
++ if( fscanf( fp, "%li %li %Le\n", &ti,&tscr,&weight ) ){};
+ //if(i!=ti || tscr!=scr) merror("read_scr_matrix(): (4) Invalid format of file ",filename);
+ scr = tscr;
+ if(weight==0.0) weight = 1.0;
+@@ -532,7 +532,7 @@
+ sdcol->data = malloc(sizeof (struct diag*)*alloc_size);
+ sdcol->length=0;
+
+- while( fscanf(fp,"%li %li %li %li %li %le\n",&s1,&s2,&sp1,&sp2,&len,&score ) == 6) {
++ while( fscanf(fp,"%i %i %i %i %i %le\n",&s1,&s2,&sp1,&sp2,&len,&score ) == 6) {
+ if(sdcol->length >= alloc_size) {
+ alloc_size+=16;
+ sdcol->data = realloc(sdcol->data,sizeof (struct diag*)*alloc_size);
diff --git a/sci-biology/dialign-tx/metadata.xml b/sci-biology/dialign-tx/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/dialign-tx/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/dialign2/Manifest b/sci-biology/dialign2/Manifest
new file mode 100644
index 000000000000..90219054dfcd
--- /dev/null
+++ b/sci-biology/dialign2/Manifest
@@ -0,0 +1 @@
+DIST dialign-2.2.1-src.tar.gz 209015 BLAKE2B daf903b735e164879a8ceb998ca5ea0c5243927d9b88b4041633af06da7d1f608d58933ee098393e99093b7d11587a59277d9d0927214df0341a8a623b0d5608 SHA512 eb51fbc8d81e384ac19e9cc957be233287a1d81a7f020d77ab16ee6943382bd4e81099c0c9028fcff130def62cdf19de59e9a9c08ea4cb67b9d8f1939eb3bc45
diff --git a/sci-biology/dialign2/dialign2-2.2.1-r1.ebuild b/sci-biology/dialign2/dialign2-2.2.1-r1.ebuild
new file mode 100644
index 000000000000..264c43a03c17
--- /dev/null
+++ b/sci-biology/dialign2/dialign2-2.2.1-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Multiple sequence alignment"
+HOMEPAGE="http://bibiserv.techfak.uni-bielefeld.de/dialign"
+SRC_URI="http://bibiserv.techfak.uni-bielefeld.de/applications/dialign/resources/downloads/dialign-${PV}-src.tar.gz"
+S="${WORKDIR}/dialign_package"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.1-fix-build-system.patch
+ "${FILESDIR}"/${PN}-2.2.1-Wimplicit.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_install() {
+ dobin src/dialign2-2
+
+ insinto /usr/share/dialign2
+ doins -r dialign2_dir/.
+
+ newenvd - 80dialign2 <<- EOF
+ DIALIGN2_DIR="${EPREFIX}/usr/share/dialign2"
+ EOF
+}
diff --git a/sci-biology/dialign2/files/dialign2-2.2.1-Wimplicit.patch b/sci-biology/dialign2/files/dialign2-2.2.1-Wimplicit.patch
new file mode 100644
index 000000000000..3f886171b070
--- /dev/null
+++ b/sci-biology/dialign2/files/dialign2-2.2.1-Wimplicit.patch
@@ -0,0 +1,205 @@
+--- a/src/alig_graph_closure.c
++++ b/src/alig_graph_closure.c
+@@ -27,7 +27,7 @@
+ void init_seq(CLOSURE *clos, int nbreseq, int *longseq);
+ void desinit_seq(CLOSURE *clos);
+
+-int print_aligSets(CLOSURE *clos, int nseq, int i);
++void print_aligSets(CLOSURE *clos, int nseq, int i);
+
+ char DEBUG=0;
+
+@@ -309,7 +309,7 @@
+ }
+
+
+-int print_aligSets(CLOSURE *clos, int nseq, int i)
++void print_aligSets(CLOSURE *clos, int nseq, int i)
+ {
+ char nouveau_, terminer;
+ int n, ng, nd, nn, k;
+@@ -395,7 +395,7 @@
+ liberer(clos);
+ }
+
+-int addAlignedPositions(CLOSURE *clos, int seq1, int i, int seq2, int j)
++void addAlignedPositions(CLOSURE *clos, int seq1, int i, int seq2, int j)
+ {
+ char nouveau_, terminer;
+ int n, n1, n2, ng1, ng2, nd1, nd2, nn, k;
+@@ -623,7 +623,7 @@
+ return(!path(clos, y, j, x, i));
+ }
+
+-int addAlignedSegments(CLOSURE *clos, int x, int i, int y, int j, int l)
++void addAlignedSegments(CLOSURE *clos, int x, int i, int y, int j, int l)
+ {
+ int k;
+
+--- a/src/alig_graph_closure.h
++++ b/src/alig_graph_closure.h
+@@ -43,13 +43,13 @@
+
+ void freeAligGraphClosure(CLOSURE *clos);
+
+-int addAlignedPositions(CLOSURE *clos, int x, int i, int y, int j);
++void addAlignedPositions(CLOSURE *clos, int x, int i, int y, int j);
+
+ int alignablePositions(CLOSURE *clos, int x, int i, int y, int j);
+
+ int alignedPositions(CLOSURE *clos, int x, int i, int y, int j);
+
+-int addAlignedSegments(CLOSURE *clos, int x, int i, int y, int j, int l);
++void addAlignedSegments(CLOSURE *clos, int x, int i, int y, int j, int l);
+
+ int alignableSegments(CLOSURE *clos, int x, int i, int y, int j, int l);
+
+--- a/src/anchor.c
++++ b/src/anchor.c
+@@ -17,6 +17,7 @@
+ #include "define.h"
+ #include "dialign.h"
+ #include "alig_graph_closure.h"
++#include "pratique.h"
+
+
+ extern int anc_num, *seqlen ;
+@@ -24,6 +25,8 @@
+ extern char *seq[MAX_SEQNUM];
+ extern struct multi_frag *anchor_frg ;
+
++extern int word_count( char *seq );
++
+ void anchor_check( int s1, int s2, int b1, int b2, int l , float scr ) {
+
+ if(
+@@ -101,7 +104,7 @@
+ }
+
+
+-int multi_anc_read( char *file_name ) {
++void multi_anc_read( char *file_name ) {
+
+ char anc_file_name[ NAME_LEN ] ;
+ FILE *fp;
+--- a/src/dialign.c
++++ b/src/dialign.c
+@@ -218,7 +218,7 @@
+ extern void subst_mat(char *file_name, int fragno , struct multi_frag *smp );
+ extern int seq_read( char *in_file , char *sq[MAX_SEQNUM] , char **sqn , char **fsqn) ;
+ extern int anc_read( char *file_name ) ;
+- extern int multi_anc_read( char *file_name ) ;
++ extern void multi_anc_read( char *file_name ) ;
+ extern void randomize( int r_numb , FILE *fp1 );
+ extern int mini2(int a, int b);
+ extern int maxi2(int a, int b);
+@@ -250,6 +250,9 @@
+ extern void av_tree_print();
+ extern void matrix_read( FILE *fp_mat ) ;
+ extern void mem_alloc( ) ;
++ extern void regex_parse( char *mot_regex ) ;
++ extern void seq_parse( char *mot_regex ) ;
++ extern void exclude_frg_read( char *file_name , int ***exclude_list) ;
+
+
+ /******************************/
+@@ -258,7 +261,7 @@
+
+
+
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ int k, anc1, dia_counter, tmpi1, tmpi2 ;
+
+--- a/src/functions.c
++++ b/src/functions.c
+@@ -853,7 +853,7 @@
+ }
+ }
+
+-wgt_type_count( int num , int e_len, int *plus_cnt, int *minus_cnt,
++void wgt_type_count( int num , int e_len, int *plus_cnt, int *minus_cnt,
+ int *nuc_cnt , int *frg_inv, struct multi_frag *dia ) {
+
+ int i, dc, pc, s1, pos;
+@@ -882,7 +882,7 @@
+
+
+
+-plot_calc( int num , int e_len, float *w_count, float *pl,
++void plot_calc( int num , int e_len, float *w_count, float *pl,
+ struct multi_frag *dia , FILE *fp_csc )
+ {
+ int i, dc, pc, s1, pos;
+--- a/src/input.c
++++ b/src/input.c
+@@ -17,6 +17,7 @@
+ #include "define.h"
+ #include "dialign.h"
+ #include "alig_graph_closure.h"
++#include "pratique.h"
+
+ extern int max_dia , self_comparison ;
+ extern int sim_score[21][21];
+@@ -370,8 +371,11 @@
+ }
+
+
+- if ( fgets( line , MLINE , fp ) == NULL )
+- erreur("\n\n problem with file %s \n\n", file_name );
++ if ( fgets( line , MLINE , fp ) == NULL ) {
++ char buffer [500];
++ snprintf ( buffer, 500, "\n\n problem with file %s \n\n", file_name );
++ erreur( buffer );
++ }
+ else
+ if( w_type % 2 )
+ av_sim_score_nuc = atof( line );
+--- a/src/output.c
++++ b/src/output.c
+@@ -61,9 +61,9 @@
+ extern void mini(int *a, int b);
+ extern void maxi(int *a, int b);
+ extern int int_test(float f);
+- extern plot_calc( int num , int e_len, float *w_count, float *pl,
++ extern void plot_calc( int num , int e_len, float *w_count, float *pl,
+ struct multi_frag *dia , FILE *fp_csc ) ;
+- extern wgt_type_count( int num , int e_len, int *plus_cnt, int *minus_cnt,
++ extern void wgt_type_count( int num , int e_len, int *plus_cnt, int *minus_cnt,
+ int *nuc_cnt , int *frg_inv, struct multi_frag *dia ) ;
+
+
+--- a/src/pratique.c
++++ b/src/pratique.c
+@@ -4,7 +4,7 @@
+
+ /* ------------------------------------------------------------*/
+
+-void erreur(char *message)
++_Noreturn void erreur(char *message)
+ {
+ printf("%s\n", message);
+ exit(1);
+--- a/src/pratique.h
++++ b/src/pratique.h
+@@ -12,7 +12,7 @@
+
+ #define TAILLE_MAX_LIGNE_FICHIER 10000
+
+-void erreur(char *message);
++_Noreturn void erreur(char *message);
+
+ void *allouer(size_t taille);
+ void *reallouer(void *pointeur, size_t taille);
+--- a/src/regex.c
++++ b/src/regex.c
+@@ -151,7 +151,7 @@
+
+ }
+
+-seq_parse( char *mot_regex ) {
++void seq_parse( char *mot_regex ) {
+ int sn, ok , i ;
+ int sp, ap, rp, hv, match;
+ max_mot_offset = sqrt ( - log ( 0.1 ) * 10 / mot_factor ) * mot_offset_factor;
diff --git a/sci-biology/dialign2/files/dialign2-2.2.1-fix-build-system.patch b/sci-biology/dialign2/files/dialign2-2.2.1-fix-build-system.patch
new file mode 100644
index 000000000000..a4940ee867ee
--- /dev/null
+++ b/sci-biology/dialign2/files/dialign2-2.2.1-fix-build-system.patch
@@ -0,0 +1,48 @@
+--- a/src/makefile
++++ b/src/makefile
+@@ -10,9 +10,7 @@
+ ###############################
+
+
+-CC = gcc
+-CFLAGS = -c -O -I$ -DCONS
+-#CFLAGS = -g -c -I$ -DCONS
++CPPFLAGS += -I. -DCONS
+ LIBS = -lm
+ #
+
+@@ -23,33 +21,4 @@
+
+ #
+ dialign2-2: $(OBJS)
+- $(CC) $(OBJS) $(LIBS) -o dialign2-2
+-# $(CC) -g $(OBJS) $(LIBS) -o dialign2-2_db
+-#
+-#
+-# Subroutines
+-#
+-
+-dialign.o: dialign.c
+- $(CC) $(CFLAGS) dialign.c
+-functions.o: functions.c
+- $(CC) $(CFLAGS) functions.c
+-input.o: input.c
+- $(CC) $(CFLAGS) input.c
+-frag_chain.o: frag_chain.c
+- $(CC) $(CFLAGS) frag_chain.c
+-para.o: para.c
+- $(CC) $(CFLAGS) para.c
+-output.o: output.c
+- $(CC) $(CFLAGS) output.c
+-wgt.o: wgt.c
+- $(CC) $(CFLAGS) wgt.c
+-regex.o: regex.c
+- $(CC) $(CFLAGS) regex.c
+-anchor.o: anchor.c
+- $(CC) $(CFLAGS) anchor.c
+-
+-#
+-
+-
+-
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
diff --git a/sci-biology/dialign2/metadata.xml b/sci-biology/dialign2/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/dialign2/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/elph/Manifest b/sci-biology/elph/Manifest
new file mode 100644
index 000000000000..f2ca47f1b782
--- /dev/null
+++ b/sci-biology/elph/Manifest
@@ -0,0 +1 @@
+DIST ELPH-1.0.1.tar.gz 113476 BLAKE2B 7c34e9f847560bf46d1bc6bbb720a0cd0afd91b29c23dac98056d2b9eea39146dda72468cad96892eb551cdfb03b224ea22b8e4cee40f19774e24fa843f55192 SHA512 a76cdcdaa1dc406fb0f1204b6a40ffc9f4c0840611b960a3d4299d447446e5bbf941abe7f70cee38f69a64862e186133fd60c1aac18b4b58d86f2ed5c4dd7d72
diff --git a/sci-biology/elph/elph-1.0.1-r3.ebuild b/sci-biology/elph/elph-1.0.1-r3.ebuild
new file mode 100644
index 000000000000..e0ac9eece3b5
--- /dev/null
+++ b/sci-biology/elph/elph-1.0.1-r3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Estimated Locations of Pattern Hits - Motif finder program"
+HOMEPAGE="http://cbcb.umd.edu/software/ELPH/"
+SRC_URI="ftp://ftp.cbcb.umd.edu/pub/software/elph/ELPH-${PV}.tar.gz"
+S="${WORKDIR}/${PN^^}/sources"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.1-fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.0.1-drop-register-keyword.patch
+)
+
+src_configure() {
+ tc-export CC CXX
+}
+
+src_install() {
+ dobin elph
+
+ cd "${WORKDIR}"/ELPH || die
+ dodoc VERSION
+ newdoc Readme.ELPH README
+}
diff --git a/sci-biology/elph/files/elph-1.0.1-drop-register-keyword.patch b/sci-biology/elph/files/elph-1.0.1-drop-register-keyword.patch
new file mode 100644
index 000000000000..c05a280d4679
--- /dev/null
+++ b/sci-biology/elph/files/elph-1.0.1-drop-register-keyword.patch
@@ -0,0 +1,102 @@
+Bug: https://bugs.gentoo.org/898116
+
+--- a/GBase.cpp
++++ b/GBase.cpp
+@@ -208,8 +208,8 @@ char* rstrstr(char* rstart, char *lend, char* substr) { /*like strstr, but star
+
+ //hash function used for strings in GHash
+ int strhash(const char* str){
+- register int h=0;
+- register int g;
++ int h=0;
++ int g;
+ while (*str) {
+ h=(h<<4)+*str++;
+ g=h&0xF0000000;
+--- a/GString.cpp
++++ b/GString.cpp
+@@ -364,8 +364,8 @@ GString& GString::appendfmt(const char *fmt,...) {
+ }
+
+ GString& GString::trim(char c) {
+- register int istart;
+- register int iend;
++ int istart;
++ int iend;
+ for (istart=0; istart<length() && chars()[istart]==c;istart++);
+ if (istart==length()) {
+ make_unique(); //edit operation ahead
+@@ -384,8 +384,8 @@ GString& GString::trim(char c) {
+ }
+
+ GString& GString::trim(char* c) {
+- register int istart;
+- register int iend;
++ int istart;
++ int iend;
+ for (istart=0; istart<length() && strchr(c, chars()[istart])!=NULL ;istart++);
+ if (istart==length()) {
+ replace_data(0); //string was entirely trimmed
+@@ -405,7 +405,7 @@ GString& GString::trim(char* c) {
+ GString& GString::trimR(char c) {
+ //only trim the right end
+ //register int istart;
+- register int iend;
++ int iend;
+ for (iend=length()-1; iend>=0 && chars()[iend]==c;iend--);
+ if (iend==-1) {
+ replace_data(0); //string was entirely trimmed
+@@ -423,7 +423,7 @@ GString& GString::trimR(char c) {
+ }
+
+ GString& GString::trimR(char* c) {
+- register int iend;
++ int iend;
+ for (iend=length()-1; iend>=0 && strchr(c,chars()[iend])!=NULL;iend--);
+ if (iend==-1) {
+ replace_data(0); //string was entirely trimmed
+@@ -440,7 +440,7 @@ GString& GString::trimR(char* c) {
+ }
+
+ GString& GString::trimL(char c) {
+- register int istart;
++ int istart;
+ for (istart=0; istart<length() && chars()[istart]==c;istart++);
+ if (istart==length()) {
+ replace_data(0); //string was entirely trimmed
+@@ -457,7 +457,7 @@ GString& GString::trimL(char c) {
+ }
+
+ GString& GString::trimL(char* c) {
+- register int istart;
++ int istart;
+ for (istart=0; istart<length() && strchr(c,chars()[istart])!=NULL;istart++);
+ if (istart==length()) {
+ replace_data(0); //string was entirely trimmed
+@@ -598,7 +598,7 @@ bool GString::is_space() const {
+ if (my_data == &null_data)
+ return false;
+
+- for (register const char *p = chars(); *p; p++)
++ for (const char *p = chars(); *p; p++)
+ if (!isspace(*p))
+ return false;
+
+@@ -889,7 +889,7 @@ GString& GString::append(const GString& s) {
+
+ GString& GString::upper() {
+ make_unique(); //edit operation ahead
+- for (register char *p = chrs(); *p; p++)
++ for (char *p = chrs(); *p; p++)
+ *p = (char) toupper(*p);
+
+ return *this;
+@@ -900,7 +900,7 @@ GString& GString::upper() {
+ GString& GString::lower() {
+ make_unique();
+
+- for (register char *p = chrs(); *p; p++)
++ for (char *p = chrs(); *p; p++)
+ *p = (char) tolower(*p);
+
+ return *this;
diff --git a/sci-biology/elph/files/elph-1.0.1-fix-build-system.patch b/sci-biology/elph/files/elph-1.0.1-fix-build-system.patch
new file mode 100644
index 000000000000..9afbb68666d6
--- /dev/null
+++ b/sci-biology/elph/files/elph-1.0.1-fix-build-system.patch
@@ -0,0 +1,55 @@
+Make build system respect user variables
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,42 +1,26 @@
+-CLASSDIR := .
+-
+-# Directories to search for header files
+-SEARCHDIRS := -I- -I${CLASSDIR}
+-
+-
+-SYSTYPE := $(shell uname)
+-
+-# C compiler
+-
+-CC := g++
+-CFLAGS = -Wall ${SEARCHDIRS} -fno-exceptions -fno-rtti -D_REENTRANT -g
++my_CPPFLAGS = -D_REENTRANT -I.
+
+ %.o : %.c
+- ${CC} ${CFLAGS} -c $< -o $@
++ $(CC) -Wall $(CFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ %.o : %.cc
+- ${CC} ${CFLAGS} -c $< -o $@
++ $(CXX) -Wall $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ %.o : %.C
+- ${CC} ${CFLAGS} -c $< -o $@
++ $(CXX) -Wall $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ %.o : %.cpp
+- ${CC} ${CFLAGS} -c $< -o $@
++ $(CXX) -Wall $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ %.o : %.cxx
+- ${CC} ${CFLAGS} -c $< -o $@
++ $(CXX) -Wall $(CXXFLAGS) $(my_CPPFLAGS) $(CPPFLAGS) -c $< -o $@
+
+ # C/C++ linker
+-
+-LINKER := g++
+-LDFLAGS =
+-LOADLIBES :=
+-
+ .PHONY : all
+ all: elph
+
+-elph: ./elph.o ${CLASSDIR}/motif.o ${CLASSDIR}/GBase.o ${CLASSDIR}/GString.o ${CLASSDIR}/GArgs.o
+- ${LINKER} ${LDFLAGS} -o $@ ${filter-out %.a %.so, $^} ${LOADLIBES}
++elph: elph.o motif.o GBase.o GString.o GArgs.o
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o $@ $^
+
+ # target for removing all object files
+
diff --git a/sci-biology/elph/metadata.xml b/sci-biology/elph/metadata.xml
new file mode 100644
index 000000000000..e049234e543d
--- /dev/null
+++ b/sci-biology/elph/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ ELPH is a general-purpose Gibbs sampler for finding motifs in a set of
+ DNA or protein sequences. The program takes as input a set containing
+ anywhere from a few dozen to thousands of sequences, and searches
+ through them for the most common motif, assuming that each sequence
+ contains one copy of the motif.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-cbstools/Manifest b/sci-biology/embassy-cbstools/Manifest
new file mode 100644
index 000000000000..3b25def8831a
--- /dev/null
+++ b/sci-biology/embassy-cbstools/Manifest
@@ -0,0 +1 @@
+DIST embassy-cbstools-1.0.0.660.tar.gz 452594 BLAKE2B 68d13e14b4805af7ba1742537e6ebd621553ba6c895cd4bb13a5c1e93e72e03916ba62833f31ec35e69fa9a4ab15d9348dbfe19eb55a82f3ecd86141726e6c01 SHA512 8f16f726220a36f998d8a0f1d8aec9ec6b2db8160b15bed7bafc5a65d57a937bd91ee831ecabe2e9aaa8cecaa18d050f16439a276a882730fde3fa4937bec384
diff --git a/sci-biology/embassy-cbstools/embassy-cbstools-1.0.0.660-r1.ebuild b/sci-biology/embassy-cbstools/embassy-cbstools-1.0.0.660-r1.ebuild
new file mode 100644
index 000000000000..d2a1341fe194
--- /dev/null
+++ b/sci-biology/embassy-cbstools/embassy-cbstools-1.0.0.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Applications from the CBS group"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/CBSTOOLS-1.0.0.650"
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-cbstools/files/embassy-cbstools-1.0.0.650_fix-build-system.patch b/sci-biology/embassy-cbstools/files/embassy-cbstools-1.0.0.650_fix-build-system.patch
new file mode 100644
index 000000000000..7ed96e5ff23b
--- /dev/null
+++ b/sci-biology/embassy-cbstools/files/embassy-cbstools-1.0.0.650_fix-build-system.patch
@@ -0,0 +1,110 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -19,9 +19,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -36,7 +34,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -64,6 +62,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-cbstools/metadata.xml b/sci-biology/embassy-cbstools/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-cbstools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-clustalomega/Manifest b/sci-biology/embassy-clustalomega/Manifest
new file mode 100644
index 000000000000..49d1ed88474a
--- /dev/null
+++ b/sci-biology/embassy-clustalomega/Manifest
@@ -0,0 +1 @@
+DIST embassy-clustalomega-1.1.0.660.tar.gz 618177 BLAKE2B 5d3f300a0dd825c92c3f953219b2ae8be271a7d89a1237980571b3f9a9027d6a0191ad9e61be87d1ad3334ddd56f9ff11c05d3e277683dc8cdfe511ef3739877 SHA512 fc16f9505e0300ae184e292fb1d96ce6b90eaf80298f847769466a84726d10ea58e3f4c14ed21a9e2c36d7fa533c7ad248b4995bf41c8abbd0fed1faf1fd4801
diff --git a/sci-biology/embassy-clustalomega/embassy-clustalomega-1.1.0.660-r1.ebuild b/sci-biology/embassy-clustalomega/embassy-clustalomega-1.1.0.660-r1.ebuild
new file mode 100644
index 000000000000..ad0926d1d2f4
--- /dev/null
+++ b/sci-biology/embassy-clustalomega/embassy-clustalomega-1.1.0.660-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Clustal Omega - Multiple Sequence Alignment"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sci-biology/clustal-omega"
+
+S="${WORKDIR}/CLUSTALOMEGA-1.1.0"
+PATCHES=( "${FILESDIR}"/${PN}-1.1.0_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-clustalomega/files/embassy-clustalomega-1.1.0_fix-build-system.patch b/sci-biology/embassy-clustalomega/files/embassy-clustalomega-1.1.0_fix-build-system.patch
new file mode 100644
index 000000000000..024f8bfc3a09
--- /dev/null
+++ b/sci-biology/embassy-clustalomega/files/embassy-clustalomega-1.1.0_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -61,6 +59,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-clustalomega/metadata.xml b/sci-biology/embassy-clustalomega/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-clustalomega/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-domainatrix/Manifest b/sci-biology/embassy-domainatrix/Manifest
new file mode 100644
index 000000000000..fe1d993d145d
--- /dev/null
+++ b/sci-biology/embassy-domainatrix/Manifest
@@ -0,0 +1 @@
+DIST embassy-domainatrix-0.1.660.tar.gz 474066 BLAKE2B ac5e081ac1a18d8abfbcdf687a43d4a09436c83fd54bed8c75487f8ed74852979adc96fa592df9f86c161fc8b398f1225ec44e565b470c59a5c2268898943270 SHA512 151e026445abb171a9141ae5576442307121646c66dc811320a6f73be1103203bf04d37b813e5c95ef0873be261cd474835f4dffd042f33f99d7dd4fda19be7b
diff --git a/sci-biology/embassy-domainatrix/embassy-domainatrix-0.1.660-r1.ebuild b/sci-biology/embassy-domainatrix/embassy-domainatrix-0.1.660-r1.ebuild
new file mode 100644
index 000000000000..98e38b44b0b0
--- /dev/null
+++ b/sci-biology/embassy-domainatrix/embassy-domainatrix-0.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Protein domain analysis add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/DOMAINATRIX-0.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-0.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-domainatrix/files/embassy-domainatrix-0.1.650_fix-build-system.patch b/sci-biology/embassy-domainatrix/files/embassy-domainatrix-0.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..849da318d245
--- /dev/null
+++ b/sci-biology/embassy-domainatrix/files/embassy-domainatrix-0.1.650_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -63,6 +61,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-domainatrix/metadata.xml b/sci-biology/embassy-domainatrix/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-domainatrix/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-domalign/Manifest b/sci-biology/embassy-domalign/Manifest
new file mode 100644
index 000000000000..669a45a1b5cf
--- /dev/null
+++ b/sci-biology/embassy-domalign/Manifest
@@ -0,0 +1 @@
+DIST embassy-domalign-0.1.660.tar.gz 498669 BLAKE2B d21352b28ca046c1bfe8600a7eba641d670e232571f95f9c75b47486a63f2a2b02516191706c0688e81bc33cda90ebf88a9ce800535dce9a955ccc15e25dd20a SHA512 14e86664e9038acc60fbec92fa218e218921fb1e51cc2e482fb1760ccd9ea16041dc8a2a9f5f320fca3340b7efdc48ea9d753b048a43966fc3431acdaddc7846
diff --git a/sci-biology/embassy-domalign/embassy-domalign-0.1.660-r1.ebuild b/sci-biology/embassy-domalign/embassy-domalign-0.1.660-r1.ebuild
new file mode 100644
index 000000000000..00f7c7c4468a
--- /dev/null
+++ b/sci-biology/embassy-domalign/embassy-domalign-0.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Protein domain alignment add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/DOMALIGN-0.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-0.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-domalign/files/embassy-domalign-0.1.650_fix-build-system.patch b/sci-biology/embassy-domalign/files/embassy-domalign-0.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..873deaa645ab
--- /dev/null
+++ b/sci-biology/embassy-domalign/files/embassy-domalign-0.1.650_fix-build-system.patch
@@ -0,0 +1,104 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,10 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I../include -I${embprefix}/include \
+- -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -35,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -62,6 +59,6 @@
+ ../../../ajax/zlib/libezlib.la \
+ ../../../plplot/libeplplot.la $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-domalign/metadata.xml b/sci-biology/embassy-domalign/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-domalign/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-domsearch/Manifest b/sci-biology/embassy-domsearch/Manifest
new file mode 100644
index 000000000000..4b39f057cd68
--- /dev/null
+++ b/sci-biology/embassy-domsearch/Manifest
@@ -0,0 +1 @@
+DIST embassy-domsearch-0.1.660.tar.gz 504183 BLAKE2B 598ba359558519967d0e8d895bca453aaeffef3d8a62c3d77b6b2f321118e890ec70c3baa3dd3acc03fc9a19cc380909cf3f14e5569c4ae90d3d5e88817d6e6d SHA512 a242100dc7b4b1f4a838dbf65dffb0475b6b890c7d68efae6a74beb3d4784d031f92365a50a41c0d7ea7d1b4be5e65a298626a798970c74df0d5f85427a51589
diff --git a/sci-biology/embassy-domsearch/embassy-domsearch-0.1.660-r1.ebuild b/sci-biology/embassy-domsearch/embassy-domsearch-0.1.660-r1.ebuild
new file mode 100644
index 000000000000..d00a21f42efc
--- /dev/null
+++ b/sci-biology/embassy-domsearch/embassy-domsearch-0.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Protein domain search add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/DOMSEARCH-0.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-0.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-domsearch/files/embassy-domsearch-0.1.650_fix-build-system.patch b/sci-biology/embassy-domsearch/files/embassy-domsearch-0.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..2fe1803f8452
--- /dev/null
+++ b/sci-biology/embassy-domsearch/files/embassy-domsearch-0.1.650_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -61,6 +59,6 @@
+ ../../../ajax/pcre/libepcre.la \
+ ../../../plplot/libeplplot.la $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-domsearch/metadata.xml b/sci-biology/embassy-domsearch/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-domsearch/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-emnu/Manifest b/sci-biology/embassy-emnu/Manifest
new file mode 100644
index 000000000000..00b8072ad8cb
--- /dev/null
+++ b/sci-biology/embassy-emnu/Manifest
@@ -0,0 +1 @@
+DIST embassy-emnu-1.05.660.tar.gz 425595 BLAKE2B ed6ab4a0572ac4b57cf0f0b75a3894b1f950f7f373a7c6797ea0c34ba1b0d0e044f2c6951aec7c084340c6b207aa4c8b386055e92ceb9fc83c920fc70e83e665 SHA512 0cb0dafd53c4fd410409430dc12353989d2c226191acace26e81b457602b6b6c60f8eb1d0d9b36ea90b2420010c1a3e887a2458e8487008a36775961e378d0dd
diff --git a/sci-biology/embassy-emnu/embassy-emnu-1.05.660-r1.ebuild b/sci-biology/embassy-emnu/embassy-emnu-1.05.660-r1.ebuild
new file mode 100644
index 000000000000..33c8039eb166
--- /dev/null
+++ b/sci-biology/embassy-emnu/embassy-emnu-1.05.660-r1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Simple menu of EMBOSS applications"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sys-libs/ncurses:0="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/EMNU-1.05.650"
+PATCHES=( "${FILESDIR}"/${PN}-1.05.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # --disable-curses is not a thing,
+ # EMNU hard depends on ncurses really, #752216
+ emboss-r3_src_configure --enable-curses
+}
diff --git a/sci-biology/embassy-emnu/files/embassy-emnu-1.05.650_fix-build-system.patch b/sci-biology/embassy-emnu/files/embassy-emnu-1.05.650_fix-build-system.patch
new file mode 100644
index 000000000000..3039ac9c83f0
--- /dev/null
+++ b/sci-biology/embassy-emnu/files/embassy-emnu-1.05.650_fix-build-system.patch
@@ -0,0 +1,140 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+@@ -899,20 +864,16 @@
+
+
+ dnl emnu and mse only: uses curses
+-dnl Test if --with-curses is given
+-AC_ARG_WITH([curses],
+-[AS_HELP_STRING([--with-curses], [curses (or ncurses)])])
+-
+-AC_MSG_CHECKING([for curses])
+-
+-AS_IF([test "${with_curses}"],
+-[
+- CPPFLAGS="$CPPFLAGS -I${with_curses}/include -I${with_curses}/include/ncurses"
+- LDFLAGS="$LDFLAGS -L${with_curses}/lib"
++dnl Test if --enable-curses is given
++AC_ARG_ENABLE([curses],
++[AS_HELP_STRING([--enable-curses], [curses])])
++
++AS_IF([test "x$enable_curses" = "xyes"], [
++ PKG_CHECK_MODULES([NCURSES], [ncurses])
++ PKG_CHECK_MODULES([FORM], [form])
++ PKG_CHECK_MODULES([MENU], [menu])
+ ])
+
+-AC_CHECK_LIB([ncurses], [main], [LIBS="$LIBS -lncurses"], [LIBS="$LIBS -lcurses"])
+-
+
+
+
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,8 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS) \
++ $(NCURSES_CFLAGS) $(FORM_CFLAGS) $(MENU_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +33,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -56,6 +55,6 @@
+ ../../../ajax/pcre/libepcre.la \
+ ../../../plplot/libeplplot.la -lmenu -lform $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot -lmenu -lform $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(NCURSES_LIBS) $(FORM_LIBS) $(MENU_LIBS) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-emnu/metadata.xml b/sci-biology/embassy-emnu/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-emnu/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-esim4/Manifest b/sci-biology/embassy-esim4/Manifest
new file mode 100644
index 000000000000..97873ce451cf
--- /dev/null
+++ b/sci-biology/embassy-esim4/Manifest
@@ -0,0 +1 @@
+DIST embassy-esim4-1.0.0.660.tar.gz 473261 BLAKE2B d15029b0723dd739fa9208f9b0ffd7814cbddc630ca2ff15955412f493f7983753acf82bcc8a3fc6ddfd49abe630982ead377e6941dcbff44ddc5d8ab4e7d6e5 SHA512 623b241915217ffb314e3fc4ca6aed5e1683b78b6c76f899b67c4e5d48ce83c9920d79b1c5a1508d61856c332e614020d0804b7252c535d9622f9623f29cd152
diff --git a/sci-biology/embassy-esim4/embassy-esim4-1.0.0.660-r1.ebuild b/sci-biology/embassy-esim4/embassy-esim4-1.0.0.660-r1.ebuild
new file mode 100644
index 000000000000..940abbd9e388
--- /dev/null
+++ b/sci-biology/embassy-esim4/embassy-esim4-1.0.0.660-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="sim4 - Alignment of cDNA and genomic DNA"
+
+inherit autotools emboss-r3 flag-o-matic
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/ESIM4-1.0.0.650"
+PATCHES=( "${FILESDIR}"/${PN}-1.0.0.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862258
+ #
+ # Upstream is dead since 2013.
+ filter-lto
+
+ emboss-r3_src_configure
+}
diff --git a/sci-biology/embassy-esim4/files/embassy-esim4-1.0.0.650_fix-build-system.patch b/sci-biology/embassy-esim4/files/embassy-esim4-1.0.0.650_fix-build-system.patch
new file mode 100644
index 000000000000..7ffa00c52f75
--- /dev/null
+++ b/sci-biology/embassy-esim4/files/embassy-esim4-1.0.0.650_fix-build-system.patch
@@ -0,0 +1,110 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -62,6 +60,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-esim4/metadata.xml b/sci-biology/embassy-esim4/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-esim4/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-hmmer/Manifest b/sci-biology/embassy-hmmer/Manifest
new file mode 100644
index 000000000000..2caca16c49c3
--- /dev/null
+++ b/sci-biology/embassy-hmmer/Manifest
@@ -0,0 +1 @@
+DIST embassy-hmmer-2.3.2.660.tar.gz 587775 BLAKE2B ae7f7c8722bb06d4e28333837b082045e48179a596026a76c2a42f7905c7ebc42f98dd4f36915e4603322bb6d976ac4fa4e8ce6246cdee025b39ecfcb250bd10 SHA512 eb2c037fec70f4113b9ab59cc4eca9a608e8d0971a7bcc4612d60b1e28556444dd3ecdea4ff7b8f8b34711ad9f655334857e7510e89060459c81994a3abcc02a
diff --git a/sci-biology/embassy-hmmer/embassy-hmmer-2.3.2.660-r1.ebuild b/sci-biology/embassy-hmmer/embassy-hmmer-2.3.2.660-r1.ebuild
new file mode 100644
index 000000000000..7f38492396b1
--- /dev/null
+++ b/sci-biology/embassy-hmmer/embassy-hmmer-2.3.2.660-r1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="HMMER wrapper - sequence analysis with profile HMMs"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sci-biology/hmmer:2"
+
+S="${WORKDIR}/HMMER-2.3.2.650"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.3.2.650_fix-build-system.patch
+ # sci-biology/hmmer:2 has renamed commandline program names
+ "${FILESDIR}"/${PN}-2.3.2.660-slotted-hmmer2.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.650_fix-build-system.patch b/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.650_fix-build-system.patch
new file mode 100644
index 000000000000..dd1660dfbd5b
--- /dev/null
+++ b/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.650_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -66,6 +64,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.660-slotted-hmmer2.patch b/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.660-slotted-hmmer2.patch
new file mode 100644
index 000000000000..f202ddf3d0b5
--- /dev/null
+++ b/sci-biology/embassy-hmmer/files/embassy-hmmer-2.3.2.660-slotted-hmmer2.patch
@@ -0,0 +1,101 @@
+Amend command-line names for Gentoo SLOTed hmmer:2
+
+--- a/src/ehmmalign.c
++++ b/src/ehmmalign.c
+@@ -99,7 +99,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajFmtPrintS(&cmd, "%S ", ajAcdGetpathC("hmmalign"));
++ ajFmtPrintS(&cmd, "%S ", ajAcdGetpathC("hmmalign2"));
+ if(mapali)
+ ajFmtPrintAppS(&cmd, " --mapali %s ", ajFileGetNameC(mapali));
+ if(withali)
+--- a/src/ehmmbuild.c
++++ b/src/ehmmbuild.c
+@@ -146,7 +146,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmbuild"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmbuild2"));
+ if(prior)
+ ajFmtPrintAppS(&cmd, " --prior %s ", ajFileGetNameC(prior));
+ if(null)
+--- a/src/ehmmcalibrate.c
++++ b/src/ehmmcalibrate.c
+@@ -98,7 +98,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmcalibrate"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmcalibrate2"));
+ if(cpu)
+ ajFmtPrintAppS(&cmd, " --cpu %d ", cpu);
+ if(fixed)
+--- a/src/ehmmconvert.c
++++ b/src/ehmmconvert.c
+@@ -72,7 +72,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmconvert"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmconvert2"));
+
+ /* ACD option only allows one selection */
+ option = ajStrGetCharFirst(format);
+--- a/src/ehmmemit.c
++++ b/src/ehmmemit.c
+@@ -79,7 +79,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmemit"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmemit2"));
+ ajFmtPrintAppS(&cmd, " --seed %d ", seed);
+ if(a)
+ ajStrAppendC(&cmd, " -a ");
+--- a/src/ehmmfetch.c
++++ b/src/ehmmfetch.c
+@@ -74,7 +74,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmfetch"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmfetch2"));
+ if(nhmm)
+ ajStrAppendC(&cmd, " -n ");
+ /* Note the output redirected to outfname */
+--- a/src/ehmmindex.c
++++ b/src/ehmmindex.c
+@@ -68,7 +68,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajFmtPrintS(&cmd, "%S ", ajAcdGetpathC("hmmindex"));
++ ajFmtPrintS(&cmd, "%S ", ajAcdGetpathC("hmmindex2"));
+ ajStrAppendC(&cmd, ajFileGetNameC(database));
+
+
+--- a/src/ehmmpfam.c
++++ b/src/ehmmpfam.c
+@@ -122,7 +122,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmpfam"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmpfam2"));
+ if(nuc)
+ ajStrAppendC(&cmd, " -n ");
+ ajFmtPrintAppS(&cmd, " -A %d -E %f -T %f -Z %d", A, E, T, Z);
+--- a/src/ehmmsearch.c
++++ b/src/ehmmsearch.c
+@@ -102,7 +102,7 @@
+ iii.HMMER 'options' (that don't appear in ACD file)
+ iv. HMMER & new parameters.
+ */
+- ajStrAssignS(&cmd, ajAcdGetpathC("hmmsearch"));
++ ajStrAssignS(&cmd, ajAcdGetpathC("hmmsearch2"));
+ ajFmtPrintAppS(&cmd, " -A %d -E %f -T %f -Z %d", A, E, T, Z);
+ if(compat)
+ ajStrAppendC(&cmd, " --compat ");
diff --git a/sci-biology/embassy-hmmer/metadata.xml b/sci-biology/embassy-hmmer/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-hmmer/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-iprscan/Manifest b/sci-biology/embassy-iprscan/Manifest
new file mode 100644
index 000000000000..93cdda1f4e5e
--- /dev/null
+++ b/sci-biology/embassy-iprscan/Manifest
@@ -0,0 +1 @@
+DIST embassy-iprscan-4.3.1.660.tar.gz 406720 BLAKE2B a7e5a20b8fd1eb1ba562b5db6643542d5062b270d69a2c53aa66f5cb58f48f1d3a480ae062e53341a884eb497fff22d546df42256cdc131afb183067166fa8b6 SHA512 eed75693557f141331dfb6bec6961a8f6eab93780cad3b629d547b8635be2df6ec85e5ae0e9646d174a562a0f6d31c3c487a4dacac9efdd393a7144cd5716878
diff --git a/sci-biology/embassy-iprscan/embassy-iprscan-4.3.1.660-r1.ebuild b/sci-biology/embassy-iprscan/embassy-iprscan-4.3.1.660-r1.ebuild
new file mode 100644
index 000000000000..0ba710626f5b
--- /dev/null
+++ b/sci-biology/embassy-iprscan/embassy-iprscan-4.3.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="InterProScan motif detection add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/IPRSCAN-4.3.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-4.3.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-iprscan/files/embassy-iprscan-4.3.1.650_fix-build-system.patch b/sci-biology/embassy-iprscan/files/embassy-iprscan-4.3.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..7af8ae2f9ca5
--- /dev/null
+++ b/sci-biology/embassy-iprscan/files/embassy-iprscan-4.3.1.650_fix-build-system.patch
@@ -0,0 +1,110 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -57,6 +55,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-iprscan/metadata.xml b/sci-biology/embassy-iprscan/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-iprscan/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-mse/Manifest b/sci-biology/embassy-mse/Manifest
new file mode 100644
index 000000000000..82978ad5411f
--- /dev/null
+++ b/sci-biology/embassy-mse/Manifest
@@ -0,0 +1 @@
+DIST embassy-mse-3.0.0.660.tar.gz 491747 BLAKE2B 7d072458577a90fc367c5b6ed72d1d36592e42b83b3a4e31126b925ddc76f1946fba14e22b7410f66eb837f686f848bdb1033f3b62084f1423543d7605c4f6b9 SHA512 4ae34de71566464e4352ff7b3bbd19b8bf0571013f34253495cf5cc57240bac9c75192c302eb0231763db1745a7e3e79ebcdcb006e36ea4621a886b213eb96d3
diff --git a/sci-biology/embassy-mse/embassy-mse-3.0.0.660-r1.ebuild b/sci-biology/embassy-mse/embassy-mse-3.0.0.660-r1.ebuild
new file mode 100644
index 000000000000..32a91d8b75ba
--- /dev/null
+++ b/sci-biology/embassy-mse/embassy-mse-3.0.0.660-r1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="MSE - Multiple Sequence Screen Editor"
+
+inherit autotools emboss-r3 flag-o-matic
+
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="sys-libs/ncurses:="
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}/MSE-3.0.0.650"
+PATCHES=( "${FILESDIR}"/${PN}-3.0.0.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/927386
+ #
+ # Upstream is dead since 2013.
+ filter-lto
+
+ emboss-r3_src_configure --enable-curses
+}
+
+src_install() {
+ emboss-r3_src_install
+
+ insinto /usr/include/emboss/mse
+ doins h/*.h
+}
diff --git a/sci-biology/embassy-mse/files/embassy-mse-3.0.0.650_fix-build-system.patch b/sci-biology/embassy-mse/files/embassy-mse-3.0.0.650_fix-build-system.patch
new file mode 100644
index 000000000000..72d7932a188d
--- /dev/null
+++ b/sci-biology/embassy-mse/files/embassy-mse-3.0.0.650_fix-build-system.patch
@@ -0,0 +1,146 @@
+--- a/ckit/Makefile.am
++++ b/ckit/Makefile.am
+@@ -2,7 +2,7 @@
+
+ lib_LTLIBRARIES = libckit.la
+
+-AM_CPPFLAGS = -I../h
++AM_CPPFLAGS = -I$(top_srcdir)/h
+
+ CKITSRC = datafiles.c next.c seqentry.c strings.c gcg.c pir.c \
+ seqspec.c ttyinterface.c nextseqentry.c \
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+@@ -1000,17 +965,13 @@
+
+
+
+-dnl emnu and mse only: uses curses
+-dnl Test if --with-curses is given
+-AC_ARG_WITH([curses],
+- [AS_HELP_STRING([--with-curses],
+- [curses (or ncurses)])])
+-if test "${with_curses}" ; then
+-AC_MSG_CHECKING([for curses])
+-CPPFLAGS="$CPPFLAGS -I${with_curses}/include -I${with_curses}/include/ncurses"
+-LDFLAGS="$LDFLAGS -L${with_curses}/lib"
+-fi
+-AC_CHECK_LIB(ncurses, main, LIBS="$LIBS -lncurses", LIBS="$LIBS -lcurses")
++dnl Test if --enable-curses is given
++AC_ARG_ENABLE([curses],
++[AS_HELP_STRING([--enable-curses], [curses])])
++
++AS_IF([test "x$enable_curses" = "xyes"], [
++ PKG_CHECK_MODULES([NCURSES], [ncurses])
++])
+
+
+
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -18,9 +18,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I../h -I${embprefix}/include \
+- -I${embprefix}/include/eplplot -I${embprefix}/include/epcre \
+- $(NLINCLUDES)
++AM_CPPFLAGS = -I$(top_srcdir)/h -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS) $(NCURSES_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -35,7 +33,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -59,6 +57,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = ../ckit/libckit.la -L${embprefix}/lib -lnucleus -lacd -lajaxdb \
+- -lensembl -lajaxg -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = ../ckit/libckit.la -lnucleus -lacd -lajaxdb \
++ -lensembl -lajaxg -lajax $(NLADD) $(NCURSES_LIBS) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-mse/metadata.xml b/sci-biology/embassy-mse/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-mse/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-phylipnew/Manifest b/sci-biology/embassy-phylipnew/Manifest
new file mode 100644
index 000000000000..136dafabbc28
--- /dev/null
+++ b/sci-biology/embassy-phylipnew/Manifest
@@ -0,0 +1 @@
+DIST embassy-phylipnew-3.69.660.tar.gz 1741298 BLAKE2B 58a2c66ffb9c447fa17462bf54d7b8e65702701d74c1f16ec6906a3acaf076ebcab30982befe6334101bc483901132069a71ffa0e2334aaee0da02a30276b7f2 SHA512 b41a31285e05a418e4fbfae7241c3658fe458e3d5d84bff472d98b7c145340a55bee1d744b5c056d0e88407074947b5f37b2182c9cb800c8a8d43dfa76d026d5
diff --git a/sci-biology/embassy-phylipnew/embassy-phylipnew-3.69.660-r1.ebuild b/sci-biology/embassy-phylipnew/embassy-phylipnew-3.69.660-r1.ebuild
new file mode 100644
index 000000000000..2adbcda3d6dc
--- /dev/null
+++ b/sci-biology/embassy-phylipnew/embassy-phylipnew-3.69.660-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="The Phylogeny Inference Package"
+
+inherit autotools emboss-r3 flag-o-matic
+
+LICENSE+=" free-noncomm"
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/PHYLIPNEW-3.69.650"
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.69.650_fix-build-system.patch
+ "${FILESDIR}"/${PN}-3.69.650-fno-common.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862261
+ #
+ # Upstream is dead since 2013.
+ filter-lto
+
+ emboss-r3_src_configure
+}
diff --git a/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650-fno-common.patch b/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650-fno-common.patch
new file mode 100644
index 000000000000..448000547471
--- /dev/null
+++ b/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650-fno-common.patch
@@ -0,0 +1,627 @@
+--- a/include/draw.h
++++ b/include/draw.h
+@@ -116,19 +116,19 @@
+
+
+ #ifndef X_DISPLAY_MISSING
+-Display *display; /* the X display */
++extern Display *display; /* the X display */
+ extern Window mainwin; /* the main display window */
+-int x, y; /* the corner of the window */
+-unsigned int width, height; /* the width and height of the window */
++extern int x, y; /* the corner of the window */
++extern unsigned int width, height; /* the width and height of the window */
+ #define FONT "-*-new century schoolbook-medium-r-*-*-14-*"
+-char *fontrsc; /* the font resource */
+-XFontStruct *fontst; /* the font strcture for the font */
+-XGCValues gcv; /* graphics context values */
+-GC gc1; /* a graphics context */
+-XtAppContext appcontext;
+-Widget toplevel;
+-int nargc;
+-char** nargv;
++extern char *fontrsc; /* the font resource */
++extern XFontStruct *fontst; /* the font strcture for the font */
++extern XGCValues gcv; /* graphics context values */
++extern GC gc1; /* a graphics context */
++extern XtAppContext appcontext;
++extern Widget toplevel;
++extern int nargc;
++extern char** nargv;
+ extern String res[16];
+
+ #define DEFGEOMETRY "600x400+20+50"
+--- a/include/phylip.h
++++ b/include/phylip.h
+@@ -349,7 +349,8 @@
+ extern AjPFile embossancfile;
+ extern AjPFile embossmixfile;
+ extern AjPFile embossfactfile;
+-extern long spp, words, bits;
++extern AjPPhyloState* phylostates;
++extern long spp, words, bits, outgrno;
+ extern boolean ibmpc, ansi, tranvsp;
+ extern naym *nayme; /* names of species */
+
+--- a/src/clique.c
++++ b/src/clique.c
+@@ -9,7 +9,6 @@
+
+ #define FormWide 80 /* width of outfile page */
+
+-AjPPhyloState* phylostates;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phylofact = NULL;
+ AjPPhyloProp phyloweights = NULL;
+@@ -72,10 +71,8 @@
+ Char infilename[FNMLNGTH], ancfilename[FNMLNGTH], factfilename[FNMLNGTH], weightfilename[FNMLNGTH];
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+-long ActualChars, Cliqmin, outgrno,
++long ActualChars, Cliqmin,
+ col, ith, msets, setsz;
+ boolean ancvar, Clmin, Factors, outgropt, trout, weights, noroot, justwts,
+ printcomp, progress, treeprint, mulsets, firstset;
+--- a/src/cons.c
++++ b/src/cons.c
+@@ -6,7 +6,7 @@
+ Char intreename[FNMLNGTH], intree2name[FNMLNGTH];
+ node *root;
+
+-long numopts, outgrno, col, setsz;
++long numopts, col, setsz;
+ long maxgrp; /* max. no. of groups in all trees found */
+
+ boolean trout, firsttree, noroot, outgropt, didreroot, prntsets,
+--- a/src/consense.c
++++ b/src/consense.c
+@@ -19,8 +19,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ long trees_in;
+
+--- a/src/contml.c
++++ b/src/contml.c
+@@ -69,10 +69,8 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+-long nonodes2, loci, totalleles, df, outgrno, col,
++long nonodes2, loci, totalleles, df, col,
+ datasets, ith, njumble, jumb=0;
+ long inseed, inseed0;
+ long *alleles, *locus, *weight;
+--- a/src/contrast.c
++++ b/src/contrast.c
+@@ -40,7 +40,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+
+
+--- a/src/discboot.c
++++ b/src/discboot.c
+@@ -56,7 +56,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ const char* outweightfilename;
+ AjPFile embossoutweightfile;
+--- a/src/disc.c
++++ b/src/disc.c
+@@ -1,7 +1,6 @@
+ #include "phylip.h"
+ #include "disc.h"
+
+-AjPPhyloState* phylostates;
+
+ /* version 3.6. (c) Copyright 1993-2002 by the University of Washington.
+ Written by Joseph Felsenstein, Akiko Fuseki, Sean Lamont, and Andrew Keeffe.
+--- a/src/discrete.c
++++ b/src/discrete.c
+@@ -6,7 +6,7 @@
+ Permission is granted to copy and use this program provided no fee is
+ charged for it and provided that this copyright notice is not removed. */
+
+-long nonodes, endsite, outgrno, nextree, which;
++long nonodes, endsite, nextree, which;
+ boolean interleaved, printdata, outgropt, treeprint, dotdiff;
+ steptr weight, category, alias, location, ally;
+ sequence y, convtab;
+--- a/src/dnacomp.c
++++ b/src/dnacomp.c
+@@ -53,8 +53,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ node *root, *p;
+ long chars, col, ith, njumble, jumb, msets, numtrees;
+--- a/src/dnadist.c
++++ b/src/dnadist.c
+@@ -27,7 +27,6 @@
+
+ Char infilename[FNMLNGTH], catfilename[FNMLNGTH], weightfilename[FNMLNGTH];
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long sites, categs, weightsum, datasets, ith, rcategs;
+ boolean freqsfrom, jukes, kimura, logdet, gama, invar, similarity, lower, f84,
+--- a/src/dnainvar.c
++++ b/src/dnainvar.c
+@@ -51,7 +51,6 @@
+ Char infilename[FNMLNGTH], weightfilename[FNMLNGTH];
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long sites, msets, ith;
+ boolean weights, progress, prntpat, printinv, mulsets, firstset, justwts;
+--- a/src/dnaml.c
++++ b/src/dnaml.c
+@@ -93,12 +93,10 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ double *rate, *rrate, *probcat;
+ long nonodes2, sites, weightsum, categs, datasets, ith, njumble, jumb;
+-long parens, outgrno;
++long parens;
+ boolean freqsfrom, global, jumble, weights, trout, usertree,
+ ctgry, rctgry, auto_, hypstate, ttr, progress, mulsets, justwts,
+ firstset, improve, smoothit, polishing, lngths, gama, invar,inserting=false;
+--- a/src/dnamlk.c
++++ b/src/dnamlk.c
+@@ -119,8 +119,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+ double *rrate;
+ long sites, weightsum, categs, datasets, ith, njumble, jumb, numtrees, shimotrees;
+ /* sites = number of sites in actual sequences
+--- a/src/dnamove.c
++++ b/src/dnamove.c
+@@ -127,7 +127,6 @@
+ node *root;
+
+ const char* outtreename;
+-AjPFile embossouttree;
+
+ long chars, screenlines, col, treelines, leftedge, topedge, vmargin,
+ hscroll, vscroll, scrollinc, screenwidth, farthest, whichtree, othertree;
+--- a/src/dnapenny.c
++++ b/src/dnapenny.c
+@@ -47,8 +47,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+ node *root, *p;
+ long *zeros=NULL;
+ long chars, howmany, howoften, col, msets, ith;
+--- a/src/dollop.c
++++ b/src/dollop.c
+@@ -10,7 +10,6 @@
+
+ #define maxtrees 100 /* maximum number of tied trees stored */
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloTree* phylotrees = NULL;
+@@ -47,8 +46,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+
+ node *root;
+--- a/src/dolmove.c
++++ b/src/dolmove.c
+@@ -11,7 +11,6 @@
+ #define overr 4
+ #define which 1
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phylofact = NULL;
+ AjPPhyloProp phyloweights = NULL;
+@@ -73,10 +72,9 @@
+ Char infilename[FNMLNGTH],intreename[FNMLNGTH], ancfilename[FNMLNGTH], factfilename[FNMLNGTH], weightfilename[FNMLNGTH];
+
+ const char* outtreename;
+-AjPFile embossouttree;
+
+ node *root;
+-long outgrno, col, screenlines, screenwidth, scrollinc,treelines,
++long col, screenlines, screenwidth, scrollinc,treelines,
+ leftedge,topedge,vmargin,hscroll,vscroll,farthest;
+ /* outgrno indicates outgroup */
+ boolean weights, thresh, ancvar, questions, dollo, factors,
+--- a/src/dolpenny.c
++++ b/src/dolpenny.c
+@@ -15,7 +15,6 @@
+ typedef double *valptr;
+ typedef long *placeptr;
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phyloweights = NULL;
+
+@@ -40,8 +39,6 @@
+ Char infilename[FNMLNGTH], weightfilename[FNMLNGTH], ancfilename[FNMLNGTH];
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ node *root;
+ long howmany, howoften, col, msets, ith;
+--- a/src/draw.c
++++ b/src/draw.c
+@@ -10,6 +10,20 @@
+ #include "phylip.h"
+ #include "draw.h"
+
++#ifndef X_DISPLAY_MISSING
++Display *display;
++int x, y;
++unsigned int width, height;
++char *fontrsc;
++XFontStruct *fontst;
++XGCValues gcv;
++GC gc1;
++XtAppContext appcontext;
++Widget toplevel;
++int nargc;
++char** nargv;
++#endif
++
+ #ifdef QUICKC
+ struct videoconfig myscreen;
+ void setupgraphics();
+--- a/src/factor.c
++++ b/src/factor.c
+@@ -54,7 +54,6 @@
+ const char* outfactname;
+ const char* outancname;
+ AjPFile inputfile;
+-AjPFile embossoutfile;
+ AjPFile embossoutfact;
+ AjPFile embossoutanc;
+
+--- a/src/fitch.c
++++ b/src/fitch.c
+@@ -60,11 +60,9 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ Char infilename[FNMLNGTH], intreename[FNMLNGTH];
+-long nonodes2, outgrno, nums, col, datasets, ith, njumble, jumb=0, numtrees;
++long nonodes2, nums, col, datasets, ith, njumble, jumb=0, numtrees;
+ long inseed;
+ vector *x;
+ intvector *reps;
+--- a/src/freqboot.c
++++ b/src/freqboot.c
+@@ -52,7 +52,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ const char* outweightfilename;
+ AjPFile embossoutweightfile;
+--- a/src/gendist.c
++++ b/src/gendist.c
+@@ -24,7 +24,6 @@
+ #endif
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long loci, totalleles, df, datasets, ith;
+ long nonodes;
+--- a/src/kitsch.c
++++ b/src/kitsch.c
+@@ -51,8 +51,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+
+ Char infilename[FNMLNGTH], intreename[FNMLNGTH];
+--- a/src/mix.c
++++ b/src/mix.c
+@@ -13,7 +13,6 @@
+
+ typedef long *placeptr;
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phylomix = NULL;
+@@ -52,11 +51,9 @@
+ Char infilename[FNMLNGTH], intreename[FNMLNGTH], weightfilename[FNMLNGTH], ancfilename[FNMLNGTH], mixfilename[FNMLNGTH];
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ node2 *root;
+-long outgrno, msets, ith, njumble, jumb, numtrees;
++long msets, ith, njumble, jumb, numtrees;
+ /* outgrno indicates outgroup */
+ long inseed, inseed0;
+ boolean jumble, usertree, weights, ancvar, questions, allsokal,
+--- a/src/move.c
++++ b/src/move.c
+@@ -13,7 +13,6 @@
+ #define which 1
+
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phylomix = NULL;
+@@ -77,10 +76,9 @@
+
+ char infilename[FNMLNGTH],intreename[FNMLNGTH], weightfilename[FNMLNGTH], ancfilename[FNMLNGTH], mixfilename[FNMLNGTH], factfilename[FNMLNGTH];
+ const char* outtreename;
+-AjPFile embossouttree;
+
+ node *root;
+-long outgrno, screenlines, col, treelines, leftedge, topedge,
++long screenlines, col, treelines, leftedge, topedge,
+ vmargin, hscroll, vscroll, scrollinc, screenwidth, farthest;
+ /* outgrno indicates outgroup */
+ boolean weights, outgropt, ancvar, questions, allsokal,
+--- a/src/neighbor.c
++++ b/src/neighbor.c
+@@ -32,11 +32,9 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ Char infilename[FNMLNGTH];
+-long nonodes2, outgrno, col, datasets, ith;
++long nonodes2, col, datasets, ith;
+ long inseed;
+ vector *x;
+ intvector *reps;
+--- a/src/pars.c
++++ b/src/pars.c
+@@ -9,7 +9,6 @@
+
+ #define MAXNUMTREES 1000000 /* bigger than number of user trees can be */
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloTree* phylotrees = NULL;
+
+--- a/src/penny.c
++++ b/src/penny.c
+@@ -12,7 +12,6 @@
+ #define often 100 /* how often to notify how many trees examined */
+ #define many 1000 /* how many multiples of howoften before stop */
+
+-AjPPhyloState* phylostates = NULL;
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloProp phyloanc = NULL;
+ AjPPhyloProp phylomix = NULL;
+@@ -44,11 +43,9 @@
+ Char infilename[FNMLNGTH], weightfilename[FNMLNGTH], ancfilename[FNMLNGTH], mixfilename[FNMLNGTH];
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ node2 *root;
+-long outgrno, rno, howmany, howoften, col, msets, ith;
++long rno, howmany, howoften, col, msets, ith;
+ /* outgrno indicates outgroup */
+
+ boolean weights, ancvar, questions, allsokal, allwagner,
+--- a/src/phylip.c
++++ b/src/phylip.c
+@@ -46,7 +46,8 @@
+ AjPFile embossancfile;
+ AjPFile embossmixfile;
+ AjPFile embossfactfile;
+-long spp, words, bits;
++AjPPhyloState* phylostates = NULL;
++long spp, words, bits, outgrno;
+ boolean ibmpc, ansi, tranvsp;
+ naym *nayme; /* names of species */
+
+--- a/src/proml.c
++++ b/src/proml.c
+@@ -89,8 +89,6 @@
+ Char infilename[100], intreename[100], catfilename[100], weightfilename[100];
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ double *rate, *rrate, *probcat;
+ long nonodes2, sites, weightsum, categs,
+--- a/src/promlk.c
++++ b/src/promlk.c
+@@ -88,8 +88,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ Char infilename[FNMLNGTH], intreename[FNMLNGTH],
+ catfilename[FNMLNGTH], weightfilename[FNMLNGTH];
+--- a/src/protdist.c
++++ b/src/protdist.c
+@@ -79,7 +79,6 @@
+ char infilename[100], catfilename[100], weightfilename[100];
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+
+ /* Local variables for makedists, propagated globally for c version: */
+--- a/src/protpars.c
++++ b/src/protpars.c
+@@ -76,8 +76,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+ node *root;
+ long chars, col, msets, ith, njumble, jumb, numtrees;
+--- a/src/restboot.c
++++ b/src/restboot.c
+@@ -54,7 +54,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ const char* outweightfilename;
+ AjPFile embossoutweightfile;
+--- a/src/restdist.c
++++ b/src/restdist.c
+@@ -13,7 +13,6 @@
+
+ extern sequence y;
+
+-AjPPhyloState* phylostates = NULL;
+
+
+ #ifndef OLDC
+@@ -40,7 +39,6 @@
+ Char infilename[FNMLNGTH];
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long sites, weightsum, datasets, ith;
+ boolean restsites, neili, gama, weights, lower,
+--- a/src/restml.c
++++ b/src/restml.c
+@@ -17,7 +17,6 @@
+
+ AjPPhyloProp phyloweights = NULL;
+ AjPPhyloTree* phylotrees;
+-AjPPhyloState* phylostates = NULL;
+
+ #ifndef OLDC
+ /* function prototypes */
+@@ -101,8 +100,6 @@
+
+ const char* outfilename;
+ const char* outtreename;
+-AjPFile embossoutfile;
+-AjPFile embossouttree;
+
+
+ ajint numwts;
+--- a/src/retree.c
++++ b/src/retree.c
+@@ -123,7 +123,7 @@
+
+ node *root, *garbage;
+
+-long nonodes, outgrno, screenwidth, vscreenwidth,
++long nonodes, screenwidth, vscreenwidth,
+ screenlines, col, treenumber, leftedge, topedge, treelines,
+ hscroll, vscroll, scrollinc, whichtree, othertree,
+ numtrees, treesread;
+@@ -145,7 +145,6 @@
+ char intreename[FNMLNGTH];
+
+ const char* outtreename;
+-AjPFile embossouttree;
+
+ boolean subtree, written, readnext;
+ node *nuroot;
+--- a/src/seqbootall.c
++++ b/src/seqbootall.c
+@@ -109,7 +109,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ const char* outweightfilename;
+ AjPFile embossoutweightfile;
+--- a/src/seqboot.c
++++ b/src/seqboot.c
+@@ -92,7 +92,6 @@
+
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ const char* outweightfilename;
+ AjPFile embossoutweightfile;
+--- a/src/seq.c
++++ b/src/seq.c
+@@ -7,7 +7,7 @@
+ Permission is granted to copy and use this program provided no fee is
+ charged for it and provided that this copyright notice is not removed. */
+
+-long nonodes, endsite, outgrno, nextree, which;
++long nonodes, endsite, nextree, which;
+ boolean interleaved, printdata, outgropt, treeprint, dotdiff, transvp;
+ steptr weight, category, alias, location, ally;
+ sequence y;
+--- a/src/treedist.c
++++ b/src/treedist.c
+@@ -16,7 +16,6 @@
+ extern node *root;
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long trees_in_1, trees_in_2;
+
+--- a/src/treedistpair.c
++++ b/src/treedistpair.c
+@@ -16,7 +16,6 @@
+ extern node *root;
+
+ const char* outfilename;
+-AjPFile embossoutfile;
+
+ long trees_in_1, trees_in_2;
+
diff --git a/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650_fix-build-system.patch b/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650_fix-build-system.patch
new file mode 100644
index 000000000000..589408ed4a9e
--- /dev/null
+++ b/sci-biology/embassy-phylipnew/files/embassy-phylipnew-3.69.650_fix-build-system.patch
@@ -0,0 +1,111 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -781,21 +754,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -918,6 +876,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -16,10 +16,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I../include -I${embprefix}/include \
+- -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I$(top_srcdir)/include -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +31,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -119,6 +116,6 @@
+ ../../../ajax/pcre/libepcre.la \
+ ../../../plplot/libeplplot.la $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-phylipnew/metadata.xml b/sci-biology/embassy-phylipnew/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-phylipnew/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-signature/Manifest b/sci-biology/embassy-signature/Manifest
new file mode 100644
index 000000000000..e92389900dd7
--- /dev/null
+++ b/sci-biology/embassy-signature/Manifest
@@ -0,0 +1 @@
+DIST embassy-signature-0.1.660.tar.gz 622294 BLAKE2B 8d495b164d7aa18b4bc2db14d12e3f3ef46f2d9c6d9f98e46bebd888781ee71e7ddf88dbdb37c7be52fdd1182337ea7c70cca1247489a14f652b86918e58c46a SHA512 4989693b17c29ece16f94934e1b2f5e62f31c345bc8cbac938450db0d8f5d56ae37be6090c46e96725e63621c5951f8a65461cd36d4aafb1b509f3f554b4e952
diff --git a/sci-biology/embassy-signature/embassy-signature-0.1.660-r1.ebuild b/sci-biology/embassy-signature/embassy-signature-0.1.660-r1.ebuild
new file mode 100644
index 000000000000..61c7792dcd21
--- /dev/null
+++ b/sci-biology/embassy-signature/embassy-signature-0.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Protein signature add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/SIGNATURE-0.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-0.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-signature/files/embassy-signature-0.1.650_fix-build-system.patch b/sci-biology/embassy-signature/files/embassy-signature-0.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..a453b25bde66
--- /dev/null
+++ b/sci-biology/embassy-signature/files/embassy-signature-0.1.650_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -67,6 +65,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-signature/metadata.xml b/sci-biology/embassy-signature/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-signature/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-structure/Manifest b/sci-biology/embassy-structure/Manifest
new file mode 100644
index 000000000000..57aff8927070
--- /dev/null
+++ b/sci-biology/embassy-structure/Manifest
@@ -0,0 +1 @@
+DIST embassy-structure-0.1.660.tar.gz 588118 BLAKE2B 2723eebc309c81cc94fea687819de2c76d30ce87bb7c6dac12e9964c73fd18b497a31db07d12803d87799e42063b73d406520434482bcdb29f23a14756d11750 SHA512 56fb0ed975bfd95b1fbbccaf694e0617ec23971d53bdc230eeb6ca177907e784805697193e7630e4a513f1b4ee7a1a7974136520963557c452185be4ed22b641
diff --git a/sci-biology/embassy-structure/embassy-structure-0.1.660-r1.ebuild b/sci-biology/embassy-structure/embassy-structure-0.1.660-r1.ebuild
new file mode 100644
index 000000000000..022213a391cd
--- /dev/null
+++ b/sci-biology/embassy-structure/embassy-structure-0.1.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Protein structure add-on package"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/STRUCTURE-0.1.650"
+PATCHES=( "${FILESDIR}"/${PN}-0.1.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-structure/files/embassy-structure-0.1.650_fix-build-system.patch b/sci-biology/embassy-structure/files/embassy-structure-0.1.650_fix-build-system.patch
new file mode 100644
index 000000000000..32826f8ebbbe
--- /dev/null
+++ b/sci-biology/embassy-structure/files/embassy-structure-0.1.650_fix-build-system.patch
@@ -0,0 +1,103 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -65,6 +63,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-structure/metadata.xml b/sci-biology/embassy-structure/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-structure/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-topo/Manifest b/sci-biology/embassy-topo/Manifest
new file mode 100644
index 000000000000..13d541332ce9
--- /dev/null
+++ b/sci-biology/embassy-topo/Manifest
@@ -0,0 +1 @@
+DIST embassy-topo-2.0.660.tar.gz 443510 BLAKE2B ba49debdfb9f13051bd32d0d14de3b446a8fde83923e6927df52fd989460c60b5d3023aeaa84d3ab920533c40607f7ba274f64827cefa611a1513f203e08316c SHA512 8ef157a61ac47680734bed3d07cfe2bcd86730998453daa704b74aad667944ad6b0cc6f7fce36be4566cb19a626f1648d5f6793ce227cf57939fcfd0d10690a8
diff --git a/sci-biology/embassy-topo/embassy-topo-2.0.660-r1.ebuild b/sci-biology/embassy-topo/embassy-topo-2.0.660-r1.ebuild
new file mode 100644
index 000000000000..d6cbcd3b920b
--- /dev/null
+++ b/sci-biology/embassy-topo/embassy-topo-2.0.660-r1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Transmembrane protein display"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/TOPO-2.0.650"
+PATCHES=( "${FILESDIR}"/${PN}-2.0.650_fix-build-system.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-topo/files/embassy-topo-2.0.650_fix-build-system.patch b/sci-biology/embassy-topo/files/embassy-topo-2.0.650_fix-build-system.patch
new file mode 100644
index 000000000000..e1a2439b713b
--- /dev/null
+++ b/sci-biology/embassy-topo/files/embassy-topo-2.0.650_fix-build-system.patch
@@ -0,0 +1,110 @@
+--- a/configure.in
++++ b/configure.in
+@@ -635,33 +635,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -737,21 +710,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -874,6 +832,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/emboss_acd/Makefile.am
++++ b/emboss_acd/Makefile.am
+@@ -1,3 +1,3 @@
+
+-pkgdata_DATA = *.acd
++pkgdata_DATA = $(srcdir)/*.acd
+ pkgdatadir=$(prefix)/share/EMBOSS/acd
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -17,9 +17,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -34,7 +32,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -59,6 +57,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
+- -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = -lnucleus -lacd -lajaxdb -lensembl -lajaxg \
++ -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-topo/metadata.xml b/sci-biology/embassy-topo/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-topo/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy-vienna/Manifest b/sci-biology/embassy-vienna/Manifest
new file mode 100644
index 000000000000..9806f921a280
--- /dev/null
+++ b/sci-biology/embassy-vienna/Manifest
@@ -0,0 +1 @@
+DIST embassy-vienna-1.7.2.660.tar.gz 873165 BLAKE2B 46e976e52ad65490237563af09e483c212a6170c8c79fac8a2f2609040ee6a4cf60c04b00159c4c33d8c2a10f6e457e412287409fc0ea5724c5687dbd65ff06c SHA512 1484ca419ebcb7776d8f92dd633d4fda1a752a73ccb5189b58f7417a5611e015e9b42cbb37b51f4d5c7a27df0d5cab2cdf1e95ebd70a8359ffc8fa1633d28103
diff --git a/sci-biology/embassy-vienna/embassy-vienna-1.7.2.660-r1.ebuild b/sci-biology/embassy-vienna/embassy-vienna-1.7.2.660-r1.ebuild
new file mode 100644
index 000000000000..d7cee6658cf9
--- /dev/null
+++ b/sci-biology/embassy-vienna/embassy-vienna-1.7.2.660-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+EBO_DESCRIPTION="Vienna RNA package - RNA folding"
+
+inherit autotools emboss-r3
+
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/VIENNA-1.7.2.650"
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.7.2.650_fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.7.2.650-C99-inline.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650-C99-inline.patch b/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650-C99-inline.patch
new file mode 100644
index 000000000000..1eda10172dc5
--- /dev/null
+++ b/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650-C99-inline.patch
@@ -0,0 +1,32 @@
+--- a/src/fold.c
++++ b/src/fold.c
+@@ -65,9 +65,9 @@
+ PRIVATE int fill_arrays(const char *sequence);
+ /*@unused@*/
+ INLINE PRIVATE int oldLoopEnergy(int i, int j, int p, int q, int type, int type_2);
+-INLINE int LoopEnergy(int n1, int n2, int type, int type_2,
++int LoopEnergy(int n1, int n2, int type, int type_2,
+ int si1, int sj1, int sp1, int sq1);
+-INLINE int HairpinE(int size, int type, int si1, int sj1, const char *string);
++int HairpinE(int size, int type, int si1, int sj1, const char *string);
+ int loop_energy(short * ptable, short *s, short *s1, int i);
+ char *backtrack_fold_from_pair(char *sequence, int i, int j);
+ void export_circfold_arrays(int *Fc_p, int *FcH_p, int *FcI_p, int *FcM_p, int **fM2_p,
+@@ -831,7 +831,7 @@
+ }
+ /*---------------------------------------------------------------------------*/
+
+-INLINE int HairpinE(int size, int type, int si1, int sj1, const char *string) {
++int HairpinE(int size, int type, int si1, int sj1, const char *string) {
+ int energy;
+ energy = (size <= 30) ? P->hairpin[size] :
+ P->hairpin[30]+(int)(P->lxc*log((size)/30.));
+@@ -901,7 +901,7 @@
+
+ /*--------------------------------------------------------------------------*/
+
+-INLINE int LoopEnergy(int n1, int n2, int type, int type_2,
++int LoopEnergy(int n1, int n2, int type, int type_2,
+ int si1, int sj1, int sp1, int sq1) {
+ /* compute energy of degree 2 loop (stack bulge or interior) */
+ int nl, ns, energy;
diff --git a/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650_fix-build-system.patch b/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650_fix-build-system.patch
new file mode 100644
index 000000000000..ea96e9d47fa9
--- /dev/null
+++ b/sci-biology/embassy-vienna/files/embassy-vienna-1.7.2.650_fix-build-system.patch
@@ -0,0 +1,120 @@
+--- a/configure.in
++++ b/configure.in
+@@ -649,33 +649,6 @@
+
+
+
+-dnl PCRE library definitions - see the MAJOR and MINOR values
+-dnl to see which version's configure.in these lines come from
+-
+-dnl Provide the current PCRE version information. Do not use numbers
+-dnl with leading zeros for the minor version, as they end up in a C
+-dnl macro, and may be treated as octal constants. Stick to single
+-dnl digits for minor numbers less than 10. There are unlikely to be
+-dnl that many releases anyway.
+-
+-PCRE_MAJOR="7"
+-PCRE_MINOR="9"
+-PCRE_DATE="11-Apr-2009"
+-PCRE_VERSION="${PCRE_MAJOR}.${PCRE_MINOR}"
+-
+-dnl Default values for miscellaneous macros
+-
+-POSIX_MALLOC_THRESHOLD="-DPOSIX_MALLOC_THRESHOLD=10"
+-
+-dnl Provide versioning information for libtool shared libraries that
+-dnl are built by default on Unix systems.
+-
+-PCRE_LIB_VERSION="0:1:0"
+-PCRE_POSIXLIB_VERSION="0:0:0"
+-
+-
+-
+-
+ dnl FIXME: This does no longer seem required with Autoconf 2.67?
+ dnl Intel MacOSX 10.6 puts X11 in a non-standard place
+ dnl AS_IF([test "x${with_x}" != "xno"],
+@@ -751,21 +724,6 @@
+
+
+
+-dnl "Export" these variables for PCRE
+-
+-AC_SUBST([HAVE_MEMMOVE])
+-AC_SUBST([HAVE_STRERROR])
+-AC_SUBST([PCRE_MAJOR])
+-AC_SUBST([PCRE_MINOR])
+-AC_SUBST([PCRE_DATE])
+-AC_SUBST([PCRE_VERSION])
+-AC_SUBST([PCRE_LIB_VERSION])
+-AC_SUBST([PCRE_POSIXLIB_VERSION])
+-AC_SUBST([POSIX_MALLOC_THRESHOLD])
+-
+-
+-
+-
+ dnl Test if --enable-localforce given
+ locallink="no"
+ embprefix="/usr/local"
+@@ -888,6 +846,13 @@
+ AM_CONDITIONAL([ESYSTEMLIBS], [test "x${enable_systemlibs}" = "xyes"])
+
+
++AS_IF([test "x${enable_systemlibs}" = "xyes"],
++[
++dnl using system libraries
++ PKG_CHECK_MODULES([PLPLOT], [plplotd],
++ [],[PKG_CHECK_MODULES([PLPLOT], [plplot])]
++ )
++])
+
+
+ # Enable the purify tool: --enable-purify, sets CC and LIBTOOL
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -10,7 +10,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -leplplot -leexpat \
+ -lezlib -lepcre
+ else
+-CYGWIN_LDVIENNA = -L${embprefix}/lib -lnucleus -lacd -lajaxdb -lensembl \
++CYGWIN_LDVIENNA = -lnucleus -lacd -lajaxdb -lensembl \
+ -lajaxg -lajax -leplplot -leexpat -lezlib -lepcre
+ endif
+ endif
+@@ -32,9 +32,7 @@
+ -I../../../ajax/ensembl -I../../../ajax/ajaxdb \
+ -I../../../ajax/acd -I../../../plplot
+ else
+-AM_CPPFLAGS = -I../H -I${embprefix}/include -I${embprefix}/include/eplplot \
+- $(NLINCLUDES) \
+- -I${embprefix}/include/epcre
++AM_CPPFLAGS = -I$(top_srcdir)/H -I${embprefix}/include $(NLINCLUDES) $(PLPLOT_CFLAGS)
+ endif
+
+ if ISSHARED
+@@ -49,7 +47,7 @@
+ -lnucleus -lacd -lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre \
+ $(NLAIXLIBS) -leplplot
+ else
+-AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -L${embprefix}/lib -lnucleus -lacd \
++AIX_CFLAGS = -Wl,-bdynamic -Wl,-brtl -lnucleus -lacd \
+ -lajaxdb -lensembl -lajaxg -lajax -leexpat -lepcre $(NLAIXLIBS) -leplplot
+ endif
+ endif
+@@ -87,6 +85,7 @@
+ endif
+
+ liboviennarna_la_LDFLAGS = $(LINKFLAGS)
++liboviennarna_la_LIBADD = -lajax
+
+ ovrnaalifold_SOURCES = vrnaalifold.c
+ ovrnaalifoldpf_SOURCES = vrnaalifoldpf.c
+@@ -118,6 +117,6 @@
+ ../../../plplot/libeplplot.la \
+ $(XLIB)
+ else
+-LDADD = liboviennarna.la -L${embprefix}/lib -lnucleus -lacd -lajaxdb \
+- -lensembl -lajaxg -lajax -lepcre $(NLADD) -leplplot $(XLIB)
++LDADD = liboviennarna.la -lnucleus -lacd -lajaxdb \
++ -lensembl -lajaxg -lajax $(NLADD) $(XLIB)
+ endif
diff --git a/sci-biology/embassy-vienna/metadata.xml b/sci-biology/embassy-vienna/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy-vienna/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/embassy/embassy-6.6.0-r3.ebuild b/sci-biology/embassy/embassy-6.6.0-r3.ebuild
new file mode 100644
index 000000000000..ec357be2f02f
--- /dev/null
+++ b/sci-biology/embassy/embassy-6.6.0-r3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A meta-package for installing all EMBASSY packages (EMBOSS add-ons)"
+HOMEPAGE="http://emboss.sourceforge.net/embassy/"
+
+LICENSE="metapackage"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=sci-biology/embassy-cbstools-1.0.0.660
+ >=sci-biology/embassy-clustalomega-1.1.0.660
+ >=sci-biology/embassy-domainatrix-0.1.660
+ >=sci-biology/embassy-domalign-0.1.660
+ >=sci-biology/embassy-domsearch-0.1.660
+ >=sci-biology/embassy-emnu-1.05.660
+ >=sci-biology/embassy-esim4-1.0.0.660
+ >=sci-biology/embassy-hmmer-2.3.2.660
+ >=sci-biology/embassy-iprscan-4.3.1.660
+ >=sci-biology/embassy-mse-3.0.0.660
+ >=sci-biology/embassy-phylipnew-3.69.660
+ >=sci-biology/embassy-signature-0.1.660
+ >=sci-biology/embassy-structure-0.1.660
+ >=sci-biology/embassy-topo-2.0.660
+ >=sci-biology/embassy-vienna-1.7.2.660
+"
diff --git a/sci-biology/embassy/metadata.xml b/sci-biology/embassy/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/embassy/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/emboss/Manifest b/sci-biology/emboss/Manifest
new file mode 100644
index 000000000000..ccdb0846835b
--- /dev/null
+++ b/sci-biology/emboss/Manifest
@@ -0,0 +1,2 @@
+DIST EMBOSS-6.6.0.tar.gz 117962028 BLAKE2B 91bf3c680290bd975d2ddb5251089d7f75f8a44a26e1247e93d2c9cf2f23e6b89c4218022ba1af0c940136ff56782f40d2c4604dc756b400ae23f223da7f3cca SHA512 2d28a03381f7dc98d205aa50202fbbac02ad218fc775d86579d310296be124403623484b1907154d915f15cd32a9f8cf16ecfaa6c4a28b362e24dc8e6380b75a
+DIST emboss-6.6.0-patches-r2.tar.xz 10616 BLAKE2B 123251c54cccdbec84232a9b14f1907f27ed8885c25166265d679aed4f530717692ed3217a53b67582d7f9ac296b922e19be6096ab23d8bd0ff9470f56fe06eb SHA512 6db0c33f1f114dda2cea97200b7cd05d2173c68b5f939d681220d7ca7e253dc08b83070393b8844d1fb0292fe9cb8b23463459badcacd6421220e775d533b589
diff --git a/sci-biology/emboss/emboss-6.6.0-r4.ebuild b/sci-biology/emboss/emboss-6.6.0-r4.ebuild
new file mode 100644
index 000000000000..f06a93896d10
--- /dev/null
+++ b/sci-biology/emboss/emboss-6.6.0-r4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools emboss-r3 readme.gentoo-r1
+
+DESCRIPTION="The European Molecular Biology Open Software Suite - A sequence analysis package"
+SRC_URI="
+ ftp://emboss.open-bio.org/pub/${PN^^}/${P^^}.tar.gz
+ https://dev.gentoo.org/~soap/distfiles/${P}-patches-r2.tar.xz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE+=" Apache-2.0 GPL-3+ CC-BY-3.0"
+KEYWORDS="~amd64 ~x86"
+IUSE="minimal"
+
+RDEPEND="
+ !dev-build/cons
+ !games-action/xbomber
+"
+PDEPEND="
+ !minimal? (
+ sci-biology/aaindex
+ sci-biology/cutg
+ sci-biology/primer3
+ sci-biology/prints
+ sci-biology/prosite
+ sci-biology/rebase
+ )"
+
+PATCHES=( "${WORKDIR}"/patches/ )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ emboss-r3_src_install
+
+ readme.gentoo_create_doc
+
+ # Install env file for setting libplplot and acd files path.
+ newenvd - 22emboss <<- EOF
+ # ACD files location
+ EMBOSS_ACDROOT="${EPREFIX}/usr/share/EMBOSS/acd"
+ EMBOSS_DATA="${EPREFIX}/usr/share/EMBOSS/data"
+ EOF
+
+ # Remove useless dummy files
+ find "${ED}"/usr/share/EMBOSS -name dummyfile -delete \
+ || die "Failed to remove dummy files"
+
+ # Move the provided codon files to a different directory. This will avoid
+ # user confusion and file collisions on case-insensitive file systems (see
+ # bug #115446). This change is documented in "README.gentoo".
+ mv "${ED}"/usr/share/EMBOSS/data/CODONS{,.orig} \
+ || die "Failed to move CODON directory"
+
+ # collision with dev-texlive/texlive-latexextra, bug #927976
+ mv "${ED}"/usr/bin/{,emboss-}wordcount || die
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/sci-biology/emboss/files/README.gentoo b/sci-biology/emboss/files/README.gentoo
new file mode 100644
index 000000000000..d1879bd0811c
--- /dev/null
+++ b/sci-biology/emboss/files/README.gentoo
@@ -0,0 +1,34 @@
+Administrating EMBOSS on Gentoo systems
+=======================================
+
+
+Codon data files location
+-------------------------
+
+The codon data files that are distributed with EMBOSS are installed in the
+``EPREFIX/usr/share/EMBOSS/data/CODONS.orig`` directory instead of the usual
+``EPREFIX/usr/share/EMBOSS/data/CODONS``. This is done to avoid confusion between
+these codon files and those installed with the CUTG database. The names of
+these files sometimes vary only by their case. Having both sets of files in
+the same directory is also impossible on systems such as MacOSX, where the
+root filesystem is case insensitive. If you do not have the CUTG database
+installed and want to use the codon files distributed with EMBOSS, you can
+symlink the ``CODONS.orig`` directory to ``CODONS``::
+
+ # cd ${EPREFIX}/usr/share/EMBOSS/data
+ # ln -s CODONS.orig CODONS
+
+
+Restriction enzymes equivalence file location
+---------------------------------------------
+
+The restriction enzymes equivalence file distributed with EMBOSS is installed
+as ``EPREFIX/usr/share/EMBOSS/data/embossre.equ.orig`` rather than the usual
+``EPREFIX/usr/share/EMBOSS/data/embossre.equ``. This is done to avoid a file
+collision with the equivalence file provided by the Rebase database. If you do
+not have the Rebase database installed and want to use the equivalence file
+distributed with EMBOSS, you can symlink the ``embossre.equ.orig`` file to
+``embossre.equ``::
+
+ # cd ${EPREFIX}/usr/share/EMBOSS/data
+ # ln -s embossre.equ.orig embossre.equ
diff --git a/sci-biology/emboss/metadata.xml b/sci-biology/emboss/metadata.xml
new file mode 100644
index 000000000000..1df105dd814b
--- /dev/null
+++ b/sci-biology/emboss/metadata.xml
@@ -0,0 +1,22 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ EMBOSS is "The European Molecular Biology Open Software Suite".
+ EMBOSS is a free Open Source software analysis package specially
+ developed for the needs of the molecular biology (e.g. EMBnet) user
+ community. The software automatically copes with data in a variety
+ of formats and even allows transparent retrieval of sequence data
+ from the web. Also, as extensive libraries are provided with the
+ package, it is a platform to allow other scientists to develop and
+ release software in true open source spirit. EMBOSS also integrates
+ a range of currently available packages and tools for sequence
+ analysis into a seamless whole. EMBOSS breaks the historical trend
+ towards commercial software packages.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/eugene/Manifest b/sci-biology/eugene/Manifest
new file mode 100644
index 000000000000..da51818cd95e
--- /dev/null
+++ b/sci-biology/eugene/Manifest
@@ -0,0 +1 @@
+DIST eugene-4.1d.tar.gz 7473965 BLAKE2B 537ba871b701a5c199791809f76ea883ff77fe768e27a69b95186ef82ab32cab9b5761405a9fadfeea9f58fe88cadce83bba4b1fa6cba5f4ede2347a516d1df0 SHA512 dab37930e211b3783954f6e4a762450760201b77e0b4214f16724516d9be583d0a7ec44a2f510e73f4370e9c2dc67a425456a057fdba8f51cb72386e16a26ef5
diff --git a/sci-biology/eugene/eugene-4.1d-r1.ebuild b/sci-biology/eugene/eugene-4.1d-r1.ebuild
new file mode 100644
index 000000000000..3800d7a2bdc3
--- /dev/null
+++ b/sci-biology/eugene/eugene-4.1d-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Prokaryotic and Eukaryotic gene predictor"
+HOMEPAGE="http://eugene.toulouse.inra.fr/"
+SRC_URI="https://mulcyber.toulouse.inra.fr/frs/download.php/1359/${P}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test"
+
+DEPEND="
+ media-libs/gd[png]
+ media-libs/libpng:="
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ # https://mulcyber.toulouse.inra.fr/tracker/index.php?func=detail&aid=1170
+ "${FILESDIR}"/${PN}-3.6-overflow.patch
+ "${FILESDIR}"/${PN}-3.6-plugins.patch
+ "${FILESDIR}"/${PN}-4.1-format-security.patch
+ "${FILESDIR}"/${PN}-4.1d-fix-c++14.patch
+ "${FILESDIR}"/${PN}-4.1d-Wformat.patch
+ "${FILESDIR}"/${PN}-4.1d-portable-getopt.patch
+ "${FILESDIR}"/${PN}-4.1d-clang16.patch
+)
+
+src_prepare() {
+ default
+ sed \
+ -e '/SUBDIRS/ s/doc//' \
+ -e '/INSTALL.*doc/ s/\(.*\)//' \
+ -i Makefile.am || die
+ rm src/getopt.h || die
+ eautoreconf
+}
diff --git a/sci-biology/eugene/files/eugene-3.6-overflow.patch b/sci-biology/eugene/files/eugene-3.6-overflow.patch
new file mode 100644
index 000000000000..7222530ad771
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-3.6-overflow.patch
@@ -0,0 +1,13 @@
+http://bugs.gentoo.org/show_bug.cgi?id=336607
+
+--- eugene-3.6/src/Sensor.cc
++++ eugene-3.6/src/Sensor.cc
+@@ -224,7 +224,7 @@
+ //--------------------------
+ void Signals :: PrintS ()
+ {
+- char t[7];
++ char t[10];
+ char s = '+';
+
+ switch (type) {
diff --git a/sci-biology/eugene/files/eugene-3.6-plugins.patch b/sci-biology/eugene/files/eugene-3.6-plugins.patch
new file mode 100644
index 000000000000..e7424f73fc63
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-3.6-plugins.patch
@@ -0,0 +1,53 @@
+https://bugs.gentoo.org/297536
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,6 +28,7 @@
+ AC_PROG_CC
+ AC_PROG_AWK
+ AC_PROG_LN_S
++AM_PROG_AR
+ AC_PROG_RANLIB
+
+
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -137,7 +137,7 @@
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/web/Style
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/web/Javascripts
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/web/Images
+- $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/plugins
++ $(INSTALL) -d $(DESTDIR)/$(libdir)/eugene/plugins
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/cfg
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/models
+ $(INSTALL) -d $(DESTDIR)/$(pkgdatadir)/models/WAM
+@@ -160,6 +160,6 @@
+ $(INSTALL) -m 644 $(srcdir)/web/Images/*jpg $(DESTDIR)/$(pkgdatadir)/web/Images
+ $(INSTALL) -m 644 $(srcdir)/cfg/*.obo $(DESTDIR)/$(pkgdatadir)/cfg
+ $(INSTALL) -m 644 $(srcdir)/cfg/*.par $(DESTDIR)/$(pkgdatadir)/cfg
+- $(INSTALL) src/SensorPlugins/*/*.so $(DESTDIR)/$(pkgdatadir)/plugins
++ $(INSTALL) src/SensorPlugins/*/*.so $(DESTDIR)/$(libdir)/eugene/plugins
+ $(INSTALL) $(srcdir)/Procedures/Eval/egn_* $(DESTDIR)/$(pkgdatadir)/Procedures/Eval
+ $(INSTALL) $(srcdir)/Procedures/Get/egn_* $(DESTDIR)/$(pkgdatadir)/Procedures/Get
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -20,7 +20,7 @@
+
+ SUBDIRS = Parametrization GDIF . SensorPlugins
+
+-AM_CXXFLAGS = $(eugene_cxxflags) -DDEFAULT_EUGENE_DIR=\"${pkgdatadir}\"
++AM_CXXFLAGS = $(eugene_cxxflags) -DDEFAULT_EUGENE_DIR=\"${pkgdatadir}\" -DLIB_DIR=\"${libdir}\"
+ AM_CFLAGS =
+
+ bin_PROGRAMS = eugene
+--- a/src/MSensor.cc
++++ b/src/MSensor.cc
+@@ -97,7 +97,7 @@
+ std::string use_name;
+
+ if (!IsInitialized) {
+- PluginsDir = (std::string)PAR.getC("eugene_dir")+"/"+PLUGINS_DIR+"/";
++ PluginsDir = (std::string)LIB_DIR+"/eugene/"+PLUGINS_DIR+"/";
+
+ // On récupère les couples nom de sensor/priorité du .par
+ PAR.ResetIter();
diff --git a/sci-biology/eugene/files/eugene-4.1-format-security.patch b/sci-biology/eugene/files/eugene-4.1-format-security.patch
new file mode 100644
index 000000000000..e6e4a6cc8bd7
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-4.1-format-security.patch
@@ -0,0 +1,16 @@
+ src/Hits.cc | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/Hits.cc b/src/Hits.cc
+index edfe178..b228be6 100755
+--- a/src/Hits.cc
++++ b/src/Hits.cc
+@@ -166,7 +166,7 @@ Hits* Hits::ReadFromFile(FILE* HitFile, int *NumHits, int level, int margin, int
+ while ((read=fscanf(HitFile,"%d %d %d %lf %d %s %d %d %as\n", &deb, &fin,
+ &poids, &evalue, &phase, HitId, &HSPDeb, &HSPFin,HSP)) >= 8)
+ {
+- if (HSP) fprintf(stderr,HSP);
++ if (HSP) fprintf(stderr, "%s", HSP);
+ if (phase < 0 && deb > fin)
+ {
+ int tmp = deb;
diff --git a/sci-biology/eugene/files/eugene-4.1d-Wformat.patch b/sci-biology/eugene/files/eugene-4.1d-Wformat.patch
new file mode 100644
index 000000000000..ab6d2bd1d2ee
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-4.1d-Wformat.patch
@@ -0,0 +1,84 @@
+Fix -Wformat warnings caused by wrong printf specifiers:
+* Sensor.Riken.cc:95:61: warning: format ‘%d’ expects argument of type ‘int’, but
+* argument 3 has type ‘std::vector<RAFLgene>::size_type {aka long unsigned int}’ [-Wformat=]
+* fprintf(stderr, "%d RAFL EST pairs read, ", RAFLtmp.size());
+
+--- a/src/Hits.cc
++++ b/src/Hits.cc
+@@ -163,7 +163,7 @@
+ if (ThisHit != NULL)
+ for (int i=0; i<*NumHits-1; i++) ThisHit = ThisHit->Next;
+
+- while ((read=fscanf(HitFile,"%d %d %d %lf %d %s %d %d %as\n", &deb, &fin,
++ while ((read=fscanf(HitFile,"%d %d %d %lf %d %s %d %d %ss\n", &deb, &fin,
+ &poids, &evalue, &phase, HitId, &HSPDeb, &HSPFin,HSP)) >= 8)
+ {
+ if (HSP) fprintf(stderr, "%s", HSP);
+--- a/src/SensorPlugins/Est/Sensor.Est.cc
++++ b/src/SensorPlugins/Est/Sensor.Est.cc
+@@ -1353,13 +1353,13 @@
+ exit(2);
+ }
+
+- fprintf(fp, "vPos %d\n", vPos.size());
++ fprintf(fp, "vPos %zu\n", vPos.size());
+ for (int i=0; i< vPos.size();i++ )
+ {
+ fprintf(fp, "vPos %d\t%d\n",i, vPos[i]);
+ }
+
+- fprintf(fp, "vESTMatch %d\n", vESTMatch.size());
++ fprintf(fp, "vESTMatch %zu\n", vESTMatch.size());
+ for (int i=0; i< vESTMatch.size();i++ )
+ {
+ fprintf(fp, "vESTMatch %d\t\n", vESTMatch[i]);
+--- a/src/SensorPlugins/Riken/Sensor.Riken.cc
++++ b/src/SensorPlugins/Riken/Sensor.Riken.cc
+@@ -92,7 +92,7 @@
+
+
+
+- fprintf(stderr, "%d RAFL EST pairs read, ", RAFLtmp.size());
++ fprintf(stderr, "%zu RAFL EST pairs read, ", RAFLtmp.size());
+
+ sort(RAFLtmp.begin(), RAFLtmp.end(), Before);
+
+@@ -148,7 +148,7 @@
+ }
+ }
+
+- fprintf(stderr,"resulting %d\n",RAFL.size());
++ fprintf(stderr,"resulting %zu\n",RAFL.size());
+ fflush(stderr);
+
+ // for (RAFLtmpindice=0; RAFLtmpindice< (int)RAFL.size(); RAFLtmpindice++) {
+--- a/src/SensorPlugins/SMachine/Sensor.SMachine.cc
++++ b/src/SensorPlugins/SMachine/Sensor.SMachine.cc
+@@ -197,7 +197,7 @@
+ fclose(fp);
+
+ if (end ==2) {
+- fprintf(stderr, "Error in SpliceMachine splice site file %s, line %d\n", name, len);
++ fprintf(stderr, "Error in SpliceMachine splice site file %s, line %zu\n", name, len);
+ exit(2);
+ }
+ }
+--- a/src/SoTerms.cc
++++ b/src/SoTerms.cc
+@@ -67,14 +67,14 @@
+ j++;
+ if (line[0] == 'i' && line[1] == 'd')
+ {
+- i = sscanf(line, "id: %s", &value);
++ i = sscanf(line, "id: %s", value);
+ if (i > 0)
+ {
+ char soId[60];
+ char soName[60];
+ strcpy (soId, value );
+ fgets (line, MAX_LINE, fp);
+- i = sscanf(line, "name: %s", &value);
++ i = sscanf(line, "name: %s", value);
+ strcpy (soName, value );
+ idToName_[to_string(soId)]=to_string(soName);
+ nameToId_[to_string(soName)]=to_string(soId);
diff --git a/sci-biology/eugene/files/eugene-4.1d-clang16.patch b/sci-biology/eugene/files/eugene-4.1d-clang16.patch
new file mode 100644
index 000000000000..21a3ec0a8b62
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-4.1d-clang16.patch
@@ -0,0 +1,22 @@
+--- a/src/GDIF/gdIF.c
++++ b/src/GDIF/gdIF.c
+@@ -228,7 +228,7 @@
+ ToY(phase, pos), (unsigned char *)st, Col[col]);
+ }
+
+-void ClosePNG()
++void ClosePNG(void)
+ {
+ int i;
+
+--- a/src/SensorPlugins/0_SensorTk/markov.cc
++++ b/src/SensorPlugins/0_SensorTk/markov.cc
+@@ -790,7 +790,7 @@
+ // cumule les valeurs des cases des codons synonymes et renvoie le total.
+ template<class CHAINE, typename T> T TabChaine<CHAINE,T> :: cumuleVAL (int indice) const
+ {
+- char* codegenetique=CODEGENETIQUE;
++ const char* codegenetique=CODEGENETIQUE;
+ T cumul=0;
+ for (int i=0 ; i<64 ; i++) {
+ if ( codegenetique[i] == codegenetique[indice] )
diff --git a/sci-biology/eugene/files/eugene-4.1d-fix-c++14.patch b/sci-biology/eugene/files/eugene-4.1d-fix-c++14.patch
new file mode 100644
index 000000000000..a27261c68c06
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-4.1d-fix-c++14.patch
@@ -0,0 +1,17 @@
+Fix building with C++14, which errors out due to collisions with isinf
+from cmath. We don't need to fix ancient broken OSX toolchains.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594700
+
+--- a/src/SensorPlugins/Tester/Sensor.Tester.cc
++++ b/src/SensorPlugins/Tester/Sensor.Tester.cc
+@@ -18,9 +18,7 @@
+ // ------------------------------------------------------------------
+
+ // MacOS-X kludge. cmath undefines these macros. Turn them into inlines
+-#include <math.h>
+-inline int (isinf)(double r) { return isinf(r); }
+-inline int (isnan)(double r) { return isnan(r); }
++#include <cmath>
+
+ #include <iomanip>
+ #include <fstream>
diff --git a/sci-biology/eugene/files/eugene-4.1d-portable-getopt.patch b/sci-biology/eugene/files/eugene-4.1d-portable-getopt.patch
new file mode 100644
index 000000000000..156cb4bbdfac
--- /dev/null
+++ b/sci-biology/eugene/files/eugene-4.1d-portable-getopt.patch
@@ -0,0 +1,74 @@
+--- a/src/Param.h
++++ b/src/Param.h
+@@ -28,26 +28,14 @@
+ #include <vector>
+ #include <string>
+ #include <string.h>
++#include <unistd.h>
+ #ifdef HAVE_STRINGS_H
+ #include <strings.h>
+ #endif
+-// MacOS-X has getopt() defined is stdlib and the library in the libSystem
+-#ifndef __APPLE__
+-#ifdef HAVE_GETOPT_H
+-#include <getopt.h>
+-#else
+-#ifndef HAVE_GETOPT
+-#include "getopt.h"
+-#endif
+-#endif
+-#endif
+
+ #include "Const.h"
+ #include "System.h"
+
+-extern char *optarg;
+-extern int optind;
+-
+
+ class ltstr
+ {
+--- a/src/SensorPlugins/MarkovIMM/GetData/CEM.cc
++++ b/src/SensorPlugins/MarkovIMM/GetData/CEM.cc
+@@ -22,18 +22,11 @@
+ #include "../../../../config.h"
+ #endif
+
+-#ifdef HAVE_GETOPT_H
+-#include <getopt.h>
+-#else
+-#ifndef HAVE_GETOPT
+-#include "../../../getopt.h"
+-#endif
+-#endif
+-
+ #include "../../../System.cc"
+ #include "../../../Const.h"
+ #include "../../0_SensorTk/EndianConv.h"
+ #include "strarray.h"
++#include "unistd.h"
+ #include <vector>
+
+ // Constantes
+--- a/src/SensorPlugins/MarkovIMM/GetData/TrainIMM.cc
++++ b/src/SensorPlugins/MarkovIMM/GetData/TrainIMM.cc
+@@ -22,18 +22,11 @@
+ #include "../../../../config.h"
+ #endif
+
+-#ifdef HAVE_GETOPT_H
+-#include <getopt.h>
+-#else
+-#ifndef HAVE_GETOPT
+-#include "../../../getopt.h"
+-#endif
+-#endif
+-
+ #include "../../../System.cc"
+ #include "../../../Const.h"
+ #include "../../0_SensorTk/EndianConv.h"
+ #include "strarray.h"
++#include "unistd.h"
+
+
+ // Constantes
diff --git a/sci-biology/eugene/metadata.xml b/sci-biology/eugene/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/eugene/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/exonerate/Manifest b/sci-biology/exonerate/Manifest
new file mode 100644
index 000000000000..81a4cb240d5a
--- /dev/null
+++ b/sci-biology/exonerate/Manifest
@@ -0,0 +1 @@
+DIST exonerate-2.2.0.tar.gz 509870 BLAKE2B 58b12338ef7d819a8e33ab87d72afe807ca219581a8f35ae38951860915a676bb9ba34a481f685e970948d9272be3e5f28d6b63c14f4d5facf35c4be52530d3b SHA512 c0aec4df83fbf6bcd1b27242397349769211ab88d71e2d081e20cb5453a03acd805807535a69841e991cf543d99fcd458cbd22d60b21f0fc6ce813eac45b838c
diff --git a/sci-biology/exonerate/exonerate-2.2.0-r3.ebuild b/sci-biology/exonerate/exonerate-2.2.0-r3.ebuild
new file mode 100644
index 000000000000..05a7156ef5c8
--- /dev/null
+++ b/sci-biology/exonerate/exonerate-2.2.0-r3.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic toolchain-funcs
+
+DESCRIPTION="Generic tool for pairwise sequence comparison"
+HOMEPAGE="https://www.ebi.ac.uk/about/vertebrate-genomics/software/exonerate"
+SRC_URI="https://ftp.ebi.ac.uk/pub/software/vertebrategenomics/exonerate/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+IUSE="test utils"
+REQUIRED_USE="test? ( utils )"
+RESTRICT="!test? ( test )"
+
+DEPEND="dev-libs/glib:2"
+RDEPEND="${DEPEND}"
+
+PATCHES=( "${FILESDIR}"/${P}-autotools.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862264
+ # Upstream doesn't use a bug tracker, so I fired them an email about it. -- Eli
+ filter-lto
+
+ # the bootstrapping code loads AR and CC from the environment
+ tc-export CC RANLIB
+ export C4_AR="$(tc-getAR)"
+
+ econf \
+ --enable-glib2 \
+ --enable-largefile \
+ --enable-pthreads \
+ $(use_enable utils utilities)
+}
+
+src_install() {
+ default
+
+ doman doc/man/man1/*.1
+}
diff --git a/sci-biology/exonerate/files/exonerate-2.2.0-autotools.patch b/sci-biology/exonerate/files/exonerate-2.2.0-autotools.patch
new file mode 100644
index 000000000000..af95b5c8f77a
--- /dev/null
+++ b/sci-biology/exonerate/files/exonerate-2.2.0-autotools.patch
@@ -0,0 +1,43 @@
+Fix build with --as-needed
+
+https://bugs.gentoo.org/268094
+
+--- a/configure.in
++++ b/configure.in
+@@ -144,11 +145,6 @@
+ elif test "$enable_assert" = no; then
+ CFLAGS="$CFLAGS -DG_DISABLE_ASSERT"
+ echo "Turning assertions off"
+- if test "$GCC" = "yes"; then
+- # Not currently using -fomit-frame-pointer as clashes with -pg
+- # CFLAGS="$CFLAGS -O3 -fomit-frame-pointer -finline-functions"
+- CFLAGS="$CFLAGS -O3 -finline-functions"
+- fi
+ else
+ echo "error: must be yes or no: --enable-assert:[$enable_assert]"
+ exit 1
+@@ -289,7 +285,7 @@
+ if test "$enable_pthreads" = yes; then
+ echo "Using PTHREADS"
+ CFLAGS="$CFLAGS -DUSE_PTHREADS"
+- LDFLAGS="$LDFLAGS -lpthread"
++ LIBS="$LIBS -lpthread"
+ elif test "$enable_pthreads" = no; then
+ echo "Not using pthreads"
+ else
+--- a/src/model/bootstrapper.c
++++ b/src/model/bootstrapper.c
+@@ -146,8 +146,12 @@
+
+ static void Bootstrapper_index_archive(Bootstrapper *bs){
+ register gchar *command;
++ register gchar *ranlib = "ranlib";
++ register gchar *tmp = (gchar*)g_getenv("RANLIB");
++ if(tmp)
++ ranlib = tmp;
+ register gint ret_val;
+- command = g_strdup_printf("ranlib %s", bs->archive_path);
++ command = g_strdup_printf("%s %s", ranlib, bs->archive_path);
+ g_message("Indexing archive [%s]", bs->archive_path);
+ g_print("%s\n", command);
+ ret_val = system(command);
diff --git a/sci-biology/exonerate/metadata.xml b/sci-biology/exonerate/metadata.xml
new file mode 100644
index 000000000000..1d5f07116f0a
--- /dev/null
+++ b/sci-biology/exonerate/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="utils">Install the follow binaries: esd2esi, fasta2esd, fastaannotatecdna, fastachecksum, fastaclean, fastaclip, fastacomposition, fastadiff, fastaexplode, fastafetch, fastahardmask, fastaindex, fastalength, fastanrdb, fastaoverlap, fastareformat, fastaremove, fastarevcomp, fastasoftmask, fastasort, fastasplit, fastasubseq, fastatranslate, fastavalidcds</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/fasta/Manifest b/sci-biology/fasta/Manifest
new file mode 100644
index 000000000000..8144c91b5e78
--- /dev/null
+++ b/sci-biology/fasta/Manifest
@@ -0,0 +1,2 @@
+DIST fasta-36.3.8h.tar.gz 1257682 BLAKE2B e6bd9087563150355fed6edf52a24a0b31ef0658b1e95c3df6d5b5711fc4d137ddd773fb8b3b2fa82fe3f5c310689b2f89668f5b51654eed41ed71f9ef140f99 SHA512 30d160ad083a605397c6c35d2b28f6064cd96f51f99b3664b424ec1dbbbd09772c72e89731a7257306ab58c4ad4b877e229873abd0e09407c64fae643bc04391
+DIST fasta-36.3.8i.tar.gz 1402674 BLAKE2B 5653ae18d38a8f99ac1a76235ebad7189faeaacf9a043ab81ec56036e851d45fcc47435413f81f989efc6dfbccd6e3235c9cd14a6f129719d978ffc69e5def0f SHA512 6f34bd1a5f74362fd569d9c8e7ca7c9fcb0648ea7e861c3d0b54bbdc32ba0caad4beb2aad204122178ee6bcefd579d824412a863163050c305da0a661d55c234
diff --git a/sci-biology/fasta/fasta-36.3.8h-r1.ebuild b/sci-biology/fasta/fasta-36.3.8h-r1.ebuild
new file mode 100644
index 000000000000..3c3f5ebd009a
--- /dev/null
+++ b/sci-biology/fasta/fasta-36.3.8h-r1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="${PV}_04-May-2020"
+
+DESCRIPTION="FASTA is a DNA and Protein sequence alignment software package"
+HOMEPAGE="https://fasta.bioch.virginia.edu/fasta_www2/fasta_down.shtml"
+SRC_URI="https://github.com/wrpearson/fasta36/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}36-${MY_PV}"
+
+LICENSE="fasta"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x64-macos"
+IUSE="debug cpu_flags_x86_sse2"
+
+src_prepare() {
+ CC_ALT=
+ CFLAGS_ALT=
+ ALT=
+
+ use debug && append-flags -DDEBUG
+
+ if [[ "$(tc-getCC)" == *icc* ]]; then
+ CC_ALT=icc
+ ALT="${ALT}_icc"
+ else
+ CC_ALT="$(tc-getCC)"
+ use x86 && ALT="32"
+ use amd64 && ALT="64"
+ fi
+
+ if use cpu_flags_x86_sse2 ; then
+ ALT="${ALT}_sse2"
+ append-flags -msse2
+ [[ "$(tc-getCC)" == *icc* ]] || append-flags -ffast-math
+ fi
+
+ export CC_ALT="${CC_ALT}"
+ export ALT="${ALT}"
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862267
+ # https://github.com/wrpearson/fasta36/issues/63
+ filter-lto
+
+ eapply "${FILESDIR}"/${P}-ldflags.patch
+
+ sed \
+ -e 's:-ffast-math::g' \
+ -i make/Makefile* || die
+
+ eapply_user
+}
+
+src_compile() {
+ emake -C src -f ../make/Makefile.linux${ALT} CC="${CC_ALT} ${CFLAGS}" HFLAGS="${LDFLAGS} -o" all
+}
+
+src_test() {
+ cd test || die
+ FASTLIBS="../conf" bash test.sh || die
+}
+
+src_install() {
+ dobin bin/*
+
+ pushd bin >/dev/null || die
+ local i
+ for i in *36; do
+ dosym ${i} /usr/bin/${i%36}
+ done
+ popd >/dev/null || die
+
+ insinto /usr/share/${PN}
+ doins -r conf/. data seq
+
+ doman doc/{prss3.1,fasta36.1,fasts3.1,fastf3.1,ps_lav.1,map_db.1}
+ dodoc FASTA_LIST README* doc/{README*,readme*,fasta*,changes*}
+}
diff --git a/sci-biology/fasta/fasta-36.3.8i-r1.ebuild b/sci-biology/fasta/fasta-36.3.8i-r1.ebuild
new file mode 100644
index 000000000000..3c5343e1f042
--- /dev/null
+++ b/sci-biology/fasta/fasta-36.3.8i-r1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="${PV}_14-Nov-2020"
+
+DESCRIPTION="FASTA is a DNA and Protein sequence alignment software package"
+HOMEPAGE="https://fasta.bioch.virginia.edu/fasta_www2/fasta_down.shtml"
+SRC_URI="https://github.com/wrpearson/fasta36/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}36-${MY_PV}"
+
+LICENSE="fasta"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x64-macos"
+IUSE="debug cpu_flags_x86_sse2"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-36.3.8i-musl-build-fix.patch"
+)
+
+src_prepare() {
+ CC_ALT=
+ CFLAGS_ALT=
+ ALT=
+
+ use debug && append-flags -DDEBUG
+
+ if [[ "$(tc-getCC)" == *icc* ]]; then
+ CC_ALT=icc
+ ALT="${ALT}_icc"
+ else
+ CC_ALT="$(tc-getCC)"
+ use x86 && ALT="32"
+ use amd64 && ALT="64"
+ fi
+
+ if use cpu_flags_x86_sse2 ; then
+ ALT="${ALT}_sse2"
+ append-flags -msse2
+ [[ "$(tc-getCC)" == *icc* ]] || append-flags -ffast-math
+ fi
+
+ export CC_ALT="${CC_ALT}"
+ export ALT="${ALT}"
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862267
+ # https://github.com/wrpearson/fasta36/issues/63
+ filter-lto
+
+ sed \
+ -e 's:-ffast-math::g' \
+ -i make/Makefile* || die
+
+ default
+}
+
+src_compile() {
+ emake -C src -f ../make/Makefile.linux${ALT} CC="${CC_ALT} ${CFLAGS}" HFLAGS="${LDFLAGS}" all
+}
+
+src_test() {
+ cd test || die
+ FASTLIBS="../conf" bash test.sh || die
+}
+
+src_install() {
+ dobin bin/*
+
+ pushd bin >/dev/null || die
+ local i
+ for i in *36; do
+ dosym ${i} /usr/bin/${i%36}
+ done
+ popd >/dev/null || die
+
+ insinto /usr/share/${PN}
+ doins -r conf/. data seq
+
+ doman doc/{prss3.1,fasta36.1,fasts3.1,fastf3.1,ps_lav.1,map_db.1}
+ dodoc FASTA_LIST README* doc/{README*,readme*,fasta*,changes*}
+}
diff --git a/sci-biology/fasta/fasta-36.3.8i.ebuild b/sci-biology/fasta/fasta-36.3.8i.ebuild
new file mode 100644
index 000000000000..9e377150e889
--- /dev/null
+++ b/sci-biology/fasta/fasta-36.3.8i.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_PV="${PV}_14-Nov-2020"
+
+DESCRIPTION="FASTA is a DNA and Protein sequence alignment software package"
+HOMEPAGE="https://fasta.bioch.virginia.edu/fasta_www2/fasta_down.shtml"
+SRC_URI="https://github.com/wrpearson/fasta36/archive/refs/tags/v${MY_PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}36-${MY_PV}"
+
+LICENSE="fasta"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86 ~x64-macos"
+IUSE="debug cpu_flags_x86_sse2"
+
+src_prepare() {
+ CC_ALT=
+ CFLAGS_ALT=
+ ALT=
+
+ use debug && append-flags -DDEBUG
+
+ if [[ "$(tc-getCC)" == *icc* ]]; then
+ CC_ALT=icc
+ ALT="${ALT}_icc"
+ else
+ CC_ALT="$(tc-getCC)"
+ use x86 && ALT="32"
+ use amd64 && ALT="64"
+ fi
+
+ if use cpu_flags_x86_sse2 ; then
+ ALT="${ALT}_sse2"
+ append-flags -msse2
+ [[ "$(tc-getCC)" == *icc* ]] || append-flags -ffast-math
+ fi
+
+ export CC_ALT="${CC_ALT}"
+ export ALT="${ALT}"
+
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862267
+ # https://github.com/wrpearson/fasta36/issues/63
+ filter-lto
+
+ sed \
+ -e 's:-ffast-math::g' \
+ -i make/Makefile* || die
+
+ eapply_user
+}
+
+src_compile() {
+ emake -C src -f ../make/Makefile.linux${ALT} CC="${CC_ALT} ${CFLAGS}" HFLAGS="${LDFLAGS}" all
+}
+
+src_test() {
+ cd test || die
+ FASTLIBS="../conf" bash test.sh || die
+}
+
+src_install() {
+ dobin bin/*
+
+ pushd bin >/dev/null || die
+ local i
+ for i in *36; do
+ dosym ${i} /usr/bin/${i%36}
+ done
+ popd >/dev/null || die
+
+ insinto /usr/share/${PN}
+ doins -r conf/. data seq
+
+ doman doc/{prss3.1,fasta36.1,fasts3.1,fastf3.1,ps_lav.1,map_db.1}
+ dodoc FASTA_LIST README* doc/{README*,readme*,fasta*,changes*}
+}
diff --git a/sci-biology/fasta/files/fasta-36.3.8h-ldflags.patch b/sci-biology/fasta/files/fasta-36.3.8h-ldflags.patch
new file mode 100644
index 000000000000..40070d50fe76
--- /dev/null
+++ b/sci-biology/fasta/files/fasta-36.3.8h-ldflags.patch
@@ -0,0 +1,63 @@
+--- a/make/Makefile.pcom
++++ b/make/Makefile.pcom
+@@ -216,14 +216,14 @@
+ $(CC) -o print_pssm $(CFLAGS) print_pssm.c getseq.c karlin.c apam.c pssm_asn_subs.c $(LIB_M) $(LIB_DB)
+
+ map_db : map_db.c uascii.h ncbl2_head.h
+- $(CC) $(CFLAGS) -o $(BIN)/map_db map_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/map_db map_db.c
+
+ list_db : list_db.c
+- $(CC) $(CFLAGS) -o $(BIN)/list_db list_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/list_db list_db.c
+
+
+ lav2ps : lav2plt.o lavplt_ps.o
+- $(CC) -DUNIX -o $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
+
+ lav2svg : lav2plt.o lavplt_svg.o
+- $(CC) -DUNIX -o $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
+--- a/make/Makefile.pcom_s
++++ b/make/Makefile.pcom_s
+@@ -149,14 +149,14 @@
+ $(CC) -o print_pssm $(CFLAGS) print_pssm.c getseq.c karlin.c apam.c pssm_asn_subs.c $(LIB_M) $(LIB_DB)
+
+ map_db : map_db.c uascii.h ncbl2_head.h
+- $(CC) $(CFLAGS) -o $(BIN)/map_db map_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/map_db map_db.c
+
+ list_db : list_db.c
+- $(CC) $(CFLAGS) -o $(BIN)/list_db list_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/list_db list_db.c
+
+
+ lav2ps : lav2plt.o lavplt_ps.o
+- $(CC) -DUNIX -o $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
+
+ lav2svg : lav2plt.o lavplt_svg.o
+- $(CC) -DUNIX -o $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
+--- a/make/Makefile.pcom_t
++++ b/make/Makefile.pcom_t
+@@ -171,14 +171,14 @@
+ $(CC) -o print_pssm $(CFLAGS) print_pssm.c getseq.c karlin.c apam.c pssm_asn_subs.c $(LIB_M) $(LIB_DB)
+
+ map_db : map_db.c uascii.h ncbl2_head.h
+- $(CC) $(CFLAGS) -o $(BIN)/map_db map_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/map_db map_db.c
+
+ list_db : list_db.c
+- $(CC) $(CFLAGS) -o $(BIN)/list_db list_db.c
++ $(CC) $(CFLAGS) $(HFLAGS) $(BIN)/list_db list_db.c
+
+
+ lav2ps : lav2plt.o lavplt_ps.o
+- $(CC) -DUNIX -o $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2ps lav2plt.o lavplt_ps.o -lm
+
+ lav2svg : lav2plt.o lavplt_svg.o
+- $(CC) -DUNIX -o $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
++ $(CC) -DUNIX $(HFLAGS) $(BIN)/lav2svg lav2plt.o lavplt_svg.o -lm
diff --git a/sci-biology/fasta/files/fasta-36.3.8i-musl-build-fix.patch b/sci-biology/fasta/files/fasta-36.3.8i-musl-build-fix.patch
new file mode 100644
index 000000000000..1ce5e0089611
--- /dev/null
+++ b/sci-biology/fasta/files/fasta-36.3.8i-musl-build-fix.patch
@@ -0,0 +1,15 @@
+https://patch-diff.githubusercontent.com/raw/wrpearson/fasta36/pull/64.patch
+--- a/make/Makefile.linux64_sse2
++++ b/make/Makefile.linux64_sse2
+@@ -28,7 +28,7 @@ LIB_DB=
+
+ # standard options
+
+-CFLAGS += -DPOSIX_C_SOURCE=2 -DSHOW_HELP -DSHOWSIM -DUNIX -DTIMES -DHZ=100 -DMAX_WORKERS=8 -DTHR_EXIT=pthread_exit -DM10_CONS -D_REENTRANT -DHAS_INTTYPES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_FSEEKO -DSAMP_STATS -DPGM_DOC -DUSE_MMAP -D_LARGEFILE64_SOURCE -DBIG_LIB64
++CFLAGS += -DPOSIX_C_SOURCE=2 -D_GNU_SOURCE -DSHOW_HELP -DSHOWSIM -DUNIX -DTIMES -DHZ=100 -DMAX_WORKERS=8 -DTHR_EXIT=pthread_exit -DM10_CONS -D_REENTRANT -DHAS_INTTYPES -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DUSE_FSEEKO -DSAMP_STATS -DPGM_DOC -DUSE_MMAP -D_LARGEFILE64_SOURCE -DBIG_LIB64
+
+ # -I/usr/include/mysql -DMYSQL_DB
+ # -DSUPERFAMNUM -DSFCHAR="'|'"
+--
+2.46.0
+
diff --git a/sci-biology/fasta/metadata.xml b/sci-biology/fasta/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/fasta/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/fasttree/Manifest b/sci-biology/fasttree/Manifest
new file mode 100644
index 000000000000..cf6d3bc20337
--- /dev/null
+++ b/sci-biology/fasttree/Manifest
@@ -0,0 +1,3 @@
+DIST FastTree-2.1.11.c 395543 BLAKE2B 5bea3fba66ddf077ce42c3e1791505a9fa909bb619e30e0c0370631996d932c63ca172fffc1721ac9f081a16bed3b1c99a9c7f6e4a3bb269b82545e2978904d3 SHA512 2bbb1cc078b04125a55b8c02f65c9fbfb6db894c2fbfdaac8f86cc0084f2579723cdc4f6aa63bf4338b767d0fdaffa8dd503e4126c3f5f700d4f3da9fc085ee5
+DIST FastTreeUPGMA-2.1.11.c 95271 BLAKE2B 1de328881f6452b9c7423c9ed381ab2eb31c4f3ee6426481a6b1089c1359627d4cbbfbea868ebeab9538f82e17f45f1bff8ec07c7370e6432bef6bae449798a8 SHA512 4d6a8e2cb28b8ee201091172a3baa59d432420839c6d2244b5fb8230ed9daa626b6bed22cb692393ca3d78b8f2d071fe18fbb4f9bdcdc47ef149c31e3f45546c
+DIST MOTreeComparison-2.1.11.tar.gz 13523 BLAKE2B 97638edd945412ff00e3dfcfc89ec6ea52ae8c43531d5cb680d97e9c62fcad80e861f58ec987abcd2282166dd7886101edba4875531bd9d6ac23df242e0dbd5b SHA512 24d2247650d7728942bd1d987b548cefd65a16b433a3810876613e9fd1cff223d4349ee720b3d8d10a73af220c2c9f59a24d77ad34ff009325fe9f22aa35c72b
diff --git a/sci-biology/fasttree/fasttree-2.1.11.ebuild b/sci-biology/fasttree/fasttree-2.1.11.ebuild
new file mode 100644
index 000000000000..979e8427e476
--- /dev/null
+++ b/sci-biology/fasttree/fasttree-2.1.11.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="Fast inference of approximately-maximum-likelihood phylogenetic trees"
+HOMEPAGE="https://morgannprice.github.io/fasttree/"
+SRC_URI="
+ http://www.microbesonline.org/fasttree/FastTree-${PV}.c
+ http://www.microbesonline.org/fasttree/FastTreeUPGMA.c -> FastTreeUPGMA-${PV}.c
+ http://www.microbesonline.org/fasttree/MOTreeComparison.tar.gz -> MOTreeComparison-${PV}.tar.gz
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="double-precision openmp cpu_flags_x86_sse3"
+
+REQUIRED_USE="?? ( double-precision cpu_flags_x86_sse3 )"
+
+DOCS=( README )
+
+PATCHES=( "${FILESDIR}"/${P}-format-security.patch )
+
+src_unpack() {
+ mkdir "${S}" || die
+ pushd "${S}" > /dev/null || die
+ unpack ${A}
+ cp "${DISTDIR}"/{FastTreeUPGMA-${PV}.c,FastTree-${PV}.c} . || die
+ cp "${FILESDIR}"/CMakeLists.txt . || die
+ popd > /dev/null || die
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DVERSION="${PV}"
+ -DHAS_SSE3=$(usex cpu_flags_x86_sse3)
+ -DUSE_OPENMP=$(usex openmp)
+ -DUSE_DOUBLE=$(usex double-precision)
+ )
+ cmake_src_configure
+}
diff --git a/sci-biology/fasttree/files/CMakeLists.txt b/sci-biology/fasttree/files/CMakeLists.txt
new file mode 100644
index 000000000000..db60e2594cd7
--- /dev/null
+++ b/sci-biology/fasttree/files/CMakeLists.txt
@@ -0,0 +1,31 @@
+cmake_minimum_required (VERSION 3.31)
+project(fasttree C)
+
+include(GNUInstallDirs)
+
+option(USE_OPENMP "Use OpenMP to parallelize many of the steps in computing a tree" ON)
+option(USE_DOUBLE "Use double precision" OFF)
+option(HAS_SSE3 "Use SSE2/SSE3 instructions to speed up some inner loops" ON)
+
+if(USE_OPENMP)
+ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DOPENMP -fopenmp" )
+ set( CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -DOPENMP -fopenmp" )
+endif()
+
+if(USE_DOUBLE)
+ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DUSE_DOUBLE" )
+endif()
+
+if(NOT HAS_SSE3)
+ set( CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DNO_SSE" )
+endif()
+
+add_executable(FastTree FastTree-${VERSION}.c)
+add_executable(FastTreeUPGMA FastTreeUPGMA-${VERSION}.c)
+
+target_link_libraries(FastTree m)
+target_link_libraries(FastTreeUPGMA m)
+
+install (TARGETS FastTree FastTreeUPGMA DESTINATION ${CMAKE_INSTALL_BINDIR})
+
+install(FILES MOTree.pm CompareTree.pl CompareToBootstrap.pl DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/fasttree)
diff --git a/sci-biology/fasttree/files/fasttree-2.1.11-format-security.patch b/sci-biology/fasttree/files/fasttree-2.1.11-format-security.patch
new file mode 100644
index 000000000000..45023e4215f6
--- /dev/null
+++ b/sci-biology/fasttree/files/fasttree-2.1.11-format-security.patch
@@ -0,0 +1,25 @@
+ FastTreeUPGMA-2.1.11.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/FastTreeUPGMA-2.1.11.c b/FastTreeUPGMA-2.1.11.c
+index af76cb1..4065f42 100644
+--- a/FastTreeUPGMA-2.1.11.c
++++ b/FastTreeUPGMA-2.1.11.c
+@@ -535,7 +535,7 @@ int main(int argc, char **argv) {
+ break;
+ }
+ if(iArg < argc-1) {
+- fprintf(stderr, usage);
++ fprintf(stderr, "%s", usage);
+ exit(1);
+ }
+
+@@ -953,7 +953,7 @@ void PrintUPGMA(FILE *fp, UPGMA_t *UPGMA, char **names,
+ assert(first >= 0);
+ /* Print the name, or the subtree of duplicate names */
+ if (nameNext[first] == -1) {
+- fprintf(fp, names[uniqueFirst[node]]);
++ fprintf(fp, "%s", names[uniqueFirst[node]]);
+ } else {
+ fprintf(fp,"(%s:0.0",names[first]);
+ int iName = nameNext[first];
diff --git a/sci-biology/fasttree/metadata.xml b/sci-biology/fasttree/metadata.xml
new file mode 100644
index 000000000000..bd92e1e37e9f
--- /dev/null
+++ b/sci-biology/fasttree/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="double-precision">
+ use double precision instead of single-precision floating point
+ (2x memroy required)
+ </flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/fastx_toolkit/Manifest b/sci-biology/fastx_toolkit/Manifest
new file mode 100644
index 000000000000..abb3cfa08aed
--- /dev/null
+++ b/sci-biology/fastx_toolkit/Manifest
@@ -0,0 +1 @@
+DIST fastx_toolkit-0.0.14.tar.bz2 543018 BLAKE2B d61456252ada507efd4cc45ff2f0d54f7a6c55b185d41eb5f5accd7e73184b8b80b2c415b38f8e4ccd687ae715191785a89e64f790fe598ba477901c12d514a1 SHA512 e1df1486e853b3ecee71e677cd6e86246a3993174016111eb84910625dc7ec11d37aff75de7ccefad1e019e75fe72050d6529add2116b759d5056b8096286c05
diff --git a/sci-biology/fastx_toolkit/fastx_toolkit-0.0.14-r1.ebuild b/sci-biology/fastx_toolkit/fastx_toolkit-0.0.14-r1.ebuild
new file mode 100644
index 000000000000..24c67f24c536
--- /dev/null
+++ b/sci-biology/fastx_toolkit/fastx_toolkit-0.0.14-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Tools for Short Read FASTA/FASTQ file processing"
+HOMEPAGE="http://hannonlab.cshl.edu/fastx_toolkit"
+SRC_URI="https://github.com/agordon/fastx_toolkit/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="sci-biology/libgtextutils:="
+RDEPEND="
+ ${DEPEND}
+ dev-perl/PerlIO-gzip
+ dev-perl/GDGraph
+ sci-visualization/gnuplot"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-fix-build-system.patch b/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-fix-build-system.patch
new file mode 100644
index 000000000000..a8b22579f737
--- /dev/null
+++ b/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-fix-build-system.patch
@@ -0,0 +1,63 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -14,12 +14,12 @@
+ [fastx_toolkit])
+ AC_CONFIG_AUX_DIR(config)
+ AC_CONFIG_MACRO_DIR([m4])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS([config.h])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+ AC_PROG_CC
+ AC_PROG_CXX
+-AC_PROG_LIBTOOL
++LT_INIT
+ AX_C_LONG_LONG
+ AX_CXX_HEADER_STDCXX_TR1
+ AX_CXX_COMPILE_STDCXX_11([noext],[optional])
+@@ -31,9 +31,9 @@
+ PKG_CHECK_MODULES([GTEXTUTILS],[gtextutils])
+
+ dnl --enable-wall
+-EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security -Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal -Werror"
++EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security -Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal"
+ AC_ARG_ENABLE(wall,
+-[ --enable-wall Enable many common GCC warnings (-Wall,-Wextra, -Werror etc., default enabled)],
++[ --enable-wall Enable many common GCC warnings (-Wall,-Wextra etc., default enabled)],
+ [case "${enableval}" in
+ yes) wall=true ;;
+ no) wall=false ;;
+@@ -45,22 +45,6 @@
+ CXXFLAGS="${CXXFLAGS} ${EXTRA_CHECKS}"
+ fi
+
+-dnl --enable-debug
+-AC_ARG_ENABLE(debug,
+-[ --enable-debug Enable debug mode (default enabled)],
+-[case "${enableval}" in
+- yes) debug=true ;;
+- no) debug=false ;;
+- *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+-esac],[debug=true])
+-if test "$debug" = "true"
+-then
+- CFLAGS="${CFLAGS} -DDEBUG -g -O1"
+- CXXFLAGS="${CXXFLAGS} -DDEBUG -g -O1"
+-else
+- CFLAGS="${CFLAGS} -O3"
+- CXXFLAGS="${CXXFLAGS} -O3"
+-fi
+
+ dnl 'all-static' marco copied from subversion's configure.ac
+ dnl Check for --enable-all-static option
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -10,7 +10,7 @@
+
+ EXTRA_DIST = reconf configure README install_galaxy_files.sh
+
+-SUBDIRS = m4 src doc galaxy scripts build_scripts
++SUBDIRS = src doc galaxy scripts build_scripts
+
+ ACLOCAL_AMFLAGS = -I m4
+
diff --git a/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-gcc7.patch b/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-gcc7.patch
new file mode 100644
index 000000000000..e47717785517
--- /dev/null
+++ b/sci-biology/fastx_toolkit/files/fastx_toolkit-0.0.14-gcc7.patch
@@ -0,0 +1,10 @@
+--- a/src/fasta_formatter/fasta_formatter.cpp
++++ b/src/fasta_formatter/fasta_formatter.cpp
+@@ -103,6 +103,7 @@
+ switch(opt) {
+ case 'h':
+ usage();
++ exit(EXIT_SUCCESS);
+
+ case 'i':
+ input_filename = optarg;
diff --git a/sci-biology/fastx_toolkit/metadata.xml b/sci-biology/fastx_toolkit/metadata.xml
new file mode 100644
index 000000000000..b201c2cfeade
--- /dev/null
+++ b/sci-biology/fastx_toolkit/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/foldingathome/Manifest b/sci-biology/foldingathome/Manifest
new file mode 100644
index 000000000000..cfd020a01a88
--- /dev/null
+++ b/sci-biology/foldingathome/Manifest
@@ -0,0 +1,2 @@
+DIST fahclient_7.6.13-64bit-release.tar.bz2 3951134 BLAKE2B 2748b7c1987d166bdda08caf5ff2f331523ff519e24768cd7e111c6d3a93f54c10c88d8adbf733230b6c51547360135dbcb272e5d43fd06d01918481601382a1 SHA512 f39f2990d78d075e1061ceaff9453b703a000770a3422965b7b8a91d1814f8804837628d8a34be5afd914228ef787f699f2488523baad295a8d9c1e3bb4f35cf
+DIST fahclient_7.6.21-64bit-release.tar.bz2 4081015 BLAKE2B b47f99bb2c568ee78dfb8998f6faa6c19aa78492a7882d128917596fa51ca7fb9f02dc0a822b6859ee4b333812f961cbcba504b9b188a3a16e7c5c9489cbfbdb SHA512 b52d97c0169eea8686ac3e52a713bb8513ae2b33a853fbf88a0311569aee22681e9ac87bcc01acdaf31d5af5c3641bd5611d34fcbdbb6c1f0ebbb3fc1efeabdb
diff --git a/sci-biology/foldingathome/files/7.3/folding-conf.d b/sci-biology/foldingathome/files/7.3/folding-conf.d
new file mode 100644
index 000000000000..b4e0448226a6
--- /dev/null
+++ b/sci-biology/foldingathome/files/7.3/folding-conf.d
@@ -0,0 +1,10 @@
+# Config file for /etc/init.d/foldingathome
+#
+# The f@h client configuration can be found in /opt/foldingathome/config.xml
+# Run /opt/foldingathome/initfolding to reconfigure that.
+#
+# The options that may be passed to the Folding client can be obtained
+# by running /opt/foldingathome/FAHClient --help
+#
+FOLD_OPTS=""
+PIDFILE=/run/folding
diff --git a/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild b/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild
new file mode 100644
index 000000000000..da7afcc45f70
--- /dev/null
+++ b/sci-biology/foldingathome/foldingathome-7.6.13-r1.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit systemd
+
+DESCRIPTION="Folding@Home is a distributed computing project for protein folding"
+HOMEPAGE="https://foldingathome.org/"
+SRC_URI="https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v$(ver_cut 1-2)/fahclient_${PV}-64bit-release.tar.bz2"
+S="${WORKDIR}/fahclient_${PV}-64bit-release"
+
+LICENSE="FAH-EULA-2014 FAH-special-permission"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror bindist strip"
+
+# Expressly listing all deps, as this is a binpkg and it is doubtful whether
+# i.e. uclibc or clang can provide what is necessary at runtime
+DEPEND="dev-util/patchelf"
+RDEPEND="
+ acct-group/foldingathome
+ acct-group/video
+ acct-user/foldingathome
+ app-arch/bzip2
+ || (
+ dev-libs/openssl-compat:1.0.0
+ =dev-libs/openssl-1.0*:*
+ )
+ sys-devel/gcc
+ sys-libs/glibc
+ virtual/zlib:=
+"
+
+QA_PREBUILT="opt/foldingathome/*"
+
+pkg_setup() {
+ elog ""
+ elog "Special permission is hereby granted to the Gentoo project to provide an"
+ elog "automated installer package which downloads and installs the Folding@home client"
+ elog "software. Permission is also granted for future Gentoo installer packages on the"
+ elog "condition that they continue to adhere to all of the terms of the accompanying"
+ elog "Folding@home license agreements and display this notice."
+ elog "-- Vijay S. Pande, Stanford University, 07 May 2013"
+ elog ""
+ elog "(ref: http://foldingforum.org/viewtopic.php?f=16&t=22524&p=241992#p241992 )"
+ elog ""
+}
+
+src_install() {
+ patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHClient || die
+ patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHCoreWrapper || die
+
+ dosym "../../usr/$(get_libdir)/libssl.so.1.0.0" /opt/foldingathome/libssl.so.10
+ dosym "../../usr/$(get_libdir)/libcrypto.so.1.0.0" /opt/foldingathome/libcrypto.so.10
+
+ exeinto /opt/foldingathome
+ doexe {FAHClient,FAHCoreWrapper}
+
+ insinto /opt/foldingathome
+ doins sample-config.xml
+
+ newconfd "${FILESDIR}"/7.3/folding-conf.d foldingathome
+ cat <<EOF >"${T}"/fah-init
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+start_stop_daemon_args="--chdir \"${EPREFIX}/opt/foldingathome\""
+command="${EPREFIX}/opt/foldingathome/FAHClient"
+command_args="\${FOLD_OPTS}"
+command_user=foldingathome
+command_background=1
+pidfile="\${PIDFILE}"
+EOF
+ newinitd "${T}"/fah-init foldingathome
+
+ cat <<EOF >"${T}"/fah-init.service
+[Unit]
+Description=Folding@Home V7 Client
+Documentation=https://foldingathome.org
+
+[Service]
+Type=simple
+User=foldingathome
+Group=foldingathome
+Nice=19
+WorkingDirectory=${EPREFIX}/opt/foldingathome
+ExecStart=${EPREFIX}/opt/foldingathome/FAHClient --fork=false --pid=false --respawn=false --service=false
+NoNewPrivileges=yes
+PrivateTmp=yes
+ProtectControlGroups=yes
+ProtectSystem=full
+RestrictRealtime=true
+ProtectControlGroups=yes
+
+[Install]
+WantedBy=multi-user.target
+EOF
+ systemd_newunit "${T}"/fah-init.service foldingathome.service
+
+ fowners -R foldingathome:foldingathome /opt/foldingathome
+}
+
+pkg_postinst() {
+ elog "To run Folding@home in the background at boot:"
+ elog "(openrc)\trc-update add foldingathome default"
+ elog "(systemd)\tsystemctl enable foldingathome"
+ elog ""
+ if [ ! -e "${EPREFIX}"/opt/foldingathome/config.xml ]; then
+ elog "No config.xml file found -- please run"
+ elog "emerge --config ${P} to configure your client, or specify"
+ elog "all necessary runtime options in FOLD_OPTS within"
+ elog "${EPREFIX}/etc/conf.d/foldingathome"
+ elog ""
+ fi
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ elog "NOTE, the 'initfolding' helper script has been dropped, please"
+ elog "use emerge --config ${P} or run FAHClient --configure directly"
+ elog "and adjust file permissions and ownership yourself"
+ elog ""
+ fi
+ elog "Please see ${EPREFIX}/opt/foldingathome/FAHClient --help for more details."
+ einfo ""
+ einfo "The original package maintainer encourages you to acquire a username and join team 36480."
+ einfo "http://folding.stanford.edu/English/Download#ntoc2"
+ einfo ""
+}
+
+pkg_postrm() {
+ elog "Folding@home data files were not removed."
+ elog "Remove them manually from ${EPREFIX}/opt/foldingathome"
+}
+
+pkg_config() {
+ cd "${EPREFIX}"/opt/foldingathome || die
+ su foldingathome -s /bin/sh -c "./FAHClient --configure"
+}
diff --git a/sci-biology/foldingathome/foldingathome-7.6.21.ebuild b/sci-biology/foldingathome/foldingathome-7.6.21.ebuild
new file mode 100644
index 000000000000..8d312ae14720
--- /dev/null
+++ b/sci-biology/foldingathome/foldingathome-7.6.21.ebuild
@@ -0,0 +1,138 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit systemd
+
+DESCRIPTION="Folding@Home is a distributed computing project for protein folding"
+HOMEPAGE="https://foldingathome.org/"
+SRC_URI="https://download.foldingathome.org/releases/public/release/fahclient/centos-6.7-64bit/v$(ver_cut 1-2)/fahclient_${PV}-64bit-release.tar.bz2"
+S="${WORKDIR}/fahclient_${PV}-64bit-release"
+
+LICENSE="FAH-EULA-2014 FAH-special-permission"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="mirror bindist strip"
+
+# Expressly listing all deps, as this is a binpkg and it is doubtful whether
+# i.e. uclibc or clang can provide what is necessary at runtime
+DEPEND="dev-util/patchelf"
+RDEPEND="
+ acct-group/foldingathome
+ acct-group/video
+ acct-user/foldingathome
+ app-arch/bzip2
+ || (
+ dev-libs/openssl-compat:1.0.0
+ =dev-libs/openssl-1.0*:*
+ )
+ sys-devel/gcc
+ sys-libs/glibc
+ virtual/zlib:=
+"
+
+QA_PREBUILT="opt/foldingathome/*"
+
+pkg_setup() {
+ elog ""
+ elog "Special permission is hereby granted to the Gentoo project to provide an"
+ elog "automated installer package which downloads and installs the Folding@home client"
+ elog "software. Permission is also granted for future Gentoo installer packages on the"
+ elog "condition that they continue to adhere to all of the terms of the accompanying"
+ elog "Folding@home license agreements and display this notice."
+ elog "-- Vijay S. Pande, Stanford University, 07 May 2013"
+ elog ""
+ elog "(ref: http://foldingforum.org/viewtopic.php?f=16&t=22524&p=241992#p241992 )"
+ elog ""
+}
+
+src_install() {
+ patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHClient || die
+ patchelf --set-rpath "${EPREFIX}/opt/foldingathome" FAHCoreWrapper || die
+
+ dosym "../../usr/$(get_libdir)/libssl.so.1.0.0" /opt/foldingathome/libssl.so.10
+ dosym "../../usr/$(get_libdir)/libcrypto.so.1.0.0" /opt/foldingathome/libcrypto.so.10
+
+ exeinto /opt/foldingathome
+ doexe {FAHClient,FAHCoreWrapper}
+
+ insinto /opt/foldingathome
+ doins sample-config.xml
+
+ newconfd "${FILESDIR}"/7.3/folding-conf.d foldingathome
+ cat <<EOF >"${T}"/fah-init || die
+#!/sbin/openrc-run
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+start_stop_daemon_args="--chdir \"${EPREFIX}/opt/foldingathome\""
+command="${EPREFIX}/opt/foldingathome/FAHClient"
+command_args="\${FOLD_OPTS}"
+command_user=foldingathome
+command_background=1
+pidfile="\${PIDFILE}"
+EOF
+ newinitd "${T}"/fah-init foldingathome
+
+ cat <<EOF >"${T}"/fah-init.service || die
+[Unit]
+Description=Folding@Home V7 Client
+Documentation=https://foldingathome.org
+
+[Service]
+Type=simple
+User=foldingathome
+Group=foldingathome
+Nice=19
+WorkingDirectory=${EPREFIX}/opt/foldingathome
+ExecStart=${EPREFIX}/opt/foldingathome/FAHClient --fork=false --pid=false --respawn=false --service=false
+NoNewPrivileges=yes
+PrivateTmp=yes
+ProtectControlGroups=yes
+ProtectSystem=full
+RestrictRealtime=true
+ProtectControlGroups=yes
+
+[Install]
+WantedBy=multi-user.target
+EOF
+ systemd_newunit "${T}"/fah-init.service foldingathome.service
+
+ fowners -R foldingathome:foldingathome /opt/foldingathome
+}
+
+pkg_postinst() {
+ elog "To run Folding@home in the background at boot:"
+ elog "(openrc)\trc-update add foldingathome default"
+ elog "(systemd)\tsystemctl enable foldingathome"
+ elog ""
+ if [ ! -e "${EPREFIX}"/opt/foldingathome/config.xml ]; then
+ elog "No config.xml file found -- please run"
+ elog "emerge --config ${P} to configure your client, or specify"
+ elog "all necessary runtime options in FOLD_OPTS within"
+ elog "${EPREFIX}/etc/conf.d/foldingathome"
+ elog ""
+ fi
+ if [[ -n ${REPLACING_VERSIONS} ]]; then
+ elog "NOTE, the 'initfolding' helper script has been dropped, please"
+ elog "use emerge --config ${P} or run FAHClient --configure directly"
+ elog "and adjust file permissions and ownership yourself"
+ elog ""
+ fi
+ elog "Please see ${EPREFIX}/opt/foldingathome/FAHClient --help for more details."
+ einfo ""
+ einfo "The original package maintainer encourages you to acquire a username and join team 36480."
+ einfo "http://folding.stanford.edu/English/Download#ntoc2"
+ einfo ""
+}
+
+pkg_postrm() {
+ elog "Folding@home data files were not removed."
+ elog "Remove them manually from ${EPREFIX}/opt/foldingathome"
+}
+
+pkg_config() {
+ cd "${EPREFIX}"/opt/foldingathome || die
+ su foldingathome -s /bin/sh -c "./FAHClient --configure" || die
+}
diff --git a/sci-biology/foldingathome/metadata.xml b/sci-biology/foldingathome/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/foldingathome/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/glimmer/Manifest b/sci-biology/glimmer/Manifest
new file mode 100644
index 000000000000..aa2a22056a4f
--- /dev/null
+++ b/sci-biology/glimmer/Manifest
@@ -0,0 +1 @@
+DIST glimmer302b.tar.gz 5637975 BLAKE2B 76c0b19fe08e9ece3e930fe3e53444a2b620e565ac3c83db484294627403e34c3ab77165e4b82176282df340fe47672bf28e5694edbcea9e17a57b61a502ae11 SHA512 00d44a02a8099ceac4b4d2a1cd5d69cc2b787942bb87f612cd63edacf7e502bc9a65cdf9b9270ad789981a84c940cc01e187882d21d2c9de4dcc12b492b041a6
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch b/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch
new file mode 100644
index 000000000000..91498b116d12
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-jobserver-fix.patch
@@ -0,0 +1,22 @@
+diff -ru glimmer3.02-orig/src/Makefile glimmer3.02/src/Makefile
+--- glimmer3.02-orig/src/Makefile 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Makefile 2010-03-18 14:30:15.000000000 +0100
+@@ -2,12 +2,12 @@
+
+
+ all:
+- @ TGT=objs
+- @ $(dosubdirs)
+- @ TGT=libs
+- @ $(dosubdirs)
+- @ TGT=progs
+- @ $(dosubdirs)
++ @+ TGT=objs
++ @+ $(dosubdirs)
++ @+ TGT=libs
++ @+ $(dosubdirs)
++ @+ TGT=progs
++ @+ $(dosubdirs)
+
+
+ install: all
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch b/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch
new file mode 100644
index 000000000000..dc41ef00de7e
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-ldflags.patch
@@ -0,0 +1,92 @@
+--- a/src/c_make.gen
++++ b/src/c_make.gen
+@@ -200,45 +200,11 @@
+ #### Do not redefine if (a) passed in on command line, or (b)
+ #### defined in an environment variable.
+
+-ifneq "$(origin CC)" "environment"
+-CC = cc
+-endif
+-
+-ifneq "$(origin CPPFLAGS)" "environment"
+-CPPFLAGS=
+-endif
+-
+-ifneq "$(origin CFLAGS)" "environment"
+-CFLAGS =
+-endif
+-
+-ifneq "$(origin CDEFS)" "environment"
+-CDEFS =
+-endif
+-
+-ifneq "$(origin CXX)" "environment"
+-CXX = g++
+-endif
+-
+-ifneq "$(origin CXXFLAGS)" "environment"
+-CXXFLAGS=
+-endif
+-
+-ifneq "$(origin CXXDEFS)" "environment"
+-CXXDEFS= -D__cplusplus
+-endif
+-
+-ifneq "$(origin AR)" "environment"
+-AR = ar
+-endif
+-
+-ifneq "$(origin ARFLAGS)" "environment"
+-ARFLAGS = rvs
+-endif
+-
+-ifneq "$(origin LDFLAGS)" "environment"
+-LDFLAGS =
+-endif
++CC ?= cc
++CXX ?= g++
++CXXFLAGS ?=
++AR ?= ar
++ARFLAGS ?= rvs
+
+ #### Delete default suffix rules
+ .SUFFIXES:
+@@ -359,13 +325,13 @@
+ cd $(LOCAL_OBJ); \
+ if $(CC) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ else \
+ cd $(LOCAL_OBJ); \
+ if $(CXX) -o $(LOCAL_BIN)/$(notdir $@) $(LDFLAGS) \
+ $(LD_DIRS) $(filter-out lib%.a, $+) \
+- $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) ; then \
++ $(patsubst lib%.a, -l%, $(filter lib%.a, $+)) $(LIBS) ; then \
+ true; else rm -f $(LOCAL_BIN)/$(notdir $@); fi; \
+ fi ;
+
+--- a/src/c_make.glm
++++ b/src/c_make.glm
+@@ -8,18 +8,14 @@
+
+ SUBDIRS = Common ICM Glimmer Util
+
+-CFLAGS = -g -Wall
+-CXXFLAGS = -g -Wall
+-
+-LDFLAGS = -g -lm
++LIBS = -lm
+
+
+ #AS_BUILD_DIR =$(LOCAL_WORK)
+ INC_IMPORT_DIRS += \
+ $(patsubst %, $(LOCAL_WORK)/src/%, $(strip $(SUBDIRS))) \
+ $(LOCAL_WORK)/inc
+-LIB_IMPORT_DIRS += $(LOCAL_WORK)/lib /usr/lib /usr/shlib /usr/X11R6/lib \
+- $(SYBASE)/lib
++LIB_IMPORT_DIRS += $(LOCAL_WORK)/lib
+
+ OBJ_SEARCH_PATH = $(LOCAL_WORK)/obj
+
diff --git a/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch b/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch
new file mode 100644
index 000000000000..6eebc5610414
--- /dev/null
+++ b/sci-biology/glimmer/files/glimmer-3.02b-rename_extract.patch
@@ -0,0 +1,196 @@
+diff -r -u glimmer3.02.old/docs/notes.tex glimmer3.02/docs/notes.tex
+--- glimmer3.02.old/docs/notes.tex 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/docs/notes.tex 2015-05-25 22:41:39.450340098 +0200
+@@ -306,7 +306,7 @@
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+ long-orfs -n -t 1.15 genom.seq run1.longorfs
+- extract -t genom.seq run1.longorfs > run1.train
++ glimmer_extract -t genom.seq run1.longorfs > run1.train
+ build-icm -r run1.icm < run1.train
+ glimmer3 -o50 -g110 -t30 genom.seq run1.icm run1
+ \end{verbatim}\ESV
+@@ -330,9 +330,9 @@
+ \end{verbatim}\ESV
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+- extract -t genom.seq train.coords > run2.train
++ glimmer_extract -t genom.seq train.coords > run2.train
+ build-icm -r run2.icm < run2.train
+- upstream-coords.awk 25 0 train.coords | extract genom.seq - > run2.upstream
++ upstream-coords.awk 25 0 train.coords | glimmer_extract genom.seq - > run2.upstream
+ elph run2.upstream LEN=6 | get-motif-counts.awk > run2.motif
+ set startuse = `start-codon-distrib -3 genom.seq train.coords`
+ glimmer3 -o50 -g110 -t30 -b run2.motif -P $startuse genom.seq run2.icm run2
+@@ -358,11 +358,11 @@
+ The script would then run the commands:
+ \BSV\begin{verbatim}
+ long-orfs -n -t 1.15 genom.seq run3.longorfs
+- extract -t genom.seq run3.longorfs > run3.train
++ glimmer_extract -t genom.seq run3.longorfs > run3.train
+ build-icm -r run3.icm < run3.train
+ glimmer3 -o50 -g110 -t30 genom.seq run3.icm run3.run1
+ tail +2 run3.run1.predict > run3.coords
+- upstream-coords.awk 25 0 run3.coords | extract genom.seq - > run3.upstream
++ upstream-coords.awk 25 0 run3.coords | glimmer_extract genom.seq - > run3.upstream
+ elph run3.upstream LEN=6 | get-motif-counts.awk > run3.motif
+ set startuse = `start-codon-distrib -3 genom.seq run3.coords`
+ glimmer3 -o50 -g110 -t30 -b run3.motif -P $startuse genom.seq run3.icm run3
+@@ -1081,12 +1081,12 @@
+ \Pg{entropy-score}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
+ \eq
+
+-\subsubsection{\Pg{extract} Program}
++\subsubsection{\Pg{glimmer_extract} Program}
+ This program reads a genome sequence and a list of coordinates
+ for it and outputs a multi-fasta file of the regions specified
+ by the coordinates. Output goes to standard output.
+ \bq
+- \Pg{extract}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
++ \Pg{glimmer_extract}\, [\Desc{options}] \Desc{sequence} \Desc{coords}
+ \eq
+
+ \subsubsection{\Pg{multi-extract} Program}
+diff -r -u glimmer3.02.old/sample-run/g3-from-scratch.csh glimmer3.02/sample-run/g3-from-scratch.csh
+--- glimmer3.02.old/sample-run/g3-from-scratch.csh 2006-06-12 21:46:35.000000000 +0200
++++ glimmer3.02/sample-run/g3-from-scratch.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -50,7 +50,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+diff -r -u glimmer3.02.old/sample-run/g3-from-training.csh glimmer3.02/sample-run/g3-from-training.csh
+--- glimmer3.02.old/sample-run/g3-from-training.csh 2006-06-12 21:46:35.000000000 +0200
++++ glimmer3.02/sample-run/g3-from-training.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -42,7 +42,7 @@
+ step1:
+ # Extract the training sequences from the genome file
+ echo "Step 1 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $coords > $tag.train
++$glimmerpath/glimmer_extract -t $genome $coords > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -66,7 +66,7 @@
+ # upstream of the start locations in $coords
+ echo "Step 3 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/sample-run/g3-iterated.csh glimmer3.02/sample-run/g3-iterated.csh
+--- glimmer3.02.old/sample-run/g3-iterated.csh 2006-06-13 14:15:28.000000000 +0200
++++ glimmer3.02/sample-run/g3-iterated.csh 2015-05-25 22:40:18.450338748 +0200
+@@ -57,7 +57,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -103,7 +103,7 @@
+ # upstream of the start locations in $tag.coords
+ echo "Step 6 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $tag.coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/scripts/g3-from-scratch.csh glimmer3.02/scripts/g3-from-scratch.csh
+--- glimmer3.02.old/scripts/g3-from-scratch.csh 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/scripts/g3-from-scratch.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -50,7 +50,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+diff -r -u glimmer3.02.old/scripts/g3-from-training.csh glimmer3.02/scripts/g3-from-training.csh
+--- glimmer3.02.old/scripts/g3-from-training.csh 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/scripts/g3-from-training.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -42,7 +42,7 @@
+ step1:
+ # Extract the training sequences from the genome file
+ echo "Step 1 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $coords > $tag.train
++$glimmerpath/glimmer_extract -t $genome $coords > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -66,7 +66,7 @@
+ # upstream of the start locations in $coords
+ echo "Step 3 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/scripts/g3-iterated.csh glimmer3.02/scripts/g3-iterated.csh
+--- glimmer3.02.old/scripts/g3-iterated.csh 2006-06-13 14:15:46.000000000 +0200
++++ glimmer3.02/scripts/g3-iterated.csh 2015-05-25 22:44:44.190343177 +0200
+@@ -57,7 +57,7 @@
+ step2:
+ # Extract the training sequences from the genome file
+ echo "Step 2 of ${numsteps}: Extracting training sequences"
+-$glimmerpath/extract -t $genome $tag.longorfs > $tag.train
++$glimmerpath/glimmer_extract -t $genome $tag.longorfs > $tag.train
+ if ($status != 0) then
+ echo "Failed to extract training sequences"
+ exit
+@@ -103,7 +103,7 @@
+ # upstream of the start locations in $tag.coords
+ echo "Step 6 of ${numsteps}: Making PWM from upstream regions"
+ $awkpath/upstream-coords.awk 25 0 $tag.coords \
+- | $glimmerpath/extract $genome - > $tag.upstream
++ | $glimmerpath/glimmer_extract $genome - > $tag.upstream
+ $elphbin $tag.upstream LEN=6 | $awkpath/get-motif-counts.awk > $tag.motif
+ if ($status != 0) then
+ echo "Failed to create PWM"
+diff -r -u glimmer3.02.old/src/Util/Makefile glimmer3.02/src/Util/Makefile
+--- glimmer3.02.old/src/Util/Makefile 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Util/Makefile 2015-05-25 22:43:12.760341653 +0200
+@@ -8,7 +8,7 @@
+ SOURCES = $(UTIL_SRCS)
+ OBJECTS = $(UTIL_OBJS)
+
+-PROGS = entropy-profile entropy-score extract multi-extract start-codon-distrib \
++PROGS = entropy-profile entropy-score glimmer_extract multi-extract start-codon-distrib \
+ uncovered window-acgt
+
+ LIBRARIES =
+diff -r -u glimmer3.02.old/src/Util/extract.cc glimmer3.02/src/Util/extract.cc
+--- glimmer3.02.old/src/Util/extract.cc 2006-06-12 21:40:14.000000000 +0200
++++ glimmer3.02/src/Util/extract.cc 2015-05-25 22:44:01.760342470 +0200
+@@ -297,7 +297,7 @@
+
+ {
+ fprintf (stderr,
+- "USAGE: extract [options] <sequence-file> <coords>\n"
++ "USAGE: glimmer_extract [options] <sequence-file> <coords>\n"
+ "\n"
+ "Read fasta-format <sequence-file> and extract from it the\n"
+ "subsequences specified by <coords>. By default, <coords>\n"
+--- glimmer3.02.old/src/Util/Makefile 2015-05-25 22:43:12.760341653 +0200
++++ glimmer-3.02-r3/work/glimmer3.02/src/Util/Makefile 2015-05-25 23:13:34.230372010 +0200
+@@ -21,7 +21,7 @@
+
+ entropy-score: entropy-score.o libGLMcommon.a
+
+-extract: extract.o libGLMcommon.a
++glimmer_extract: extract.o libGLMcommon.a
+
+ multi-extract: multi-extract.o libGLMcommon.a
+
diff --git a/sci-biology/glimmer/glimmer-3.02b.ebuild b/sci-biology/glimmer/glimmer-3.02b.ebuild
new file mode 100644
index 000000000000..35bea17dd8ab
--- /dev/null
+++ b/sci-biology/glimmer/glimmer-3.02b.ebuild
@@ -0,0 +1,65 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_PV=${PV//./}
+
+DESCRIPTION="An HMM-based microbial gene finding system from TIGR"
+HOMEPAGE="https://ccb.jhu.edu/software/glimmer/index.shtml"
+SRC_URI="https://ccb.jhu.edu/software/${PN}/${PN}${MY_PV}.tar.gz"
+S="${WORKDIR}/${PN}3.02"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ app-shells/tcsh
+ sci-biology/elph"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-jobserver-fix.patch
+ "${FILESDIR}"/${P}-ldflags.patch
+ "${FILESDIR}"/${P}-rename_extract.patch
+)
+
+src_prepare() {
+ sed -i -e 's|\(set awkpath =\).*|\1 /usr/share/'${PN}'/scripts|' \
+ -e 's|\(set glimmerpath =\).*|\1 /usr/bin|' scripts/* || die "failed to rewrite paths"
+ # Fix Makefile to die on failure
+ sed -i 's/$(MAKE) $(TGT)/$(MAKE) $(TGT) || exit 1/' src/c_make.gen || die
+ # GCC 4.3 include fix
+ sed -i 's/include <string>/include <string.h>/' src/Common/delcher.hh || die
+ #
+ sed -i "s:/fs/szgenefinding/Glimmer3/bin:%${EPREFIX}/usr/bin/glimmer3:" scripts/g3-* || die
+ sed -i "s:/fs/szgenefinding/Glimmer3/scripts:%${EPREFIX}/usr/share/glimmer/scripts:" scripts/g3-* || die
+ sed -i "s:/nfshomes/adelcher/bin/elph:%${EPREFIX}/usr/bin/elph:" scripts/g3-* || die
+ sed -i "s/@ if/if/" src/c_make.gen || die
+
+ # avoid file collision on /usr/bin/extract #247394
+ default
+}
+
+src_compile() {
+ emake \
+ -C src \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ AR="$(tc-getAR)" \
+ CXXFLAGS="${CXXFLAGS}" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ rm bin/test || die
+ dobin bin/*
+
+ insinto /usr/share/glimmer
+ doins -r scripts
+
+ dodoc glim302notes.pdf
+}
diff --git a/sci-biology/glimmer/metadata.xml b/sci-biology/glimmer/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/glimmer/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/glimmerhmm/Manifest b/sci-biology/glimmerhmm/Manifest
new file mode 100644
index 000000000000..20a57a2ca4b6
--- /dev/null
+++ b/sci-biology/glimmerhmm/Manifest
@@ -0,0 +1,2 @@
+DIST GlimmerHMM-3.0.1.tar.gz 45475952 BLAKE2B 355f4e9f26c31167e0935de8012fa99a243838d0dd47e0e46ae4cb1df4eaf188a13fb365025bc4be82805c89f36f534a9907030515f96b9422340e9e966f4ea6 SHA512 15307d1982527bd83433882552cd3e12c76a65a2a119b6911a748dc801f80b1fc5732cb769a52e5c6281bdd48cf619a02edbd1b96ee40319fc620a3a7cdd82b7
+DIST GlimmerHMM-3.0.4.tar.gz 45692137 BLAKE2B e271ea506e77d0038e343030be1875de0c92265ac2808cf35b7ba872a2d2f9416d645cd373f2ba6816f8352b4367a3a7c878c4dea772fcadf8954aabd91fca64 SHA512 e10d89550c938faf4b1e2a259213ad88a7443b7597cf753c7041698ac78d468f4ed93e0f7736640cd2fe97abe227d54eb7feca1fe7450d72f83896a94ef7a70b
diff --git a/sci-biology/glimmerhmm/files/0001-fix-ridiculous-ODR-violation.patch b/sci-biology/glimmerhmm/files/0001-fix-ridiculous-ODR-violation.patch
new file mode 100644
index 000000000000..58fa92819b59
--- /dev/null
+++ b/sci-biology/glimmerhmm/files/0001-fix-ridiculous-ODR-violation.patch
@@ -0,0 +1,27 @@
+From 282b1a113e002d8b90dedb6a5b6a6dc35e7310d1 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Tue, 12 Mar 2024 01:45:16 -0400
+Subject: [PATCH] fix ridiculous ODR violation
+
+The return value of a function defined in another file is whatever that
+file defines, not "void because we didn't assign it to anything".
+---
+ sources/oc1.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/sources/oc1.h b/sources/oc1.h
+index 7b068c8..e28017d 100644
+--- a/sources/oc1.h
++++ b/sources/oc1.h
+@@ -49,7 +49,7 @@ struct tree_node
+ EDGE edge; /* used only in the display module. */
+ };
+
+-void error(char *);
++int error(char *);
+ void free_ivector(int *,int,int);
+ void free_vector(float *,int,int);
+ void free_dvector(double*,int,float);
+--
+2.43.2
+
diff --git a/sci-biology/glimmerhmm/files/3.0.1-gentoo.patch b/sci-biology/glimmerhmm/files/3.0.1-gentoo.patch
new file mode 100644
index 000000000000..949a4fe3e92d
--- /dev/null
+++ b/sci-biology/glimmerhmm/files/3.0.1-gentoo.patch
@@ -0,0 +1,153 @@
+ sources/makefile | 15 +++++--------
+ train/makefile | 59 +++++++++++++++++++++++++++++++----------------------
+ 2 files changed, 40 insertions(+), 34 deletions(-)
+
+diff --git a/sources/makefile b/sources/makefile
+index f287d71..c560f48 100644
+--- a/sources/makefile
++++ b/sources/makefile
+@@ -2,25 +2,22 @@
+
+
+
+-CC=g++
+-CFLAGS=-g
+-
+ all: glimmerhmm
+
+ glimmerhmm: glimmerhmm.o graph.o sites.o tree_util_prob.o util.o
+- $(CC) $(CFLAGS) -o glimmerhmm glimmerhmm.o graph.o sites.o tree_util_prob.o util.o -lm
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o glimmerhmm glimmerhmm.o graph.o sites.o tree_util_prob.o util.o -lm
+
+ glimmerhmm.o: glimmerhmm.c
+- $(CC) $(CFLAGS) -c glimmerhmm.c
++ $(CXX) $(CXXFLAGS) -c glimmerhmm.c
+
+ graph.o: graph.c
+- $(CC) $(CFLAGS) -c graph.c
++ $(CXX) $(CXXFLAGS) -c graph.c
+
+ sites.o: sites.c
+- $(CC) $(CFLAGS) -c sites.c
++ $(CXX) $(CXXFLAGS) -c sites.c
+
+ tree_util_prob.o: tree_util_prob.c
+- $(CC) $(CFLAGS) -c tree_util_prob.c
++ $(CXX) $(CXXFLAGS) -c tree_util_prob.c
+
+ util.o: util.c
+- $(CC) $(CFLAGS) -c util.c
++ $(CXX) $(CXXFLAGS) -c util.c
+diff --git a/train/makefile b/train/makefile
+index 2383f18..d5a7107 100644
+--- a/train/makefile
++++ b/train/makefile
+@@ -2,9 +2,6 @@
+
+ # C compiler
+
+-C = gcc
+-CC = g++
+-CFLAGS = -O1 ${SEARCHDIRS}
+ #CFLAGS = -O3 -g -Wall
+ LIBS = -lm
+
+@@ -15,64 +12,76 @@ all: build-icm build-icm-noframe build1 build2 falsecomp findsites karlin sco
+
+
+ misc.o: misc.c
+- ${C} ${CFLAGS} -c misc.c
++ $(CC) $(CFLAGS) -c misc.c
+
+ build-icm.o: build-icm.c
+- ${C} ${CFLAGS} -c build-icm.c
++ $(CC) $(CFLAGS) -c build-icm.c
+
+ build-icm: build-icm.o misc.o
+- $(C) -o $@ build-icm.o misc.o $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build-icm.o misc.o $(LIBS)
+
+ build-icm-noframe.o: build-icm-noframe.c
+- ${C} ${CFLAGS} -c build-icm-noframe.c
++ $(CC) $(CFLAGS) -c build-icm-noframe.c
+
+ build-icm-noframe: build-icm-noframe.o misc.o
+- $(C) -o $@ build-icm-noframe.o misc.o $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build-icm-noframe.o misc.o $(LIBS)
+
+ build1: build1.o
+- ${CC} build1.c -o build1 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) build1.c -o build1 $(LIBS)
+
+ build2: build2.o
+- ${CC} build2.c -o build2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) build2.c -o build2 $(LIBS)
+
+ falsecomp: falsecomp.o
+- ${CC} falsecomp.c -o falsecomp $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) falsecomp.c -o falsecomp $(LIBS)
+
+ findsites: findsites.o
+- ${CC} findsites.c -o findsites $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) findsites.c -o findsites $(LIBS)
+
+ karlin: karlin.o
+- ${CC} karlin.c -o karlin $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) karlin.c -o karlin $(LIBS)
+
+ score: score.o
+- ${CC} score.c -o score $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) score.c -o score $(LIBS)
+
+ score2: score2.o
+- ${CC} score2.c -o score2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) score2.c -o score2 $(LIBS)
+
+ scoreATG: scoreATG.o
+- ${CC} scoreATG.c -o scoreATG $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreATG.c -o scoreATG $(LIBS)
+
+ scoreATG2: scoreATG2.o
+- ${CC} scoreATG2.c -o scoreATG2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreATG2.c -o scoreATG2 $(LIBS)
+
+ scoreSTOP: scoreSTOP.o
+- ${CC} scoreSTOP.c -o scoreSTOP $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreSTOP.c -o scoreSTOP $(LIBS)
+
+ escoreSTOP2: scoreSTOP2.o
+- ${CC} scoreSTOP2.c -o scoreSTOP2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreSTOP2.c -o scoreSTOP2 $(LIBS)
+
+-rfapp: erfapp.o
+- ${CC} erfapp.c -o erfapp $(LIBS)
++erfapp: erfapp.o
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) erfapp.c -o erfapp $(LIBS)
+
+ sites.o: sites.c
+- ${CC} ${CFLAGS} -c sites.c
++ $(CXX) $(CXXFLAGS) -c sites.c
++
++scoreATG.o: scoreATG.c
++ $(CXX) $(CXXFLAGS) -c scoreATG.c
++
++scoreSTOP.o: scoreSTOP.c
++ $(CXX) $(CXXFLAGS) -c scoreSTOP.c
++
++scoreSTOP2.o: scoreSTOP2.c
++ $(CXX) $(CXXFLAGS) -c scoreSTOP2.c
++
++scoreATG2.o: scoreATG2.c
++ $(CXX) $(CXXFLAGS) -c scoreATG2.c
+
+ utils.o: utils.c
+- ${CC} ${CFLAGS} -c utils.c
++ $(CXX) $(CXXFLAGS) -c utils.c
+
+ splicescore.o: splicescore.c
+- ${CC} ${CFLAGS} -c splicescore.c
++ $(CXX) $(CXXFLAGS) -c splicescore.c
+
+ splicescore: splicescore.o sites.o utils.o
+- ${CC} splicescore.o sites.o utils.o -o splicescore $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) splicescore.o sites.o utils.o -o splicescore $(LIBS)
diff --git a/sci-biology/glimmerhmm/files/3.0.4-gentoo.patch b/sci-biology/glimmerhmm/files/3.0.4-gentoo.patch
new file mode 100644
index 000000000000..d3838b1dc9bc
--- /dev/null
+++ b/sci-biology/glimmerhmm/files/3.0.4-gentoo.patch
@@ -0,0 +1,153 @@
+diff --git a/sources/makefile b/sources/makefile
+index f287d71..c560f48 100644
+--- a/sources/makefile
++++ b/sources/makefile
+@@ -2,25 +2,22 @@
+
+
+
+-CC=g++
+-CFLAGS=-g
+-
+ all: glimmerhmm
+
+ glimmerhmm: glimmerhmm.o graph.o sites.o tree_util_prob.o util.o
+- $(CC) $(CFLAGS) -o glimmerhmm glimmerhmm.o graph.o sites.o tree_util_prob.o util.o -lm
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o glimmerhmm glimmerhmm.o graph.o sites.o tree_util_prob.o util.o -lm
+
+ glimmerhmm.o: glimmerhmm.c
+- $(CC) $(CFLAGS) -c glimmerhmm.c
++ $(CXX) $(CXXFLAGS) -c glimmerhmm.c
+
+ graph.o: graph.c
+- $(CC) $(CFLAGS) -c graph.c
++ $(CXX) $(CXXFLAGS) -c graph.c
+
+ sites.o: sites.c
+- $(CC) $(CFLAGS) -c sites.c
++ $(CXX) $(CXXFLAGS) -c sites.c
+
+ tree_util_prob.o: tree_util_prob.c
+- $(CC) $(CFLAGS) -c tree_util_prob.c
++ $(CXX) $(CXXFLAGS) -c tree_util_prob.c
+
+ util.o: util.c
+- $(CC) $(CFLAGS) -c util.c
++ $(CXX) $(CXXFLAGS) -c util.c
+diff --git a/train/makefile b/train/makefile
+index 56eaa13..d660cf1 100644
+--- a/train/makefile
++++ b/train/makefile
+@@ -2,11 +2,8 @@
+
+ # C compiler
+
+-C = gcc
+-CC = g++
+ #CFLAGS = -O1 ${SEARCHDIRS}
+ #CFLAGS = -O3 -g -Wall
+-CFLAGS = -Wall -g
+ LIBS = -lm
+
+ MAKEFILE= makefile
+@@ -16,67 +13,79 @@ all: build-icm build-icm-noframe build1 build2 falsecomp findsites karlin sco
+
+
+ misc.o: misc.c
+- ${C} ${CFLAGS} -c misc.c
++ $(CC) $(CFLAGS) -c misc.c
+
+ build-icm.o: build-icm.c
+- ${C} ${CFLAGS} -c build-icm.c
++ $(CC) $(CFLAGS) -c build-icm.c
+
+ build-icm: build-icm.o misc.o
+- $(C) ${CFLAGS} -o $@ build-icm.o misc.o $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build-icm.o misc.o $(LIBS)
+
+ build-icm-noframe.o: build-icm-noframe.c
+- ${C} ${CFLAGS} -c build-icm-noframe.c
++ $(CC) $(CFLAGS) -c build-icm-noframe.c
+
+ build-icm-noframe: build-icm-noframe.o misc.o
+- $(C) ${CFLAGS} -o $@ build-icm-noframe.o misc.o $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ build-icm-noframe.o misc.o $(LIBS)
+
+ build1: build1.o
+- ${CC} ${CFLAGS} build1.c -o build1 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) build1.o -o build1 $(LIBS)
+
+ build2: build2.o
+- ${CC} ${CFLAGS} build2.c -o build2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) build2.o -o build2 $(LIBS)
+
+ falsecomp: falsecomp.o
+- ${CC} ${CFLAGS} falsecomp.c -o falsecomp $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) falsecomp.o -o falsecomp $(LIBS)
+
+ findsites: findsites.o
+- ${CC} ${CFLAGS} findsites.c -o findsites $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) findsites.o -o findsites $(LIBS)
+
+ karlin: karlin.o
+- ${CC} ${CFLAGS} karlin.c -o karlin $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) karlin.o -o karlin $(LIBS)
+
+ score: score.o
+- ${CC} ${CFLAGS} score.c -o score $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) score.o -o score $(LIBS)
+
+ score2: score2.o
+- ${CC} ${CFLAGS} score2.c -o score2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) score2.o -o score2 $(LIBS)
+
+ scoreATG: scoreATG.o
+- ${CC} ${CFLAGS} scoreATG.c -o scoreATG $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreATG.o -o scoreATG $(LIBS)
+
+ scoreATG2: scoreATG2.o
+- ${CC} ${CFLAGS} scoreATG2.c -o scoreATG2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreATG2.o -o scoreATG2 $(LIBS)
+
+ scoreSTOP: scoreSTOP.o
+- ${CC} ${CFLAGS} scoreSTOP.c -o scoreSTOP $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreSTOP.o -o scoreSTOP $(LIBS)
+
+ escoreSTOP2: scoreSTOP2.o
+- ${CC} ${CFLAGS} scoreSTOP2.c -o scoreSTOP2 $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) scoreSTOP2.o -o scoreSTOP2 $(LIBS)
+
+ rfapp: erfapp.o
+- ${CC} ${CFLAGS} erfapp.c -o erfapp $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) erfapp.c -o erfapp $(LIBS)
+
+ sites.o: sites.c
+- ${CC} ${CFLAGS} -c sites.c
++ $(CXX) $(CXXFLAGS) -c sites.c
++
++scoreATG.o: scoreATG.c
++ $(CXX) $(CXXFLAGS) -c scoreATG.c
++
++scoreSTOP.o: scoreSTOP.c
++ $(CXX) $(CXXFLAGS) -c scoreSTOP.c
++
++scoreSTOP2.o: scoreSTOP2.c
++ $(CXX) $(CXXFLAGS) -c scoreSTOP2.c
++
++scoreATG2.o: scoreATG2.c
++ $(CXX) $(CXXFLAGS) -c scoreATG2.c
+
+ utils.o: utils.c
+- ${CC} ${CFLAGS} -c utils.c
++ $(CXX) $(CXXFLAGS) -c utils.c
+
+ splicescore.o: splicescore.c
+- ${CC} ${CFLAGS} -c splicescore.c
++ $(CXX) $(CXXFLAGS) -c splicescore.c
+
+ splicescore: splicescore.o sites.o utils.o
+- ${CC} splicescore.o sites.o utils.o -o splicescore $(LIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) splicescore.o sites.o utils.o -o splicescore $(LIBS)
+ .PHONY : clean
+ clean::
+ /bin/rm -f core* splicescore *.o score build? build-icm \
diff --git a/sci-biology/glimmerhmm/files/glimmerhmm-3.0.1-fix-data-path.patch b/sci-biology/glimmerhmm/files/glimmerhmm-3.0.1-fix-data-path.patch
new file mode 100644
index 000000000000..3ad5090086eb
--- /dev/null
+++ b/sci-biology/glimmerhmm/files/glimmerhmm-3.0.1-fix-data-path.patch
@@ -0,0 +1,20 @@
+--- a/train/trainGlimmerHMM
++++ b/train/trainGlimmerHMM
+@@ -12,7 +12,7 @@
+ use Cwd;
+
+ use FindBin;
+-use lib $FindBin::Bin;
++use lib "/usr/share/glimmerhmm/lib";
+ use orf;
+ use formtrain;
+ use dectree_allinfo;
+@@ -20,7 +20,7 @@
+ use splitiso;
+
+ my $workdir=cwd();
+-my $scriptdir=$FindBin::Bin; # directory where all training programs should be
++my $scriptdir="/usr/libexec/glimmerhmm/training_utils"; # directory where all training programs should be
+
+ #print "workdir=$workdir scriptdir=$scriptdir\n";exit;
+
diff --git a/sci-biology/glimmerhmm/glimmerhmm-3.0.1-r1.ebuild b/sci-biology/glimmerhmm/glimmerhmm-3.0.1-r1.ebuild
new file mode 100644
index 000000000000..d118ce0996da
--- /dev/null
+++ b/sci-biology/glimmerhmm/glimmerhmm-3.0.1-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P=GlimmerHMM
+
+DESCRIPTION="A eukaryotic gene finding system from TIGR"
+HOMEPAGE="http://www.cbcb.umd.edu/software/GlimmerHMM/"
+SRC_URI="ftp://ftp.cbcb.umd.edu/pub/software/glimmerhmm/${MY_P}-${PV}.tar.gz"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-gentoo.patch
+ "${FILESDIR}"/${PN}-3.0.1-fix-data-path.patch
+ "${FILESDIR}"/0001-fix-ridiculous-ODR-violation.patch
+)
+
+src_configure() {
+ tc-export CC CXX
+}
+
+src_compile() {
+ emake -C sources
+ emake -C train
+}
+
+src_install() {
+ dobin sources/glimmerhmm train/trainGlimmerHMM
+
+ insinto /usr/share/${PN}/lib
+ doins train/*.pm
+
+ insinto /usr/share/${PN}/models
+ doins -r trained_dir/.
+
+ exeinto /usr/libexec/${PN}/training_utils
+ doexe train/{build{1,2,-icm,-icm-noframe},erfapp,falsecomp,findsites,karlin,score,score{2,ATG,ATG2,STOP,STOP2},splicescore}
+
+ dodoc README.first train/readme.train
+}
diff --git a/sci-biology/glimmerhmm/glimmerhmm-3.0.4.ebuild b/sci-biology/glimmerhmm/glimmerhmm-3.0.4.ebuild
new file mode 100644
index 000000000000..4d72bf617794
--- /dev/null
+++ b/sci-biology/glimmerhmm/glimmerhmm-3.0.4.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P=GlimmerHMM
+
+DESCRIPTION="A eukaryotic gene finding system from TIGR"
+HOMEPAGE="http://www.cbcb.umd.edu/software/GlimmerHMM/"
+SRC_URI="https://ccb.jhu.edu/software/glimmerhmm/dl/${MY_P}-${PV}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-gentoo.patch
+ "${FILESDIR}"/${PN}-3.0.1-fix-data-path.patch
+ "${FILESDIR}"/0001-fix-ridiculous-ODR-violation.patch
+)
+
+src_configure() {
+ tc-export CC CXX
+}
+
+src_compile() {
+ emake -C sources
+ emake -C train
+}
+
+src_install() {
+ dobin sources/glimmerhmm train/trainGlimmerHMM
+
+ insinto /usr/share/${PN}/lib
+ doins train/*.pm
+
+ insinto /usr/share/${PN}/models
+ doins -r trained_dir/.
+
+ exeinto /usr/libexec/${PN}/training_utils
+ doexe train/{build{1,2,-icm,-icm-noframe},erfapp,falsecomp,findsites,karlin,score,score{2,ATG,ATG2,STOP,STOP2},splicescore}
+
+ dodoc README.first train/readme.train
+}
diff --git a/sci-biology/glimmerhmm/metadata.xml b/sci-biology/glimmerhmm/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/glimmerhmm/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/gmap/Manifest b/sci-biology/gmap/Manifest
new file mode 100644
index 000000000000..6f045f9bf37f
--- /dev/null
+++ b/sci-biology/gmap/Manifest
@@ -0,0 +1 @@
+DIST gmap-gsnap-2020-10-27.tar.gz 4480720 BLAKE2B 9f8e8bfab19c079111d42ec466dd145385d35e3fde0a809e46776ed1b62b599664f12618803ea4475b6961a053423a8794d0b77eb0b308bdfa927b5bcaa7d49c SHA512 22e59adf404f5ef524b3cd472fb3124d03c8c55aa7946b9dc3901f5070339dc765f8f1ecc7e394b69a14bf80923f7a9db8d545e45328a346996b3288115a535b
diff --git a/sci-biology/gmap/files/gmap-2020.10.27-fno-common.patch b/sci-biology/gmap/files/gmap-2020.10.27-fno-common.patch
new file mode 100644
index 000000000000..cc225a78c26e
--- /dev/null
+++ b/sci-biology/gmap/files/gmap-2020.10.27-fno-common.patch
@@ -0,0 +1,22 @@
+--- a/src/dynprog_end.c
++++ b/src/dynprog_end.c
+@@ -109,7 +109,7 @@
+ static Trieoffset_T *trieoffsets_max;
+ static Triecontent_T *triecontents_max;
+
+-bool homopolymerp;
++static bool homopolymerp;
+
+ void
+ Dynprog_end_setup (Univcoord_T *splicesites_in, Splicetype_T *splicetypes_in,
+--- a/src/dynprog_single.c
++++ b/src/dynprog_single.c
+@@ -91,7 +91,7 @@
+
+ #define T Dynprog_T
+
+-bool homopolymerp;
++static bool homopolymerp;
+
+ void
+ Dynprog_single_setup (bool homopolymerp_in) {
diff --git a/sci-biology/gmap/gmap-2020.10.27.ebuild b/sci-biology/gmap/gmap-2020.10.27.ebuild
new file mode 100644
index 000000000000..a90f0f631068
--- /dev/null
+++ b/sci-biology/gmap/gmap-2020.10.27.ebuild
@@ -0,0 +1,17 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV="$(ver_rs 1- '-')"
+
+DESCRIPTION="A Genomic Mapping and Alignment Program for mRNA and EST Sequences"
+HOMEPAGE="http://research-pub.gene.com/gmap/"
+SRC_URI="http://research-pub.gene.com/gmap/src/gmap-gsnap-${MY_PV}.tar.gz"
+
+LICENSE="gmap"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/gmap-${MY_PV}"
+PATCHES=( "${FILESDIR}"/${PN}-2020.10.27-fno-common.patch )
diff --git a/sci-biology/gmap/metadata.xml b/sci-biology/gmap/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/gmap/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/hmmer/Manifest b/sci-biology/hmmer/Manifest
new file mode 100644
index 000000000000..bc29341da8af
--- /dev/null
+++ b/sci-biology/hmmer/Manifest
@@ -0,0 +1,2 @@
+DIST hmmer-2.3.2.tar.gz 1024933 BLAKE2B 34fdc7b24b28d653022c80a63b2fd8376c15c961e1550a04cb310943d165575a2721cc5e4cb516335f57414f8621b7e62c4e30ee1f107bb714e40c59ed37d418 SHA512 5abf9c304de38b183a5beab7a5cfc75c3774ff6e161b7b8e55a0eae9fd156dbb7ed95d216c16d3c585c494bb69e3a9fdfabfb5dc729b7050a4d1be95c74df7d7
+DIST hmmer-3.1b2.tar.gz 5965253 BLAKE2B 38d1d6fb43aa814c0e3ddc551469ebd6b967f181c45df3802598f31abef10998595218167555a8862c0d2caa9118d9a7f1c22b673b6d596665f797ba903093f5 SHA512 64c8a840cb62160a1c13a20e64f42d297edb7969425d5047eefd8ee9f992d66612d62843523e8f33a2c38568ce1b0a9df23dd1d3ecf6773007f6db12d4cc4771
diff --git a/sci-biology/hmmer/files/hmmer-2.3.2-fix-build-system-destdir.patch b/sci-biology/hmmer/files/hmmer-2.3.2-fix-build-system-destdir.patch
new file mode 100644
index 000000000000..110c61f11821
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-2.3.2-fix-build-system-destdir.patch
@@ -0,0 +1,22 @@
+Make the build system respect DESTDIR, in order to allow staged builds.
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -109,13 +109,13 @@
+ # installs man pages in MANDIR/man1/ (e.g. if MANSUFFIX is 1)
+ # Creates these directories if they don't exist.
+ install:
+- mkdir -p ${BINDIR}
+- -mkdir -p ${MANDIR}/man${MANSUFFIX}
++ mkdir -p ${DESTDIR}${BINDIR}
++ -mkdir -p ${DESTDIR}${MANDIR}/man${MANSUFFIX}
+ for file in $(PROGS) $(PVMPROGS); do\
+- cp src/$$file $(BINDIR)/;\
++ cp src/$$file ${DESTDIR}$(BINDIR)/;\
+ done
+ -for file in hmmer $(PROGS); do\
+- $(INSTMAN) documentation/man/$$file.man $(MANDIR)/man$(MANSUFFIX)/$$file.$(MANSUFFIX);\
++ $(INSTMAN) documentation/man/$$file.man ${DESTDIR}$(MANDIR)/man$(MANSUFFIX)/$$file.$(MANSUFFIX);\
+ done
+
+ # uninstall: Reverses the steps of "make install".
diff --git a/sci-biology/hmmer/files/hmmer-2.3.2-fix-missing-include-in-configure.patch b/sci-biology/hmmer/files/hmmer-2.3.2-fix-missing-include-in-configure.patch
new file mode 100644
index 000000000000..37683d425edb
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-2.3.2-fix-missing-include-in-configure.patch
@@ -0,0 +1,18 @@
+--- a/squid/configure 2024-05-08 09:21:15.751063495 -0000
++++ b/squid/configure 2024-05-08 09:22:50.491502934 -0000
+@@ -2493,6 +2493,7 @@
+ cat confdefs.h >>conftest.$ac_ext
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
++#include <stdlib.h>
+ int
+ main ()
+ {
+@@ -3500,6 +3501,7 @@
+ cat >>conftest.$ac_ext <<_ACEOF
+ /* end confdefs.h. */
+ #include <ctype.h>
++#include <stdlib.h>
+ #if ((' ' & 0x0FF) == 0x020)
+ # define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+ # define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
diff --git a/sci-biology/hmmer/files/hmmer-2.3.2-fix-perl-shebangs.patch b/sci-biology/hmmer/files/hmmer-2.3.2-fix-perl-shebangs.patch
new file mode 100644
index 000000000000..783d0530aa7a
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-2.3.2-fix-perl-shebangs.patch
@@ -0,0 +1,108 @@
+* Fix ancient perl 4 modules that are long gone.
+* Fix perl shebangs to be portable and usable on Prefix.
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/squid/Testsuite/bug-1-sfetch-paths
++++ b/squid/Testsuite/bug-1-sfetch-paths
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test for bug #1: sfetch/SSI path bug.
+ # sfetch can't follow paths out of current directory if it's using
+--- a/squid/Testsuite/x-base-afetch
++++ b/squid/Testsuite/x-base-afetch
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-alistat
++++ b/squid/Testsuite/x-base-alistat
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-seqstat
++++ b/squid/Testsuite/x-base-seqstat
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-sfetch
++++ b/squid/Testsuite/x-base-sfetch
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-shuffle
++++ b/squid/Testsuite/x-base-shuffle
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-sindex
++++ b/squid/Testsuite/x-base-sindex
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/squid/Testsuite/x-base-sreformat
++++ b/squid/Testsuite/x-base-sreformat
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use testsuite;
+
+--- a/testsuite/sqc
++++ b/testsuite/sqc
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # sqc
+ # quality control script for exercising code, regression testing,
+@@ -176,12 +176,11 @@
+ # SRE, Tue Aug 6 11:16:39 2002
+ # CVS $Id: sqc,v 1.3 2003/01/05 23:40:57 eddy Exp $
+
+-require "getopts.pl";
+-require "importenv.pl";
++use Getopt::Std;
+
+ # Parse our command line
+ #
+-&Getopts('mp:r:v');
++getopts('mp:r:v');
+ if ($opt_m) { $do_memtest = 1; }
+ if ($opt_p) { push @prepdirs, $opt_p; }
+ if ($opt_r) { push @olddirs, $opt_r; }
+@@ -506,7 +505,7 @@
+ #
+ sub tempname {
+ my ($dir, $name, $suffix);
+- if ($TMPDIR) { $dir = $TMPDIR."/"; } else {$dir = "";}
++ if ($ENV{TMPDIR}) { $dir = $ENV{TMPDIR}."/"; } else {$dir = "";}
+
+ foreach $suffix ("aa".."zz") {
+ $name = "$dir"."sre".$suffix.$$;
+--- a/testsuite/test1-conversion.pl
++++ b/testsuite/test1-conversion.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test hmmconvert.
+ #
diff --git a/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch
new file mode 100644
index 000000000000..39fdbd50e457
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-3.1_beta2-fix-perl-shebangs.patch
@@ -0,0 +1,331 @@
+Fix perl shebangs to be portable and usable on Prefix.
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/easel/demotic/infernal_tab2gff.pl
++++ b/easel/demotic/infernal_tab2gff.pl
+@@ -1,4 +1,4 @@
+-#!/usr/bin/perl -w -I/groups/eddy/home/jonest/Demotic
++#!/usr/bin/env perl
+
+ # TAJ 6/23/08 last mod 7/10/08
+ # Purpose: flexibly convert "cmsearch --tabfile TAB.out" output to GFF format
+--- a/easel/demotic/test.pl
++++ b/easel/demotic/test.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ use demotic_blast;
+
+--- a/easel/devkit/rmanprocess.pl
++++ b/easel/devkit/rmanprocess.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # rmanprocess.pl <rman LaTeX2e output>
+ #
+--- a/easel/miniapps/esl-afetch.itest.pl
++++ b/easel/miniapps/esl-afetch.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Testing the esl-afetch miniapp
+ #
+--- a/easel/miniapps/esl-alimanip.itest.pl
++++ b/easel/miniapps/esl-alimanip.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alimanip miniapp.
+ #
+--- a/easel/miniapps/esl-alimap.itest.pl
++++ b/easel/miniapps/esl-alimap.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alimap miniapp.
+ #
+--- a/easel/miniapps/esl-alimask.itest.pl
++++ b/easel/miniapps/esl-alimask.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-alimask miniapp.
+ #
+--- a/easel/miniapps/esl-alimerge.itest.pl
++++ b/easel/miniapps/esl-alimerge.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-alimerge miniapp.
+ #
+--- a/easel/miniapps/esl-alistat.itest.pl
++++ b/easel/miniapps/esl-alistat.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-alistat miniapp.
+ #
+--- a/easel/miniapps/esl-compalign.itest.pl
++++ b/easel/miniapps/esl-compalign.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-compalign miniapp.
+ #
+--- a/easel/miniapps/esl-construct.itest.pl
++++ b/easel/miniapps/esl-construct.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-construct miniapp.
+ #
+--- a/easel/miniapps/esl-mask.itest.pl
++++ b/easel/miniapps/esl-mask.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-mask miniapp.
+ #
+--- a/easel/miniapps/esl-seqrange.itest.pl
++++ b/easel/miniapps/esl-seqrange.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-seqrange miniapp.
+ #
+--- a/easel/miniapps/esl-shuffle.itest.pl
++++ b/easel/miniapps/esl-shuffle.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of esl-shuffle miniapp
+ #
+--- a/easel/miniapps/esl-ssdraw.itest.pl
++++ b/easel/miniapps/esl-ssdraw.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of the esl-ssdraw miniapp.
+ #
+--- a/easel/testsuite/coverage_report.pl
++++ b/easel/testsuite/coverage_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Measures testsuite coverage (as percentage of source lines),
+ # using gcov.
+--- a/easel/testsuite/driver_report.pl
++++ b/easel/testsuite/driver_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Make sure that all drivers compile.
+ # (Eventually, we should also make sure they run! But that
+--- a/easel/testsuite/i1-degen-residues.pl
++++ b/easel/testsuite/i1-degen-residues.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integration tests of reading all valid protein sequence residue characters.
+ #
+--- a/easel/testsuite/i2-ncbi-indices.pl
++++ b/easel/testsuite/i2-ncbi-indices.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Testing that we can read FASTA files, even if they have NCBI
+ # formatted BLAST databases in the same directory.
+--- a/easel/testsuite/i3-blank-gf.pl
++++ b/easel/testsuite/i3-blank-gf.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #e5: blank text line following #=GF <tag> handled improperly.
+ #
+--- a/easel/testsuite/valgrind_report.pl
++++ b/easel/testsuite/valgrind_report.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Run the testsuite under Valgrind, to check for memory leakage.
+ #
+--- a/profmark/pmark-master.pl
++++ b/profmark/pmark-master.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # The top level script that runs a pmark benchmark.
+ #
+--- a/profmark/rocplot.pl
++++ b/profmark/rocplot.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ $nsearches = 2809;
+
+--- a/src/hmmpress.itest.pl
++++ b/src/hmmpress.itest.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Integrated test of hmmpress
+ #
+--- a/testsuite/i10-duplicate-names.pl
++++ b/testsuite/i10-duplicate-names.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Check that we can deal with profiles and sequences that contain
+ # duplicate names, both as queries and targets.
+--- a/testsuite/i11-hmmalign-mapali.pl
++++ b/testsuite/i11-hmmalign-mapali.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Another test of the hmmalign --mapali option, after Elena reports
+ # bug #h73 in bad interaction of checksum calculation and marking
+--- a/testsuite/i12-delete-corruption.pl
++++ b/testsuite/i12-delete-corruption.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h77: hmmalign corrupts column preceding an all-delete column
+ #
+--- a/testsuite/i13-msa-integrity.pl
++++ b/testsuite/i13-msa-integrity.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Look for any problems in hmmalign that corrupt the input sequences.
+ #
+--- a/testsuite/i14-hmmemit-consensus.pl
++++ b/testsuite/i14-hmmemit-consensus.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Tests hmmemit -c and hmmemit -C consensus-generating options.
+ #
+--- a/testsuite/i15-hmmconvert.pl
++++ b/testsuite/i15-hmmconvert.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h80: hmmconvert can't read H2 Nucleic files
+ #
+--- a/testsuite/i16-build-allins.pl
++++ b/testsuite/i16-build-allins.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Bug #h82: hmmbuild corrupts resave alignment on all-insert seq
+ #
+--- a/testsuite/i17-stdin.pl
++++ b/testsuite/i17-stdin.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that programs accept and reject argument of '-' (for reading
+ # data from stdin, rather than from files) as they're supposed to.
+--- a/testsuite/i18-nhmmer-generic.pl
++++ b/testsuite/i18-nhmmer-generic.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test of hmmbuild/nhmmer as used to build a DNA model, then query a
+ # a database of long (1MB).
+--- a/testsuite/i19-hmmpgmd-ga.pl
++++ b/testsuite/i19-hmmpgmd-ga.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that hmmpgmd is correctly applying bit score thresholds;
+ # in this case, the --cut_ga threshold, using an example that
+--- a/testsuite/i20-fmindex-core.pl
++++ b/testsuite/i20-fmindex-core.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test of makenhmmerdb and the core fm-index search functionality, using extactmatch
+ #
+--- a/testsuite/i5-hmmbuild-naming.pl
++++ b/testsuite/i5-hmmbuild-naming.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test that HMM naming in hmmbuild works as advertised.
+ # Written to test for #h50.
+--- a/testsuite/i6-hmmalign-mapali.pl
++++ b/testsuite/i6-hmmalign-mapali.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test the hmmalign --mapali option.
+ #
+--- a/testsuite/i7-hmmbuild-fragments.pl
++++ b/testsuite/i7-hmmbuild-fragments.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Test the ability of hmmbuild to deal with crappy alignments
+ # of lots of sequence fragments.
+--- a/testsuite/i8-nonresidues.pl
++++ b/testsuite/i8-nonresidues.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Regression test of handling a nonresidue '*' character. By design,
+ # '*' residues score 0 in insert states and N,C,J; and -inf in match
+--- a/testsuite/i9-optional-annotation.pl
++++ b/testsuite/i9-optional-annotation.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Check that we can deal with HMMs with no optional annotation, in either
+ # hmmscan or hmmsearch mode.
+--- a/testsuite/test-make.pl
++++ b/testsuite/test-make.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl -w
++#!/usr/bin/env perl
+
+ # Usage: test-make.pl <builddir> <srcdir> <tmppfx>
+ #
diff --git a/sci-biology/hmmer/files/hmmer-3.1_beta2-makefile.patch b/sci-biology/hmmer/files/hmmer-3.1_beta2-makefile.patch
new file mode 100644
index 000000000000..1c08d67e7bdd
--- /dev/null
+++ b/sci-biology/hmmer/files/hmmer-3.1_beta2-makefile.patch
@@ -0,0 +1,110 @@
+* Install headers into 'hmmer3' subdir and not into global includedir
+* Respect AR
+
+--- a/easel/Makefile.in
++++ b/easel/Makefile.in
+@@ -465,11 +465,12 @@
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${libdir}
+ ${INSTALL} -d ${DESTDIR}${includedir}
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${INSTALL} -m 0644 libeasel.a ${DESTDIR}${libdir}/
+ for file in ${HDRS}; do\
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+- ${INSTALL} -m 0644 esl_config.h ${DESTDIR}${includedir}/
++ ${INSTALL} -m 0644 esl_config.h ${DESTDIR}${includedir}/hmmer3/
+ ${QUIET_SUBDIR0}miniapps ${QUIET_SUBDIR1} install
+
+ # "make uninstall" reverses the steps of "make install"
+--- a/libdivsufsort/Makefile.in
++++ b/libdivsufsort/Makefile.in
+@@ -16,7 +16,7 @@
+ CFLAGS = @CFLAGS@ @PTHREAD_CFLAGS@ @PIC_FLAGS@
+ CPPFLAGS = @CPPFLAGS@
+ MPILIBS = @MPILIBS@
+-AR = @AR@ rc
++AR = @AR@
+ RANLIB = @RANLIB@
+ INSTALL = @INSTALL@
+
+@@ -43,7 +43,7 @@
+
+
+ libdivsufsort.a: $(OBJS)
+- ${QUIET_AR}${AR} libdivsufsort.a $(OBJS)
++ ${QUIET_AR}${AR} rc libdivsufsort.a $(OBJS)
+ @${RANLIB} libdivsufsort.a
+ @chmod 644 libdivsufsort.a
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -143,6 +143,7 @@
+ ${INSTALL} -d ${DESTDIR}${bindir}
+ ${INSTALL} -d ${DESTDIR}${libdir}
+ ${INSTALL} -d ${DESTDIR}${includedir}
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${INSTALL} -d ${DESTDIR}${man1dir}
+ ${INSTALL} -d ${DESTDIR}${pdfdir}
+ ${QUIET_SUBDIR0}src ${QUIET_SUBDIR1} install
+--- a/src/impl_dummy/Makefile.in
++++ b/src/impl_dummy/Makefile.in
+@@ -152,8 +152,9 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/impl_sse/Makefile.in
++++ b/src/impl_sse/Makefile.in
+@@ -155,8 +155,9 @@
+
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/impl_vmx/Makefile.in
++++ b/src/impl_vmx/Makefile.in
+@@ -152,8 +152,9 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+
+ uninstall:
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -322,15 +322,16 @@
+ ${CC} ${CFLAGS} ${SIMDFLAGS} ${CPPFLAGS} ${LDFLAGS} ${DEFS} ${MYLIBDIRS} ${MYINCDIRS} -D$${DFLAG} -o $@ $${DFILE} ${LIBS}
+
+ install:
++ ${INSTALL} -d ${DESTDIR}${includedir}/hmmer3
+ ${QUIET_SUBDIR0}${IMPLDIR} ${QUIET_SUBDIR1} install
+ for file in ${PROGS}; do \
+ ${INSTALL} -m 0755 $$file ${DESTDIR}${bindir}/ ;\
+ done
+ ${INSTALL} -m 0755 libhmmer.a ${DESTDIR}${libdir}/
+ for file in ${HDRS}; do \
+- ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 ${srcdir}/$$file ${DESTDIR}${includedir}/hmmer3/ ;\
+ done
+- ${INSTALL} -m 0644 p7_config.h ${DESTDIR}${includedir}/ ;\
++ ${INSTALL} -m 0644 p7_config.h ${DESTDIR}${includedir}/hmmer3/ ;\
+
+ uninstall:
+ ${QUIET_SUBDIR0}${IMPLDIR} ${QUIET_SUBDIR1} uninstall
diff --git a/sci-biology/hmmer/hmmer-2.3.2-r6.ebuild b/sci-biology/hmmer/hmmer-2.3.2-r6.ebuild
new file mode 100644
index 000000000000..7766710967f5
--- /dev/null
+++ b/sci-biology/hmmer/hmmer-2.3.2-r6.ebuild
@@ -0,0 +1,88 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dot-a flag-o-matic toolchain-funcs
+
+DESCRIPTION="Sequence analysis using profile hidden Markov models"
+HOMEPAGE="http://hmmer.org/"
+SRC_URI="http://eddylab.org/software/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="2"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_ppc_altivec test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-lang/perl )"
+
+PATCHES=(
+ "${FILESDIR}/${P}-fix-perl-shebangs.patch"
+ "${FILESDIR}/${P}-fix-build-system-destdir.patch"
+ "${FILESDIR}/${P}-fix-missing-include-in-configure.patch"
+)
+
+src_configure() {
+ # required to expose pthread_setconcurrency(), #882279
+ append-cppflags -D_XOPEN_SOURCE=500
+
+ lto-guarantee-fat
+
+ # prevent stray environmental variable
+ # from causing issues in the test phase
+ unset TMPDIR
+
+ econf \
+ --enable-lfs \
+ --enable-threads \
+ $(use_enable cpu_flags_ppc_altivec altivec)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR) rcs"
+}
+
+src_install() {
+ default
+
+ newlib.a src/libhmmer.a libhmmer2.a
+ insinto /usr/include/hmmer2
+ doins src/*.h
+
+ dobin squid/{afetch,alistat,compalign,compstruct,revcomp,seqstat,seqsplit,sfetch,shuffle,sreformat,sindex,weight,translate}
+ dolib.a squid/libsquid.a
+ insinto /usr/include/hmmer2
+ doins squid/*.h
+
+ strip-lto-bytecode
+
+ dodoc NOTES Userguide.pdf
+ newdoc 00README README
+
+ # rename files due to collisions with hmmer-3
+ # in order to make SLOTing possible
+ local i
+
+ # first rename man pages...
+ pushd "${ED}"/usr/share/man/man1/ >/dev/null || die
+ for i in hmm*.1; do
+ mv ${i%.1}{,2}.1 || die
+ done
+ popd >/dev/null || die
+
+ # ... then rename binaries
+ pushd "${ED}"/usr/bin/ >/dev/null || die
+ for i in hmm*; do
+ mv ${i}{,2} || die
+ done
+ popd >/dev/null || die
+}
+
+pkg_postinst() {
+ elog "All ${P} binaries have been renamed, in order"
+ elog "to avoid collisions with hmmer-3. For instance"
+ elog
+ elog " hmmalign -> hmmalign2"
+ elog
+}
diff --git a/sci-biology/hmmer/hmmer-3.1_beta2-r1.ebuild b/sci-biology/hmmer/hmmer-3.1_beta2-r1.ebuild
new file mode 100644
index 000000000000..cbb524dc3454
--- /dev/null
+++ b/sci-biology/hmmer/hmmer-3.1_beta2-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit dot-a toolchain-funcs
+
+MY_PV="${PV/_beta/b}"
+
+DESCRIPTION="Sequence analysis using profile hidden Markov models"
+HOMEPAGE="http://hmmer.org/"
+SRC_URI="http://eddylab.org/software/${PN}3/${MY_PV}/hmmer-${MY_PV}.tar.gz"
+S="${WORKDIR}/${PN}-${MY_PV}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_ppc_altivec cpu_flags_x86_sse gsl mpi test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ mpi? ( virtual/mpi )
+ gsl? ( sci-libs/gsl:= )"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-lang/perl )"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1_beta2-fix-perl-shebangs.patch
+ "${FILESDIR}"/${PN}-3.1_beta2-makefile.patch
+)
+
+src_configure() {
+ # make build verbose, bug #429308
+ export V=1
+
+ lto-guarantee-fat
+
+ econf \
+ --disable-pic \
+ --enable-threads \
+ $(use_enable cpu_flags_ppc_altivec vmx) \
+ $(use_enable cpu_flags_x86_sse sse) \
+ $(use_enable mpi) \
+ $(use_with gsl)
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+ strip-lto-bytecode
+ dodoc Userguide.pdf
+
+ insinto /usr/share/hmmer
+ doins -r tutorial
+}
diff --git a/sci-biology/hmmer/metadata.xml b/sci-biology/hmmer/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/hmmer/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/iedera/Manifest b/sci-biology/iedera/Manifest
new file mode 100644
index 000000000000..407d55a22853
--- /dev/null
+++ b/sci-biology/iedera/Manifest
@@ -0,0 +1 @@
+DIST iedera-1.05.tar.gz 129163 BLAKE2B fe499276da7571be83b847ab98bbe4878470b07fb13ee80ffb55bff1b5674b54fd4bf5e21fa34e10b8296d9c6aad298dbde79910cfa45670ea8afe047de1a979 SHA512 60d35227d5479fea693e8a3c0e629aae9e21f3c7e2be7b2f10aaddcade70cc6525fa18dea1851f73d6c1aadbb5e8776dd4a146b1a81ecfe8c910729a2300066f
diff --git a/sci-biology/iedera/files/iedera-1.05-fix-buildsystem.patch b/sci-biology/iedera/files/iedera-1.05-fix-buildsystem.patch
new file mode 100644
index 000000000000..8803ab64b4e1
--- /dev/null
+++ b/sci-biology/iedera/files/iedera-1.05-fix-buildsystem.patch
@@ -0,0 +1,16 @@
+iedera sets default flags that override user {C,CXX,LD}FLAGS
+
+--- iedera-1.05/configure.in
++++ iedera-1.05/configure.in
+@@ -4,11 +4,5 @@
+ AC_PROG_INSTALL
+ AC_PROG_CXX
+ AC_HEADER_STDC
+-CFLAGS="$CFLAGS $UNAME_DEFS -O3 -pipe -funroll-loops -Wall"
+-CXXFLAGS="$CFLAGS"
+-LDFLAGS="$LDFLAGS -lm"
+-AC_SUBST(CFLAGS)
+-AC_SUBST(CXXFLAGS)
+-AC_SUBST(LDFLAGS)
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/sci-biology/iedera/iedera-1.05-r2.ebuild b/sci-biology/iedera/iedera-1.05-r2.ebuild
new file mode 100644
index 000000000000..22a4bd9225f2
--- /dev/null
+++ b/sci-biology/iedera/iedera-1.05-r2.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Subset seed design tool for DNA sequence alignment"
+HOMEPAGE="https://bioinfo.lifl.fr/yass/iedera.php"
+SRC_URI="https://bioinfo.lifl.fr/yass/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${P}-fix-buildsystem.patch )
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/iedera/metadata.xml b/sci-biology/iedera/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/iedera/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/infernal/Manifest b/sci-biology/infernal/Manifest
new file mode 100644
index 000000000000..5fb5d5b04546
--- /dev/null
+++ b/sci-biology/infernal/Manifest
@@ -0,0 +1 @@
+DIST infernal-1.0.2.tar.gz 15205421 BLAKE2B 3570ae42feb96ead383c2f1c09d34b4719ae0a5ae8fa973fd02f9ea6e8935c81ab49c7db21dad2e20c1ae6ab6fb9514f12704bbf5917f15f6582effae480312f SHA512 0399be14c17f053574e95d8c5b9eaf990545795a9268e20f0940e11a8e78fc49beb4b23994e9ea427764fbb29e9b39f6da9cb1d85eb4b56d354057b48515c4af
diff --git a/sci-biology/infernal/files/infernal-1.0.2-fix-build-system.patch b/sci-biology/infernal/files/infernal-1.0.2-fix-build-system.patch
new file mode 100644
index 000000000000..41ab3103594b
--- /dev/null
+++ b/sci-biology/infernal/files/infernal-1.0.2-fix-build-system.patch
@@ -0,0 +1,135 @@
+* Fix parallel build
+* Respect AR
+* Respect DESTDIR
+* Respect LDFLAGS
+
+--- a/easel/Makefile.in
++++ b/easel/Makefile.in
+@@ -17,7 +17,6 @@
+ #
+ CC = @CC@
+ CFLAGS = @CFLAGS@
+-AR = @AR@ rcv
+ LN = ln
+ RANLIB = @RANLIB@
+ LDFLAGS = -static @LDFLAGS@
+@@ -132,13 +131,13 @@
+ esl_wuss.o
+
+ all: libeasel.a
+- (cd miniapps; make)
++ $(MAKE) -C miniapps
+
+ .c.o:
+ ${CC} -I. ${CFLAGS} ${SIMDFLAGS} ${DEFS} -c $<
+
+ libeasel.a: $(OBJS)
+- $(AR) libeasel.a $(OBJS)
++ $(AR) rcv libeasel.a $(OBJS)
+ $(RANLIB) libeasel.a
+ chmod 644 libeasel.a
+
+--- a/easel/testsuite/Makefile.in
++++ b/easel/testsuite/Makefile.in
+@@ -15,7 +15,6 @@
+ LIBS = @LIBGSL@ @LIBS@ -lm
+ MPILIBS = @MPILIBS@
+
+-AR = @AR@ rcv
+ RANLIB = @RANLIB@
+
+ ESLDIR = ..
+--- a/iinfernal-1/Makefile.in
++++ b/iinfernal-1/Makefile.in
+@@ -20,7 +20,6 @@
+ # only used for building the testsuite anyway... e.g. we
+ # make a "libhmmer.a" library for building the testsuite.
+ #
+-AR = @AR@ rcv
+ RANLIB = @RANLIB@
+
+ MPILIBS = @MPILIBS@
+@@ -63,7 +62,7 @@
+ module: libinfernal.a
+
+ libinfernal.a: $(OBJS)
+- $(AR) libinfernal.a $(OBJS)
++ $(AR) rcv libinfernal.a $(OBJS)
+ $(RANLIB) libinfernal.a
+ chmod 644 libinfernal.a
+
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -82,9 +82,10 @@
+ all: core
+
+ core:
+- (cd easel; make CC="$(CC)" CFLAGS="$(CFLAGS)"; make)
+- (cd src; make CC="$(CC)" CFLAGS="$(CFLAGS)"; make module)
+- (cd testsuite; make CC="$(CC)" CFLAGS="$(CFLAGS)")
++ $(MAKE) -C easel
++ $(MAKE) -C src
++ $(MAKE) -C src module
++ $(MAKE) -C testsuite
+
+ #.PHONY: $(RIGFILTERS)
+ #$(RIGFILTERS): core
+@@ -202,9 +203,9 @@
+ # "make install" installs the programs in BINDIR
+ #
+ install:
+- mkdir -p ${BINDIR}
++ mkdir -p $(DESTDIR)${BINDIR}
+ for file in $(PROGS); do\
+- cp src/$$file $(BINDIR)/;\
++ cp src/$$file $(DESTDIR)$(BINDIR)/;\
+ done
+ # if test -d $(RIGFILTERS); then\
+ # for file in $(RFPROGS); do\
+--- a/rigfilters/cfsqp/Makefile.in
++++ b/rigfilters/cfsqp/Makefile.in
+@@ -24,7 +24,6 @@
+ ## archiving command, and ranlib command.
+ # these are used to create the libcfsqp.a library, necessary for cm2hmm
+ #
+-AR = @AR@ rcv
+ RANLIB = @RANLIB@
+
+ OBJS = cfsqp.o\
+@@ -41,7 +40,7 @@
+ all: libcfsqp.a
+
+ libcfsqp.a: $(OBJS) ${HDRS}
+- $(AR) libcfsqp.a $(OBJS)
++ $(AR) rcv libcfsqp.a $(OBJS)
+ $(RANLIB) libcfsqp.a
+ chmod 644 libcfsqp.a
+
+--- a/src/Makefile.in
++++ b/src/Makefile.in
+@@ -27,7 +27,6 @@
+ # only used for building the testsuite anyway... e.g. we
+ # make a "libinfernal.a" library for building the testsuite.
+ #
+-AR = @AR@ rcv
+ RANLIB = @RANLIB@
+
+ # configuration for optional MPI functionality
+@@ -86,7 +85,7 @@
+ all: $(PROGS)
+
+ $(PROGS): @EXEC_DEPENDENCY@ $(OBJS) ${HDRS}
+- $(CC) $(CFLAGS) $(DEFS) $(MYLIBDIR) -o $@ $@.o $(OBJS) $(MYLIBS) $(LIBS) $(MPILIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(DEFS) $(MYLIBDIR) -o $@ $@.o $(OBJS) $(MYLIBS) $(LIBS) $(MPILIBS)
+
+
+ #################################################################
+@@ -95,7 +94,7 @@
+ module: libinfernal.a
+
+ libinfernal.a: $(OBJS) ${HDRS}
+- $(AR) libinfernal.a $(OBJS)
++ $(AR) rcv libinfernal.a $(OBJS)
+ $(RANLIB) libinfernal.a
+ chmod 644 libinfernal.a
+
diff --git a/sci-biology/infernal/files/infernal-1.0.2-overflows.patch b/sci-biology/infernal/files/infernal-1.0.2-overflows.patch
new file mode 100644
index 000000000000..67190c4c1d42
--- /dev/null
+++ b/sci-biology/infernal/files/infernal-1.0.2-overflows.patch
@@ -0,0 +1,15 @@
+Fix buffer overflow
+
+http://bugs.gentoo.org/show_bug.cgi?id=338179
+
+--- a/easel/esl_getopts.c
++++ b/easel/esl_getopts.c
+@@ -1270,7 +1270,7 @@
+ "Arg looks like option? Use %.24s%.24s if you really mean it.",
+ g->opt[opti].name, *ret_optarg);
+ } else
+- ESL_FAIL(eslESYNTAX, "Option %.24s requires an argument", g->opt[opti].name);
++ ESL_FAIL(eslESYNTAX, g->errbuf, "Option %.24s requires an argument", g->opt[opti].name);
+
+ g->optstring = NULL; /* An optchar that takes an arg must terminate an optstring. */
+ }
diff --git a/sci-biology/infernal/files/infernal-1.0.2-perl-5.16-2.patch b/sci-biology/infernal/files/infernal-1.0.2-perl-5.16-2.patch
new file mode 100644
index 000000000000..c96dcae7b296
--- /dev/null
+++ b/sci-biology/infernal/files/infernal-1.0.2-perl-5.16-2.patch
@@ -0,0 +1,147 @@
+ benchmarks/cmsearch-rmark/sre.pl | 4 +---
+ easel/devkit/autodoc | 4 ++--
+ easel/devkit/esl-dependencies | 4 ++--
+ easel/devkit/sqc | 7 +++----
+ easel/testsuite/coverage_report.pl | 4 ++--
+ easel/testsuite/driver_report.pl | 4 ++--
+ easel/testsuite/valgrind_report.pl | 4 ++--
+ 7 files changed, 14 insertions(+), 17 deletions(-)
+
+diff --git a/benchmarks/cmsearch-rmark/sre.pl b/benchmarks/cmsearch-rmark/sre.pl
+index 9136717..e4df233 100644
+--- a/benchmarks/cmsearch-rmark/sre.pl
++++ b/benchmarks/cmsearch-rmark/sre.pl
+@@ -6,8 +6,6 @@
+
+ package SRE_perlstuff;
+
+-require "importenv.pl";
+-
+ # Function: tempname
+ #
+ # Returns a unique temporary filename.
+@@ -26,7 +24,7 @@ require "importenv.pl";
+ #
+ sub main'tempname {
+ local ($dir, $name);
+- if ($TMPDIR) { $dir = $TMPDIR; } else {$dir = "/tmp";}
++ if ($ENV{TMPDIR}) { $dir = $ENV{TMPDIR}; } else {$dir = "/tmp";}
+
+ foreach $suffix ("aa".."zz") {
+ $name = "$dir/sre$suffix$$";
+diff --git a/easel/devkit/autodoc b/easel/devkit/autodoc
+old mode 100755
+new mode 100644
+index 045ce36..22268f6
+--- a/easel/devkit/autodoc
++++ b/easel/devkit/autodoc
+@@ -49,8 +49,8 @@
+ #
+ # SRE, Tue Nov 30 19:43:47 2004
+
+-require "getopts.pl";
+-&Getopts('n:t');
++use Getopt::Std;
++getopts('n:t');
+ $cfile = shift;
+
+ if ($opt_t) { $show_api_table = 1; }
+diff --git a/easel/devkit/esl-dependencies b/easel/devkit/esl-dependencies
+old mode 100755
+new mode 100644
+index a4dc126..b61fa7a
+--- a/easel/devkit/esl-dependencies
++++ b/easel/devkit/esl-dependencies
+@@ -13,8 +13,8 @@
+ # SRE, Mon Jun 11 11:15:31 2007
+ # SVN $Id$
+
+-require "getopts.pl"
+-&Getopts('1afr');
++use Getopt::Std;
++getopts('1afr');
+
+ if ($opt_1) { $show_summary_table = 1; }
+ if ($opt_a) { $list_augfiles = 1; }
+diff --git a/easel/devkit/sqc b/easel/devkit/sqc
+old mode 100755
+new mode 100644
+index 81d03de..6201d3d
+--- a/easel/devkit/sqc
++++ b/easel/devkit/sqc
+@@ -176,12 +176,11 @@
+ # SRE, Tue Aug 6 11:16:39 2002
+ # SVN $Id: sqc 1796 2007-01-03 22:36:44Z eddys $
+
+-require "getopts.pl";
+-require "importenv.pl";
++use Getopt::Std;
+
+ # Parse our command line
+ #
+-&Getopts('mp:r:v');
++getopts('mp:r:v');
+ if ($opt_m) { $do_memtest = 1; }
+ if ($opt_p) { push @prepdirs, $opt_p; }
+ if ($opt_r) { push @olddirs, $opt_r; }
+@@ -510,7 +509,7 @@ check_ccmalloc_status
+ #
+ sub tempname {
+ my ($dir, $name, $suffix);
+- if ($TMPDIR) { $dir = $TMPDIR."/"; } else {$dir = "";}
++ if ($ENV{TMPDIR}) { $dir = $ENV{TMPDIR}."/"; } else {$dir = "";}
+
+ foreach $suffix ("aa".."zz") {
+ $name = "$dir"."esltmp".$suffix.$$;
+diff --git a/easel/testsuite/coverage_report.pl b/easel/testsuite/coverage_report.pl
+old mode 100755
+new mode 100644
+index 9c77791..024ed34
+--- a/easel/testsuite/coverage_report.pl
++++ b/easel/testsuite/coverage_report.pl
+@@ -16,9 +16,9 @@
+ #
+ # SRE, Thu Mar 1 19:22:57 2007 (Janelia)
+ # SVN $Id: coverage_report.pl 231 2008-03-25 14:43:57Z eddys $
+-require "getopts.pl";
++use Getopt::Std;
+ $have_sloccount = 1;
+-&Getopts('cs');
++getopts('cs');
+ if ($opt_c) { $do_recompile = 1; }
+ if ($opt_s) { $have_sloccount = 0; }
+
+diff --git a/easel/testsuite/driver_report.pl b/easel/testsuite/driver_report.pl
+old mode 100755
+new mode 100644
+index d1b4a9a..db4378f
+--- a/easel/testsuite/driver_report.pl
++++ b/easel/testsuite/driver_report.pl
+@@ -19,8 +19,8 @@
+ # SRE, Fri Mar 2 10:01:44 2007 (Janelia)
+ # SVN $Id: driver_report.pl 231 2008-03-25 14:43:57Z eddys $
+
+-require "getopts.pl";
+-&Getopts('c');
++use Getopt::Std;
++getopts('c');
+ if ($opt_c) { $do_recompile = 1; }
+
+ if ($ENV{'CC'} ne "") { $CC = $ENV{'CC'}; } else { $CC = "gcc"; }
+diff --git a/easel/testsuite/valgrind_report.pl b/easel/testsuite/valgrind_report.pl
+old mode 100755
+new mode 100644
+index 186a392..07026a0
+--- a/easel/testsuite/valgrind_report.pl
++++ b/easel/testsuite/valgrind_report.pl
+@@ -10,8 +10,8 @@
+ #
+ # SRE, Fri Mar 2 08:37:48 2007 [Janelia]
+ # SVN $Id: valgrind_report.pl 231 2008-03-25 14:43:57Z eddys $
+-require "getopts.pl";
+-&Getopts('c');
++use Getopt::Std;
++getopts('c');
+ if ($opt_c) { $do_recompile = 1; }
+
+ if ($ENV{'CC'} ne "") { $CC = $ENV{'CC'}; } else { $CC = "gcc"; }
diff --git a/sci-biology/infernal/infernal-1.0.2-r1.ebuild b/sci-biology/infernal/infernal-1.0.2-r1.ebuild
new file mode 100644
index 000000000000..9aa5fd13f4db
--- /dev/null
+++ b/sci-biology/infernal/infernal-1.0.2-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Inference of RNA alignments"
+HOMEPAGE="http://infernal.janelia.org/"
+SRC_URI="ftp://selab.janelia.org/pub/software/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="mpi"
+
+RDEPEND="mpi? ( virtual/mpi )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-overflows.patch
+ "${FILESDIR}"/${P}-perl-5.16-2.patch
+)
+
+src_configure() {
+ tc-export AR
+ econf $(use_enable mpi)
+}
+
+src_install() {
+ DOCS=( 00README* Userguide.pdf documentation/release-notes )
+ default
+
+ pushd documentation/manpages >/dev/null || die
+ local i
+ for i in *.man; do
+ newman "${i}" "${i/.man/.1}"
+ done
+ popd >/dev/null || die
+
+ insinto /usr/share/${PN}
+ doins -r benchmarks tutorial intro matrices
+}
diff --git a/sci-biology/infernal/metadata.xml b/sci-biology/infernal/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/infernal/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/iqpnni/Manifest b/sci-biology/iqpnni/Manifest
new file mode 100644
index 000000000000..30d111d23542
--- /dev/null
+++ b/sci-biology/iqpnni/Manifest
@@ -0,0 +1 @@
+DIST iqpnni-3.3.2.tar.gz 646603 BLAKE2B 9e4b281b148518b367d9aa7f1cfcc76f032657ac8ae480b84276c16d05afe64845ebfcea33d0325cfb1048d06713a5eb7ed4d9993abed4b739a700e57b849d33 SHA512 6e603117b746956ad0c3b140968abf2b3b3065a18dc78cee4975f1d2e7971334fdde15e2e8d2fd7435b9490aaaffaf17a38f72a3897c951f493d866e21d94156
diff --git a/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch b/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch
new file mode 100644
index 000000000000..69a4aacb61b1
--- /dev/null
+++ b/sci-biology/iqpnni/files/iqpnni-3.3.2-cpp14.patch
@@ -0,0 +1,48 @@
+Fix problems with compilation in C++14 (GCC 6.x). Changes in iostream library
+caused that comparison of istream to 0 or NULL is unavailable.
+Gentoo bug: https://bugs.gentoo.org/show_bug.cgi?id=594332
+
+--- a/src/interface.cpp
++++ b/src/interface.cpp
+@@ -1340,7 +1340,7 @@
+
+
+ int isExistedFile_ = 1;
+- if (existedFile_ == 0)
++ if (!existedFile_)
+ isExistedFile_ = 0;
+
+ existedFile_.close ();
+--- a/src/iqp.cpp
++++ b/src/iqp.cpp
+@@ -508,7 +508,7 @@
+ if (in_pam.tree_file != NULL) {
+ std::ifstream userTreeFile_;
+ userTreeFile_.open (in_pam.tree_file);
+- if (userTreeFile_ != 0) {
++ if (userTreeFile_) {
+ initialTree_.readFile (in_pam.tree_file);
+ initialTree_.createUrTree ();
+ hasInitTree = true;
+--- a/src/main.cpp
++++ b/src/main.cpp
+@@ -118,7 +118,7 @@
+
+ ifstream in;
+ in.open (boottree_file_name.c_str());
+- if (in == 0)
++ if (!in)
+ Utl::announceError ("Cannot open the user tree file ...");
+
+ int num_tree = 0;
+--- a/src/usertree.cpp
++++ b/src/usertree.cpp
+@@ -94,7 +94,7 @@
+ void UserTree::readFile (const char *userTreeFile) {
+ ifstream in;
+ in.open (userTreeFile);
+- if (in == 0)
++ if (!in)
+ Utl::announceError ("Cannot open the user tree file ...");
+
+ readFile(in);
diff --git a/sci-biology/iqpnni/iqpnni-3.3.2-r2.ebuild b/sci-biology/iqpnni/iqpnni-3.3.2-r2.ebuild
new file mode 100644
index 000000000000..4175330026a1
--- /dev/null
+++ b/sci-biology/iqpnni/iqpnni-3.3.2-r2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Important Quartet Puzzling and NNI Operation"
+HOMEPAGE="http://www.cibiv.at/software/iqpnni/"
+SRC_URI="http://www.cibiv.at/software/iqpnni/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cpp14.patch # bug #594332
+)
+
+src_install() {
+ dobin src/iqpnni
+
+ if use doc ; then
+ HTML_DOCS=( manual/iqpnni-manual.html )
+ dodoc manual/iqpnni-manual.pdf
+ fi
+ einstalldocs
+}
diff --git a/sci-biology/iqpnni/metadata.xml b/sci-biology/iqpnni/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/iqpnni/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/kalign/Manifest b/sci-biology/kalign/Manifest
new file mode 100644
index 000000000000..179a5acb2e37
--- /dev/null
+++ b/sci-biology/kalign/Manifest
@@ -0,0 +1 @@
+DIST kalign_2.03.orig.tar.gz 114022 BLAKE2B 3637bde4e9b900def668043e75b2a52ed17a8aed6f894e323b1b76f216ad50784fb2ee352389f8888b5365efd5681361af3818ba0ca593721b19c497ffb83930 SHA512 d60152bd7124f77ea972ea7dac19f47eb731646a12ecafbee8a99335c20a36fb3ce2bdc633b346e4da1016d8e56a0f297f9b33c9b6285197946f404dbc390b0a
diff --git a/sci-biology/kalign/files/kalign-2.03-makefile.patch b/sci-biology/kalign/files/kalign-2.03-makefile.patch
new file mode 100644
index 000000000000..61e65c0b73ce
--- /dev/null
+++ b/sci-biology/kalign/files/kalign-2.03-makefile.patch
@@ -0,0 +1,39 @@
+--- a/Makefile.in
++++ b/Makefile.in
+@@ -1,7 +1,11 @@
+-PREFIX = /usr/local/bin
++prefix = @prefix@
++exec_prefix = @exec_prefix@
++bindir = @bindir@
+ TEST = test/
+-CC = gcc
+-CFLAGS = -O9 -Wall
++CC = @CC@
++CFLAGS = @CFLAGS@
++CPPFLAGS = @CPPFLAGS@
++LDFLAGS = @LDFLAGS@
+ DEBUGFLAGS = -ggdb -Wall
+
+ SOURCES = kalign2_distance_calculation.c kalign2_dp.c kalign2_input.c kalign2_main.c kalign2_mem.c kalign2_inferface.c kalign2_misc.c kalign2_tree.c kalign2_profile.c kalign2_alignment_types.c kalign2_feature.c kalign2_hirschberg.c kalign2_advanced_gaps.c kalign2_hirschberg_dna.c kalign2_output.c kalign2_string_matching.c kalign2_profile_alignment.c
+@@ -16,10 +20,7 @@
+ .PHONY: clean
+
+ all: $(OBJECTS)
+- $(CC) $(CFLAGS) $(OBJECTS) -o $(PROGS)
+-
+-%.o: %.c
+- $(CC) $(CFLAGS) -c $<
++ $(CC) $(LDFLAGS) $(CFLAGS) $(OBJECTS) -o $(PROGS)
+
+ debug: $(DEBUGOBJECTS)
+ $(CC) $(DEBUGFLAGS) $(DEBUGOBJECTS) -o $(DEBUGPROGS)
+@@ -29,7 +30,8 @@
+
+
+ install:
+- cp $(PROGS) /usr/local/bin/
++ mkdir -p $(DESTDIR)$(bindir)
++ cp $(PROGS) $(DESTDIR)$(bindir)
+
+ clean:
+ rm -f $(PROGS) $(OBJECTS)
diff --git a/sci-biology/kalign/kalign-2.03-r3.ebuild b/sci-biology/kalign/kalign-2.03-r3.ebuild
new file mode 100644
index 000000000000..22d92963a0ea
--- /dev/null
+++ b/sci-biology/kalign/kalign-2.03-r3.ebuild
@@ -0,0 +1,15 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Global and progressive multiple sequence alignment"
+HOMEPAGE="http://msa.cgb.ki.se/"
+SRC_URI="mirror://debian/pool/main/k/kalign/${PN}_${PV}.orig.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
diff --git a/sci-biology/kalign/metadata.xml b/sci-biology/kalign/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/kalign/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/kallisto/Manifest b/sci-biology/kallisto/Manifest
new file mode 100644
index 000000000000..a880b853ffd7
--- /dev/null
+++ b/sci-biology/kallisto/Manifest
@@ -0,0 +1 @@
+DIST kallisto-0.46.2.tar.gz 2693869 BLAKE2B 73d725e74133d64b9f7910f69a5fff85eac05b93ad6891807a6fd4e16a1fa16a55306058db3fcb4e0fbfeb0719d3a9d3c8da7d2b76b64dde5a2fea51b0254b99 SHA512 6aca29afa0abe1c6896d27745fd2436c9b9aaf298d70276baf877dbf0aaaba94df54b9a42829c8f8f7c02e7262ecd1837b8a021625c3066a10c0cc0551179093
diff --git a/sci-biology/kallisto/files/kallisto-0.46.2-catch2.patch b/sci-biology/kallisto/files/kallisto-0.46.2-catch2.patch
new file mode 100644
index 000000000000..3ff6a0c33be0
--- /dev/null
+++ b/sci-biology/kallisto/files/kallisto-0.46.2-catch2.patch
@@ -0,0 +1,38 @@
+--- a/unit_tests/main.cpp
++++ b/unit_tests/main.cpp
+@@ -1,2 +1,2 @@
+ #define CATCH_CONFIG_MAIN
+-#include "catch.hpp"
++#include <catch2/catch_all.hpp>
+--- a/unit_tests/test_index.cpp
++++ b/unit_tests/test_index.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include <catch2/catch_all.hpp>
+
+ #include "common.h"
+ #include "KmerIndex.h"
+--- a/unit_tests/test_kmerhashtable.cpp
++++ b/unit_tests/test_kmerhashtable.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include <catch2/catch_all.hpp>
+
+ #include <random>
+ #include <string>
+--- a/unit_tests/test_multinomial.cpp
++++ b/unit_tests/test_multinomial.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include <catch2/catch_all.hpp>
+
+ #include <iostream>
+ #include <vector>
+--- a/unit_tests/test_weights.cpp
++++ b/unit_tests/test_weights.cpp
+@@ -1,4 +1,4 @@
+-#include "catch.hpp"
++#include <catch2/catch_all.hpp>
+
+ #include <vector>
+
diff --git a/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch b/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch
new file mode 100644
index 000000000000..6516f162e906
--- /dev/null
+++ b/sci-biology/kallisto/files/kallisto-0.46.2-cmake.patch
@@ -0,0 +1,149 @@
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -11,9 +11,6 @@
+ add_compile_definitions("USE_HDF5=ON")
+ endif(USE_HDF5)
+
+-set(EXT_PROJECTS_DIR ${PROJECT_SOURCE_DIR}/ext)
+-set(CMAKE_CXX_FLAGS_PROFILE "-g")
+-
+ # Set Release type for builds where CMAKE_BUILD_TYPE is unset
+ # This is usually a good default as this implictly enables
+ #
+@@ -33,44 +30,12 @@
+ set(CMAKE_CXX_EXTENSIONS OFF)
+ endif()
+
+-#add_compile_options(-Wall -Wno-unused-function)
+-
+-if(LINK MATCHES static)
+- message("static build")
+-ELSE(LINK MATCHES shared)
+- message("shared build")
+-ENDIF(LINK MATCHES static)
+-
+-
+-include(ExternalProject)
+-ExternalProject_Add(htslib
+- PREFIX ${PROJECT_SOURCE_DIR}/ext/htslib
+- SOURCE_DIR ${PROJECT_SOURCE_DIR}/ext/htslib
+- BUILD_IN_SOURCE 1
+- CONFIGURE_COMMAND autoheader && autoconf && ${PROJECT_SOURCE_DIR}/ext/htslib/configure
+- --prefix=${PREFIX} --disable-bz2 --disable-lzma --disable-libcurl
+- BUILD_COMMAND make lib-static
+- INSTALL_COMMAND ""
+-)
+-
+-include_directories(${htslib_PREFIX}/src/htslib)
+-
+-
+-
+-# add_compile_options(-Wdeprecated-register)
+-
+ add_subdirectory(src)
+-include_directories(${EXT_PROJECTS_DIR})
+
+ option(BUILD_TESTING "Build unit tests." OFF)
+ include(CTest)
+
+ if (BUILD_TESTING)
+- add_subdirectory(${EXT_PROJECTS_DIR}/catch)
+-
+- # Includes Catch in the project:
+- include_directories(${CATCH_INCLUDE_DIR} ${COMMON_INCLUDES})
+-
+ add_subdirectory(unit_tests)
+ endif(BUILD_TESTING)
+
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -3,30 +3,17 @@
+
+ list(REMOVE_ITEM sources main.cpp)
+
+-include_directories(../ext/htslib)
+-
+ add_library(kallisto_core ${sources} ${headers})
+ target_include_directories(kallisto_core PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
+
+ add_executable(kallisto main.cpp)
+
+-find_package( Threads REQUIRED )
+-target_link_libraries(kallisto kallisto_core pthread ${CMAKE_CURRENT_SOURCE_DIR}/../ext/htslib/libhts.a)
+-
+-if(LINK MATCHES static)
+- set(BUILD_SHARED_LIBS OFF)
+- set(HDF5_USE_STATIC_LIBRARIES 1)
+-
+- if (UNIX AND NOT APPLE)
+- #set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
+- set(CMAKE_EXE_LINKER_FLAGS "-static -static-libstdc++")
+- SET(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
+- set(CMAKE_EXE_LINKER_FLAGS "-static -static-libgcc -static-libstdc++")
+- endif(UNIX AND NOT APPLE)
+-
+- SET_TARGET_PROPERTIES(kallisto kallisto_core PROPERTIES LINK_SEARCH_END_STATIC 1)
+-endif(LINK MATCHES static)
++find_package( PkgConfig REQUIRED )
++pkg_check_modules( HTSLIB REQUIRED htslib )
+
++find_package( Threads REQUIRED )
++target_include_directories(kallisto PRIVATE ${HTSLIB_CFLAGS})
++target_link_libraries(kallisto PRIVATE kallisto_core Threads::Threads ${HTSLIB_LDFLAGS})
+
+ if(USE_HDF5)
+ find_package( HDF5 REQUIRED )
+@@ -36,7 +23,7 @@
+
+ if ( ZLIB_FOUND )
+ include_directories( ${ZLIB_INCLUDE_DIRS} )
+- target_link_libraries(kallisto kallisto_core ${ZLIB_LIBRARIES})
++ target_link_libraries(kallisto PRIVATE kallisto_core ${ZLIB_LIBRARIES})
+ else()
+ message(FATAL_ERROR "zlib not found. Required for to output files" )
+ endif( ZLIB_FOUND )
+@@ -44,22 +31,17 @@
+ if(USE_HDF5)
+ if(HDF5_FOUND)
+ include_directories( ${HDF5_INCLUDE_DIRS} )
+- target_link_libraries( kallisto_core ${HDF5_LIBRARIES} )
+- target_link_libraries( kallisto ${HDF5_LIBRARIES} )
++ target_link_libraries( kallisto_core PRIVATE ${HDF5_LIBRARIES} )
++ target_link_libraries( kallisto PRIVATE ${HDF5_LIBRARIES} )
+ else()
+ message(FATAL_ERROR "HDF5 not found. Required to output files")
+ endif()
+ endif(USE_HDF5)
+
+-if(LINK MATCHES static)
+- if (UNIX AND NOT APPLE)
+- target_link_libraries(kallisto librt.a)
+- endif()
+-else()
+- if (UNIX AND NOT APPLE)
+- target_link_libraries(kallisto rt)
+- endif()
+-endif(LINK MATCHES static)
+-
++target_compile_options( kallisto_core PRIVATE ${HTSLIB_CFLAGS} )
++target_link_libraries( kallisto_core PRIVATE ${HTSLIB_LDFLAGS} )
+
+-install(TARGETS kallisto DESTINATION "${CMAKE_INSTALL_BINDIR}")
+\ No newline at end of file
++install(TARGETS kallisto DESTINATION "${CMAKE_INSTALL_BINDIR}")
++if ( BUILD_SHARED_LIBS )
++ install(TARGETS kallisto_core DESTINATION "${CMAKE_INSTALL_LIBDIR}")
++endif()
+--- a/unit_tests/CMakeLists.txt
++++ b/unit_tests/CMakeLists.txt
+@@ -8,6 +8,10 @@
+ add_executable(tests ${sources})
+ add_test(unittest tests)
+
++find_package( Catch2 REQUIRED )
++include_directories( ${Catch2_INCLUDE_DIRS} )
++target_link_libraries( tests Catch2::Catch2WithMain )
++
+ find_package( ZLIB REQUIRED )
+ if ( ZLIB_FOUND )
+ include_directories( ${ZLIB_INCLUDE_DIRS} )
diff --git a/sci-biology/kallisto/files/kallisto-0.46.2-gcc11.patch b/sci-biology/kallisto/files/kallisto-0.46.2-gcc11.patch
new file mode 100644
index 000000000000..19594f067776
--- /dev/null
+++ b/sci-biology/kallisto/files/kallisto-0.46.2-gcc11.patch
@@ -0,0 +1,21 @@
+From 1d63e9d731bada64f6038818e27f06da63007d73 Mon Sep 17 00:00:00 2001
+From: Nilesh Patra <npatra974@gmail.com>
+Date: Thu, 4 Mar 2021 23:38:30 +0530
+Subject: [PATCH] Fix GCC-11 Build Failure: include limits lib
+
+---
+ src/MinCollector.h | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/MinCollector.h b/src/MinCollector.h
+index a905f1f..c4460fb 100644
+--- a/src/MinCollector.h
++++ b/src/MinCollector.h
+@@ -7,6 +7,7 @@
+ #include <sstream>
+ #include <vector>
+ #include <unordered_map>
++#include <limits>
+
+ #include "KmerIndex.h"
+ #include "weights.h"
diff --git a/sci-biology/kallisto/files/kallisto-0.46.2-htslib.patch b/sci-biology/kallisto/files/kallisto-0.46.2-htslib.patch
new file mode 100644
index 000000000000..0e926136261c
--- /dev/null
+++ b/sci-biology/kallisto/files/kallisto-0.46.2-htslib.patch
@@ -0,0 +1,52 @@
+--- a/src/KmerIndex.cpp
++++ b/src/KmerIndex.cpp
+@@ -4,7 +4,7 @@
+ #include <ctype.h>
+ #include <zlib.h>
+ #include <unordered_set>
+-#include "kseq.h"
++#include <htslib/kseq.h>
+
+ #ifndef KSEQ_INIT_READY
+ #define KSEQ_INIT_READY
+--- a/src/ProcessReads.cpp
++++ b/src/ProcessReads.cpp
+@@ -1,6 +1,6 @@
+ /*
+ #include <zlib.h>
+-#include "kseq.h"
++#include <htslib/kseq.h>
+ #include <string>
+ #include <vector>
+ #include <unordered_map>
+@@ -20,7 +20,7 @@
+ #include <iomanip>
+
+ #include "ProcessReads.h"
+-#include "kseq.h"
++#include <htslib/kseq.h>
+ #include "PseudoBam.h"
+ #include "Fusion.hpp"
+ #include "BUSData.h"
+--- a/src/ProcessReads.h
++++ b/src/ProcessReads.h
+@@ -2,7 +2,7 @@
+ #define KALLISTO_PROCESSREADS_H
+
+ #include <zlib.h>
+-#include "kseq.h"
++#include <htslib/kseq.h>
+ #include <string>
+ #include <vector>
+ #include <unordered_map>
+--- a/unit_tests/test_kmerhashtable.cpp
++++ b/unit_tests/test_kmerhashtable.cpp
+@@ -13,7 +13,7 @@
+ #include "KmerHashTable.h"
+
+ #include <zlib.h>
+-#include "kseq.h"
++#include <htslib/kseq.h>
+
+ #ifndef KSEQ_INIT_READY
+ #define KSEQ_INIT_READY
diff --git a/sci-biology/kallisto/kallisto-0.46.2-r1.ebuild b/sci-biology/kallisto/kallisto-0.46.2-r1.ebuild
new file mode 100644
index 000000000000..32a97d6d39df
--- /dev/null
+++ b/sci-biology/kallisto/kallisto-0.46.2-r1.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake flag-o-matic
+
+DESCRIPTION="Near-optimal RNA-Seq quantification"
+HOMEPAGE="http://pachterlab.github.io/kallisto/"
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pachterlab/kallisto.git"
+else
+ SRC_URI="https://github.com/pachterlab/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="hdf5 test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ sci-libs/htslib:=
+ virtual/zlib:=
+ hdf5? ( sci-libs/hdf5:= )"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-cpp/catch-3:0
+ sci-libs/hdf5
+ )"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cmake.patch
+ "${FILESDIR}"/${P}-htslib.patch
+ "${FILESDIR}"/${P}-catch2.patch
+ "${FILESDIR}"/${P}-gcc11.patch
+)
+
+src_prepare() {
+ cmake_src_prepare
+ # bundled catch2
+ rm -r ext || die
+ # bundled htslib structs
+ rm src/kseq.h || die
+
+ # the test suite is cheesy and relies on a
+ # specific builddir nesting structure.
+ sed -e "s|../test/input/short_reads.fastq|$(readlink -f unit_tests/input/short_reads.fastq)|g" \
+ -i unit_tests/test_kmerhashtable.cpp || die
+
+ # This randomly hardcodes a particular std, which unfortunately is too old for catch2.
+ sed -i '/CMAKE_CXX_STANDARD/d' CMakeLists.txt || die
+ append-cxxflags -std=c++14
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DUSE_HDF5=$(usex hdf5)
+ -DBUILD_TESTING=$(usex test)
+ # convenience library only
+ -DBUILD_SHARED_LIBS=OFF
+ )
+ cmake_src_configure
+}
diff --git a/sci-biology/kallisto/metadata.xml b/sci-biology/kallisto/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/kallisto/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/lagan/Manifest b/sci-biology/lagan/Manifest
new file mode 100644
index 000000000000..875b053d65f3
--- /dev/null
+++ b/sci-biology/lagan/Manifest
@@ -0,0 +1 @@
+DIST lagan20.tar.gz 589115 BLAKE2B 8aaee40b767d7c1828760449e3bf2718210ad345447524ec2c391eb9f2856023f9258618d3d2625b15c42af814615870082bff6320ba0372dff79221798d2618 SHA512 f77217ab534df33834a725eb6e1b716f7bbffa98768a42c2294a6ab62404192e560bb05ffd41e4cdccb5b96ef9efceb8ecdc06472bbc6a301e1d11572ba29b98
diff --git a/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch b/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch
new file mode 100644
index 000000000000..2c9d88111aee
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-C99-static-inline.patch
@@ -0,0 +1,258 @@
+--- a/src/fchaos.c
++++ b/src/fchaos.c
+@@ -985,7 +985,7 @@
+ SLremove(mylist, tbf->mysles[i]);
+ }
+
+-inline int CHmatchscore(unsigned char a, unsigned char b) {
++static inline int CHmatchscore(unsigned char a, unsigned char b) {
+ return substmatrix[a][b];
+ /*
+ if (translated)
+--- a/src/multial.c
++++ b/src/multial.c
+@@ -59,16 +59,16 @@
+ int normf;
+ int normprev;
+
+-inline int ismatch(char a, char b) {
++static inline int ismatch(char a, char b) {
+ return (a == b);
+ }
+
+-inline int isGap(align* ali, int seqn, int loc) {
++static inline int isGap(align* ali, int seqn, int loc) {
+ int i = !((ali->algn[loc] >> seqn) & 1);
+ return i;
+ }
+
+-inline int scoreLocal(int which, align* ali, int loc) {
++static inline int scoreLocal(int which, align* ali, int loc) {
+ int i, lets = 0;
+ for (i=0; i < 4; i++)
+ lets += ali->cnts[i][loc];
+@@ -83,7 +83,7 @@
+ return lets+ali->cnts[CNTS_GS][loc] * gapcont;
+ }
+
+-inline hll* reverseHLL(hll* tbr) {
++static inline hll* reverseHLL(hll* tbr) {
+ hll *nn, *prev=0;
+ while (tbr) {
+ nn = tbr->next;
+@@ -171,7 +171,7 @@
+ return res;
+ }
+
+-inline void reverse (long long int* a, int length) {
++static inline void reverse (long long int* a, int length) {
+ long long int lft;
+ int i;
+ for (i=0; i < length/2; i++) {
+@@ -409,7 +409,7 @@
+ */
+ }
+
+-inline int scoreGap(int numgs, int numgc, int numge, int numseq) {
++static inline int scoreGap(int numgs, int numgc, int numge, int numseq) {
+ return (MIN2(numgc, numseq-numgc) * gapcont) +
+ (MIN2(numgs, numseq-numgs) * gapstart) +
+ (MIN2(numge, numseq-numge) * gapend);
+@@ -493,7 +493,7 @@
+ fclose (file);
+ }
+
+-inline int chmatchscore (unsigned char a, unsigned char b, int substmatrix[256][256]) {
++static inline int chmatchscore (unsigned char a, unsigned char b, int substmatrix[256][256]) {
+ return substmatrix[a][b];
+ }
+
+@@ -539,14 +539,14 @@
+ // printcache();
+ }
+
+-inline int v (int y){
++static inline int v (int y){
+ if (y >= 0 && y <= MAX_SEQ) return y;
+ fprintf(stderr, "Got %d in v\n", y);
+ assert (0);
+ return 0;
+ }
+
+-inline int matchscore (align*a, int ai, align *b, int bi){
++static inline int matchscore (align*a, int ai, align *b, int bi){
+
+ return
+ matchcache[v(a->cnts[0][ai] + b->cnts[0][bi]) |
+@@ -559,30 +559,30 @@
+ (v(a->numseq + b->numseq - (a->cnts[CNTS_CB][ai] + b->cnts[CNTS_CB][bi])) << 18)];
+ }
+
+-inline int scoreOpp (align *other, int ow, int oppnum){
++static inline int scoreOpp (align *other, int ow, int oppnum){
+ return matchcache[v(other->cnts[0][ow]) |
+ (v(other->cnts[1][ow]) << 6) |
+ (v(other->cnts[2][ow]) << 12) |
+ (v(other->cnts[3][ow]) << 18)];
+ }
+
+-inline int endGap0 (align* a, int ai, align* b, int bi){
++static inline int endGap0 (align* a, int ai, align* b, int bi){
+ return gapcache[(v(a->cnts[CNTS_GE][ai]+b->cnts[CNTS_GE][bi])<<12) |
+ (v(a->numseq + b->numseq-(b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)];
+ }
+
+-inline int endGap1 (align* a, int ai, align* b, int bi){
++static inline int endGap1 (align* a, int ai, align* b, int bi){
+
+ return gapcache[(v((b->numseq - b->cnts[CNTS_GS][bi] - b->cnts[CNTS_GC][bi]) + a->cnts[CNTS_GE][ai]) << 12) |
+ (v(a->numseq + b->numseq - (b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)];
+ }
+
+-inline int endGap2 (align* a, int ai, align* b, int bi){
++static inline int endGap2 (align* a, int ai, align* b, int bi){
+ return gapcache[(v((a->numseq - a->cnts[CNTS_GS][ai] - a->cnts[CNTS_GC][ai]) + b->cnts[CNTS_GE][bi])<<12) |
+ (v(a->numseq + b->numseq - (b->cnts[CNTS_CB][bi]+a->cnts[CNTS_CB][ai])) << 18)];
+ }
+
+-inline int contGap(align* ali, int myw, align* other, int ow, int *sopp) {
++static inline int contGap(align* ali, int myw, align* other, int ow, int *sopp) {
+ return gapcache[(v(other->cnts[CNTS_GS][ow])) |
+ (v(ali->numseq + other->cnts[CNTS_GC][ow]) << 6) |
+ (v(other->cnts[CNTS_GE][ow]) << 12) |
+@@ -590,7 +590,7 @@
+ sopp[ow];
+ }
+
+-inline int openGap(align* ali, int w, align* other, int ow, int *sopp, char *desc) {
++static inline int openGap(align* ali, int w, align* other, int ow, int *sopp, char *desc) {
+ int alopen, pen, sav, i;
+
+ alopen = ali->cnts[CNTS_GC][w] + ali->cnts[CNTS_GE][w];
+--- a/src/order.c
++++ b/src/order.c
+@@ -454,11 +454,11 @@
+ }
+
+
+-inline int ismatch(char a, char b) {
++static inline int ismatch(char a, char b) {
+ return a == b;
+ }
+
+-inline int matchscore (unsigned char a, unsigned char b) {
++static inline int matchscore (unsigned char a, unsigned char b) {
+ return substmatrix[a][b];
+ /*
+
+--- a/src/utils/cstat.c
++++ b/src/utils/cstat.c
+@@ -121,7 +121,7 @@
+ return res;
+ }
+
+-inline int getScore (align* a, int i){
++static inline int getScore (align* a, int i){
+ return
+ ((a->cnts[0][i] * (a->cnts[0][i] - 1)) +
+ (a->cnts[1][i] * (a->cnts[1][i] - 1)) +
+--- a/src/utils/getbounds.c
++++ b/src/utils/getbounds.c
+@@ -6,8 +6,8 @@
+
+ #define EXPAND 2
+
+-inline int max (int a, int b){ if (a > b) return a; return b; }
+-inline int min (int a, int b){ if (a < b) return a; return b; }
++static inline int max (int a, int b){ if (a > b) return a; return b; }
++static inline int min (int a, int b){ if (a < b) return a; return b; }
+
+ int getLength (char *filename){
+ FILE *file;
+--- a/src/utils/scorealign.c
++++ b/src/utils/scorealign.c
+@@ -18,17 +18,17 @@
+ int matchscore[256][256];
+ int gapopen = -1500, gapcont = -50;
+
+-inline int min (int a, int b){
++static inline int min (int a, int b){
+ if (a < b) return a;
+ return b;
+ }
+
+-inline int max (int a, int b){
++static inline int max (int a, int b){
+ if (a > b) return a;
+ return b;
+ }
+
+-inline int scoreMatch (char c, char d){
++static inline int scoreMatch (char c, char d){
+ if (c == '-' && d == '-') return 0;
+ if (c == '-' || d == '-') return gapcont;
+ return matchscore[(unsigned char) c][(unsigned char) d];
+@@ -235,7 +235,7 @@
+ }
+ }
+
+-inline int issymbol (char ch){
++static inline int issymbol (char ch){
+ return ch == 'A' || ch == 'C' || ch == 'G' || ch == 'T' || ch == 'N' || ch == '.' || ch == '-';
+ }
+
+--- a/src/utils/scorecontigs.c
++++ b/src/utils/scorecontigs.c
+@@ -133,7 +133,7 @@
+ return res;
+ }
+
+-inline int getstate (char c, char d){
++static inline int getstate (char c, char d){
+ if (c == '-' || d == '-') return 2;
+ if (c == 'N' || d == 'N') return 3;
+ return c == d;
+@@ -235,7 +235,7 @@
+ return r;
+ }
+
+-inline int getdata (rangelist **ranges, int *offs, int j, int i){
++static inline int getdata (rangelist **ranges, int *offs, int j, int i){
+ i -= offs[j];
+ if (i >= 0 && i < ranges[j]->seqlen)
+ return ranges[j]->score[i];
+@@ -243,14 +243,14 @@
+ }
+
+
+-inline int match (rangelist **ranges, int numContigs, int i, int j, int *offs){
++static inline int match (rangelist **ranges, int numContigs, int i, int j, int *offs){
+ int k;
+ for (k = 0; k < numContigs; k++)
+ if ((getdata (ranges, offs, k, i) != 0) != (getdata (ranges, offs, k, j) != 0)) return 0;
+ return 1;
+ }
+
+-inline int allzeroes (rangelist **ranges, int numContigs, int pos, int *offs){
++static inline int allzeroes (rangelist **ranges, int numContigs, int pos, int *offs){
+ int i;
+
+ for (i = 0; i < numContigs; i++)
+@@ -258,7 +258,7 @@
+ return 1;
+ }
+
+-inline void print (int start, int end, int *score, int numContigs){
++static inline void print (int start, int end, int *score, int numContigs){
+ int j;
+
+ printf ("(%7d %7d)", start, end);
+@@ -303,7 +303,7 @@
+ free (pattern);
+ }
+
+-inline double scoregap (int gaplen){
++static inline double scoregap (int gaplen){
+ if (gaplen == 0) return 0;
+ //return (gaplen - 1) * -1 - 50;
+ return (log (gaplen) / log (10) + 1) * scoreGapOpen;
diff --git a/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch b/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch
new file mode 100644
index 000000000000..945120b1fc47
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-ambiguous-end.patch
@@ -0,0 +1,49 @@
+Author: Steffen Moeller
+Last-Update: 2018-09-07 15:08:19 +0200
+Description: Fix build issue
+
+Index: lagan/src/glocal/rightinfluence.cpp
+===================================================================
+--- lagan.orig/src/glocal/rightinfluence.cpp
++++ lagan/src/glocal/rightinfluence.cpp
+@@ -1,6 +1,6 @@
+ #include <rightinfluence.h>
+
+-Fragment origin, end;
++static Fragment originFrag, endFrag;
+
+ // Sets the first default owner of the whole region
+ void initRI(RI *RightInfluence, long long int scoreIndex) {
+@@ -13,22 +13,22 @@ void initRI(RI *RightInfluence, long lon
+ }
+
+ // will lose to anyone
+- origin.seq1End = 0; origin.seq2End = 0;
+- origin.seq1Start = 0; origin.seq2Start = 0;
++ originFrag.seq1End = 0; originFrag.seq2End = 0;
++ originFrag.seq1Start = 0; originFrag.seq2Start = 0;
+
+ // hack to aid winner selection
+- origin.score = -1;
+- end.score = -2;
+- origin.totalScore = end.totalScore = 0;
++ originFrag.score = -1;
++ endFrag.score = -2;
++ originFrag.totalScore = endFrag.totalScore = 0;
+
+ // will win against anyone
+- end.seq1End = 0; end.seq2End = 0;
+- end.seq1Start = 0; end.seq2Start = 0;
++ endFrag.seq1End = 0; endFrag.seq2End = 0;
++ endFrag.seq1Start = 0; endFrag.seq2Start = 0;
+
+- origin.back = NULL;
++ originFrag.back = NULL;
+
+- RightInfluence->act[-INF] = &origin;
+- RightInfluence->act[+INF] = &end;
++ RightInfluence->act[-INF] = &originFrag;
++ RightInfluence->act[+INF] = &endFrag;
+ }
+
+
diff --git a/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch b/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch
new file mode 100644
index 000000000000..075753a924c9
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-conflicting-getline.patch
@@ -0,0 +1,24 @@
+Author: Andreas Tille <tille@debian.org>
+LastChanged: Fri, 15 Nov 2013 10:31:20 +0100
+Description: Prevent conflicting getline by simply renaming it
+
+--- a/src/anchors.c
++++ b/src/anchors.c
+@@ -225,7 +225,7 @@ char* rolltonum(char* str) {
+ return &str[i];
+ }
+
+-int getline(FILE* infile, hll* tt) {
++int anchors_getline(FILE* infile, hll* tt) {
+ char temp[1024];
+ char* help;
+ int z, h;
+@@ -248,7 +248,7 @@ hll* parseCHAOS(FILE* infile, int* totnu
+ *totnum = 0;
+ while(!feof(infile)) {
+ tt = (hll*) malloc(sizeof(hll));
+- while (!feof(infile) && !getline(infile, tt))
++ while (!feof(infile) && !anchors_getline(infile, tt))
+ ;
+ if (feof(infile)) break;
+ if (gapfreechunks) {
diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-10.patch b/sci-biology/lagan/files/lagan-2.0-gcc-10.patch
new file mode 100644
index 000000000000..bd9824cf2ed0
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-gcc-10.patch
@@ -0,0 +1,27 @@
+Description: Add patch to build with GCC-10
+Bug-Debian: https://bugs.debian.org/957415
+Author: Nilesh Patra <npatra974@gmail.com>
+Date: Fri Apr 17 21:13:21 2020 +0530
+
+--- a/src/fchaos.c
++++ b/src/fchaos.c
+@@ -29,7 +29,7 @@
+ int offset;
+ } match;
+
+-extern int indeces[256];
++int indeces[256];
+
+
+ void remElem(LList* tbf, int i);
+--- a/src/thrtrie.h
++++ b/src/thrtrie.h
+@@ -2,7 +2,7 @@
+ #define MAX_DEGEN 2
+
+
+-int indeces[256];
++extern int indeces[256];
+
+ typedef struct PrevHits {
+ int* inds1;
diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch b/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch
new file mode 100644
index 000000000000..3d7ed780445f
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-gcc-4.8.patch
@@ -0,0 +1,25 @@
+Author: Andreas Tille <tille@debian.org>
+LastChanged: Fri, 15 Nov 2013 10:31:20 +0100
+Description: Fix some includes to build using gcc-4.8
+
+--- a/src/utils/Glue.cpp
++++ b/src/utils/Glue.cpp
+@@ -6,6 +6,7 @@
+ #include <fstream>
+ #include <iostream>
+ #include <algorithm>
++#include <string.h>
+
+ #define NUCLEOTIDE_MATRIX_FILE "nucmatrix.txt"
+ #define MAX_LINE_LENGTH 1024
+--- a/src/glocal/score.cpp
++++ b/src/glocal/score.cpp
+@@ -2,7 +2,7 @@
+ #include<score.h>
+ #include<leftinfluence.h>
+ #include<rightinfluence.h>
+-#include<fstream.h>
++#include<fstream>
+
+ extern vector<class Score*> scoreFunctions[1<<(UPSTRANDBITS+DOWNSTRANDBITS+RELPOSBITS)];
+
diff --git a/sci-biology/lagan/files/lagan-2.0-gcc-9.patch b/sci-biology/lagan/files/lagan-2.0-gcc-9.patch
new file mode 100644
index 000000000000..6ea30e57a854
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-gcc-9.patch
@@ -0,0 +1,25 @@
+# Two patches to bring lagan up to speed with gcc-9
+Index: lagan/src/fchaos.c
+===================================================================
+--- lagan.orig/src/fchaos.c
++++ lagan/src/fchaos.c
+@@ -430,7 +430,7 @@ int chain(LList* second, int off2, LList
+ int tc =0;
+ int wc = 0;
+
+-inline void findPrev(LList* curr, int position, int offset, float baseval) {
++void findPrev(LList* curr, int position, int offset, float baseval) {
+ int j,k;
+ LList* temp;
+ sle* iterator;
+Index: lagan/src/filebuffer.c
+===================================================================
+--- lagan.orig/src/filebuffer.c
++++ lagan/src/filebuffer.c
+@@ -1,5 +1,6 @@
+ #include "filebuffer.h"
+ #include <stdlib.h>
++#include <ctype.h>
+ #include <string.h>
+ #include <stdio.h>
+ #include <assert.h>
diff --git a/sci-biology/lagan/files/lagan-2.0-makefile.patch b/sci-biology/lagan/files/lagan-2.0-makefile.patch
new file mode 100644
index 000000000000..1bef6721ab9b
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-makefile.patch
@@ -0,0 +1,120 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,5 +1,8 @@
+ all:
+- (cd src; $(MAKE))
++ $(MAKE) -C src
+ clean:
+ rm -f chaos anchors order glocal utils/bin2bl mlagan utils/cstat utils/bin2mf utils/rc *~ utils/contigorder utils/getbounds utils/cextract utils/seqmerge utils/getlength utils/getoverlap utils/*~ utils/scorealign utils/scorecontigs mlagan.purify utils/getcontigpos utils/fa2xfa utils/Glue utils/dotplot utils/overlay
+- (cd src; $(MAKE) clean)
++ $(MAKE) -C src clean
++
++check: all
++ (LAGAN_DIR="." ./mlagan -h || true) | grep -q version && echo "[ok]" || echo "[fail]"
+--- a/src/glocal/Makefile
++++ b/src/glocal/Makefile
+@@ -1,19 +1,13 @@
+-CC = g++
+-OPTFLAGS =
+-CFLAGS = $(OPTFLAGS) -O3
+-CLINKER = g++
+-# LIBDIR = -L/usr/local/lib
++CXXFLAGS += -Wno-deprecated
++CPPFLAGS += -I./
++
+ MLIB = -lm
+-INCDIR = -I./
+ TRGT_DIR = ../..
+ TRGT = glocal
+ OBJECTS = glocal.o io.o rightinfluence.o leftinfluence.o score.o
+
+-.cpp.o:
+- $(CC) -Wno-deprecated $(CFLAGS) $(INCDIR) -c $*.cpp
+-
+ $(TRGT): $(OBJECTS)
+- $(CLINKER) $(OPTFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJECTS) -o $(TRGT_DIR)/$(TRGT) $(MLIB)
+
+ clean :
+ rm -f *.o ./*~ *~ core
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -1,54 +1,51 @@
+-CC = gcc $(CFLAGS)
+-CPP = g++ $(CFLAGS)
+-CFLAGS = -O3 # -Wall -W
+ TRGT_DIR = ..
+
+ all: ../anchors ../chaos ../order ../mlagan ../prolagan ../utils/bin2mf ../utils/bin2bl ../utils/cextract ../utils/cstat ../utils/contigorder ../utils/getbounds ../utils/getlength ../utils/getoverlap ../utils/rc ../utils/seqmerge ../utils/scorealign ../utils/scorecontigs ../utils/getcontigpos ../utils/fa2xfa ../utils/Glue ../utils/dotplot ../utils/overlay
+- (cd glocal; $(MAKE))
++ (cd glocal && $(MAKE))
+ clean:
+ rm -f *.o *~ utils/*~ mlagan.purify core
+- (cd glocal; $(MAKE) clean)
++ (cd glocal && $(MAKE) clean)
+ ../anchors: anchors.c skiplist.c
+- $(CC) -o $(TRGT_DIR)/anchors anchors.c skiplist.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/anchors anchors.c skiplist.c
+ ../chaos: fchaos.c thrtrie.c skiplist.c global.c translate.c mempage.c filebuffer.c
+- $(CC) -o $(TRGT_DIR)/chaos fchaos.c thrtrie.c skiplist.c global.c translate.c filebuffer.c -lm -DCHAOS__FLAG
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/chaos fchaos.c thrtrie.c skiplist.c global.c translate.c filebuffer.c -lm -DCHAOS__FLAG
+ ../order: order.c diagmatrix.c filebuffer.c
+- $(CC) -o $(TRGT_DIR)/order order.c diagmatrix.c filebuffer.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/order order.c diagmatrix.c filebuffer.c
+ ../mlagan: mlagan.c diagmatrix.c multial.c skiplist.c filebuffer.c
+- $(CC) -o $(TRGT_DIR)/mlagan mlagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/mlagan mlagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG
+ ../prolagan: prolagan.c diagmatrix.c multial.c skiplist.c filebuffer.c
+- $(CC) -o $(TRGT_DIR)/prolagan prolagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/prolagan prolagan.c multial.c diagmatrix.c skiplist.c filebuffer.c -lm -DMULTIAL__FLAG
+ ../utils/bin2mf: utils/bin2mf.c
+- $(CC) -o $(TRGT_DIR)/utils/bin2mf utils/bin2mf.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2mf utils/bin2mf.c
+ ../utils/bin2bl: utils/bin2bl.c
+- $(CC) -o $(TRGT_DIR)/utils/bin2bl utils/bin2bl.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/bin2bl utils/bin2bl.c
+ ../utils/cextract: utils/cextract.c
+- $(CC) -o $(TRGT_DIR)/utils/cextract utils/cextract.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cextract utils/cextract.c
+ ../utils/cstat: utils/cstat.c
+- $(CC) -o $(TRGT_DIR)/utils/cstat utils/cstat.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/cstat utils/cstat.c
+ ../utils/contigorder: utils/contigorder.c
+- $(CC) -o $(TRGT_DIR)/utils/contigorder utils/contigorder.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/contigorder utils/contigorder.c
+ ../utils/getbounds: utils/getbounds.c
+- $(CC) -o $(TRGT_DIR)/utils/getbounds utils/getbounds.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getbounds utils/getbounds.c
+ ../utils/getcontigpos: utils/getcontigpos.c
+- $(CC) -o $(TRGT_DIR)/utils/getcontigpos utils/getcontigpos.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getcontigpos utils/getcontigpos.c
+ ../utils/getlength: utils/getlength.c
+- $(CC) -o $(TRGT_DIR)/utils/getlength utils/getlength.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getlength utils/getlength.c
+ ../utils/getoverlap: utils/getoverlap.c
+- $(CC) -o $(TRGT_DIR)/utils/getoverlap utils/getoverlap.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/getoverlap utils/getoverlap.c
+ ../utils/rc: utils/rc.c
+- $(CC) -o $(TRGT_DIR)/utils/rc utils/rc.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/rc utils/rc.c
+ ../utils/seqmerge: utils/seqmerge.c
+- $(CC) -o $(TRGT_DIR)/utils/seqmerge utils/seqmerge.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/seqmerge utils/seqmerge.c
+ ../utils/scorealign: utils/scorealign.c
+- $(CC) -o $(TRGT_DIR)/utils/scorealign utils/scorealign.c -lm
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorealign utils/scorealign.c -lm
+ ../utils/scorecontigs: utils/scorecontigs.c
+- $(CC) -o $(TRGT_DIR)/utils/scorecontigs utils/scorecontigs.c -lm
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/scorecontigs utils/scorecontigs.c -lm
+ ../utils/fa2xfa: utils/fa2xfa.c
+- $(CC) -o $(TRGT_DIR)/utils/fa2xfa utils/fa2xfa.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/fa2xfa utils/fa2xfa.c
+ ../utils/overlay: utils/overlay.c
+- $(CC) -o $(TRGT_DIR)/utils/overlay utils/overlay.c
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/overlay utils/overlay.c
+ ../utils/Glue: utils/Glue.cpp
+- $(CPP) -o $(TRGT_DIR)/utils/Glue utils/Glue.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/Glue utils/Glue.cpp
+ ../utils/dotplot: utils/dotplot.cpp
+- $(CPP) -o $(TRGT_DIR)/utils/dotplot utils/dotplot.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) -o $(TRGT_DIR)/utils/dotplot utils/dotplot.cpp
diff --git a/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch b/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch
new file mode 100644
index 000000000000..29db043d5f34
--- /dev/null
+++ b/sci-biology/lagan/files/lagan-2.0-qa-implicit-declarations.patch
@@ -0,0 +1,61 @@
+--- a/src/mlagan.c
++++ b/src/mlagan.c
+@@ -46,6 +46,7 @@
+ return 1;
+ }
+
++int printXMFAAlign(FILE* outfile, align* myalign);
+
+ void usage(void) {
+ printf("mlagan seqfile_1 seqfile_2 [... seqfile_%d] [-parameters]\n\n",
+--- a/src/order.c
++++ b/src/order.c
+@@ -28,6 +28,8 @@
+
+ align* makeAlign(dmat* mydm, char* seq1, char* seq2);
+
++int printMFAAlign(char* seq1, char* seq2, align* myalign, char* n1, char* n2);
++int printXMFAAlign(char* seq1, char* seq2, align* myalign, char* n1, char* n2);
+
+ char* alpha = "ATCGN.";
+
+--- a/src/prolagan.c
++++ b/src/prolagan.c
+@@ -49,6 +49,7 @@
+ return 1;
+ }
+
++int printXMFAAlign(FILE* outfile, align* myalign);
+
+ void usage(void) {
+ printf("mlagan seqfile_1 seqfile_2 [... seqfile_%d] [-parameters]\n\n",
+--- a/src/utils/cstat.c
++++ b/src/utils/cstat.c
+@@ -3,6 +3,7 @@
+ #include <string.h>
+ #include <math.h>
+ #include <assert.h>
++#include <ctype.h>
+
+ #define MAX_SEQ 31
+ #define MAX(a,b) ((a)>(b)?(a):(b))
+--- a/src/utils/overlay.c
++++ b/src/utils/overlay.c
+@@ -2,6 +2,7 @@
+ #include <stdio.h>
+ #include <assert.h>
+ #include <string.h>
++#include <ctype.h>
+
+ #define MAX_SEQS 63
+ #define MIN2(y,z) ((y)<(z))?(y):(z)
+--- a/src/utils/scorecontigs.c
++++ b/src/utils/scorecontigs.c
+@@ -3,6 +3,7 @@
+ #include <string.h>
+ #include <math.h>
+ #include <assert.h>
++#include <ctype.h>
+
+ #define MAX_SEQ 1024
+ #define MAX(a,b) ((a)>(b)?(a):(b))
diff --git a/sci-biology/lagan/lagan-2.0-r4.ebuild b/sci-biology/lagan/lagan-2.0-r4.ebuild
new file mode 100644
index 000000000000..4582d8f1078e
--- /dev/null
+++ b/sci-biology/lagan/lagan-2.0-r4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P="lagan20"
+
+DESCRIPTION="The LAGAN suite of tools for whole-genome multiple alignment of genomic DNA"
+HOMEPAGE="http://lagan.stanford.edu/lagan_web/index.shtml"
+SRC_URI="http://lagan.stanford.edu/lagan_web/${MY_P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-lang/perl"
+
+S="${WORKDIR}/${MY_P}"
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-conflicting-getline.patch
+ "${FILESDIR}"/${P}-gcc-4.8.patch
+ "${FILESDIR}"/${P}-ambiguous-end.patch
+ "${FILESDIR}"/${P}-gcc-9.patch
+ "${FILESDIR}"/${P}-gcc-10.patch
+ "${FILESDIR}"/${P}-C99-static-inline.patch
+ "${FILESDIR}"/${P}-qa-implicit-declarations.patch
+)
+
+src_prepare() {
+ default
+ sed -i "/use Getopt::Long;/ i use lib \"/usr/$(get_libdir)/lagan/lib\";" \
+ supermap.pl || die
+}
+
+src_configure() {
+ tc-export CC CXX
+}
+
+src_install() {
+ newbin lagan.pl lagan
+ newbin slagan.pl slagan
+ dobin mlagan
+ rm lagan.pl slagan.pl utils/Utils.pm || die
+
+ insinto /usr/$(get_libdir)/lagan/lib
+ doins Utils.pm
+
+ exeinto /usr/$(get_libdir)/lagan/utils
+ doexe utils/*
+
+ exeinto /usr/$(get_libdir)/lagan
+ doexe *.pl anchors chaos glocal order prolagan
+
+ insinto /usr/$(get_libdir)/lagan
+ doins *.txt
+
+ dosym ../$(get_libdir)/lagan/supermap.pl /usr/bin/supermap
+
+ newenvd - 99lagan <<- _EOF_
+ LAGAN_DIR="${EPREFIX}/usr/$(get_libdir)/lagan"
+ _EOF_
+
+ dodoc Readmes/README.*
+}
diff --git a/sci-biology/lagan/metadata.xml b/sci-biology/lagan/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/lagan/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/libgtextutils/Manifest b/sci-biology/libgtextutils/Manifest
new file mode 100644
index 000000000000..9480b9ec6419
--- /dev/null
+++ b/sci-biology/libgtextutils/Manifest
@@ -0,0 +1 @@
+DIST libgtextutils-0.6.1.tar.bz2 273459 BLAKE2B 81b1e9b467287ed9551fc53abddf5757efb2dd1c98f0388e2128535fbe70b706badd5702a5b5c3cb19a34c26ffa218c9c41caf9f17770a015b09fc13fabe4d53 SHA512 0bc392385f9e6c345dff82b3fb04f322e8aceca769e15a3a87da6c718b6e9a7e1de082940d4bb0339a4c3a86f706fde0de047df459682aa9ea216d6e5c17eab6
diff --git a/sci-biology/libgtextutils/files/libgtextutils-0.6.1-fix-build-system.patch b/sci-biology/libgtextutils/files/libgtextutils-0.6.1-fix-build-system.patch
new file mode 100644
index 000000000000..f7f608b792d2
--- /dev/null
+++ b/sci-biology/libgtextutils/files/libgtextutils-0.6.1-fix-build-system.patch
@@ -0,0 +1,61 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -15,7 +15,7 @@
+
+ AC_CONFIG_AUX_DIR(config)
+ AC_CONFIG_MACRO_DIR([m4])
+-AM_CONFIG_HEADER(config.h)
++AC_CONFIG_HEADERS([config.h])
+ AM_INIT_AUTOMAKE([dist-bzip2])
+
+ # dynamic library version
+@@ -25,12 +25,12 @@
+
+ AC_PROG_CC
+ AC_PROG_CXX
+-AC_PROG_LIBTOOL
++LT_INIT
+
+ dnl --enable-wall
+-EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security -Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal -Werror"
++EXTRA_CHECKS="-Wall -Wextra -Wformat-nonliteral -Wformat-security -Wswitch-default -Wswitch-enum -Wunused-parameter -Wfloat-equal"
+ AC_ARG_ENABLE(wall,
+-[ --enable-wall Enable many common GCC warnings (-Wall,-Wextra, -Werror etc., default enabled)],
++[ --enable-wall Enable many common GCC warnings (-Wall,-Wextra etc., default enabled)],
+ [case "${enableval}" in
+ yes) wall=true ;;
+ no) wall=false ;;
+@@ -42,22 +42,6 @@
+ CXXFLAGS="${CXXFLAGS} ${EXTRA_CHECKS}"
+ fi
+
+-dnl --enable-debug
+-AC_ARG_ENABLE(debug,
+-[ --enable-debug Enable debug mode (default enabled)],
+-[case "${enableval}" in
+- yes) debug=true ;;
+- no) debug=false ;;
+- *) AC_MSG_ERROR(bad value ${enableval} for --enable-debug) ;;
+-esac],[debug=true])
+-if test "$debug" = "true"
+-then
+- CFLAGS="${CFLAGS} -DDEBUG -g -O1"
+- CXXFLAGS="${CFLAGS} -DDEBUG -g -O1"
+-else
+- CFLAGS="${CFLAGS} -O3"
+- CXXFLAGS="${CFLAGS} -O3"
+-fi
+
+
+ dnl --enable-tuple-parser-check
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -9,7 +9,7 @@
+ # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+
+ EXTRA_DIST = reconf configure
+-SUBDIRS = m4 src doc tests
++SUBDIRS = src doc tests
+
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = gtextutils.pc
diff --git a/sci-biology/libgtextutils/files/libgtextutils-0.6.1-gcc6.patch b/sci-biology/libgtextutils/files/libgtextutils-0.6.1-gcc6.patch
new file mode 100644
index 000000000000..490b4be9b91b
--- /dev/null
+++ b/sci-biology/libgtextutils/files/libgtextutils-0.6.1-gcc6.patch
@@ -0,0 +1,22 @@
+From d8bb66d26288293ebde7f8d88979c13c208ffce5 Mon Sep 17 00:00:00 2001
+From: Assaf Gordon <assafgordon@gmail.com>
+Date: Mon, 14 Aug 2017 11:52:09 -0600
+Subject: [PATCH] text_line_reader: adjust to new compilers
+
+Fixes https://github.com/agordon/libgtextutils/issues/10 .
+---
+ src/gtextutils/text_line_reader.cpp | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/gtextutils/text_line_reader.cpp b/src/gtextutils/text_line_reader.cpp
+index fede933..f0984d5 100644
+--- a/src/gtextutils/text_line_reader.cpp
++++ b/src/gtextutils/text_line_reader.cpp
+@@ -44,6 +44,6 @@ bool TextLineReader::next_line()
+ if (input_stream.eof())
+ return false;
+
+- return input_stream ;
++ return input_stream.good() ;
+ }
+
diff --git a/sci-biology/libgtextutils/libgtextutils-0.6.1-r1.ebuild b/sci-biology/libgtextutils/libgtextutils-0.6.1-r1.ebuild
new file mode 100644
index 000000000000..2ffb1c3338b8
--- /dev/null
+++ b/sci-biology/libgtextutils/libgtextutils-0.6.1-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Gordon Text utils Library"
+HOMEPAGE="http://hannonlab.cshl.edu/fastx_toolkit/"
+SRC_URI="http://hannonlab.cshl.edu/fastx_toolkit/${P}.tar.bz2"
+
+LICENSE="AGPL-3"
+SLOT="0/0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-gcc6.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-biology/libgtextutils/metadata.xml b/sci-biology/libgtextutils/metadata.xml
new file mode 100644
index 000000000000..af4a28d65350
--- /dev/null
+++ b/sci-biology/libgtextutils/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>mmokrejs@gmail.com</email>
+ <name>Martin Mokrejs</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mafft/Manifest b/sci-biology/mafft/Manifest
new file mode 100644
index 000000000000..0cf31ad3c018
--- /dev/null
+++ b/sci-biology/mafft/Manifest
@@ -0,0 +1 @@
+DIST mafft-7.525-without-extensions-src.tgz 622798 BLAKE2B d1c58a2f44aacf00917351a5118b694684c64f128a777096a56904acb0c4ed728408fa58399c8d1dfcd38cb0733dc86b830b5b5bec582875577796f5aa75a811 SHA512 84b3ae1cabca0af0286713bfcfc1de3fd912214106c3b836e465d643d3a68dd6c8df697e424a82c324936b4d448c73e465fb16bcf3fc44e98270c16580e9dbb3
diff --git a/sci-biology/mafft/files/mafft-7.525-c23.patch b/sci-biology/mafft/files/mafft-7.525-c23.patch
new file mode 100644
index 000000000000..3fa9a829faae
--- /dev/null
+++ b/sci-biology/mafft/files/mafft-7.525-c23.patch
@@ -0,0 +1,126 @@
+https://salsa.debian.org/med-team/mafft/-/commit/73d7be1d2ee617b3cd533e62adc2536b5c8330a9
+
+From: Michael R. Crusoe <crusoe@debian.org>
+Subject: Add GCC-16 compatibility
+Forwarded: katoh@ifrec.osaka-u.ac.jp
+
+--- a/core/constants.c
++++ b/core/constants.c
+@@ -1537,7 +1537,7 @@
+ }
+ }
+
+-void freeconstants()
++void freeconstants(void)
+ {
+ if( n_disLN ) FreeDoubleMtx( n_disLN ); n_disLN = NULL;
+ if( n_dis ) FreeIntMtx( n_dis ); n_dis = NULL;
+--- a/core/defs.c
++++ b/core/defs.c
+@@ -139,7 +139,7 @@
+ int terminalmargin = 100;
+
+
+-void initglobalvariables()
++void initglobalvariables(void)
+ {
+ commonAlloc1 = 0;
+ commonAlloc2 = 0;
+--- a/core/io.c
++++ b/core/io.c
+@@ -1063,8 +1063,7 @@
+ return( !noteofflag );
+ }
+
+-int getaline_fp_eof_new(s, l, fp) /* end of file -> return 1 */
+-char s[] ; int l ; FILE *fp ;
++int getaline_fp_eof_new( char s[], int l, FILE *fp ) /* end of file -> return 1 */
+ {
+ int c = 0, i = 0 ;
+ int noteofflag = 0;
+@@ -1079,8 +1078,7 @@
+ return( !noteofflag );
+ }
+
+-int myfgets(s, l, fp) /* l°Ê¾å¤Ï¡¢¹ÔËö¤Þ¤ÇÆÉ¤ßÈô¤Ð¤¹ */
+-char s[] ; int l ; FILE *fp ;
++int myfgets( char s[], int l, FILE *fp ) /* l°Ê¾å¤Ï¡¢¹ÔËö¤Þ¤ÇÆÉ¤ßÈô¤Ð¤¹ */
+ {
+ int c = 0, i = 0 ;
+
+@@ -5505,7 +5503,7 @@
+ }
+ }
+ }
+-static void showaamtxexample()
++static void showaamtxexample(void)
+ {
+ fprintf( stderr, "Format error in aa matrix\n" );
+ fprintf( stderr, "# Example:\n" );
+--- a/core/mltaln.h
++++ b/core/mltaln.h
+@@ -166,7 +166,7 @@
+ extern char rnaprediction;
+
+ /* sengen no ichi ha koko dake de ha nai */
+-extern void constants();
++extern void constants( int nseq, char **seq );
+ extern char **Calignm1();
+ extern char **Dalignm1();
+ extern char **align0();
+@@ -179,24 +179,24 @@
+ extern double substitution_nid( char *, char * );
+ extern double substitution_hosei( char *, char * );
+ extern double ipower( double, int );
+-extern double translate_and_Calign();
+-extern double A__align();
++extern double translate_and_Calign( char **mseq1, char **mseq2, double *effarr1, double *effarr2, int clus1, int clus2, int alloclen );
++extern double A__align( double **scoringmtx, int penalty, int penalty_ex, char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, char *gs1, char *gs2, char *ge1, char *ge2, int *, int, int *, int headgp, int tailgp, int firstmem, int calledby, double ***cpmxchild0, double ***cpmxchild1, double ***cpmxresult, double orieff1, double orieff2 );
+ extern double A__align11();
+-extern double A__align_gapmap();
+-extern double partA__align();
++extern double A__align_gapmap( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, int *gapmap1, int *gapmap2 );
++extern double partA__align( char **seq1, char **seq2, double *eff1, double *eff2, int icyc, int jcyc, int alloclen, int constraint, double *impmatch, int start1, int end1, int start2, int end2, int *gapmap1, int *gapmap2, char *, char *, char *, char *, int *, int, int * );
+ extern double L__align11( double **scoringmtx, double scoreoffset, char **seq1, char **seq2, int alloclen, int *off1pt, int *off2pt );
+-extern double G__align11();
+-extern double Falign();
+-extern double Falign_localhom();
++extern double G__align11( double **scoringmtx, char **seq1, char **seq2, int alloclen, int headgp, int tailgp );
++extern double Falign( int **whichmtx, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int *fftlog, int *, int, int * );
++extern double Falign_localhom( int **which, double ***scoringmatrices, double **scoreingmtx, char **seq1, char **seq2, double *eff1, double *eff2, double **eff1s, double **eff2s, int clus1, int clus2, int alloclen, int constraint, double *totalimpmatch, int *gapmap1, int *gapmap2, int *chudanpt, int chudanref, int *chudanres );
+ extern double Conalign();
+ extern double Aalign();
+ extern double imp_match_out_sc( int, int );
+ extern double part_imp_match_out_sc( int, int );
+-extern void ErrorExit();
+-extern void cpmx_calc();
++extern void ErrorExit( char *message );
++extern void cpmx_calc( char **seq, double **cpmx, double *eff, int lgth, int clus );
+ extern void intergroup_score( char **, char **, double *, double *, int, int, int, double * );
+ extern int conjuctionfortbfast();
+-extern int fastconjuction();
++extern int fastconjuction( int *memlist, char **seq, char **aseq, double *peff, double *eff, char name[M][B], char aname[M][B], char *d );
+ extern char seqcheck( char ** );
+
+ typedef struct _LocalHom
+--- a/core/mltaln9.c
++++ b/core/mltaln9.c
+@@ -15232,7 +15232,7 @@
+ }
+ }
+ }
+-void FreeCommonIP()
++void FreeCommonIP(void)
+ {
+ if( commonIP ) FreeIntMtx( commonIP );
+ commonIP = NULL;
+--- a/core/version.c
++++ b/core/version.c
+@@ -1,6 +1,6 @@
+ #include "mltaln.h"
+
+-int main()
++int main(void)
+ {
+ fprintf( stdout, VERSION );
+ return( 0 );
diff --git a/sci-biology/mafft/mafft-7.525.ebuild b/sci-biology/mafft/mafft-7.525.ebuild
new file mode 100644
index 000000000000..5be0faf00dd7
--- /dev/null
+++ b/sci-biology/mafft/mafft-7.525.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+EXTENSIONS="-without-extensions"
+
+DESCRIPTION="Multiple sequence alignments using a variety of algorithms"
+HOMEPAGE="https://mafft.cbrc.jp/alignment/software/index.html"
+SRC_URI="https://mafft.cbrc.jp/alignment/software/${P}${EXTENSIONS}-src.tgz"
+S="${WORKDIR}/${P}${EXTENSIONS}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-7.525-c23.patch
+)
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's/(PREFIX)\/man/(PREFIX)\/share\/man/' \
+ -e 's:$(LDFLAGS)::g' \
+ -e 's:$(CC) -o $@:$(CC) $(LDFLAGS) -o $@:g' \
+ -e 's:$(CC) -shared -o $@:$(CC) $(LDFLAGS) -shared -o $@:g' \
+ -e '/INSTALL/s: -s : :g' \
+ -i core/Makefile || die
+}
+
+src_configure() {
+ append-cflags -Wno-unused-result
+}
+
+src_compile() {
+ emake -C core \
+ PREFIX="${EPREFIX}"/usr \
+ CC="$(tc-getCC)" \
+ CFLAGS="${CFLAGS}"
+}
+
+src_test() {
+ export MAFFT_BINARIES="${S}"/core
+ cd test || die
+ bash ../core/mafft sample > test.fftns2 || die "Tests failed"
+ bash ../core/mafft --maxiterate 100 sample > test.fftnsi || die "Tests failed"
+ bash ../core/mafft --globalpair sample > test.gins1 || die "Tests failed"
+ bash ../core/mafft --globalpair --maxiterate 100 sample > test.ginsi || die "Tests failed"
+ bash ../core/mafft --localpair sample > test.lins1 || die "Tests failed"
+ bash ../core/mafft --localpair --maxiterate 100 sample > test.linsi || die "Tests failed"
+
+ diff test.fftns2 sample.fftns2 || die "Tests failed"
+ diff test.fftnsi sample.fftnsi || die "Tests failed"
+ diff test.gins1 sample.gins1 || die "Tests failed"
+ diff test.ginsi sample.ginsi || die "Tests failed"
+ diff test.lins1 sample.lins1 || die "Tests failed"
+}
+
+src_install() {
+ emake -C core DESTDIR="${D}" STRIP=":" PREFIX="${EPREFIX}"/usr install
+ dodoc README.md
+}
diff --git a/sci-biology/mafft/metadata.xml b/sci-biology/mafft/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/mafft/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/maq/Manifest b/sci-biology/maq/Manifest
new file mode 100644
index 000000000000..3838b916cf64
--- /dev/null
+++ b/sci-biology/maq/Manifest
@@ -0,0 +1,2 @@
+DIST calib-36.dat.gz 196371 BLAKE2B e4dab71e0830603a7c25bb4c8e15f92e4a5068eeeece451a3e0a2a9e2c4f65b87325e7ff4e4e5543b79f2c3d9dd43c9398cdb32241535bf44e66705bfdf683f7 SHA512 1033ad47b31882823f71f16054f366a6853b4b5e1fb286ab2c5f62c1409ed20e6dc0faec7e356350e91c71d25a198d8e0d7a521b3662b5e2fae22af44098e8b7
+DIST maq-0.7.1.tar.bz2 368645 BLAKE2B a7989ae2348a7332f17a75c6fccba55deb8bd9330863d0c5ab3bf997f2f07abd1ca89ebb41d034902f6571ee36365f63db9c8c84c1e5d3d788236279581b989e SHA512 acaba2d172f8f4ef7a2b1254bd220f134a5eb8e4936af16bf7fa6695d016e6b6fa9a5b00d073ec1ecc0ecc39dfb1c9700c38fd017edb5bd49a83de383cb0d30c
diff --git a/sci-biology/maq/files/maq-0.7.1-bfr-overfl.patch b/sci-biology/maq/files/maq-0.7.1-bfr-overfl.patch
new file mode 100644
index 000000000000..9f4247d441f5
--- /dev/null
+++ b/sci-biology/maq/files/maq-0.7.1-bfr-overfl.patch
@@ -0,0 +1,16 @@
+ simulate.c | 2 +-
+ 1 files changed, 1 insertions(+), 1 deletions(-)
+
+diff --git a/simulate.c b/simulate.c
+index 788c440..67ba2ba 100644
+--- a/simulate.c
++++ b/simulate.c
+@@ -383,7 +383,7 @@ static void simustat_core(gzFile fp, int Q_thres)
+ memset(wc_single, 0, 40); memset(tot_single, 0, 40);
+ memset(wc_pair, 0, 40); memset(tot_pair, 0, 40);
+ memset(abpair, 0, 4 * 256 * 10);
+- memset(tc[2], 0, 4 * sizeof(int));
++ memset(tc, 0, 4 * sizeof(int));
+ while (maqmap_read1(fp, m1)) {
+ int is_correct;
+ bit32_t p1, p2;
diff --git a/sci-biology/maq/files/maq-0.7.1-flags.patch b/sci-biology/maq/files/maq-0.7.1-flags.patch
new file mode 100644
index 000000000000..721e53248b7a
--- /dev/null
+++ b/sci-biology/maq/files/maq-0.7.1-flags.patch
@@ -0,0 +1,24 @@
+ configure.ac | 3 ++-
+ 1 files changed, 2 insertions(+), 1 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index ad2f1e6..4f9d7be 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -8,6 +8,7 @@ AC_PROG_CXX
+
+ # set CFLAGS and CXXFLAGS
+ user_CFLAGS=${CFLAGS}
++user_CXXFLAGS=${CXXFLAGS}
+ generic_CFLAGS="-Wall"
+ ext_CFLAGS=""
+ case "${host_cpu}-${host_os}" in
+@@ -37,7 +38,7 @@ AC_ARG_ENABLE(shortread, [ --enable-shortreads use shortread mode],
+ AC_ARG_ENABLE(intel64, [ --enable-intel64 optimize for Intel64 CPU such as Xeon and Core2],
+ [ext_CFLAGS="${ext_CFLAGS} -mtune=nocona"], [])
+ CFLAGS="${generic_CFLAGS} ${ext_CFLAGS} ${user_CFLAGS}"
+-CXXFLAGS=$CFLAGS
++CXXFLAGS="${generic_CFLAGS} ${ext_CFLAGS} ${user_CXXFLAGS}"
+
+ AC_STDC_HEADERS
+ AC_CHECK_HEADER(zlib.h)
diff --git a/sci-biology/maq/files/maq-0.7.1-gcc-4.7.patch b/sci-biology/maq/files/maq-0.7.1-gcc-4.7.patch
new file mode 100644
index 000000000000..4b97da89be48
--- /dev/null
+++ b/sci-biology/maq/files/maq-0.7.1-gcc-4.7.patch
@@ -0,0 +1,34 @@
+ stdhash.hh | 6 +++---
+ 1 files changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/stdhash.hh b/stdhash.hh
+index eaf98af..16cd1a3 100644
+--- a/stdhash.hh
++++ b/stdhash.hh
+@@ -412,7 +412,7 @@ public:
+ inline bool insert(const keytype_t &key) {
+ __lh3_hash_base_class<keytype_t>::rehash();
+ hashint_t i;
+- int ret = direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
++ int ret = this->direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
+ if (ret == 0) return true;
+ if (ret == 1) { ++(this->n_size); ++(this->n_occupied); }
+ else ++(this->n_size); // then ret == 2
+@@ -493,7 +493,7 @@ public:
+ inline bool insert(const keytype_t &key, const valtype_t &val) {
+ rehash();
+ hashint_t i;
+- int ret = direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
++ int ret = this->direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
+ vals[i] = val;
+ if (ret == 0) return true;
+ if (ret == 1) { ++(this->n_size); ++(this->n_occupied); }
+@@ -503,7 +503,7 @@ public:
+ inline bool insert(const keytype_t &key, valtype_t **q) {
+ rehash();
+ hashint_t i;
+- int ret = direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
++ int ret = this->direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
+ *q = vals + i;
+ if (ret == 0) return true;
+ if (ret == 1) { ++(this->n_size); ++(this->n_occupied); }
diff --git a/sci-biology/maq/files/maq-0.7.1-gcc14-build-fix.patch b/sci-biology/maq/files/maq-0.7.1-gcc14-build-fix.patch
new file mode 100644
index 000000000000..b92b7711bfe0
--- /dev/null
+++ b/sci-biology/maq/files/maq-0.7.1-gcc14-build-fix.patch
@@ -0,0 +1,23 @@
+Bug: https://bugs.gentoo.org/921137
+--- a/fastq2bfq.c
++++ b/fastq2bfq.c
+@@ -15,7 +15,7 @@ int64_t fastq2bfq(FILE *fp_fq, const char *fn_bfq, int n_reads)
+ char name[256], str[1024];
+ int l, is_new = 0, l_prefix = 0;
+ bit64_t n;
+- gzFile *fp = 0;
++ gzFile fp = 0;
+ INIT_SEQ(seq); INIT_SEQ(qual);
+ seq_set_block_size(256);
+ n = 0;
+--- a/simulate.c
++++ b/simulate.c
+@@ -74,7 +74,7 @@ int maq_simutrain(int argc, char *argv[])
+ {
+ fqc_t *fqc;
+ FILE *fp;
+- gzFile *fpout;
++ gzFile fpout;
+ if (argc < 3) {
+ fprintf(stderr, "Usage: maq simutrain <simupars.dat> <known_reads.fastq>\n");
+ return 1;
diff --git a/sci-biology/maq/files/maq-0.7.1-remove-64bit-flag.patch b/sci-biology/maq/files/maq-0.7.1-remove-64bit-flag.patch
new file mode 100644
index 000000000000..3bcbc2b5fd51
--- /dev/null
+++ b/sci-biology/maq/files/maq-0.7.1-remove-64bit-flag.patch
@@ -0,0 +1,19 @@
+Do not hardcode -m64 into the build system
+
+--- a/configure.ac
++++ b/configure.ac
+@@ -21,12 +21,12 @@
+ [ext_CFLAGS="-arch x86_64 -arch i386 -arch ppc64 -arch ppc"],
+ [ext_CFLAGS="-arch i386 -arch ppc"]);;
+ 0) CFLAGS="-m64"
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS="-m64"], []);;
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS=""], []);;
+ esac;;
+ *)
+ AC_MSG_CHECKING([if gcc accepts -m64])
+ CFLAGS="-m64"
+- AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS="-m64"; AC_MSG_RESULT([yes])],
++ AC_COMPILE_IFELSE([AC_LANG_PROGRAM], [ext_CFLAGS=""; AC_MSG_RESULT([yes])],
+ [ext_CFLAGS="-D_FILE_OFFSET_BITS=64"; AC_MSG_RESULT([no])]);;
+ esac
+ AC_ARG_ENABLE(experimental, [ --enable-experimental enable experimental features],
diff --git a/sci-biology/maq/maq-0.7.1-r4.ebuild b/sci-biology/maq/maq-0.7.1-r4.ebuild
new file mode 100644
index 000000000000..63c8ae46d650
--- /dev/null
+++ b/sci-biology/maq/maq-0.7.1-r4.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Mapping and Assembly with Qualities, mapping NGS reads to reference genomes"
+HOMEPAGE="https://maq.sourceforge.net/"
+SRC_URI="
+ https://downloads.sourceforge.net/${PN}/${P}.tar.bz2
+ https://downloads.sourceforge.net/${PN}/calib-36.dat.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="virtual/zlib:="
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-flags.patch
+ "${FILESDIR}"/${P}-bfr-overfl.patch
+ "${FILESDIR}"/${P}-gcc-4.7.patch
+ "${FILESDIR}"/${P}-remove-64bit-flag.patch
+ "${FILESDIR}"/${P}-gcc14-build-fix.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_install() {
+ default
+
+ insinto /usr/share/maq
+ doins "${WORKDIR}"/*.dat
+
+ doman maq.1
+ dodoc maq.pdf
+}
diff --git a/sci-biology/maq/metadata.xml b/sci-biology/maq/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/maq/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/maqview/Manifest b/sci-biology/maqview/Manifest
new file mode 100644
index 000000000000..31c58c4bc639
--- /dev/null
+++ b/sci-biology/maqview/Manifest
@@ -0,0 +1 @@
+DIST maqview-0.2.5.tar.gz 383410 BLAKE2B 7058f32e49267dfcc8b25da2ca2bbbd5134f66f0f9cbd10de7e876365d955d2e51cbab342af817f13018b7b1903872033c363fe077f10ce76e5fcc87da568dc1 SHA512 40bed0a1005ca96fdb12773cd9c22ddc926fe722c64652031609a17a50ff725a3dc117d51f4f27eda68b48861da78427469aaedff744f29921236b486396aed6
diff --git a/sci-biology/maqview/files/0.2.5-ldflags.patch b/sci-biology/maqview/files/0.2.5-ldflags.patch
new file mode 100644
index 000000000000..92b9a3ed58ac
--- /dev/null
+++ b/sci-biology/maqview/files/0.2.5-ldflags.patch
@@ -0,0 +1,46 @@
+ configure.ac | 18 +++---------------
+ 1 files changed, 3 insertions(+), 15 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 90e612b..5a00d15 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -9,17 +9,10 @@ AC_PROG_INSTALL
+ AC_STDC_HEADERS
+
+ is_static=0
+-case ${prefix} in
+- NONE);;
+- *) is_static=1
+- AC_MSG_WARN([Library libglut will be statically linked.])
+- LDFLAGS="-L${prefix}/lib"
+- CPPFLAGS="-I${prefix}/include";;
+-esac
+
+ # set CFLAGS and LDFLAGS
+
+-true_CFLAGS="-g -O2 -Wall -W -DMAQ_LONGREADS"
++true_CFLAGS="-DMAQ_LONGREADS"
+ case "${host_os}" in
+ darwin*)
+ GLLIBS="-framework OpenGL -framework GLUT"
+@@ -30,17 +23,12 @@ case "${host_os}" in
+ i?86) CPPFLAGS="$CPPFLAGS -D_FILE_OFFSET_BITS=64";;
+ esac
+ AC_CHECK_LIB([glut], [glutMouseWheelFunc], [CPPFLAGS="$CPPFLAGS -DHAVE_FREEGLUT"])
+- AC_ARG_ENABLE(static, [ --enable-static statically link GLUT (Linux Only)],
+- [is_static=1])
+- case $is_static in
+- 1) GLLIBS="-Wl,-Bstatic -lglut -Wl,-Bdynamic -lGL -lGLU -lm";;
+- 0) GLLIBS="-lGL -lglut -lm";;
+- esac
++ GLLIBS="-lGL -lglut -lm -lGLU"
+ AC_SUBST([GLLIBS]);;
+ # *) AC_MSG_ERROR([OS is not supported]);;
+ esac
+ AM_CONDITIONAL([HAVE_GL], [test "$isgl" = 1])
+-CFLAGS=$true_CFLAGS
++CFLAGS="${CFLAGS} $true_CFLAGS"
+
+ AC_CONFIG_FILES([Makefile])
+ AC_OUTPUT
diff --git a/sci-biology/maqview/files/0.2.5-zlib.patch b/sci-biology/maqview/files/0.2.5-zlib.patch
new file mode 100644
index 000000000000..cd35273de66b
--- /dev/null
+++ b/sci-biology/maqview/files/0.2.5-zlib.patch
@@ -0,0 +1,33 @@
+ Makefile.am | 6 +++---
+ zrio.c | 2 +-
+ 2 files changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index dad515a..9617eb7 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -1,8 +1,8 @@
+ bin_PROGRAMS = zrio maqindex maqview maqindex_socks
+-zlib_src = adler32.c compress.c crc32.c deflate.c gzio.c inffast.c inflate.c \
+- infback.c inftrees.c trees.c uncompr.c zutil.c
+-generic_src = btree.c maqmap_index.c zrio.c stdhashc.h stdhashc.cc cns_cache.c const.c $(zlib_src)
++generic_src = btree.c maqmap_index.c zrio.c stdhashc.h stdhashc.cc cns_cache.c const.c
++LIBS = -lz
+ zrio_SOURCES = zrio_main.c $(generic_src)
++zrio_LDADD = -lz
+ maqindex_SOURCES = maqmap_index_main.c $(generic_src)
+ maqview_SOURCES = read_cache.c view_goto.c view_panel.c gl_gui.c MainFrame.c \
+ $(generic_src)
+diff --git a/zrio.c b/zrio.c
+index ffed00a..fe744df 100644
+--- a/zrio.c
++++ b/zrio.c
+@@ -506,7 +506,7 @@ int build_index(int in, int64_t span, struct access **built, void (*notify)(void
+ totin += strm.avail_in;
+ totout += strm.avail_out;
+ tmp = strm.avail_out;
+- ret = inflate_zr(&strm, Z_BLOCK); /* return at end of block */
++ ret = inflate(&strm, Z_BLOCK); /* return at end of block */
+ totin -= strm.avail_in;
+ totout -= strm.avail_out;
+ if(notify) notify(obj, window + WINSIZE - tmp, tmp - strm.avail_out, totout);
diff --git a/sci-biology/maqview/files/maqview-0.2.5-gcc14-build-fix.patch b/sci-biology/maqview/files/maqview-0.2.5-gcc14-build-fix.patch
new file mode 100644
index 000000000000..8f973f38a272
--- /dev/null
+++ b/sci-biology/maqview/files/maqview-0.2.5-gcc14-build-fix.patch
@@ -0,0 +1,12 @@
+Bug: https://bugs.gentoo.org/930767
+--- a/socket_view.c
++++ b/socket_view.c
+@@ -267,7 +267,7 @@ int service_core(ViewServer *server, int sock){
+
+ int runViewServer(ViewServer *server){
+ int i, sock, state;
+- size_t size;
++ socklen_t size;
+ fd_set active_fd_set, read_fd_set;
+ struct timeval timeout;
+ struct sockaddr_in clientname;
diff --git a/sci-biology/maqview/files/maqview-0.2.5-gcc4.7.patch b/sci-biology/maqview/files/maqview-0.2.5-gcc4.7.patch
new file mode 100644
index 000000000000..043208bb79b5
--- /dev/null
+++ b/sci-biology/maqview/files/maqview-0.2.5-gcc4.7.patch
@@ -0,0 +1,16 @@
+ stdhash.hh | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/stdhash.hh b/stdhash.hh
+index eaf98af..f22c5a6 100644
+--- a/stdhash.hh
++++ b/stdhash.hh
+@@ -493,7 +493,7 @@ public:
+ inline bool insert(const keytype_t &key, const valtype_t &val) {
+ rehash();
+ hashint_t i;
+- int ret = direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
++ int ret = this->direct_insert_aux(key, this->n_capacity, this->keys, this->flags, &i);
+ vals[i] = val;
+ if (ret == 0) return true;
+ if (ret == 1) { ++(this->n_size); ++(this->n_occupied); }
diff --git a/sci-biology/maqview/maqview-0.2.5-r5.ebuild b/sci-biology/maqview/maqview-0.2.5-r5.ebuild
new file mode 100644
index 000000000000..2d4e50382027
--- /dev/null
+++ b/sci-biology/maqview/maqview-0.2.5-r5.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="GUI for sci-biology/maq, a short read mapping assembler"
+HOMEPAGE="https://maq.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/maq/${P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ media-libs/freeglut
+ virtual/zlib:="
+RDEPEND="${DEPEND}
+ sci-biology/maq"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-ldflags.patch
+ "${FILESDIR}"/${PV}-zlib.patch
+ "${FILESDIR}"/${P}-gcc4.7.patch
+ "${FILESDIR}"/${P}-gcc14-build-fix.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
diff --git a/sci-biology/maqview/metadata.xml b/sci-biology/maqview/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/maqview/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mosaik/Manifest b/sci-biology/mosaik/Manifest
new file mode 100644
index 000000000000..991bb79876e6
--- /dev/null
+++ b/sci-biology/mosaik/Manifest
@@ -0,0 +1 @@
+DIST mosaik-2.2.30.tar.gz 4387062 BLAKE2B 6f373aeae4f68be2455556e7f79a5850e25d804bd482d85a846b44f8adaabb2513ffc7ced774f5ead6dbc8fc9dca9d64f76f83bc5b55b1be4073a8cf309e121b SHA512 1acf534e6defc927fc22937a7bae6786e85ab7aa234b4209169f1267f1a9bd68415b441c6aed2e7cd667f694a562017ebc9457251958f77386259ffce9812b10
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-Wformat-security.patch b/sci-biology/mosaik/files/mosaik-2.2.30-Wformat-security.patch
new file mode 100644
index 000000000000..9f7271860229
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-Wformat-security.patch
@@ -0,0 +1,84 @@
+- Fix incorrect printf format specifier (-Wformat)
+* fann.c: In function ‘fann_print_connections’:
+* fann.c:889:11: warning: format ‘%d’ expects argument of type ‘int’, but argument 2 has type ‘long int’ [-Wformat=]
+* printf("L %3d / N %4d %s\n", layer_it - ann->first_layer,
+
+- Fix erroneous memset call
+* md5.c: In function ‘MD5Final’:
+* md5.c:152:26: warning: argument to ‘sizeof’ in ‘memset’ call is the same expression as the destination; did you mean to dereference it? [-Wsizeof-pointer-memaccess]
+* memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
+
+--- a/fann-2.1.0/fann.c
++++ b/fann-2.1.0/fann.c
+@@ -886,7 +886,7 @@
+ neurons[ann->connections[i] - ann->first_layer->first_neuron] = (char)('A' + value);
+ }
+ }
+- printf("L %3d / N %4d %s\n", layer_it - ann->first_layer,
++ printf("L %3ld / N %4ld %s\n", layer_it - ann->first_layer,
+ neuron_it - ann->first_layer->first_neuron, neurons);
+ }
+ }
+@@ -987,12 +987,12 @@
+ {
+ if(ann->network_type == FANN_NETTYPE_SHORTCUT)
+ {
+- printf(" Hidden layer :%4d neurons, 0 bias\n",
++ printf(" Hidden layer :%4ld neurons, 0 bias\n",
+ layer_it->last_neuron - layer_it->first_neuron);
+ }
+ else
+ {
+- printf(" Hidden layer :%4d neurons, 1 bias\n",
++ printf(" Hidden layer :%4ld neurons, 1 bias\n",
+ layer_it->last_neuron - layer_it->first_neuron - 1);
+ }
+ }
+--- a/fann-2.1.0/fann_io.c
++++ b/fann-2.1.0/fann_io.c
+@@ -174,7 +174,7 @@
+ #endif
+
+ /* Save network parameters */
+- fprintf(conf, "num_layers=%u\n", ann->last_layer - ann->first_layer);
++ fprintf(conf, "num_layers=%ld\n", ann->last_layer - ann->first_layer);
+ fprintf(conf, "learning_rate=%f\n", ann->learning_rate);
+ fprintf(conf, "connection_rate=%f\n", ann->connection_rate);
+ fprintf(conf, "network_type=%u\n", ann->network_type);
+@@ -236,7 +236,7 @@
+ for(layer_it = ann->first_layer; layer_it != ann->last_layer; layer_it++)
+ {
+ /* the number of neurons in the layers (in the last layer, there is always one too many neurons, because of an unused bias) */
+- fprintf(conf, "%u ", layer_it->last_neuron - layer_it->first_neuron);
++ fprintf(conf, "%ld ", layer_it->last_neuron - layer_it->first_neuron);
+ }
+ fprintf(conf, "\n");
+
+@@ -316,14 +316,14 @@
+ if(save_as_fixed)
+ {
+ /* save the connection "(source weight) " */
+- fprintf(conf, "(%u, %d) ",
++ fprintf(conf, "(%ld, %d) ",
+ connected_neurons[i] - first_neuron,
+ (int) floor((weights[i] * fixed_multiplier) + 0.5));
+ }
+ else
+ {
+ /* save the connection "(source weight) " */
+- fprintf(conf, "(%u, " FANNPRINTF ") ", connected_neurons[i] - first_neuron, weights[i]);
++ fprintf(conf, "(%ld, " FANNPRINTF ") ", connected_neurons[i] - first_neuron, weights[i]);
+ }
+ #else
+ /* save the connection "(source weight) " */
+--- a/CommonSource/Utilities/md5.c
++++ b/CommonSource/Utilities/md5.c
+@@ -149,7 +149,7 @@
+ MD5Transform(ctx->buf, (uint32 *) ctx->in);
+ byteReverse((unsigned char *) ctx->buf, 4);
+ memcpy(digest, ctx->buf, 16);
+- memset(ctx, 0, sizeof(ctx)); /* In case it's sensitive */
++ memset(ctx, 0, sizeof(*ctx)); /* In case it's sensitive */
+ }
+
+
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-fix-build-system.patch b/sci-biology/mosaik/files/mosaik-2.2.30-fix-build-system.patch
new file mode 100644
index 000000000000..00a9bec3ae4d
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-fix-build-system.patch
@@ -0,0 +1,226 @@
+- Make build system verbose by default, as required by Gentoo policy
+ See also: https://bugs.gentoo.org/show_bug.cgi?id=429308
+- Remove CFLAGS and CXXFLAGS defaults
+- Fix order of flags and honour CPPFLAGS for LFS support
+ and LDFLAGS for --as-needed, respectively
+
+--- a/CommonSource/DataStructures/Makefile
++++ b/CommonSource/DataStructures/Makefile
+@@ -22,7 +22,7 @@
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ clean:
+ @echo "Cleaning up."
+--- a/CommonSource/ExternalReadFormats/Makefile
++++ b/CommonSource/ExternalReadFormats/Makefile
+@@ -22,7 +22,7 @@
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ clean:
+ @echo "Cleaning up."
+--- a/CommonSource/MosaikReadFormat/Makefile
++++ b/CommonSource/MosaikReadFormat/Makefile
+@@ -22,7 +22,7 @@
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ clean:
+ @echo "Cleaning up."
+--- a/CommonSource/PairwiseAlignment/Makefile
++++ b/CommonSource/PairwiseAlignment/Makefile
+@@ -26,11 +26,11 @@
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(CBUILT_OBJECTS): $(CSOURCES)
+ @echo " * compiling" $(*F).c
+- @$(CC) -c -o $@ $(*F).c -O3 $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).c
+
+ clean:
+ @echo "Cleaning up."
+--- a/CommonSource/Utilities/Makefile
++++ b/CommonSource/Utilities/Makefile
+@@ -48,11 +48,11 @@
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(CBUILT_OBJECTS): $(CSOURCES)
+ @echo " * compiling" $(*F).c
+- @$(CC) -c -o $@ $(*F).c -O3 -w -DSQLITE_OMIT_LOAD_EXTENSION $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CC) $(CFLAGS) $(CPPFLAGS) -DSQLITE_OMIT_LOAD_EXTENSION $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).c
+
+ clean:
+ @echo "Cleaning up."
+--- a/fann-2.1.0/Makefile
++++ b/fann-2.1.0/Makefile
+@@ -12,7 +12,7 @@
+
+ $(CBUILT_OBJECTS): $(CSOURCES)
+ @echo " * compiling" $(*F).c
+- @$(CC) -c -o $@ $(*F).c -O3 $(PLATFORM_FLAGS) -I$(INCLUDES)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) -I$(INCLUDES) -c -o $@ $(*F).c
+
+ clean:
+ @echo "Cleaning up."
+--- a/Makefile
++++ b/Makefile
+@@ -4,8 +4,8 @@
+ # ==========================
+
+ # define our object and binary directories
+-export OBJ_DIR = ../obj
+-export BIN_DIR = ../bin
++export OBJ_DIR = ./obj
++export BIN_DIR = ./bin
+
+ # define our common source directories
+ export ASSEMBLY_DIR = CommonSource/AssemblyFormats
+@@ -16,20 +16,6 @@
+ export PAIRWISE_DIR = CommonSource/PairwiseAlignment
+ export UTILITIES_DIR = CommonSource/Utilities
+
+-# define some default flags
+-FLAGS = -Wall -Wno-char-subscripts -ansi -O3
+-#FLAGS = -Wall -Wno-char-subscripts -ansi -g -D VERBOSE_DEBUG #gdb debugging
+-#FLAGS = -Wall -Wno-char-subscripts -ansi -O3 -D VERBOSE_DEBUG #enables verbose debugging
+-CFLAGS =
+-CXXFLAGS =
+-#CXXFLAGS = -ansi -pedantic -Wextra -Weffc++
+-CFLAGS += $(FLAGS)
+-CXXFLAGS += $(FLAGS)
+-export CFLAGS
+-export CXXFLAGS
+-#export LDFLAGS = -Wl
+-export CXX ?= g++
+-
+ # define our platform
+ export BLD_PLATFORM ?= linux
+ include includes/$(BLD_PLATFORM).inc
+--- a/MosaikAligner/Makefile
++++ b/MosaikAligner/Makefile
+@@ -68,11 +68,11 @@
+
+ $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
+ @echo " * linking $(PROGRAM)"
+- @$(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(EXT_OBJECTS):
+ @$(MAKE) --no-print-directory -C $(TD)$(DATA_STRUCT_DIR)
+--- a/MosaikBuild/Makefile
++++ b/MosaikBuild/Makefile
+@@ -26,11 +26,11 @@
+
+ $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
+ @echo " * linking $(PROGRAM)"
+- @$(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(EXT_OBJECTS):
+ @$(MAKE) --no-print-directory -C $(TD)$(DATA_STRUCT_DIR)
+--- a/MosaikJump/Makefile
++++ b/MosaikJump/Makefile
+@@ -26,11 +26,11 @@
+
+ $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
+ @echo " * linking $(PROGRAM)"
+- @$(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(EXT_OBJECTS):
+ @$(MAKE) --no-print-directory -C $(TD)$(MOSAIKREAD_DIR)
+--- a/MosaikText/Makefile
++++ b/MosaikText/Makefile
+@@ -26,11 +26,11 @@
+
+ $(PROGRAM): $(BUILT_OBJECTS) $(EXT_OBJECTS)
+ @echo " * linking $(PROGRAM)"
+- @$(CXX) $(LDFLAGS) $(CXXFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) $(PLATFORM_FLAGS) -o $(TD)$(BIN_DIR)/$@ $^ $(LIBS)
+
+ $(BUILT_OBJECTS): $(SOURCES)
+ @echo " * compiling" $(*F).cpp
+- @$(CXX) -c -o $@ $(*F).cpp $(CXXFLAGS) $(PLATFORM_FLAGS) $(INCLUDES)
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(PLATFORM_FLAGS) $(INCLUDES) -c -o $@ $(*F).cpp
+
+ $(EXT_OBJECTS):
+ @$(MAKE) --no-print-directory -C $(TD)$(MOSAIKREAD_DIR)
+--- a/networkFile/retrainCode/attachXC/Makefile
++++ b/networkFile/retrainCode/attachXC/Makefile
+@@ -3,12 +3,11 @@
+ # (c) 2012 Wan-Ping Lee
+ # ==========================
+
+-FLAGS = -Wall -O3
+
+
+ all: xc_pe.cpp xc_se.cpp
+- @$(CXX) $(FLAGS) xc_pe.cpp -o xc_pe
+- @$(CXX) $(FLAGS) xc_se.cpp -o xc_se
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) xc_pe.cpp -o xc_pe
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) $(LDFLAGS) xc_se.cpp -o xc_se
+
+ .PHONY: all
+
+--- a/networkFile/retrainCode/trainNetwork/Makefile
++++ b/networkFile/retrainCode/trainNetwork/Makefile
+@@ -5,8 +5,6 @@
+
+ OBJ_DIR = ./obj
+
+-FLAGS = -Wall -O3
+-CFLAGS = -O3
+ FANN=../../../fann-2.1.0
+
+ SOURCES = sam_parser_float.cpp parameter_parser_float.cpp mq_train_float.cpp
+@@ -15,12 +13,12 @@
+ all: $(FANN)/floatfann.c $(SOURCES)
+ @test -d $(OBJ_DIR) || mkdir $(OBJ_DIR)
+ @echo " * compiling ......"
+- @$(CC) $(CFLAGS) -c -o $(OBJ_DIR)/floatfann.o $(FANN)/floatfann.c -I$(FANN)/include
+- @$(CXX) -c $(FLAGS) -o $(OBJ_DIR)/sam_parser_float.o sam_parser_float.cpp
+- @$(CXX) -c $(FLAGS) -o $(OBJ_DIR)/parameter_parser_float.o parameter_parser_float.cpp
+- @$(CXX) -c $(FLAGS) -o $(OBJ_DIR)/mq_train_float.o mq_train_float.cpp -I$(FANN)/include
++ $(CC) $(CFLAGS) $(CPPFLAGS) -c -o $(OBJ_DIR)/floatfann.o $(FANN)/floatfann.c -I$(FANN)/include
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(OBJ_DIR)/sam_parser_float.o sam_parser_float.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(OBJ_DIR)/parameter_parser_float.o parameter_parser_float.cpp
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -c -o $(OBJ_DIR)/mq_train_float.o mq_train_float.cpp -I$(FANN)/include
+ @echo " * linking ......"
+- @$(CXX) $(FLAGS) $(OBJ_DIR)/*.o -o $(PROGRAM)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJ_DIR)/*.o -o $(PROGRAM)
+
+ .PHONY: all
+
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-gcc11.patch b/sci-biology/mosaik/files/mosaik-2.2.30-gcc11.patch
new file mode 100644
index 000000000000..918d882983a3
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-gcc11.patch
@@ -0,0 +1,60 @@
+--- a/CommonSource/DataStructures/UnorderedMap.h
++++ b/CommonSource/DataStructures/UnorderedMap.h
+@@ -42,13 +42,9 @@
+
+ #else // all decent C++ compilers
+
+-#ifdef WIN32
+ #include <unordered_map>
+-#else // Linux
+-#include <tr1/unordered_map>
+-#endif
+
+-using namespace std::tr1;
++using namespace std;
+
+ #endif
+
+--- a/CommonSource/DataStructures/UnorderedSet.h
++++ b/CommonSource/DataStructures/UnorderedSet.h
+@@ -42,13 +42,9 @@
+
+ #else // all decent C++ compilers
+
+-#ifdef WIN32
+ #include <unordered_set>
+-#else // Linux
+-#include <tr1/unordered_set>
+-#endif
+
+-using namespace std::tr1;
++using namespace std;
+
+ #endif
+
+--- a/CommonSource/Utilities/RegexUtilities.h
++++ b/CommonSource/Utilities/RegexUtilities.h
+@@ -12,10 +12,7 @@
+ #define REGEXUTILITIES_H_
+
+ #include <iostream>
+-#ifdef WIN32
+ #include <regex>
+-using namespace std::tr1;
+-#endif
+ #include <string>
+ #include <vector>
+ #include <cstdlib>
+--- a/MosaikBuild/MosaikBuild.h
++++ b/MosaikBuild/MosaikBuild.h
+@@ -15,10 +15,7 @@
+ #include <iostream>
+ #include <fstream>
+ #include <map>
+-#ifdef WIN32
+ #include <regex>
+-using namespace std::tr1;
+-#endif
+ #include <set>
+ #include <sstream>
+ #include "ColorspaceUtilities.h"
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-gcc12-time.patch b/sci-biology/mosaik/files/mosaik-2.2.30-gcc12-time.patch
new file mode 100644
index 000000000000..1bc63bfd4776
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-gcc12-time.patch
@@ -0,0 +1,11 @@
+https://bugs.gentoo.org/851669
+--- a/CommonSource/Utilities/SafeFunctions.h
++++ b/CommonSource/Utilities/SafeFunctions.h
+@@ -17,6 +17,7 @@
+ #include <cstdio>
+ #include <cstdarg>
+ #include <cstring>
++#include <ctime>
+ #include <stdio.h>
+ #include <stdlib.h>
+ #include <errno.h>
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-gcc7.patch b/sci-biology/mosaik/files/mosaik-2.2.30-gcc7.patch
new file mode 100644
index 000000000000..ebf925a0cbb7
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-gcc7.patch
@@ -0,0 +1,40 @@
+--- a/CommonSource/ExternalReadFormats/BamWriter.cpp
++++ b/CommonSource/ExternalReadFormats/BamWriter.cpp
+@@ -496,7 +496,7 @@
+ buffer[6] = 0xffffffff; // mate_pos
+ buffer[7] = 0; // ins_size
+
+- const char* startChar = '\0';
++ const char* startChar = NULL;
+
+ // write the block size
+ const unsigned int dataBlockSize = nameLen + packedCigarLen + encodedQueryLen + queryLen;
+@@ -652,7 +652,7 @@
+ unsigned int zaTagLen = 0;
+ string zaTag;
+ char* pZaTag;
+- if ((zaString != 0) && (zaString != (char)0)) {
++ if ((zaString != 0) && (zaString[0] != '\0')) {
+ zaTagLen = 3 + strlen( zaString ) + 1;
+ zaTag.resize( zaTagLen );
+ pZaTag = (char*)zaTag.data();
+@@ -776,7 +776,7 @@
+ BgzfWrite(mdTag.data(), mdTagLen);
+
+ // write the ZA tag
+- if ( zaString != 0 && (zaString != (char)0))
++ if ( zaString != 0 && (zaString[0] != '\0'))
+ BgzfWrite(zaTag.data(), zaTagLen);
+
+ // write the ZN tag
+--- a/MosaikAligner/AlignmentThread.cpp
++++ b/MosaikAligner/AlignmentThread.cpp
+@@ -591,7 +591,7 @@
+ buffer.al = al;
+ buffer.noCigarMdNm = noCigarMdNm;
+ buffer.notShowRnamePos = notShowRnamePos;
+- if ( zaString == (char)0 )
++ if ( zaString == NULL )
+ buffer.zaString.clear();
+ else
+ buffer.zaString = zaString;
diff --git a/sci-biology/mosaik/files/mosaik-2.2.30-remove-platform-code.patch b/sci-biology/mosaik/files/mosaik-2.2.30-remove-platform-code.patch
new file mode 100644
index 000000000000..8573573ec125
--- /dev/null
+++ b/sci-biology/mosaik/files/mosaik-2.2.30-remove-platform-code.patch
@@ -0,0 +1,10 @@
+- Remove macro for enabling large file support, this is better handled at an
+ ebuild level, where the LFS flags can be handled for multiple architectures
+- Remove static flag, which is contrary to Gentoo policy
+
+--- a/includes/linux.inc
++++ b/includes/linux.inc
+@@ -1,2 +1,2 @@
+ # define our processor specific flags
+-export PLATFORM_FLAGS = -D_FILE_OFFSET_BITS=64 -static
++export PLATFORM_FLAGS =
diff --git a/sci-biology/mosaik/metadata.xml b/sci-biology/mosaik/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/mosaik/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mosaik/mosaik-2.2.30.ebuild b/sci-biology/mosaik/mosaik-2.2.30.ebuild
new file mode 100644
index 000000000000..a929f1160f67
--- /dev/null
+++ b/sci-biology/mosaik/mosaik-2.2.30.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs vcs-snapshot
+
+DESCRIPTION="A reference-guided aligner for next-generation sequencing technologies"
+HOMEPAGE="https://github.com/wanpinglee/MOSAIK"
+SRC_URI="https://github.com/wanpinglee/MOSAIK/archive/5c25216d3522d6a33e53875cd76a6d65001e4e67.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P}/src"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-remove-platform-code.patch
+ "${FILESDIR}"/${P}-fix-build-system.patch
+ "${FILESDIR}"/${P}-Wformat-security.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+ "${FILESDIR}"/${P}-gcc11.patch
+ "${FILESDIR}"/${P}-gcc12-time.patch
+)
+
+src_configure() {
+ # readd default warning flags from build system
+ append-flags -Wall -Wno-char-subscripts
+ append-lfs-flags
+ export BLD_PLATFORM=linux
+}
+
+src_compile() {
+ emake \
+ CC="$(tc-getCC)" \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CFLAGS}" \
+ CXXFLAGS="${CXXFLAGS}" \
+ CPPFLAGS="${CPPFLAGS}" \
+ LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin bin/Mosaik*
+
+ dodoc ../README
+
+ insinto /usr/share/${PN}/examples
+ doins -r ../demo/.
+}
diff --git a/sci-biology/mothur/Manifest b/sci-biology/mothur/Manifest
new file mode 100644
index 000000000000..f553bac75ba0
--- /dev/null
+++ b/sci-biology/mothur/Manifest
@@ -0,0 +1 @@
+DIST mothur-1.48.2.tar.gz 24702253 BLAKE2B 4342640e70f08763c4bc1605441a9526ef967bd5832d103db3095c470ea82c2c554dd03775e8ffdf02a983ee4dfdb43ba008dcf7ff19b99321a0204843f98710 SHA512 0c3496d08131d15db3933165eba832a135ca3bce8010e7a2b4a84802c91d6f5efa54711498148d7cc190420b75a94babf20d6c435a5e07c730924f1f3f966586
diff --git a/sci-biology/mothur/files/mothur-1.48.0-build.patch b/sci-biology/mothur/files/mothur-1.48.0-build.patch
new file mode 100644
index 000000000000..da9784e20dd8
--- /dev/null
+++ b/sci-biology/mothur/files/mothur-1.48.0-build.patch
@@ -0,0 +1,79 @@
+Fix building and don't use bundled uchime.
+--- a/Makefile
++++ b/Makefile
+@@ -104,12 +104,19 @@ endif
+ # INCLUDE directories for mothur
+ #
+ #
+- VPATH=source/calculators:source/chimera:source/classifier:source/clearcut:source/commands:source/communitytype:source/datastructures:source/engines:source/metastats:source/read:source/svm:source/
++ VPATH=source:source/calculators:source/chimera:source/classifier:source/clearcut:source/commands:source/communitytype:source/datastructures:source/engines:source/metastats:source/read:source/svm:source/
++ source := source
+ skipUchime := source/uchime_src/
++ skipTestMothur := source/TestMothur/
++ skipSeqnoise := seqnoise.cpp
+ subdirs := $(sort $(dir $(filter-out $(skipUchime), $(wildcard source/*/))))
++ subdirs := $(filter-out $(skipTestMothur), $(subdirs))
+ subDirIncludes = $(patsubst %, -I %, $(subdirs))
++ subDirIncludes += $(patsubst %, -I %, $(source))
+ subDirLinking = $(patsubst %, -L%, $(subdirs))
+- CXXFLAGS += -I. $(subDirIncludes)
++ subDirLinking += $(patsubst %, -L%, $(source))
++ subdirs := $(dir source) $(sort $(dir $(filter-out $(skipUchime), $(wildcard source/*/))))
++ CXXFLAGS += -Isource -I. $(subDirIncludes)
+ LDFLAGS += $(subDirLinking)
+
+
+@@ -118,15 +125,14 @@ endif
+ #
+ OBJECTS=$(patsubst %.cpp,%.o,$(wildcard $(addsuffix *.cpp,$(subdirs))))
+ OBJECTS+=$(patsubst %.c,%.o,$(wildcard $(addsuffix *.c,$(subdirs))))
++ OBJECTS+=$(patsubst %.cpp,%.o,$(filter-out $(skipSeqnoise), $(wildcard source/*.cpp)))
++ OBJECTS+=$(patsubst %.cpp,%.o,$(filter-out $(skipSeqnoise), $(wildcard source/*.c)))
+ OBJECTS+=$(patsubst %.cpp,%.o,$(wildcard *.cpp))
+ OBJECTS+=$(patsubst %.c,%.o,$(wildcard *.c))
+
+-mothur : $(OBJECTS) uchime
++mothur : $(OBJECTS)
+ $(CXX) $(LDFLAGS) $(TARGET_ARCH) -o $@ $(OBJECTS) $(LIBS)
+
+-uchime :
+- cd source/uchime_src && export CXX=$(CXX) && make clean && make && mv uchime ../../ && cd ..
+-
+ install : mothur
+
+ ifeq ($(strip $(INSTALL_DIR)),"\"Enter_your_mothur_install_path_here\"")
+--- a/makefile-internal
++++ b/makefile-internal
+@@ -115,7 +115,6 @@ endif
+
+ mothur : $(OBJECTS)
+ $(CXX) $(LDFLAGS) $(TARGET_ARCH) -o $@ $(OBJECTS) $(LIBS)
+- strip mothur
+
+ %.o : %.c %.h
+ $(COMPILE.c) $(OUTPUT_OPTION) $<
+--- a/source/uchime_src/makefile
++++ b/source/uchime_src/makefile
+@@ -1,4 +1,4 @@
+-CXXFLAGS = -O3 -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -DUCHIMES=1
++CXXFLAGS = -std=c++11 -O3 -D_FILE_OFFSET_BITS=64 -DNDEBUG=1 -DUCHIMES=1
+ LDFLAGS = -g
+
+ #
+@@ -26,4 +26,4 @@ install : uchime
+
+ clean :
+ @rm -f $(OBJECTS)
+-
+\ No newline at end of file
++
+--- a/source/writer.h
++++ b/source/writer.h
+@@ -9,6 +9,7 @@
+ #ifndef writer_h
+ #define writer_h
+
++#include <memory>
+ #include "sharedwriter.hpp"
+
+ /***********************************************************************/
diff --git a/sci-biology/mothur/files/mothur-1.48.2-boost-1.89.patch b/sci-biology/mothur/files/mothur-1.48.2-boost-1.89.patch
new file mode 100644
index 000000000000..26417a05992b
--- /dev/null
+++ b/sci-biology/mothur/files/mothur-1.48.2-boost-1.89.patch
@@ -0,0 +1,11 @@
+--- a/Makefile
++++ b/Makefile
+@@ -78,7 +78,7 @@
+
+ LDFLAGS += -L ${BOOST_LIBRARY_DIR}
+
+- LIBS += -lboost_iostreams -lboost_system -lboost_filesystem -lz
++ LIBS += -lboost_iostreams -lboost_filesystem -lz
+ CXXFLAGS += -DUSE_BOOST -I ${BOOST_INCLUDE_DIR}
+ endif
+
diff --git a/sci-biology/mothur/metadata.xml b/sci-biology/mothur/metadata.xml
new file mode 100644
index 000000000000..0601bc82c727
--- /dev/null
+++ b/sci-biology/mothur/metadata.xml
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="boost">Depend on <pkg>dev-libs/boost</pkg> for make.contigs to read .gz compressed files.</flag>
+ <flag name="gsl">Use <pkg>sci-libs/gsl</pkg> to support diversity estimates for estimiator.single.</flag>
+ <flag name="hdf5">Support Biom format 2.0 for the biom.info command via <pkg>sci-libs/hdf5</pkg>.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mothur/mothur-1.48.2.ebuild b/sci-biology/mothur/mothur-1.48.2.ebuild
new file mode 100644
index 000000000000..0e9ede44d6a3
--- /dev/null
+++ b/sci-biology/mothur/mothur-1.48.2.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Suite of algorithms for ecological bioinformatics"
+HOMEPAGE="https://mothur.org/"
+SRC_URI="https://github.com/mothur/mothur/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="boost gsl hdf5 mpi +readline"
+
+RDEPEND="
+ sci-biology/uchime
+ boost? ( dev-libs/boost:=[zlib] )
+ gsl? ( sci-libs/gsl:= )
+ hdf5? ( sci-libs/hdf5:=[cxx] )
+ mpi? ( virtual/mpi )
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.48.0-build.patch
+ "${FILESDIR}"/${P}-boost-1.89.patch # bug 965517
+)
+
+src_configure() {
+ use mpi && export CXX=mpicxx || tc-export CXX
+ use amd64 && append-cppflags -DBIT_VERSION
+}
+
+src_compile() {
+ # bug #862273
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # USEBOOST - link with boost libraries. Must install boost. Allows the make.contigs command to read .gz files.
+ # USEHDF5 - link with HDF5cpp libraries. Must install HDF5. Allows the biom.info command to read Biom format 2.0.
+ # USEGSL - link with GNU Scientific libraries. Must install GSL. Allows the estimiator.single command to find diversity estimates.
+ emake \
+ USEBOOST=$(usex boost) \
+ USEHDF5=$(usex hdf5) \
+ USEGSL=$(usex gsl) \
+ USEMPI=$(usex mpi) \
+ USEREADLINE=$(usex readline) \
+ OPTIMIZE=no
+}
+
+src_install() {
+ dobin mothur
+}
diff --git a/sci-biology/mrbayes/Manifest b/sci-biology/mrbayes/Manifest
new file mode 100644
index 000000000000..3d68a52ee87a
--- /dev/null
+++ b/sci-biology/mrbayes/Manifest
@@ -0,0 +1,2 @@
+DIST mrbayes-3.1.2.tar.gz 545968 BLAKE2B f4c5bbdde765fb9e596c17d5fd890b168c22cefb0d24b67c1c68623e1dcfa4df716a896fe120f7a1cac4234125b6ed524973506e47492ba3ec26e389783d618a SHA512 2fb0ee7224cbb69c1acf2ffb0c6c8974f63002cda4f39a626eadf80fad9cfc23861f8c03f5545970f3a81e02093d62b6a0549ab7d7f7080557e91e21b2c3ee14
+DIST mrbayes-3.2.7.tar.gz 9787214 BLAKE2B 2d0ebbc376712e15fc1ed146053d977ad1af96f44c31b8fd0fdbd47ef9bafc41cbb8904db94bc8d30c753c0267a1dcce0d08c73d8b35c20e0f15206bc8fef6ff SHA512 4dc869cd07cf384b3a3945ac8d91a7cc2982e8c5cd8d1f097b46a479a071cb71e71c60e152aa4fc01b0bb296295c5fa9f5a48aa8e913b920c33e30cbb3a6ed37
diff --git a/sci-biology/mrbayes/files/mb_readline_312.patch b/sci-biology/mrbayes/files/mb_readline_312.patch
new file mode 100644
index 000000000000..d41986704708
--- /dev/null
+++ b/sci-biology/mrbayes/files/mb_readline_312.patch
@@ -0,0 +1,25 @@
+--- a/Makefile
++++ b/Makefile
+@@ -50,4 +50,5 @@
+ ifeq ($(strip $(USEREADLINE)),yes)
+ CFLAGS += -DUSE_READLINE
++# CFLAGS += -DCOMPLETIONMATCHES
+ LIBS += -lncurses -lreadline
+ endif
+--- a/bayes.c
++++ b/bayes.c
+@@ -382,9 +382,11 @@
+ char **readline_completion(const char *text, int start, int stop) {
+ char **matches = (char **) NULL;
+-
++
++#ifdef COMPLETIONMATCHES
+ if(start == 0)
+- matches = rl_completion_matches (text, command_generator);
++ matches = rl_completion_matches (text, command_generator);
++#endif
+
+- return (matches);
++ return (matches);
+ }
+ #endif
diff --git a/sci-biology/mrbayes/metadata.xml b/sci-biology/mrbayes/metadata.xml
new file mode 100644
index 000000000000..d641a55fdd59
--- /dev/null
+++ b/sci-biology/mrbayes/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+MrBayes is a program for the Bayesian estimation of phylogeny.
+Bayesian inference of phylogeny is based upon a quantity called the
+posterior probability distribution of trees, which is the probability of a
+tree conditioned on the observations. The conditioning is accomplished using
+Bayes's theorem. The posterior probability distribution of trees is
+impossible to calculate analytically; instead, MrBayes uses a simulation
+technique called Markov chain Monte Carlo (or MCMC) to approximate the
+posterior probabilities of trees.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mrbayes/mrbayes-3.1.2-r2.ebuild b/sci-biology/mrbayes/mrbayes-3.1.2-r2.ebuild
new file mode 100644
index 000000000000..90f8f1d407b5
--- /dev/null
+++ b/sci-biology/mrbayes/mrbayes-3.1.2-r2.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Bayesian Inference of Phylogeny"
+HOMEPAGE="http://mrbayes.csit.fsu.edu/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug mpi readline"
+
+DEPEND="
+ sys-libs/ncurses:=
+ mpi? ( virtual/mpi )
+ readline? ( sys-libs/readline:= )
+"
+RDEPEND="${DEPEND}"
+
+src_prepare() {
+ default
+
+ if use mpi; then
+ sed -e "s:MPI ?= no:MPI=yes:" -i Makefile || die "Patching MPI support."
+ fi
+ if ! use readline; then
+ sed -e "s:USEREADLINE ?= yes:USEREADLINE=no:" \
+ -i Makefile || die "Patching readline support."
+ else
+ # Only needed for OSX with an old (4.x) version of
+ # libreadline, but it doesn't hurt for other distributions.
+ eapply "${FILESDIR}"/mb_readline_312.patch
+ fi
+ sed -e 's:-ggdb::g' -i Makefile || die
+}
+
+src_compile() {
+ local myconf mycc
+
+ if use mpi; then
+ mycc=mpicc
+ else
+ mycc="$(tc-getCC)"
+ fi
+
+ use mpi && myconf="MPI=yes"
+ use readline || myconf="${myconf} USEREADLINE=no"
+ use debug && myconf="${myconf} DEBUG=yes"
+ emake \
+ OPTFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ CC=${mycc} \
+ ${myconf}
+}
+
+src_install() {
+ dobin mb
+ insinto /usr/share/${PN}
+ doins *.nex
+}
diff --git a/sci-biology/mrbayes/mrbayes-3.2.7.ebuild b/sci-biology/mrbayes/mrbayes-3.2.7.ebuild
new file mode 100644
index 000000000000..9f3f61c7af89
--- /dev/null
+++ b/sci-biology/mrbayes/mrbayes-3.2.7.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="Bayesian Inference of Phylogeny"
+HOMEPAGE="https://nbisweden.github.io/MrBayes/"
+SRC_URI="https://github.com/NBISweden/MrBayes/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="debug mpi readline"
+# --with-readline was given, but MPI support requires readline to be disabled.
+REQUIRED_USE="mpi? ( !readline )"
+
+DEPEND="
+ sys-libs/ncurses:=
+ mpi? ( virtual/mpi )
+ readline? ( sys-libs/readline:= )
+"
+RDEPEND="${DEPEND}"
+
+src_configure() {
+ econf \
+ "$(use_with mpi)" \
+ "$(use_with readline)" \
+ "$(use_enable debug )" \
+ # configure checks cpuid and enables fma{3,4}, sse{1..4} if detected.
+ # Configure options only allow disabling the auto-detection, but do not
+ # actually allow toggling the individual cpu instruction sets. The only
+ # way to guarantee that cross-compiling and binpkgs will work on machines
+ # other than the host is to unconditionally disable sse/fma/avx.
+ #"$(use_enable cpu_flags_x86_sse sse )" \
+ #"$(use_enable cpu_flags_x86_avx avx )" \
+ #"$(use_enable cpu_flags_x86_fma3 fma )" \
+ # Has optional support for sci-biology/beagle::science
+ # "$(use_with beagle)"
+}
+
+src_compile() {
+ # The --disable options for the cpu instruction sets don't actually work so
+ # we override it here and also set the user specified CFLAGS.
+ emake SIMD_FLAGS= CPUEXT_FLAGS= CFLAGS="${CFLAGS}"
+}
diff --git a/sci-biology/mummer/Manifest b/sci-biology/mummer/Manifest
new file mode 100644
index 000000000000..3eb00f919628
--- /dev/null
+++ b/sci-biology/mummer/Manifest
@@ -0,0 +1 @@
+DIST MUMmer3.23.tar.gz 3160143 BLAKE2B 5be613e0b7bcdbd0c38bb6dd7ff8d5c220ceb596582d89e0c1b62bbb2b289ce3a1842cd7e335a62d612af55388e21b6f780254de06f59e9e49a7eeadd04b6d8e SHA512 f31d36ef3e07fa4ac017c76c1c8d5f53882a59b061742d201f1f7aafb29d16af8268985285398dd90e98d276b2513d2c611f9876069b23fe82b5da1d3ebc04d3
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch b/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch
new file mode 100644
index 000000000000..b92f75c07719
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-build-system.patch
@@ -0,0 +1,397 @@
+Fix build system to restore some sanity
+
+--- a/Makefile
++++ b/Makefile
+@@ -27,31 +27,27 @@
+
+
+ TOP_DIR := $(CURDIR)
+-BIN_DIR := $(TOP_DIR)
+-AUX_BIN_DIR := $(TOP_DIR)/aux_bin
++
++BIN_DIR = $(EPREFIX)/usr/bin
++SCRIPT_DIR = $(EPREFIX)/usr/share/mummer/scripts
++AUX_BIN_DIR = $(EPREFIX)/usr/bin
+
+ DOC_DIR := $(TOP_DIR)/docs
+ SCRIPT_DIR := $(TOP_DIR)/scripts
+ TIGR_SRC_DIR := $(TOP_DIR)/src/tigr
+ KURTZ_SRC_DIR := $(TOP_DIR)/src/kurtz
+
+-CC := $(filter /%,$(shell /bin/sh -c 'type gcc'))
+-CXX := $(filter /%,$(shell /bin/sh -c 'type g++'))
+ SED := $(filter /%,$(shell /bin/sh -c 'type sed'))
+ CSH := $(filter /%,$(shell /bin/sh -c 'type csh'))
+ PERL := $(filter /%,$(shell /bin/sh -c 'type perl'))
+-AR := $(filter /%,$(shell /bin/sh -c 'type ar'))
+
+-CXXFLAGS = -O3
+-CFLAGS = -O3
+-LDFLAGS =
+
+ FLATS = ACKNOWLEDGEMENTS COPYRIGHT INSTALL LICENSE Makefile README ChangeLog
+
+
+
+ #-- EXPORT THESE VARIABLES TO OTHER MAKEFILES
+-export BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
++export BIN_DIR SCRIPT_DIR AUX_BIN_DIR
+
+
+
+@@ -114,15 +110,15 @@
+
+
+ kurtz:
+- cd $(KURTZ_SRC_DIR); $(MAKE) mummer
++ $(MAKE) -C $(KURTZ_SRC_DIR) mummer
+
+
+ scripts:
+- cd $(SCRIPT_DIR); $(MAKE) all
++ $(MAKE) -C $(SCRIPT_DIR) all
+
+
+ tigr:
+- cd $(TIGR_SRC_DIR); $(MAKE) all
++ $(MAKE) -C $(TIGR_SRC_DIR) all
+
+
+ uninstall: clean
+--- a/scripts/Makefile
++++ b/scripts/Makefile
+@@ -1,21 +1,10 @@
+-#-- Imported variables from top level makefile
+-# BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
++BIN_DIR = $(EPREFIX)/usr/bin
++SCRIPT_DIR = $(EPREFIX)/usr/share/mummer/scripts
++AUX_BIN_DIR = $(EPREFIX)/usr/bin
+
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-ifndef AUX_BIN_DIR
+-AUX_BIN_DIR := $(CURDIR)
+-endif
+-ifndef SCRIPT_DIR
+-SCRIPT_DIR := $(CURDIR)
+-endif
+-
+-SCRIPT_DIR := $(CURDIR)
+ SED := $(filter /%,$(shell /bin/sh -c 'type sed'))
+ CSH := $(filter /%,$(shell /bin/sh -c 'type csh'))
+ PERL := $(filter /%,$(shell /bin/sh -c 'type perl'))
+-VPATH := $(BIN_DIR)
+
+ ALL := exact-tandems mapview mummerplot nucmer promer \
+ run-mummer1 run-mummer3 nucmer2xfig dnadiff
+@@ -39,58 +28,49 @@
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+- exact-tandems.csh > $(BIN_DIR)/exact-tandems
+- chmod 755 $(BIN_DIR)/exact-tandems
++ exact-tandems.csh > exact-tandems
+
+ mapview: mapview.pl
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+- mapview.pl > $(BIN_DIR)/mapview
+- chmod 755 $(BIN_DIR)/mapview
++ mapview.pl > mapview
+
+ mummerplot: mummerplot.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- mummerplot.pl > $(BIN_DIR)/mummerplot
+- chmod 755 $(BIN_DIR)/mummerplot
++ mummerplot.pl > mummerplot
+
+ dnadiff: dnadiff.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- dnadiff.pl > $(BIN_DIR)/dnadiff
+- chmod 755 $(BIN_DIR)/dnadiff
++ dnadiff.pl > dnadiff
+
+ nucmer: nucmer.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__AUX_BIN_DIR?$(AUX_BIN_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- nucmer.pl > $(BIN_DIR)/nucmer
+- chmod 755 $(BIN_DIR)/nucmer
++ nucmer.pl > nucmer
+
+ promer: promer.pl Foundation.pm
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+ -e 's?__SCRIPT_DIR?$(SCRIPT_DIR)?g' \
+ -e 's?__AUX_BIN_DIR?$(AUX_BIN_DIR)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- promer.pl > $(BIN_DIR)/promer
+- chmod 755 $(BIN_DIR)/promer
++ promer.pl > promer
+
+ run-mummer1: run-mummer1.csh
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- run-mummer1.csh > $(BIN_DIR)/run-mummer1
+- chmod 755 $(BIN_DIR)/run-mummer1
++ run-mummer1.csh > run-mummer1
+
+ run-mummer3: run-mummer3.csh
+ $(SED) -e 's?__CSH_PATH?$(CSH)?g' \
+ -e 's?__BIN_DIR?$(BIN_DIR)?g' \
+- run-mummer3.csh > $(BIN_DIR)/run-mummer3
+- chmod 755 $(BIN_DIR)/run-mummer3
++ run-mummer3.csh > run-mummer3
+
+ nucmer2xfig: nucmer2xfig.pl
+ $(SED) -e 's?__PERL_PATH?$(PERL)?g' \
+- nucmer2xfig.pl > $(BIN_DIR)/nucmer2xfig
+- chmod 755 $(BIN_DIR)/nucmer2xfig
++ nucmer2xfig.pl > nucmer2xfig
+--- a/src/kurtz/libbasedir/Makefile
++++ b/src/kurtz/libbasedir/Makefile
+@@ -5,8 +5,6 @@
+
+ SPLINTFLAGS=-f ../Splintoptions -DDEBUG
+
+-LD=$(CC)
+-
+ ##CFLAGS=${DEFINECFLAGS}
+
+ LIBBASE=libbase.a
+@@ -24,14 +22,14 @@
+
+
+ $(LIBBASE): $(LIBOBJECTS)
+- ar sruv $@ $(LIBOBJECTS)
++ $(AR) sruv $@ $(LIBOBJECTS)
+
+
+ include Filegoals.mf
+
+
+ $(LIBBASEDBG): $(LIBDEBUGOBJECTS)
+- ar sruv $@ $(LIBDEBUGOBJECTS)
++ $(AR) sruv $@ $(LIBDEBUGOBJECTS)
+
+
+ .PHONY:clean
+--- a/src/kurtz/Makefile
++++ b/src/kurtz/Makefile
+@@ -1,7 +1,7 @@
+ all:
+- cd libbasedir; $(MAKE) all
+- cd streesrc; $(MAKE) all
+- cd mm3src; $(MAKE) all
++ $(MAKE) -C libbasedir all
++ $(MAKE) -C streesrc all
++ $(MAKE) -C mm3src all
+
+ clean:
+ rm -f *~
+@@ -10,11 +10,11 @@
+ cd mm3src; $(MAKE) clean
+
+ mummer:
+- cd libbasedir; $(MAKE) libbase.a
+- cd streesrc; $(MAKE) libstree.a
+- cd mm3src; $(MAKE) mummer
++ $(MAKE) -C libbasedir libbase.a
++ $(MAKE) -C streesrc libstree.a
++ $(MAKE) -C mm3src mummer
+
+ splintall:
+- cd libbasedir; ${MAKE} splintall
+- cd streesrc; ${MAKE} splintall
+- cd mm3src; ${MAKE} splintall
++ $(MAKE) -C libbasedir splintall
++ $(MAKE) -C streesrc splintall
++ $(MAKE) -C mm3src splintall
+--- a/src/kurtz/mm3src/Makefile
++++ b/src/kurtz/mm3src/Makefile
+@@ -3,11 +3,7 @@
+
+ ##include ../Makedef
+
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-
+-VPATH := $(BIN_DIR)
++BIN_DIR = $(EPREFIX)/usr/bin
+
+ ALL := maxmat3.x maxmat3.dbg.x
+
+@@ -15,11 +11,8 @@
+ LIBSTREEDIR=../streesrc
+ INCLUDEDIR=-I${LIBBASEDIR} -I${LIBSTREEDIR}
+
+-override CFLAGS+=$(INCLUDEDIR)
+-##CFLAGS=${DEFINECFLAGS} $(INCLUDEDIR)
+-##LDFLAGS=${DEFINELDFLAGS}
++override CPPFLAGS+=$(INCLUDEDIR)
+ SPLINTFLAGS=${INCLUDEDIR} -f ../Splintoptions -DDEBUG
+-LD=$(CC)
+
+ LIBBASE=$(LIBBASEDIR)/libbase.a
+ LIBBASEDBG=$(LIBBASEDIR)/libbase.dbg.a
+@@ -40,16 +33,16 @@
+ all: $(ALL)
+
+ mummer: $(MUM3OBJECTS) $(LIBSTREE)
+- $(LD) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
+- -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
++ -o $@
+
+ maxmat3.x: $(MUM3OBJECTS) $(LIBSTREE)
+- $(LD) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
+- -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3OBJECTS) $(LIBSTREE) $(LIBBASE) \
++ -o $@
+
+ maxmat3.dbg.x: ${MUM3DBGOBJECTS} $(LIBSTREEDBG)
+- $(LD) $(LDFLAGS) $(MUM3DBGOBJECTS) $(LIBSTREEDBG) $(LIBBASEDBG) \
+- -lm -o $(BIN_DIR)/$@; chmod 755 $(BIN_DIR)/$@
++ $(CC) $(LDFLAGS) $(MUM3DBGOBJECTS) $(LIBSTREEDBG) $(LIBBASEDBG) \
++ -lm -o $@
+
+ include Filegoals.mf
+
+--- a/src/kurtz/streesrc/Makefile
++++ b/src/kurtz/streesrc/Makefile
+@@ -23,8 +23,6 @@
+
+ #-DSTARTFACTOR=0.5
+
+-LD=${CC}
+-
+ LIBBASE=${LIBBASEDIR}/libbase.a
+ LIBBASEDBG=${LIBBASEDIR}/libbase.dbg.a
+
+@@ -65,29 +63,29 @@
+ include Filegoals.mf
+
+ libstree.4.a: $(OBJECTS4)
+- ar sruv $@ $(OBJECTS4)
++ $(AR) sruv $@ $(OBJECTS4)
+
+ libstree.a: $(OBJECTS)
+- ar sruv $@ $(OBJECTS)
++ $(AR) sruv $@ $(OBJECTS)
+
+ libstree.dbg.4.a: $(DBGOBJECTS4)
+- ar sruv $@ $(DBGOBJECTS4)
++ $(AR) sruv $@ $(DBGOBJECTS4)
+
+ libstree.dbg.a: $(DBGOBJECTS)
+- ar sruv $@ $(DBGOBJECTS)
++ $(AR) sruv $@ $(DBGOBJECTS)
+
+
+ stree.x: stree.o libstree.a
+- $(LD) $(LDFLAGS) stree.o libstree.a $(LIBBASE) -o $@
++ $(CC) $(LDFLAGS) stree.o libstree.a $(LIBBASE) -o $@
+
+ loc.x: loc.o libstree.a
+- $(LD) $(LDFLAGS) loc.o libstree.a $(LIBBASE) -o $@
++ $(CC) $(LDFLAGS) loc.o libstree.a $(LIBBASE) -o $@
+
+ stree.dbg.x: stree.dbg.o libstree.dbg.a
+- $(LD) $(LDFLAGS) stree.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
++ $(CC) $(LDFLAGS) stree.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
+
+ loc.dbg.x: loc.dbg.o libstree.dbg.a
+- $(LD) $(LDFLAGS) loc.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
++ $(CC) $(LDFLAGS) loc.dbg.o libstree.dbg.a $(LIBBASEDBG) -o $@
+
+ streeproto.h: $(PROTOFILES) Mkstreeproto.sh
+ @echo "make $@"
+--- a/src/tigr/Makefile
++++ b/src/tigr/Makefile
+@@ -1,20 +1,3 @@
+-#-- Imported variables from top level makefile
+-# BIN_DIR AUX_BIN_DIR CXX CC CFLAGS CXXFLAGS LDFLAGS
+-
+-ifndef BIN_DIR
+-BIN_DIR := $(CURDIR)
+-endif
+-ifndef AUX_BIN_DIR
+-AUX_BIN_DIR := $(CURDIR)
+-endif
+-
+-OBJ_RULE = $(CXX) $(CXXFLAGS) $< -c -o $@
+-BIN_RULE = $(CXX) $(CXXFLAGS) $^ -o $(BIN_DIR)/$@; \
+- chmod 755 $(BIN_DIR)/$@
+-AUX_BIN_RULE = $(CXX) $(CXXFLAGS) $^ -o $(AUX_BIN_DIR)/$@; \
+- chmod 755 $(AUX_BIN_DIR)/$@
+-VPATH := $(AUX_BIN_DIR):$(BIN_DIR)
+-
+ ALL := annotate combineMUMs delta-filter gaps mgaps \
+ postnuc postpro prenuc prepro repeat-match \
+ show-aligns show-coords show-tiling show-snps \
+@@ -38,59 +21,22 @@
+
+ #-- not so PHONY rules --#
+ delta.o: delta.cc delta.hh
+- $(OBJ_RULE)
+-
+ tigrinc.o: tigrinc.cc tigrinc.hh
+- $(OBJ_RULE)
+-
+ sw_align.o: sw_align.cc sw_align.hh tigrinc.hh
+- $(OBJ_RULE)
+-
+ translate.o: translate.cc translate.hh
+- $(OBJ_RULE)
+-
+
+ annotate: annotate.cc tigrinc.o
+- $(BIN_RULE)
+-
+ combineMUMs: combineMUMs.cc tigrinc.o
+- $(BIN_RULE)
+-
+ delta-filter: delta-filter.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ gaps: gaps.cc tigrinc.o
+- $(BIN_RULE)
+-
+ mgaps: mgaps.cc tigrinc.o
+- $(BIN_RULE)
+-
+ postnuc: postnuc.cc tigrinc.o sw_align.o
+- $(AUX_BIN_RULE)
+-
+ postpro: postpro.cc tigrinc.o sw_align.o translate.o
+- $(AUX_BIN_RULE)
+-
+ prenuc: prenuc.cc tigrinc.o
+- $(AUX_BIN_RULE)
+-
+ prepro: prepro.cc tigrinc.o translate.o
+- $(AUX_BIN_RULE)
+-
+ repeat-match: repeat-match.cc tigrinc.o
+- $(BIN_RULE)
+-
+ show-aligns: show-aligns.cc tigrinc.o translate.o delta.o
+- $(BIN_RULE)
+-
+ show-coords: show-coords.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ show-tiling: show-tiling.cc tigrinc.o delta.o
+- $(BIN_RULE)
+-
+ show-snps: show-snps.cc tigrinc.o translate.o delta.o
+- $(BIN_RULE)
+-
+ show-diff: show-diff.cc tigrinc.o delta.o
+- $(BIN_RULE)
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch b/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch
new file mode 100644
index 000000000000..d6926c913d4a
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-c++-qa.patch
@@ -0,0 +1,83 @@
+--- a/src/kurtz/libbasedir/space.c
++++ b/src/kurtz/libbasedir/space.c
+@@ -379,7 +379,7 @@
+ }
+ if(numberofblocks > 0)
+ {
+- fprintf(stderr,"space leak: number of blocks = %u\n",numberofblocks);
++ fprintf(stderr,"space leak: number of blocks = %lu\n",numberofblocks);
+ exit(EXIT_FAILURE);
+ }
+ free(blocks);
+--- a/src/tigr/combineMUMs.cc
++++ b/src/tigr/combineMUMs.cc
+@@ -106,7 +106,7 @@
+ // This array [i] is the maximum number of errors allowed
+ // in a match between sequences of length i , which is
+ // i * MAXERROR_RATE .
+-char * Error_File_Name = DEFAULT_ERROR_FILE_NAME;
++const char * Error_File_Name = DEFAULT_ERROR_FILE_NAME;
+ // Name of file to write gaps listing with # errors in each gap
+ int Fill_Ct = 0;
+ // Number of non-acgt bases in ref sequence
+@@ -132,7 +132,7 @@
+ // The query sequence
+ long int Query_Len;
+ // The length of the query sequence
+-char * Query_Suffix = "Query";
++const char * Query_Suffix = "Query";
+ // Suffix for query tag
+ char * Ref = NULL;
+ // The reference sequence
+@@ -142,7 +142,7 @@
+ // The length of the reference sequence
+ long int Ref_Size;
+ // The size of the reference sequence buffer
+-char * Ref_Suffix = "Ref";
++const char * Ref_Suffix = "Ref";
+ // Suffix for reference tag
+ int Show_Differences = FALSE;
+ // If TRUE then show differences in all alignments
+--- a/src/tigr/mgaps.cc
++++ b/src/tigr/mgaps.cc
+@@ -64,9 +64,9 @@
+ static void Parse_Command_Line
+ (int argc, char * argv []);
+ static void Process_Matches
+- (Match_t * A, int N, char * label);
++ (Match_t * A, int N, const char * label);
+ static int Process_Cluster
+- (Match_t * A, int N, char * label);
++ (Match_t * A, int N, const char * label);
+ static void Union
+ (int a, int b);
+ static void Usage
+@@ -438,7 +438,7 @@
+
+
+ static int Process_Cluster
+- (Match_t * A, int N, char * label)
++ (Match_t * A, int N, const char * label)
+
+ // Process the cluster of matches in A [0 .. (N - 1)] and output them
+ // after a line containing label . Return the number of clusters
+@@ -552,7 +552,7 @@
+
+
+ static void Process_Matches
+- (Match_t * A, int N, char * label)
++ (Match_t * A, int N, const char * label)
+
+ // Process matches A [1 .. N] and output them after
+ // a line containing label .
+--- a/src/tigr/show-coords.cc
++++ b/src/tigr/show-coords.cc
+@@ -788,7 +788,7 @@
+ (vector<AlignStats> Stats)
+ {
+ time_t currtime;
+- char * type;
++ const char * type;
+ char date[MAX_LINE];
+ long int len;
+ vector<AlignStats>::iterator Sip;
diff --git a/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch b/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch
new file mode 100644
index 000000000000..97f1dd843aca
--- /dev/null
+++ b/sci-biology/mummer/files/mummer-3.23-fix-shebangs.patch
@@ -0,0 +1,75 @@
+Use portable shebangs instead of hardcoding interpreters
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/scripts/dnadiff.pl
++++ b/scripts/dnadiff.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH -w
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, University of Maryland
+--- a/scripts/exact-tandems.csh
++++ b/scripts/exact-tandems.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # Find exact tandem repeats in specified file involving an
+ # exact duplicate of at least the specified length
+--- a/scripts/mapview.pl
++++ b/scripts/mapview.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ use lib "__SCRIPT_DIR";
+ use Foundation;
+--- a/scripts/mummerplot.pl
++++ b/scripts/mummerplot.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ ################################################################################
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/nucmer2xfig.pl
++++ b/scripts/nucmer2xfig.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+ # (c) Steven Salzberg 2001
+ # Make an xfig plot for a comparison of a reference chromosome (or single
+ # molecule) versus a multifasta file of contigs from another genome.
+--- a/scripts/nucmer.pl
++++ b/scripts/nucmer.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/promer.pl
++++ b/scripts/promer.pl
+@@ -1,4 +1,4 @@
+-#!__PERL_PATH
++#!/usr/bin/env perl
+
+ #-------------------------------------------------------------------------------
+ # Programmer: Adam M Phillippy, The Institute for Genomic Research
+--- a/scripts/run-mummer1.csh
++++ b/scripts/run-mummer1.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # **SEVERELY** antiquated script for running the mummer 1 suite
+ # -r option reverse complements the query sequence, coordinates of the reverse
+--- a/scripts/run-mummer3.csh
++++ b/scripts/run-mummer3.csh
+@@ -1,4 +1,4 @@
+-#!__CSH_PATH -f
++#!/usr/bin/env csh
+ #
+ # for running the basic mummer 3 suite, should use nucmer instead when possible
+ # to avoid the confusing reverse coordinate system of the raw programs.
diff --git a/sci-biology/mummer/metadata.xml b/sci-biology/mummer/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/mummer/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/mummer/mummer-3.23-r1.ebuild b/sci-biology/mummer/mummer-3.23-r1.ebuild
new file mode 100644
index 000000000000..1359833dc21d
--- /dev/null
+++ b/sci-biology/mummer/mummer-3.23-r1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="A rapid whole genome aligner"
+HOMEPAGE="http://mummer.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/mummer/MUMmer${PV}.tar.gz"
+S="${WORKDIR}/MUMmer${PV}"
+
+LICENSE="Artistic"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc"
+
+RDEPEND="
+ app-shells/tcsh
+ dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.23-fix-build-system.patch
+ "${FILESDIR}"/${PN}-3.23-fix-c++-qa.patch
+ "${FILESDIR}"/${PN}-3.23-fix-shebangs.patch
+)
+
+src_configure() {
+ use amd64 && append-cppflags -DSIXTYFOURBITS
+ tc-export AR CC CXX
+}
+
+src_install() {
+ dobin src/kurtz/mm3src/mummer
+ dobin src/tigr/{combineMUMs,delta-filter,gaps,mgaps,postnuc,postpro,prenuc,prepro,repeat-match,show-aligns,show-coords,show-tiling,show-snps,show-diff}
+ dobin scripts/{exact-tandems,mapview,mummerplot,dnadiff,nucmer,promer,run-mummer1,run-mummer3,nucmer2xfig}
+ newbin src/tigr/annotate mummer-annotate
+
+ insinto /usr/share/mummer/lib
+ doins scripts/Foundation.pm
+
+ einstalldocs
+ use doc && dodoc -r docs/.
+}
diff --git a/sci-biology/muscle/Manifest b/sci-biology/muscle/Manifest
new file mode 100644
index 000000000000..47000518089c
--- /dev/null
+++ b/sci-biology/muscle/Manifest
@@ -0,0 +1 @@
+DIST muscle-5.1.0.tar.gz 185437 BLAKE2B b3742c37179fc8c36fb6160be4c3a8b4afa2f686bc018ec8e97a10834c1f1901b54b489faa9c365aa65c8514f378b7b5518d91a4e2fb067492e32202a06c4f64 SHA512 0cafc7ce07e5d0c261811e085e0fec8e44318a3d2604ad530ad95b370d6386143a4eeb59012e17cfc703f54bde5ee0752c3ce7fc8bb489748dbe89b2229dd6eb
diff --git a/sci-biology/muscle/files/0001-Makefile-fix-horribleness-so-that-it-respects-build-.patch b/sci-biology/muscle/files/0001-Makefile-fix-horribleness-so-that-it-respects-build-.patch
new file mode 100644
index 000000000000..a8604239105b
--- /dev/null
+++ b/sci-biology/muscle/files/0001-Makefile-fix-horribleness-so-that-it-respects-build-.patch
@@ -0,0 +1,49 @@
+From 9ef231e4612263524a4c41ecb841cdcf0e17d011 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Tue, 19 Mar 2024 23:44:43 -0400
+Subject: [PATCH] Makefile: fix horribleness so that it respects build system
+ environment
+
+Do not strip, that is portage's job. Respect $CXX, don't override use
+-O.
+---
+ Makefile | 15 ++++-----------
+ 1 file changed, 4 insertions(+), 11 deletions(-)
+
+diff --git a/Makefile b/Makefile
+index df16673..086aba3 100644
+--- a/Makefile
++++ b/Makefile
+@@ -19,14 +19,10 @@ OS := $(shell uname)
+
+ CPPFLAGS := $(CPPFLAGS) -DNDEBUG -pthread
+
+-CXX := g++
+-ifeq ($(OS),Darwin)
+- CXX := g++-11
+-endif
++CXX ?= g++
++CXXFLAGS := $(CXXFLAGS) -fopenmp -ffast-math
+
+-CXXFLAGS := $(CXXFLAGS) -O3 -fopenmp -ffast-math
+-
+-LDFLAGS := $(LDFLAGS) -O3 -fopenmp -pthread -lpthread ${LDFLAGS2}
++LDFLAGS := $(LDFLAGS) -fopenmp -pthread -lpthread ${LDFLAGS2}
+
+ HDRS := $(shell echo *.h)
+ OBJS := $(shell echo *.cpp | sed "-es/^/$(OS)\//" | sed "-es/ / $(OS)\//g" | sed "-es/\.cpp/.o/g")
+@@ -35,10 +31,7 @@ SRCS := $(shell ls *.cpp *.h)
+ .PHONY: clean
+
+ $(OS)/muscle : gitver.txt $(OS)/ $(OBJS)
+- $(CXX) $(LDFLAGS) $(OBJS) -o $@
+-
+- # Warning: do not add -d option to strip, this is not portable
+- strip $(OS)/muscle
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $(OBJS) -o $@
+
+ gitver.txt : $(SRCS)
+ bash ./gitver.bash
+--
+2.43.2
+
diff --git a/sci-biology/muscle/metadata.xml b/sci-biology/muscle/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/muscle/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/muscle/muscle-5.1.0.ebuild b/sci-biology/muscle/muscle-5.1.0.ebuild
new file mode 100644
index 000000000000..7f61b0702052
--- /dev/null
+++ b/sci-biology/muscle/muscle-5.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Multiple sequence comparison by log-expectation"
+HOMEPAGE="https://www.drive5.com/muscle/"
+SRC_URI="https://github.com/rcedgar/muscle/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/${P}/src
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+
+RDEPEND="!sci-libs/libmuscle"
+
+PATCHES=(
+ "${FILESDIR}"/0001-Makefile-fix-horribleness-so-that-it-respects-build-.patch
+)
+
+src_configure() {
+ tc-export CXX
+ printf '"%s"\n' "${PV}" > gitver.txt
+}
+
+src_install() {
+ local OS=$(uname) || die
+ dobin ${OS}/muscle
+ dodoc *.txt
+}
diff --git a/sci-biology/newick-utils/Manifest b/sci-biology/newick-utils/Manifest
new file mode 100644
index 000000000000..da3e87391d6d
--- /dev/null
+++ b/sci-biology/newick-utils/Manifest
@@ -0,0 +1 @@
+DIST newick-utils-1.6.tar.gz 7518535 BLAKE2B 6b5456be6fec4311e40b19972736194a3f2eb51e8efc4a97cdcf027838459a8f22f41d10e49e7ac3e6461aa290aeed1813baeffcb5706749ebf1bf4333e28047 SHA512 1e327f9a32b5b0df097bcb63f933f9073a85f0499a2a48be122f4affca52ae1541e1a6e0cca7420447aa8fe8d10d6e76e8d89933b2f84e023d6c87b50808d96c
diff --git a/sci-biology/newick-utils/files/newick-utils-1.6-deduplicate-libnw.patch b/sci-biology/newick-utils/files/newick-utils-1.6-deduplicate-libnw.patch
new file mode 100644
index 000000000000..ca997830aced
--- /dev/null
+++ b/sci-biology/newick-utils/files/newick-utils-1.6-deduplicate-libnw.patch
@@ -0,0 +1,153 @@
+Don't rebuild all of libnw.la pointlessly
+
+--- a/tests/Makefile.am
++++ b/tests/Makefile.am
+@@ -8,6 +8,8 @@
+ showsrc:
+ @echo $(srcdir)
+
++LDADD = $(top_builddir)/src/libnw.la
++
+ TESTS = test_newick_scanner test_newick_parser test_rnode test_list \
+ test_link test_masprintf test_svg_graph_radial \
+ test_canvas test_concat test_hash test_lca test_enode \
+@@ -37,100 +39,57 @@
+
+ SRC = $(top_builddir)/src
+
+-test_newick_scanner_SOURCES = test_newick_scanner.c $(SRC)/newick_scanner.c \
+- $(SRC)/newick_parser.c $(SRC)/rnode.c $(SRC)/rnode_iterator.c \
+- $(SRC)/list.c $(SRC)/hash.c $(SRC)/masprintf.c $(SRC)/link.c
+-
+-test_newick_parser_SOURCES = test_newick_parser.c $(SRC)/parser.c \
+- $(SRC)/newick_scanner.c $(SRC)/newick_parser.c $(SRC)/list.c \
+- $(SRC)/rnode.c $(SRC)/link.c $(SRC)/hash.c $(SRC)/rnode_iterator.c \
+- $(SRC)/masprintf.c $(SRC)/to_newick.c $(SRC)/concat.c
+-
+-test_rnode_SOURCES = test_rnode.c $(SRC)/rnode.c $(SRC)/list.c \
+- $(SRC)/rnode_iterator.c $(SRC)/hash.c $(SRC)/masprintf.c \
+- tree_stubs.c $(SRC)/nodemap.c $(SRC)/link.c
+-
+-test_list_SOURCES = test_list.c $(SRC)/list.c
+-
+-test_link_SOURCES = test_link.c $(SRC)/link.c $(SRC)/nodemap.c \
+- $(SRC)/list.c $(SRC)/to_newick.c $(SRC)/rnode.c \
+- $(SRC)/concat.c $(SRC)/hash.c tree_stubs.c \
+- $(SRC)/rnode_iterator.c $(SRC)/masprintf.c
++test_newick_scanner_SOURCES = test_newick_scanner.c
++
++test_newick_parser_SOURCES = test_newick_parser.c
++
++test_rnode_SOURCES = test_rnode.c tree_stubs.c
++
++test_list_SOURCES = test_list.c
++
++test_link_SOURCES = test_link.c tree_stubs.c
+
+ test_canvas_SOURCES = test_canvas.c $(SRC)/canvas.c
+
+-test_concat_SOURCES = test_concat.c $(SRC)/concat.c
++test_concat_SOURCES = test_concat.c
++
++test_hash_SOURCES = test_hash.c
++
++test_lca_SOURCES = test_lca.c tree_stubs.c
++
++test_nodemap_SOURCES = test_nodemap.c tree_stubs.c
+
+-test_hash_SOURCES = test_hash.c $(SRC)/hash.c $(SRC)/list.c $(SRC)/masprintf.c
++test_to_newick_SOURCES = test_to_newick.c tree_stubs.c
+
+-test_lca_SOURCES = test_lca.c $(SRC)/lca.c $(SRC)/list.c $(SRC)/nodemap.c \
+- $(SRC)/link.c $(SRC)/rnode.c $(SRC)/hash.c \
+- $(SRC)/rnode_iterator.c tree_stubs.c $(SRC)/masprintf.c \
+- $(SRC)/error.c
+-
+-test_nodemap_SOURCES = test_nodemap.c $(SRC)/nodemap.c \
+- $(SRC)/rnode.c $(SRC)/list.c $(SRC)/hash.c $(SRC)/link.c \
+- $(SRC)/rnode_iterator.c $(SRC)/masprintf.c tree_stubs.c
+-
+-test_to_newick_SOURCES = test_to_newick.c $(SRC)/to_newick.c \
+- $(SRC)/rnode.c $(SRC)/link.c $(SRC)/concat.c \
+- $(SRC)/list.c $(SRC)/rnode_iterator.c $(SRC)/hash.c \
+- $(SRC)/masprintf.c $(SRC)/parser.c $(SRC)/newick_scanner.c \
+- $(SRC)/newick_parser.c tree_stubs.c
+-
+-test_tree_SOURCES = test_tree.c $(SRC)/tree.c $(SRC)/rnode.c $(SRC)/list.c \
+- $(SRC)/to_newick.c $(SRC)/nodemap.c $(SRC)/link.c $(SRC)/concat.c \
+- $(SRC)/hash.c tree_stubs.c $(SRC)/rnode_iterator.c \
+- $(SRC)/masprintf.c
+-
+-test_node_set_SOURCES = test_node_set.c tree_stubs.c $(SRC)/node_set.c \
+- $(SRC)/hash.c $(SRC)/rnode.c $(SRC)/list.c $(SRC)/link.c \
+- $(SRC)/rnode_iterator.c $(SRC)/masprintf.c
+-
+-test_enode_SOURCES = test_enode.c $(SRC)/enode.c $(SRC)/rnode.c \
+- $(SRC)/link.c $(SRC)/list.c $(SRC)/rnode_iterator.c \
+- $(SRC)/hash.c $(SRC)/masprintf.c
+-
+-test_rnode_iterator_SOURCES = test_rnode_iterator.c $(SRC)/rnode_iterator.c \
+- $(SRC)/list.c $(SRC)/link.c $(SRC)/rnode.c $(SRC)/to_newick.c \
+- $(SRC)/hash.c $(SRC)/nodemap.c tree_stubs.c $(SRC)/masprintf.c \
+- $(SRC)/parser.c $(SRC)/newick_scanner.c $(SRC)/newick_parser.c \
+- $(SRC)/concat.c
++test_tree_SOURCES = test_tree.c tree_stubs.c
++
++test_node_set_SOURCES = test_node_set.c tree_stubs.c $(SRC)/node_set.c
++
++test_enode_SOURCES = test_enode.c $(SRC)/enode.c
++
++test_rnode_iterator_SOURCES = test_rnode_iterator.c tree_stubs.c
+
+ test_readline_SOURCES = test_readline.c $(SRC)/readline.c
+
+-test_tree_models_SOURCES = test_tree_models.c $(SRC)/tree_models.c \
+- $(SRC)/rnode.c $(SRC)/list.c $(SRC)/to_newick.c $(SRC)/link.c \
+- $(SRC)/concat.c $(SRC)/rnode_iterator.c \
+- $(SRC)/hash.c $(SRC)/masprintf.c
+-
+-test_xml_utils_SOURCES = test_xml_utils.c $(SRC)/xml_utils.c \
+- $(SRC)/masprintf.c
+-
+-test_masprintf_SOURCES = test_masprintf.c $(SRC)/masprintf.c
+-
+-test_error_SOURCES = test_error.c $(SRC)/error.c
+-
+-test_order_tree_SOURCES = test_order_tree.c $(SRC)/order_tree.c tree_stubs.c \
+- $(SRC)/link.c $(SRC)/to_newick.c $(SRC)/rnode.c $(SRC)/list.c \
+- $(SRC)/masprintf.c $(SRC)/concat.c $(SRC)/hash.c $(SRC)/nodemap.c \
+- $(SRC)/rnode_iterator.c
+-
+-test_graph_common_SOURCES = test_graph_common.c $(SRC)/graph_common.c \
+- tree_stubs.c $(SRC)/link.c $(SRC)/list.c $(SRC)/tree.c \
+- $(SRC)/rnode_iterator.c $(SRC)/hash.c $(SRC)/masprintf.c \
+- $(SRC)/rnode.c $(SRC)/nodemap.c
++test_tree_models_SOURCES = test_tree_models.c $(SRC)/tree_models.c
++
++test_xml_utils_SOURCES = test_xml_utils.c $(SRC)/xml_utils.c
++
++test_masprintf_SOURCES = test_masprintf.c
++
++test_error_SOURCES = test_error.c
++
++test_order_tree_SOURCES = test_order_tree.c tree_stubs.c $(SRC)/order_tree.c
++
++test_graph_common_SOURCES = test_graph_common.c tree_stubs.c $(SRC)/graph_common.c
+
+ test_svg_graph_radial_SOURCES = test_svg_graph_radial.c \
+- $(SRC)/svg_graph_radial.c $(SRC)/tree.c $(SRC)/svg_graph.c \
+- $(SRC)/rnode.c $(SRC)/hash.c $(SRC)/list.c $(SRC)/masprintf.c \
+- $(SRC)/rnode_iterator.c $(SRC)/svg_graph_ortho.c $(SRC)/error.c \
++ $(SRC)/svg_graph_radial.c $(SRC)/svg_graph.c \
++ $(SRC)/svg_graph_ortho.c \
+ $(SRC)/readline.c $(SRC)/xml_utils.c $(SRC)/graph_common.c \
+- $(SRC)/node_pos_alloc.c $(SRC)/nodemap.c $(SRC)/lca.c $(SRC)/link.c
++ $(SRC)/node_pos_alloc.c
+
+-test_subtree_SOURCES = test_subtree.c $(SRC)/subtree.c $(SRC)/rnode.c \
+- $(SRC)/list.c $(SRC)/hash.c $(SRC)/link.c $(SRC)/rnode_iterator.c \
+- $(SRC)/masprintf.c $(SRC)/nodemap.c
++test_subtree_SOURCES = test_subtree.c $(SRC)/subtree.c
+
+ clean-local:
+ $(RM) *.out
diff --git a/sci-biology/newick-utils/files/newick-utils-1.6-fno-common.patch b/sci-biology/newick-utils/files/newick-utils-1.6-fno-common.patch
new file mode 100644
index 000000000000..15847a52c480
--- /dev/null
+++ b/sci-biology/newick-utils/files/newick-utils-1.6-fno-common.patch
@@ -0,0 +1,41 @@
+--- a/src/address_parser.c
++++ b/src/address_parser.c
+@@ -83,6 +83,8 @@
+ #include "enode.h"
+ #include "address_parser_status.h"
+
++enum address_parser_status_type address_parser_status;
++
+ extern int adslex (void);
+
+ /* The root of the expression (when represented as a parse tree) */
+--- a/src/address_parser_status.h
++++ b/src/address_parser_status.h
+@@ -13,4 +13,4 @@
+ * returns either \c NULL or the top-level enode of the address, so we need to
+ * use an extern variable to convey its status. */
+
+-enum address_parser_status_type address_parser_status;
++extern enum address_parser_status_type address_parser_status;
+--- a/tests/test_newick_parser.c
++++ b/tests/test_newick_parser.c
+@@ -11,7 +11,7 @@
+ int nwslex (void);
+ struct rnode *root;
+ struct llist *nodes_in_order;
+-enum parser_status_type newick_parser_status;
++extern enum parser_status_type newick_parser_status;
+ void newick_scanner_set_string_input(char *);
+
+ /* NOTE: we can use to_newick() to check the parser's output because this
+--- a/tests/test_newick_scanner.c
++++ b/tests/test_newick_scanner.c
+@@ -20,7 +20,7 @@
+ int nwslex (void);
+ struct rnode *root;
+ struct llist *nodes_in_order;
+-enum parser_status_type newick_parser_status;
++extern enum parser_status_type newick_parser_status;
+ void newick_scanner_set_string_input(char *);
+ void newick_scanner_set_file_input(FILE *);
+
diff --git a/sci-biology/newick-utils/metadata.xml b/sci-biology/newick-utils/metadata.xml
new file mode 100644
index 000000000000..c6e547de04de
--- /dev/null
+++ b/sci-biology/newick-utils/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="xml">Uses <pkg>dev-libs/libxml2</pkg> to handle ornaments</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/newick-utils/newick-utils-1.6-r3.ebuild b/sci-biology/newick-utils/newick-utils-1.6-r3.ebuild
new file mode 100644
index 000000000000..267cf5da476f
--- /dev/null
+++ b/sci-biology/newick-utils/newick-utils-1.6-r3.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="Tools for processing phylogenetic trees"
+HOMEPAGE="https://web.archive.org/web/20120206012743/http://cegg.unige.ch/newick_utils"
+SRC_URI="https://web.archive.org/web/20120126210029if_/http://cegg.unige.ch/pub/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="xml"
+
+DEPEND="
+ xml? ( dev-libs/libxml2:= )"
+RDEPEND="
+ ${DEPEND}
+ !dev-games/libnw"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-deduplicate-libnw.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ # -Werror=lto-type-mismatch
+ # https://bugs.gentoo.org/862279
+ # https://github.com/tjunier/newick_utils/issues/34
+ filter-lto
+
+ econf \
+ --disable-static \
+ --without-guile \
+ --without-lua \
+ $(use_with xml libxml)
+}
+
+src_install() {
+ default
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/sci-biology/pals/Manifest b/sci-biology/pals/Manifest
new file mode 100644
index 000000000000..5353f14a9f31
--- /dev/null
+++ b/sci-biology/pals/Manifest
@@ -0,0 +1 @@
+DIST pals-1.0.tar.gz 24895 BLAKE2B 09a24b3a2e99471378f33a84c447dea9153ddedd502de4e6b771c85ef99df5ca30f687b58d1d9d4726b29345215b617f1dc93a71b8be417d8c0c03e8ecd71015 SHA512 655e3311c63709dab1f8a13b193ed30a5ee97c04757a1e8408a74f6110ff3bdd96ba9eb07f4987ed5b83790ffa8cec67f722fee783c4ab4120483a683ebb9b8f
diff --git a/sci-biology/pals/files/pals-1.0-fix-build-system.patch b/sci-biology/pals/files/pals-1.0-fix-build-system.patch
new file mode 100644
index 000000000000..a020a697f85b
--- /dev/null
+++ b/sci-biology/pals/files/pals-1.0-fix-build-system.patch
@@ -0,0 +1,34 @@
+Make build system honour user variables
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,4 @@
+-CFLAGS = -O3 -march=pentiumpro -mcpu=pentiumpro -funroll-loops -Winline -DNDEBUG=1
+-LDLIBS = -lm -static
+-# LDLIBS = -lm
++LDLIBS = -lm
+
+ OBJ = .o
+ EXE =
+@@ -8,18 +6,13 @@
+ RM = rm -f
+ CP = cp
+
+-GPP = g++
+-LD = $(GPP) $(CFLAGS)
+-CPP = $(GPP) -c $(CFLAGS)
+-CC = gcc -c $(CFLAGS)
+-
+ all: pals
+
+ CPPSRC = $(sort $(wildcard *.cpp))
+ CPPOBJ = $(subst .cpp,.o,$(CPPSRC))
+
+-$(CPPOBJ): %.o: %.cpp
+- $(CPP) $< -o $@
++%.o: %.cpp
++ $(CXX) $(CXXFLAGS) -DNDEBUG $(CPPFLAGS) -c $< -o $@
+
+ pals: $(CPPOBJ)
+- $(LD) -o pals $(CPPOBJ) $(LDLIBS)
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o pals $(CPPOBJ) $(LDLIBS)
diff --git a/sci-biology/pals/metadata.xml b/sci-biology/pals/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/pals/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/pals/pals-1.0-r2.ebuild b/sci-biology/pals/pals-1.0-r2.ebuild
new file mode 100644
index 000000000000..94f972567ea7
--- /dev/null
+++ b/sci-biology/pals/pals-1.0-r2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Pairwise Aligner for Long Sequences"
+HOMEPAGE="https://www.drive5.com/pals/"
+SRC_URI="https://www.drive5.com/pals/pals_source.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-1.0-fix-build-system.patch )
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ dobin pals
+}
diff --git a/sci-biology/paml/Manifest b/sci-biology/paml/Manifest
new file mode 100644
index 000000000000..afb22bd8917b
--- /dev/null
+++ b/sci-biology/paml/Manifest
@@ -0,0 +1,2 @@
+DIST paml-4.10.10.tar.gz 3835148 BLAKE2B 170915e094bd7f4c95895b4cb56e31d4e11f7b70c0f4b8c5c9104a88c68af62c635e18b36a7f56c96170e7eb490966d9ece0ab0e73aa42142def867a1bdce0bc SHA512 e3a3a0f2300213823f4126914073f538fc9859a2378a8494303c3b5fedf935e42c44311e9a89dac4eebc97fdd5653aa95c4d20e1b3ec62866f3bffffcbc9689c
+DIST paml-4.10.7.tar.gz 5250841 BLAKE2B 4d2a7fdc8eb93abe200165f7805520a02f4251dc651f26c4e1bf6fb11eee3d0721fd9d6f3c96979bae0f51b77f168e8d8a12f3dd3cbbfec7e8210a70b7c4bb9e SHA512 e450c0a28ecef946279fd92834eb5ddfb50805167655364cc959ef21839a75280a37d79209918373e80dacb0fc35decaccdb1477e53a81fd99fb140a0ce839fe
diff --git a/sci-biology/paml/files/paml-4.10.7-LDFLAGS.patch b/sci-biology/paml/files/paml-4.10.7-LDFLAGS.patch
new file mode 100644
index 000000000000..492396a0fd83
--- /dev/null
+++ b/sci-biology/paml/files/paml-4.10.7-LDFLAGS.patch
@@ -0,0 +1,60 @@
+https://github.com/abacus-gene/paml/pull/46
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -9,39 +9,39 @@ LIBS = -lm # -lM
+ all : $(PRGS)
+
+ baseml : baseml.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ baseml.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ baseml.o tools.o $(LIBS)
+ basemlg : basemlg.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ basemlg.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ basemlg.o tools.o $(LIBS)
+ codeml : codeml.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ codeml.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ codeml.o tools.o $(LIBS)
+ evolver : evolver.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ evolver.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ evolver.o tools.o $(LIBS)
+ pamp : pamp.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ pamp.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ pamp.o tools.o $(LIBS)
+ mcmctree : mcmctree.o tools.o treesub.c treespace.c paml.h
+- $(CC) $(CFLAGS) -o $@ mcmctree.c tools.o $(LIBS)
+- $(CC) $(CFLAGS) -o infinitesites -D INFINITESITES mcmctree.c tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ mcmctree.c tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o infinitesites -D INFINITESITES mcmctree.c tools.o $(LIBS)
+ yn00: yn00.o tools.o paml.h
+- $(CC) $(CFLAGS) -o $@ yn00.o tools.o $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ yn00.o tools.o $(LIBS)
+ chi2 : chi2.o
+- $(CC) $(CFLAGS) -o $@ chi2.c $(LIBS)
++ $(CC) $(CPPFLAGS) $(CFLAGS) $(LDFLAGS) -o $@ chi2.c $(LIBS)
+
+ tools.o : paml.h tools.c
+- $(CC) $(CFLAGS) -c tools.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c tools.c
+ baseml.o : paml.h baseml.c treesub.c treespace.c
+- $(CC) $(CFLAGS) -c baseml.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c baseml.c
+ basemlg.o : paml.h basemlg.c treesub.c
+- $(CC) $(CFLAGS) -c basemlg.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c basemlg.c
+ codeml.o : paml.h codeml.c treesub.c treespace.c
+- $(CC) $(CFLAGS) -c codeml.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c codeml.c
+ evolver.o: evolver.c treesub.c treespace.c
+- $(CC) $(CFLAGS) -c evolver.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c evolver.c
+ mcmctree.o : paml.h mcmctree.c treesub.c treespace.c
+- $(CC) $(CFLAGS) -c mcmctree.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c mcmctree.c
+ pamp.o : paml.h pamp.c treesub.c treespace.c
+- $(CC) $(CFLAGS) -c pamp.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c pamp.c
+ yn00.o : paml.h yn00.c
+- $(CC) $(CFLAGS) -c yn00.c
++ $(CC) $(CPPFLAGS) $(CFLAGS) -c yn00.c
+
+ clean :
+ -rm *.o $(PRGS)
diff --git a/sci-biology/paml/metadata.xml b/sci-biology/paml/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/paml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/paml/paml-4.10.10.ebuild b/sci-biology/paml/paml-4.10.10.ebuild
new file mode 100644
index 000000000000..068e46ee72dd
--- /dev/null
+++ b/sci-biology/paml/paml-4.10.10.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Phylogenetic Analysis by Maximum Likelihood"
+HOMEPAGE="https://github.com/abacus-gene/paml/wiki"
+SRC_URI="https://github.com/abacus-gene/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+src_compile() {
+ emake -C src CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin src/{baseml,basemlg,codeml,evolver,pamp,mcmctree,infinitesites,yn00,chi2}
+
+ dodoc -r README.md doc/.
+
+ insinto /usr/share/${PN}/control
+ doins examples/*.ctl
+
+ insinto /usr/share/${PN}/dat
+ doins -r examples/stewart* examples/*.dat dat/.
+
+ insinto /usr/share/${PN}
+ doins -r examples
+}
diff --git a/sci-biology/paml/paml-4.10.7.ebuild b/sci-biology/paml/paml-4.10.7.ebuild
new file mode 100644
index 000000000000..3291f74efcad
--- /dev/null
+++ b/sci-biology/paml/paml-4.10.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Phylogenetic Analysis by Maximum Likelihood"
+HOMEPAGE="https://abacus.gene.ucl.ac.uk/software/paml.html"
+SRC_URI="https://github.com/abacus-gene/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="free-noncomm"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.10.7-LDFLAGS.patch
+)
+
+src_compile() {
+ emake -C src CC="$(tc-getCC)" CFLAGS="${CFLAGS}" LDFLAGS="${LDFLAGS}"
+}
+
+src_install() {
+ dobin src/{baseml,basemlg,codeml,evolver,pamp,mcmctree,infinitesites,yn00,chi2}
+
+ dodoc -r README.md doc/.
+
+ insinto /usr/share/${PN}/control
+ doins examples/*.ctl
+
+ insinto /usr/share/${PN}/dat
+ doins -r examples/stewart* examples/*.dat dat/.
+
+ insinto /usr/share/${PN}
+ doins -r examples
+}
diff --git a/sci-biology/phylip/Manifest b/sci-biology/phylip/Manifest
new file mode 100644
index 000000000000..444e3d45e356
--- /dev/null
+++ b/sci-biology/phylip/Manifest
@@ -0,0 +1 @@
+DIST phylip-3.698.zip 9675991 BLAKE2B 8d020cf17b3245b9827af4bdd1d17167c3e1a41ae805766c4b72f09de107775314a2a296c00f84f928487403cc02741fd46ae73585d0dba143f4b926777e9add SHA512 7f822dabd1ffdb6a689e0c308f5a3ae129bd86e305086a18c0c755ac3c6ca28a4337d52ced76b280706926370e23f19f304851ef82e32833d1945ed277f7d70d
diff --git a/sci-biology/phylip/files/README.Gentoo b/sci-biology/phylip/files/README.Gentoo
new file mode 100644
index 000000000000..3b2062003996
--- /dev/null
+++ b/sci-biology/phylip/files/README.Gentoo
@@ -0,0 +1,15 @@
+Using the PHYlogeny Inference Package on Gentoo systems
+
+Location of the factor program
+
+On Gentoo systems, the PHYLIP program "factor" is named "factor-phylip", in
+order to avoid a file collision with the program of the same name provided by
+the "sys-apps/coreutils" package.
+
+Location of the font files
+
+PHYLIP programs will find font files only if they are in a directory
+referenced by the "PATH" variable or if they are in the current working
+directory. When working with PHYLIP programs that need these files, either
+copy or symlink the fonts you need to your working directory, or add
+"/usr/share/phylip/fonts/" to your "PATH" variable.
diff --git a/sci-biology/phylip/files/phylip-3.698-fno-common.patch b/sci-biology/phylip/files/phylip-3.698-fno-common.patch
new file mode 100644
index 000000000000..986b1d9650ab
--- /dev/null
+++ b/sci-biology/phylip/files/phylip-3.698-fno-common.patch
@@ -0,0 +1,70 @@
+--- a/src/draw.c
++++ b/src/draw.c
+@@ -34,6 +34,11 @@
+
+ char fontname[LARGE_BUF_LENGTH];
+
++long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar,
++ vrmlgroundcolornear, vrmlgroundcolorfar, vrmlplotcolor;
++
++char afmfile[FNMLNGTH];
++
+ /* format of matrix: capheight, length[32],length[33],..length[256]*/
+
+ byte *full_pic ;
+--- a/src/draw.h
++++ b/src/draw.h
+@@ -52,10 +52,10 @@
+ double intensity, x, y, z;
+ } vrmllighttype;
+
+-long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar,
++extern long treecolor, namecolor, backcolor, bottomcolor, vrmlskycolornear, vrmlskycolorfar,
+ vrmlgroundcolornear, vrmlgroundcolorfar, vrmlplotcolor;
+
+-char afmfile[FNMLNGTH];
++extern char afmfile[FNMLNGTH];
+
+ double lengthtext(char *, long, char *, fonttype);
+ double heighttext(fonttype, char *);
+--- a/src/drawtree.c
++++ b/src/drawtree.c
+@@ -69,7 +69,7 @@
+ uselengths, regular, rotate, empty, rescaled,
+ notfirst, improve, nbody, firstscreens, labelavoid;
+ boolean pictbold,pictitalic,pictshadow,pictoutline;
+-boolean javarun;
++extern boolean javarun;
+
+ striptype stripe;
+ plottertype plotter, oldplotter;
+--- a/src/phylip.c
++++ b/src/phylip.c
+@@ -34,6 +34,8 @@
+
+ #include "phylip.h"
+
++boolean javarun;
++
+ #ifdef WIN32
+ #include <windows.h>
+ /* for console code (clear screen, text color settings) */
+--- a/src/phylip.h
++++ b/src/phylip.h
+@@ -331,7 +331,7 @@
+ /* Lower-triangular format. */
+ #define MAT_LOWERTRI (MAT_LOWER | MAT_MACHINE)
+
+-boolean javarun;
++extern boolean javarun;
+
+ typedef long *steptr;
+ typedef long longer[6];
+@@ -351,7 +351,6 @@
+ extern long spp, words, bits;
+ extern boolean ibmpc, ansi, tranvsp;
+ extern naym *nayme; /* names of species */
+-boolean firstplotblock; // for debugging BMP output
+
+ #define ebcdic EBCDIC
+
diff --git a/sci-biology/phylip/files/phylip-3.698-makefile.patch b/sci-biology/phylip/files/phylip-3.698-makefile.patch
new file mode 100644
index 000000000000..f55ab98dd9cb
--- /dev/null
+++ b/sci-biology/phylip/files/phylip-3.698-makefile.patch
@@ -0,0 +1,266 @@
+--- a/src/Makefile.unx
++++ b/src/Makefile.unx
+@@ -81,7 +81,6 @@
+ #CC = cc
+ #
+ # To use GCC instead:
+-CC = gcc
+ #
+ # ----------------------------------------------------------------------------
+ #
+@@ -91,7 +90,6 @@
+ #
+ #
+ #A minimal one
+-CFLAGS =
+ #
+ # A basic one for debugging
+ #CFLAGS = -g
+@@ -220,7 +218,7 @@
+ @echo "Done."
+ @echo ""
+
+-put:
++put: all
+ @echo "Installing PHYLIP v3.6 binaries in $(EXEDIR)"
+ @mkdir -p $(EXEDIR)
+ @cp $(PROGS) $(EXEDIR)
+@@ -270,195 +268,195 @@
+ clique.o: clique.c disc.h phylip.h
+
+ clique: clique.o disc.o phylip.o
+- $(CC) $(CFLAGS) clique.o disc.o phylip.o $(LIBS) -o clique
++ $(CC) $(LDFLAGS) clique.o disc.o phylip.o $(LIBS) -o clique
+
+ cons.o: cons.c cons.h phylip.h
+
+ consense.o: consense.c cons.h phylip.h
+
+ consense: consense.o phylip.o cons.o
+- $(CC) $(CFLAGS) consense.o phylip.o cons.o $(LIBS) -o consense
++ $(CC) $(LDFLAGS) consense.o phylip.o cons.o $(LIBS) -o consense
+
+ contml.o: contml.c cont.h phylip.h
+
+ contml: contml.o cont.o phylip.o
+- $(CC) $(CFLAGS) contml.o cont.o phylip.o $(LIBS) -o contml
++ $(CC) $(LDFLAGS) contml.o cont.o phylip.o $(LIBS) -o contml
+
+ contrast.o: contrast.c cont.h phylip.h
+
+ contrast: contrast.o cont.o phylip.o
+- $(CC) $(CFLAGS) contrast.o cont.o phylip.o $(LIBS) -o contrast
++ $(CC) $(LDFLAGS) contrast.o cont.o phylip.o $(LIBS) -o contrast
+
+ dnacomp.o: dnacomp.c seq.h phylip.h
+
+ dnacomp: dnacomp.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnacomp.o seq.o phylip.o $(LIBS) -o dnacomp
++ $(CC) $(LDFLAGS) dnacomp.o seq.o phylip.o $(LIBS) -o dnacomp
+
+ dnadist.o: dnadist.c seq.h phylip.h
+
+ dnadist: dnadist.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnadist.o seq.o phylip.o $(LIBS) -o dnadist
++ $(CC) $(LDFLAGS) dnadist.o seq.o phylip.o $(LIBS) -o dnadist
+
+ dnainvar.o: dnainvar.c seq.h phylip.h
+
+ dnainvar: dnainvar.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnainvar.o seq.o phylip.o $(LIBS) -o dnainvar
++ $(CC) $(LDFLAGS) dnainvar.o seq.o phylip.o $(LIBS) -o dnainvar
+
+ dnaml.o: dnaml.c seq.h phylip.h
+
+ dnaml: dnaml.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnaml.o seq.o phylip.o $(LIBS) -o dnaml
++ $(CC) $(LDFLAGS) dnaml.o seq.o phylip.o $(LIBS) -o dnaml
+
+ dnamlk.o: dnamlk.c seq.h phylip.h mlclock.h printree.h
+
+ dnamlk: dnamlk.o seq.o phylip.o mlclock.o printree.o
+- $(CC) $(CFLAGS) dnamlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o dnamlk
++ $(CC) $(LDFLAGS) dnamlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o dnamlk
+
+ dnamove.o: dnamove.c seq.h moves.h phylip.h
+
+ dnamove: dnamove.o seq.o moves.o phylip.o
+- $(CC) $(CFLAGS) dnamove.o seq.o moves.o phylip.o $(LIBS) -o dnamove
++ $(CC) $(LDFLAGS) dnamove.o seq.o moves.o phylip.o $(LIBS) -o dnamove
+
+ dnapenny.o: dnapenny.c seq.h phylip.h
+
+ dnapenny: dnapenny.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnapenny.o seq.o phylip.o $(LIBS) -o dnapenny
++ $(CC) $(LDFLAGS) dnapenny.o seq.o phylip.o $(LIBS) -o dnapenny
+
+ dnapars.o: dnapars.c seq.h phylip.h
+
+ dnapars: dnapars.o seq.o phylip.o
+- $(CC) $(CFLAGS) dnapars.o seq.o phylip.o $(LIBS) -o dnapars
++ $(CC) $(LDFLAGS) dnapars.o seq.o phylip.o $(LIBS) -o dnapars
+
+ dolmove.o: dolmove.c disc.h moves.h dollo.h phylip.h
+
+ dolmove: dolmove.o disc.o moves.o dollo.o phylip.o
+- $(CC) $(CFLAGS) dolmove.o disc.o moves.o dollo.o phylip.o $(LIBS) -o dolmove
++ $(CC) $(LDFLAGS) dolmove.o disc.o moves.o dollo.o phylip.o $(LIBS) -o dolmove
+
+ dollop.o: dollop.c disc.h dollo.h phylip.h
+
+ dollop: dollop.o disc.o dollo.o phylip.o
+- $(CC) $(CFLAGS) dollop.o disc.o dollo.o phylip.o $(LIBS) -o dollop
++ $(CC) $(LDFLAGS) dollop.o disc.o dollo.o phylip.o $(LIBS) -o dollop
+
+ dolpenny.o: dolpenny.c disc.h dollo.h phylip.h
+
+ dolpenny: dolpenny.o disc.o dollo.o phylip.o
+- $(CC) $(CFLAGS) dolpenny.o disc.o dollo.o phylip.o $(LIBS) -o dolpenny
++ $(CC) $(LDFLAGS) dolpenny.o disc.o dollo.o phylip.o $(LIBS) -o dolpenny
+
+ draw.o: draw.c draw.h phylip.h
+- $(CC) $(DFLAGS) -c draw.c
++ $(CC) $(DFLAGS) $(CPPFLAGS) -c draw.c
+
+ draw2.o: draw2.c draw.h phylip.h
+- $(CC) $(DFLAGS) -c draw2.c
++ $(CC) $(DFLAGS) $(CPPFLAGS) -c draw2.c
+
+ drawgram.o: drawgram.c draw.h phylip.h
+- $(CC) $(DFLAGS) -c drawgram.c
++ $(CC) $(DFLAGS) $(CPPFLAGS) -c drawgram.c
+
+ drawgram: drawgram.o draw.o draw2.o phylip.o
+- $(CC) $(DFLAGS) draw.o draw2.o drawgram.o phylip.o $(DLIBS) -o drawgram
++ $(CC) $(LDFLAGS) draw.o draw2.o drawgram.o phylip.o $(DLIBS) -o drawgram
+
+ # needed by java
+-libdrawgram.so: drawgram.o draw.o draw2.o phylip.o
+- $(CC) $(CFLAGS) -o libdrawgram.so -shared -fPIC drawgram.c draw.c draw2.c phylip.c $(CLIBS)
++libdrawgram.so:
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o libdrawgram.so -Wl,-soname,libdrawgram.so -shared -fPIC drawgram.c draw.c draw2.c phylip.c $(CLIBS)
+
+ drawtree.o: drawtree.c draw.h phylip.h
+- $(CC) $(DFLAGS) -shared -fPIC -c drawtree.c
++ $(CC) $(DFLAGS) $(CPPFLAGS) -c drawtree.c
+
+ drawtree: drawtree.o draw.o draw2.o phylip.o
+- $(CC) $(DFLAGS) draw.o draw2.o drawtree.o phylip.o $(DLIBS) -o drawtree
++ $(CC) $(LDFLAGS) draw.o draw2.o drawtree.o phylip.o $(DLIBS) -o drawtree
+
+ # needed by java
+-libdrawtree.so: drawtree.o draw.o draw2.o phylip.o
+- $(CC) $(CFLAGS) -o libdrawtree.so -shared -fPIC drawtree.c draw.c draw2.c phylip.c $(CLIBS)
++libdrawtree.so:
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o libdrawtree.so -Wl,-soname,libdrawtree.so -shared -fPIC drawtree.c draw.c draw2.c phylip.c $(CLIBS)
+
+ factor.o: factor.c phylip.h
+
+ factor: factor.o phylip.o
+- $(CC) $(CFLAGS) factor.o phylip.o $(LIBS) -o factor
++ $(CC) $(LDFLAGS) factor.o phylip.o $(LIBS) -o factor
+
+ fitch.o: fitch.c dist.h phylip.h
+
+ fitch: fitch.o dist.o phylip.o
+- $(CC) $(CFLAGS) fitch.o dist.o phylip.o $(LIBS) -o fitch
++ $(CC) $(LDFLAGS) fitch.o dist.o phylip.o $(LIBS) -o fitch
+
+ gendist.o: gendist.c phylip.h
+
+ gendist: gendist.o phylip.o
+- $(CC) $(CFLAGS) gendist.o phylip.o $(LIBS) -o gendist
++ $(CC) $(LDFLAGS) gendist.o phylip.o $(LIBS) -o gendist
+
+ kitsch.o: kitsch.c dist.h phylip.h
+
+ kitsch: kitsch.o dist.o phylip.o
+- $(CC) $(CFLAGS) kitsch.o dist.o phylip.o $(LIBS) -o kitsch
++ $(CC) $(LDFLAGS) kitsch.o dist.o phylip.o $(LIBS) -o kitsch
+
+ mix.o: mix.c disc.h wagner.h phylip.h
+
+ mix: mix.o disc.o wagner.o phylip.o
+- $(CC) $(CFLAGS) mix.o disc.o wagner.o phylip.o $(LIBS) -o mix
++ $(CC) $(LDFLAGS) mix.o disc.o wagner.o phylip.o $(LIBS) -o mix
+
+ move.o: move.c disc.h moves.h wagner.h phylip.h
+
+ move: move.o disc.o moves.o wagner.o phylip.o
+- $(CC) $(CFLAGS) move.o disc.o moves.o wagner.o phylip.o $(LIBS) -o move
++ $(CC) $(LDFLAGS) move.o disc.o moves.o wagner.o phylip.o $(LIBS) -o move
+
+ neighbor.o: neighbor.c dist.h phylip.h
+
+ neighbor: neighbor.o dist.o phylip.o
+- $(CC) $(CFLAGS) neighbor.o dist.o phylip.o $(LIBS) -o neighbor
++ $(CC) $(LDFLAGS) neighbor.o dist.o phylip.o $(LIBS) -o neighbor
+
+ pars.o: pars.c discrete.h phylip.h
+
+ pars: pars.o discrete.o phylip.o
+- $(CC) $(CFLAGS) pars.o discrete.o phylip.o $(LIBS) -o pars
++ $(CC) $(LDFLAGS) pars.o discrete.o phylip.o $(LIBS) -o pars
+
+ penny.o: penny.c disc.h wagner.h phylip.h
+
+ penny: penny.o disc.o wagner.o phylip.o
+- $(CC) $(CFLAGS) penny.o disc.o wagner.o phylip.o $(LIBS) -o penny
++ $(CC) $(LDFLAGS) penny.o disc.o wagner.o phylip.o $(LIBS) -o penny
+
+ proml.o: proml.c seq.h phylip.h
+
+ proml: proml.o seq.o phylip.o
+- $(CC) $(CFLAGS) proml.o seq.o phylip.o $(LIBS) -o proml
++ $(CC) $(LDFLAGS) proml.o seq.o phylip.o $(LIBS) -o proml
+
+ promlk.o: promlk.c seq.h phylip.h mlclock.h printree.h
+
+ promlk: promlk.o seq.o phylip.o mlclock.o printree.o
+- $(CC) $(CFLAGS) promlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o promlk
++ $(CC) $(LDFLAGS) promlk.o seq.o phylip.o mlclock.o printree.o $(LIBS) -o promlk
+
+ protdist.o: protdist.c seq.h phylip.h
+
+ protdist: protdist.o seq.o phylip.o
+- $(CC) $(CFLAGS) protdist.o seq.o phylip.o $(LIBS) -o protdist
++ $(CC) $(LDFLAGS) protdist.o seq.o phylip.o $(LIBS) -o protdist
+
+ protpars.o: protpars.c seq.h phylip.h
+
+ protpars: protpars.o seq.o phylip.o
+- $(CC) $(CFLAGS) protpars.o seq.o phylip.o $(LIBS) -o protpars
++ $(CC) $(LDFLAGS) protpars.o seq.o phylip.o $(LIBS) -o protpars
+
+ restdist.o: restdist.c seq.h phylip.h
+
+ restdist: restdist.o seq.o phylip.o
+- $(CC) $(CFLAGS) restdist.o seq.o phylip.o $(LIBS) -o restdist
++ $(CC) $(LDFLAGS) restdist.o seq.o phylip.o $(LIBS) -o restdist
+
+ restml.o: restml.c seq.h phylip.h
+
+ restml: restml.o seq.o phylip.o
+- $(CC) $(CFLAGS) restml.o seq.o phylip.o $(LIBS) -o restml
++ $(CC) $(LDFLAGS) restml.o seq.o phylip.o $(LIBS) -o restml
+
+ retree.o: retree.c moves.h phylip.h
+
+ retree: retree.o moves.o phylip.o
+- $(CC) $(CFLAGS) retree.o moves.o phylip.o $(LIBS) -o retree
++ $(CC) $(LDFLAGS) retree.o moves.o phylip.o $(LIBS) -o retree
+
+ seqboot.o: seqboot.c phylip.h
+
+ seqboot: seqboot.o seq.o phylip.o
+- $(CC) $(CFLAGS) seqboot.o seq.o phylip.o $(LIBS) -o seqboot
++ $(CC) $(LDFLAGS) seqboot.o seq.o phylip.o $(LIBS) -o seqboot
+
+ treedist.o: treedist.c cons.h phylip.h
+
+ treedist: treedist.o phylip.o cons.o
+- $(CC) $(CFLAGS) treedist.o cons.o phylip.o $(LIBS) -o treedist
++ $(CC) $(LDFLAGS) treedist.o cons.o phylip.o $(LIBS) -o treedist
+
+
+ # ----------------------------------------------------------------------------
diff --git a/sci-biology/phylip/metadata.xml b/sci-biology/phylip/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/phylip/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/phylip/phylip-3.698.ebuild b/sci-biology/phylip/phylip-3.698.ebuild
new file mode 100644
index 000000000000..8c425b1d5add
--- /dev/null
+++ b/sci-biology/phylip/phylip-3.698.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="The PHYLogeny Inference Package"
+HOMEPAGE="http://evolution.genetics.washington.edu/phylip.html"
+SRC_URI="http://evolution.gs.washington.edu/${PN}/download/${P}.zip"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+# 'mix' tool collides with dev-lang/elixir, bug #537514
+RDEPEND="
+ x11-libs/libXaw
+ !dev-lang/elixir"
+DEPEND="${RDEPEND}
+ x11-base/xorg-proto"
+BDEPEND="app-arch/unzip"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+)
+
+src_prepare() {
+ default
+
+ mkdir fonts || die
+ # clear out old binaries
+ rm -r exe || die
+}
+
+src_configure() {
+ tc-export CC
+ append-cflags -Wno-unused-result
+}
+
+src_compile() {
+ emake -C src -f Makefile.unx all put
+}
+
+src_install() {
+ mv exe/font* fonts || die "Font move failed"
+ mv exe/factor exe/factor-${PN} || die "Renaming factor failed"
+
+ dolib.so exe/*so
+ rm exe/*so || die
+ dobin exe/*
+
+ dodoc "${FILESDIR}"/README.Gentoo
+ docinto html
+ dodoc -r phylip.html doc
+
+ insinto /usr/share/phylip
+ doins -r fonts
+}
diff --git a/sci-biology/phyml/Manifest b/sci-biology/phyml/Manifest
new file mode 100644
index 000000000000..9f0a281cf0c4
--- /dev/null
+++ b/sci-biology/phyml/Manifest
@@ -0,0 +1 @@
+DIST phyml_v2.4.5.tar.gz 92143 BLAKE2B f95b6b5023cd9b68e92e600edd9ee404bdec717d0b1e748c9e4f4667d732a23469762b847e4aa3c36e5cea7ce1d663ade031ec996cd6449ef1cf2fd55b96b2c8 SHA512 119716290eca0de4da05b0bacbec96139f4c89f6a033b861d1cb2655a620766bd0bea0675c4d7722a31d888652a28bf3544a643f39f11682982ede80dc5928c3
diff --git a/sci-biology/phyml/files/phyml-2.4.5-fix-build-system.patch b/sci-biology/phyml/files/phyml-2.4.5-fix-build-system.patch
new file mode 100644
index 000000000000..9b1d9e03ca14
--- /dev/null
+++ b/sci-biology/phyml/files/phyml-2.4.5-fix-build-system.patch
@@ -0,0 +1,67 @@
+Fix build system to honour user flags.
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,10 +1,4 @@
+-hello !!!
+-
+-CC = gcc #cc
+-CFLAGS = -O4 -fomit-frame-pointer -Wall -static
+-# CFLAGS = -Wall
+-# CFLAGS = -g -Wall
+-# CFLAGS = -pg -Wall -fprofile-arcs -static
++CC ?= gcc
+ LIBS = -lm
+
+ PROG = PHYML
+@@ -23,39 +17,39 @@
+
+
+ $(EXEC) : $(OBJS)
+- $(CC) -o $(EXEC) $(OBJS) $(LIBS) $(CFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $(EXEC) $(OBJS) $(LIBS)
+
+ clean :
+ @rm *.o
+ ######################################################################################################
+
+ eigen.o : eigen.c eigen.h
+- $(CC) $(CFLAGS) $(DFLAG) -c eigen.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c eigen.c
+
+ simu.o : simu.c simu.h
+- $(CC) $(CFLAGS) $(DFLAG) -c simu.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c simu.c
+
+ lk.o : lk.c lk.h
+- $(CC) $(CFLAGS) $(DFLAG) -c lk.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c lk.c
+
+ utilities.o : utilities.c utilities.h
+- $(CC) $(CFLAGS) $(DFLAG) -c utilities.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c utilities.c
+
+ optimiz.o : optimiz.c optimiz.h
+- $(CC) $(CFLAGS) $(DFLAG) -c optimiz.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c optimiz.c
+
+ bionj.o : bionj.c bionj.h
+- $(CC) $(CFLAGS) $(DFLAG) -c bionj.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c bionj.c
+
+ main.o : main.c
+- $(CC) $(CFLAGS) $(DFLAG) -c main.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c main.c
+
+ models.o : models.c models.h
+- $(CC) $(CFLAGS) $(DFLAG) -c models.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c models.c
+
+ free.o : free.c free.h
+- $(CC) $(CFLAGS) $(DFLAG) -c free.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c free.c
+
+ options.o : options.c options.h
+- $(CC) $(CFLAGS) $(DFLAG) -c options.c
++ $(CC) $(CFLAGS) $(DFLAG) $(CPPFLAGS) -c options.c
+
diff --git a/sci-biology/phyml/metadata.xml b/sci-biology/phyml/metadata.xml
new file mode 100644
index 000000000000..bdba687a26d8
--- /dev/null
+++ b/sci-biology/phyml/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ Phyml is a simple, fast, and accurate algorithm to estimate large
+ phylogenies by maximum likelihood. Given input sequence files, it
+ estimates phylogenies using maximum likelihood, and is capable of
+ processing large amounts of phylogenetic data.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/phyml/phyml-2.4.5-r4.ebuild b/sci-biology/phyml/phyml-2.4.5-r4.ebuild
new file mode 100644
index 000000000000..c0e9c38caf92
--- /dev/null
+++ b/sci-biology/phyml/phyml-2.4.5-r4.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+MY_P="${PN}_v${PV}"
+
+DESCRIPTION="Estimation of large phylogenies by maximum likelihood"
+HOMEPAGE="http://atgc.lirmm.fr/phyml/"
+SRC_URI="http://www.lirmm.fr/~guindon/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.4.5-fix-build-system.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin phyml
+}
diff --git a/sci-biology/piler/Manifest b/sci-biology/piler/Manifest
new file mode 100644
index 000000000000..8f97ae8d5ad2
--- /dev/null
+++ b/sci-biology/piler/Manifest
@@ -0,0 +1 @@
+DIST piler-1.0.tar.gz 35220 BLAKE2B a3a5d9ab6885e0900c523db9d1248888cd3de50b18c2c4ae110a13d792a0faa60eefffbac4526df96b482b4fe6ed8bd19299eb96380332a57f2d60330ca40037 SHA512 35be1b445f1eaf26f96d0356a04d985fb528754677403df2061c0872107d31819c5fb355e7f616e953a997e67ce781846acaf3cc2a016097aca785b6a26de3d4
diff --git a/sci-biology/piler/files/piler-1.0-fix-build-system.patch b/sci-biology/piler/files/piler-1.0-fix-build-system.patch
new file mode 100644
index 000000000000..78a72f1b4850
--- /dev/null
+++ b/sci-biology/piler/files/piler-1.0-fix-build-system.patch
@@ -0,0 +1,34 @@
+Make build system honour user variables
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,4 @@
+-CFLAGS = -O3 -march=pentiumpro -mcpu=pentiumpro -funroll-loops -Winline -DNDEBUG=1
+-LDLIBS = -lm -static
+-# LDLIBS = -lm
++LDLIBS = -lm
+
+ OBJ = .o
+ EXE =
+@@ -8,18 +6,13 @@
+ RM = rm -f
+ CP = cp
+
+-GPP = g++
+-LD = $(GPP) $(CFLAGS)
+-CPP = $(GPP) -c $(CFLAGS)
+-CC = gcc -c $(CFLAGS)
+-
+ all: piler
+
+ CPPSRC = $(sort $(wildcard *.cpp))
+ CPPOBJ = $(subst .cpp,.o,$(CPPSRC))
+
+-$(CPPOBJ): %.o: %.cpp
+- $(CPP) $< -o $@
++%.o: %.cpp
++ $(CXX) $(CXXFLAGS) -DNDEBUG $(CPPFLAGS) -c $< -o $@
+
+ piler: $(CPPOBJ)
+- $(LD) -o piler $(CPPOBJ) $(LDLIBS)
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o piler $(CPPOBJ) $(LDLIBS)
diff --git a/sci-biology/piler/files/piler-1.0-glibc-2.10.patch b/sci-biology/piler/files/piler-1.0-glibc-2.10.patch
new file mode 100644
index 000000000000..4c7f124c5e3d
--- /dev/null
+++ b/sci-biology/piler/files/piler-1.0-glibc-2.10.patch
@@ -0,0 +1,12 @@
+diff -ur piler.orig/gff.cpp piler/gff.cpp
+--- piler.orig/gff.cpp 2004-12-18 01:25:29.000000000 +0200
++++ piler/gff.cpp 2009-08-09 17:22:33.000000000 +0300
+@@ -70,7 +70,7 @@
+ const char *Attrs = Fields[8];
+
+ // Truncate attrs if comment found
+- char *Pound = strchr(Attrs, '#');
++ char *Pound = const_cast <char*> (strchr(Attrs, '#'));
+ if (0 != Pound)
+ *Pound = 0;
+
diff --git a/sci-biology/piler/metadata.xml b/sci-biology/piler/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/piler/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/piler/piler-1.0-r2.ebuild b/sci-biology/piler/piler-1.0-r2.ebuild
new file mode 100644
index 000000000000..6f419d040b89
--- /dev/null
+++ b/sci-biology/piler/piler-1.0-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Analysis of repetitive DNA found in genome sequences"
+HOMEPAGE="http://www.drive5.com/piler/"
+SRC_URI="http://www.drive5.com/piler/piler_source.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ || (
+ sci-biology/muscle
+ sci-libs/libmuscle
+ )
+ sci-biology/pals"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.0-glibc-2.10.patch
+)
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ dobin piler
+}
diff --git a/sci-biology/pilercr/Manifest b/sci-biology/pilercr/Manifest
new file mode 100644
index 000000000000..1b378eef8ef2
--- /dev/null
+++ b/sci-biology/pilercr/Manifest
@@ -0,0 +1 @@
+DIST pilercr-1.0.tar.gz 1709144 BLAKE2B 59aef12a10d168c8cbf4d3b3eec95dd4cd47b0ba073f19bd9f3954e6fab088af1c9f0328b0120c219034be07e4d13af4df17ca3eb7f40c19ff2a13d72000251a SHA512 c262ceef1d1af9e71f454809e940c2ad6d835a8404daa51ccef698b8348a504c697f5b5c268ec24df611f5adda2932e4982bcdabe4fbdf99d8c204f0f77f1be5
diff --git a/sci-biology/pilercr/files/pilercr-1.0-drop-registers.patch b/sci-biology/pilercr/files/pilercr-1.0-drop-registers.patch
new file mode 100644
index 000000000000..ab1535b4a767
--- /dev/null
+++ b/sci-biology/pilercr/files/pilercr-1.0-drop-registers.patch
@@ -0,0 +1,14 @@
+--- a/comp.cpp
++++ b/comp.cpp
+@@ -28,7 +28,7 @@ void Complement(char *seq, int len)
+ /* Complement and reverse sequence */
+
+
+- { register unsigned char *s, *t;
++ { unsigned char *s, *t;
+ int c;
+
+
+old mode 100644
+new mode 100755
+Binary files a/pilercr and b/pilercr differ
diff --git a/sci-biology/pilercr/files/pilercr-1.0-fix-build-system.patch b/sci-biology/pilercr/files/pilercr-1.0-fix-build-system.patch
new file mode 100644
index 000000000000..3754f80a9346
--- /dev/null
+++ b/sci-biology/pilercr/files/pilercr-1.0-fix-build-system.patch
@@ -0,0 +1,34 @@
+Make build system honour user variables
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,7 +1,4 @@
+-CFLAGS = -O3 -funroll-loops -Winline -DNDEBUG=1
+-#CFLAGS = -O3 -funroll-loops -Winline
+-LDLIBS = -lm -static
+-# LDLIBS = -lm
++LDLIBS = -lm
+
+ OBJ = .o
+ EXE =
+@@ -9,17 +6,13 @@
+ RM = rm -f
+ CP = cp
+
+-GPP = g++
+-LD = $(GPP) $(CFLAGS)
+-CPP = $(GPP) -c $(CFLAGS)
+-
+ all: pilercr
+
+ CPPSRC = $(sort $(wildcard *.cpp))
+ CPPOBJ = $(subst .cpp,.o,$(CPPSRC))
+
+-$(CPPOBJ): %.o: %.cpp
+- $(CPP) $< -o $@
++%.o: %.cpp
++ $(CXX) $(CXXFLAGS) -DNDEBUG $(CPPFLAGS) -c $< -o $@
+
+ pilercr: $(CPPOBJ)
+- $(LD) -o pilercr $(CPPOBJ) $(LDLIBS)
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o pilercr $(CPPOBJ) $(LDLIBS)
diff --git a/sci-biology/pilercr/files/pilercr-1.0-gcc43.patch b/sci-biology/pilercr/files/pilercr-1.0-gcc43.patch
new file mode 100644
index 000000000000..7b49df872e27
--- /dev/null
+++ b/sci-biology/pilercr/files/pilercr-1.0-gcc43.patch
@@ -0,0 +1,33 @@
+diff -dur work/multaln.h work-orig/multaln.h
+--- work/multaln.h 2007-04-17 19:02:18.000000000 +0000
++++ work-orig/multaln.h 2009-02-18 21:25:26.166333299 +0000
+@@ -6,6 +6,7 @@
+ #define _CRT_SECURE_NO_DEPRECATE 1
+ #endif
+
++#include <cstring>
+ #include <vector>
+ #include <limits.h>
+ #include <ctype.h>
+diff -dur work/seqvect.h work-orig/seqvect.h
+--- work/seqvect.h 2006-04-06 23:36:18.000000000 +0000
++++ work-orig/seqvect.h 2009-02-18 21:25:26.171090246 +0000
+@@ -1,6 +1,7 @@
+ #ifndef SeqVect_h
+ #define SeqVect_h
+
++#include <stdio.h>
+ #include <vector>
+ #include "seq.h"
+
+diff -dur work/tree.h work-orig/tree.h
+--- work/tree.h 2006-04-05 23:52:42.000000000 +0000
++++ work-orig/tree.h 2009-02-18 21:25:26.171090246 +0000
+@@ -1,6 +1,7 @@
+ #ifndef tree_h
+ #define tree_h
+
++#include <stdlib.h>
+ #include <limits.h>
+
+ class Clust;
diff --git a/sci-biology/pilercr/metadata.xml b/sci-biology/pilercr/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/pilercr/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/pilercr/pilercr-1.0-r2.ebuild b/sci-biology/pilercr/pilercr-1.0-r2.ebuild
new file mode 100644
index 000000000000..46c5dbc2b944
--- /dev/null
+++ b/sci-biology/pilercr/pilercr-1.0-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Analysis of Clustered Regularly Interspaced Short Palindromic Repeats (CRISPRs)"
+HOMEPAGE="http://www.drive5.com/pilercr/"
+SRC_URI="http://www.drive5.com/pilercr/pilercr1.06.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.0-gcc43.patch
+)
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ dobin pilercr
+}
diff --git a/sci-biology/pilercr/pilercr-1.0-r3.ebuild b/sci-biology/pilercr/pilercr-1.0-r3.ebuild
new file mode 100644
index 000000000000..3a2ee27a3379
--- /dev/null
+++ b/sci-biology/pilercr/pilercr-1.0-r3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Analysis of Clustered Regularly Interspaced Short Palindromic Repeats (CRISPRs)"
+HOMEPAGE="https://www.drive5.com/pilercr/"
+SRC_URI="https://www.drive5.com/pilercr/pilercr1.06.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0-fix-build-system.patch
+ "${FILESDIR}"/${PN}-1.0-gcc43.patch
+ "${FILESDIR}"/${PN}-1.0-drop-registers.patch
+)
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ dobin pilercr
+}
diff --git a/sci-biology/plink/Manifest b/sci-biology/plink/Manifest
new file mode 100644
index 000000000000..75806d2b2477
--- /dev/null
+++ b/sci-biology/plink/Manifest
@@ -0,0 +1 @@
+DIST plink-1.90_pre140514.zip 822157 BLAKE2B 3c29670862de99c9715bc37d8cffc2b02c0cb25ad746975f253ca1e8094b24668cc6739943c68bfa407471f30835a74c6ad027eaa56a92f13445e0a02854cad3 SHA512 679f1e136b11f35f1d49636bc44ffd17e72e4e38edc5daa270cd963ca39f7b8a80f31905a94de517059e5b3ea7a6bf518ae34a5c2af8a05c530bd6df771606c4
diff --git a/sci-biology/plink/metadata.xml b/sci-biology/plink/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/plink/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/plink/plink-1.90_pre140514.ebuild b/sci-biology/plink/plink-1.90_pre140514.ebuild
new file mode 100644
index 000000000000..63bda6c59a48
--- /dev/null
+++ b/sci-biology/plink/plink-1.90_pre140514.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Whole genome association analysis toolset"
+HOMEPAGE="http://pngu.mgh.harvard.edu/~purcell/plink/"
+SRC_URI="http://pngu.mgh.harvard.edu/~purcell/static/bin/plink140514/plink_src.zip -> ${P}.zip"
+S="${WORKDIR}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ virtual/zlib:=
+ virtual/cblas
+ virtual/lapack
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-arch/unzip
+ virtual/pkgconfig
+"
+
+# Package collides with net-misc/putty. Renamed to p-link following discussion with Debian.
+# Package contains bytecode-only jar gPLINK.jar. Ignored, notified upstream.
+
+src_prepare() {
+ default
+
+ sed \
+ -e 's:zlib-1.2.8/zlib.h:zlib.h:g' \
+ -i *.{c,h} || die
+
+ sed \
+ -e 's:g++:$(CXX):g' \
+ -e 's:gcc:$(CC):g' \
+ -e 's:gfortran:$(FC):g' \
+ -i Makefile || die
+ tc-export PKG_CONFIG
+}
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ CFLAGS="${CFLAGS}" \
+ LDFLAGS="${LDFLAGS}" \
+ ZLIB="$($(tc-getPKG_CONFIG) --libs zlib)" \
+ BLASFLAGS="$($(tc-getPKG_CONFIG) --libs lapack cblas)"
+}
+
+src_install() {
+ newbin plink p-link
+}
diff --git a/sci-biology/poa/Manifest b/sci-biology/poa/Manifest
new file mode 100644
index 000000000000..91561875b9a3
--- /dev/null
+++ b/sci-biology/poa/Manifest
@@ -0,0 +1 @@
+DIST poaV2.tar.gz 62612 BLAKE2B 92f7b2926dd7fc93745411fc04c8dd3380c32e3e87cf89afa81aefe787a1aa0e7a416d08809cce531a21d5118398a9474a751a742ee1fca47e83bd907444e9c0 SHA512 2a54b025f0a74ff4c01828f3e4b9e8e135bffe26d08f651f981bc95a64196173b5d887ef988a25c1f5fbf89333b4771622d5dc93946d66e7ec9abacb6167595c
diff --git a/sci-biology/poa/files/poa-2-clang16.patch b/sci-biology/poa/files/poa-2-clang16.patch
new file mode 100644
index 000000000000..5399dd631f48
--- /dev/null
+++ b/sci-biology/poa/files/poa-2-clang16.patch
@@ -0,0 +1,74 @@
+--- a/black_flag.c
++++ b/black_flag.c
+@@ -82,7 +82,7 @@
+
+
+
+-int handle_crash_init(void (*crash_fun)())
++int handle_crash_init(void (*crash_fun)(int))
+ {
+ #define HANDLE_CRASH_MAX 5
+ int i,signal_type[HANDLE_CRASH_MAX]
+--- a/black_flag.h
++++ b/black_flag.h
+@@ -230,7 +230,7 @@
+ ((INDEX)<(MINIMUM_BOUND) || (INDEX)>=(MAXIMUM_BOUND))
+
+ void handle_crash(int sigcode);
+-int handle_crash_init(void (*crash_fun)());
++int handle_crash_init(void (*crash_fun)(int));
+ int black_flag(int bug_level,
+ char sourcefile[],
+ int sourceline,
+--- a/default.h
++++ b/default.h
+@@ -19,7 +19,6 @@
+
+ typedef void *voidptr; /* ~~e: should be moved out to generic typing header
+ --- */
+-typedef int (*funptr)();
+
+ #define LOOPB(i,size) for ((i)=(size);(i)-- >0;)
+ #define LOOP(i,size) for ((i)=(size);(i)-- >0;)
+@@ -152,7 +151,7 @@
+ else if (NULL == ((memptr)=(ATYPE *)calloc((size_t)(N),sizeof(ATYPE)))) { \
+ fprintf(stderr,"%s, line %d: *** out of memory \n",__FILE__,__LINE__); \
+ fprintf(stderr,"Unable to meet request: %s[%d]\n",STRINGIFY(memptr),(N)); \
+- fprintf(stderr,"requested %d x %d bytes \n",(N),sizeof(ATYPE)); \
++ fprintf(stderr,"requested %d x %zu bytes \n",(N),sizeof(ATYPE)); \
+ MALLOC_FAILURE_ACTION; \
+ }
+
+@@ -193,7 +192,7 @@
+ else { \
+ fprintf(stderr,"%s, line %d: *** out of memory \n",__FILE__,__LINE__); \
+ fprintf(stderr,"Unable to meet request: %s\n",STRINGIFY(memptr)); \
+- fprintf(stderr,"requested %d x %d bytes \n",(NUM),sizeof(ATYPE)); \
++ fprintf(stderr,"requested %d x %zu bytes \n",(NUM),sizeof(ATYPE)); \
+ REALLOC_FAILURE_ACTION; \
+ } \
+ }
+--- a/fasta_format.c
++++ b/fasta_format.c
+@@ -2,6 +2,7 @@
+ #include "default.h"
+ #include "seq_util.h"
+
++char *stringptr_cat_pos(stringptr *s1,const char s2[],int *pos);
+
+
+ /** reads FASTA formatted sequence file, and saves the sequences to
+--- a/msa_format.c
++++ b/msa_format.c
+@@ -16,6 +16,11 @@
+
+ #include "msa_format.h"
+
++void fuse_ring_identities(int len_x,LPOLetter_T seq_x[],
++ int len_y,LPOLetter_T seq_y[],
++ LPOLetterRef_T al_x[],
++ LPOLetterRef_T al_y[]);
++void build_seq_to_po_index(LPOSequence_T *seq);
+
+ /** is `ch' an allowed residue? (a-z OR A-Z OR ? OR [ OR ]) */
+ static int is_residue_char (char ch);
diff --git a/sci-biology/poa/files/poa-2-fno-common.patch b/sci-biology/poa/files/poa-2-fno-common.patch
new file mode 100644
index 000000000000..ddd738a5524c
--- /dev/null
+++ b/sci-biology/poa/files/poa-2-fno-common.patch
@@ -0,0 +1,13 @@
+--- a/black_flag.h
++++ b/black_flag.h
+@@ -236,8 +236,8 @@
+ int sourceline,
+ char sourcefile_revision[]);
+
+-char *Program_name;
+-char *Program_version;
++extern char *Program_name;
++extern char *Program_version;
+
+ void black_flag_init(char progname[],char progversion[]);
+ void black_flag_init_args(int narg,char *arg[],char progversion[]);
diff --git a/sci-biology/poa/files/poa-2-respect-flags.patch b/sci-biology/poa/files/poa-2-respect-flags.patch
new file mode 100644
index 000000000000..fb01f0b5f934
--- /dev/null
+++ b/sci-biology/poa/files/poa-2-respect-flags.patch
@@ -0,0 +1,38 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,6 +1,3 @@
+-
+-AR=ar rc
+-
+ TARGETS=poa liblpo.a poa_doc libbflag.a
+
+ # align_score.c CAN BE USED TO ADD CUSTOMIZED SCORING FUNCTIONS
+@@ -26,9 +23,8 @@
+ stringptr.o
+
+
+-CC = gcc
+ #CFLAGS= -g -ansi-strict -W -Wall -DUSE_WEIGHTED_LINKS -DUSE_PROJECT_HEADER -I.
+-CFLAGS= -g -DUSE_WEIGHTED_LINKS -DUSE_PROJECT_HEADER -I.
++CPPFLAGS+= -DUSE_WEIGHTED_LINKS -DUSE_PROJECT_HEADER -I.
+ # -I$(HOME)/lib/include
+ # -DREPORT_MAX_ALLOC
+
+@@ -37,14 +33,14 @@
+
+ liblpo.a: $(LIBOBJECTS)
+ rm -f $@
+- $(AR) $@ $(LIBOBJECTS)
+- ranlib $@
++ $(AR) rc $@ $(LIBOBJECTS)
++ $(RANLIB) $@
+
+
+
+ # NB: LIBRARY MUST FOLLOW OBJECTS OR LINK FAILS WITH UNRESOLVED REFERENCES!!
+ poa: $(OBJECTS) liblpo.a
+- $(CC) -o $@ $(OBJECTS) -lm liblpo.a
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $(OBJECTS) -lm liblpo.a
+
+ what:
+ @echo poa: partial-order based sequence alignment program
diff --git a/sci-biology/poa/metadata.xml b/sci-biology/poa/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/poa/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/poa/poa-2-r1.ebuild b/sci-biology/poa/poa-2-r1.ebuild
new file mode 100644
index 000000000000..8044b8f822bf
--- /dev/null
+++ b/sci-biology/poa/poa-2-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P="${PN}V${PV}"
+
+DESCRIPTION="Fast multiple sequence alignments using partial-order graphs"
+HOMEPAGE="http://bioinfo.mbi.ucla.edu/poa/"
+SRC_URI="https://downloads.sourceforge.net/poamsa/${MY_P}.tar.gz"
+
+# According to SF project page
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+S="${WORKDIR}/${MY_P}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-respect-flags.patch
+ "${FILESDIR}"/${P}-fno-common.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_configure() {
+ tc-export AR CC RANLIB
+}
+
+src_compile() {
+ emake poa
+}
+
+src_install() {
+ dobin poa make_pscores.pl
+ dodoc README multidom.*
+ insinto /usr/share/poa
+ doins *.mat
+}
+
+pkg_postinst() {
+ elog "poa requires a score matrix as the first argument."
+ elog "This package installs two examples to ${EROOT}/usr/share/poa/."
+}
diff --git a/sci-biology/prank/Manifest b/sci-biology/prank/Manifest
new file mode 100644
index 000000000000..c56430ac3338
--- /dev/null
+++ b/sci-biology/prank/Manifest
@@ -0,0 +1 @@
+DIST prank.source.140603.tgz 150346 BLAKE2B 4bd5ba1d2f5106a20f51be359ddfc2421ef6c5ae235bf14dddf6fe82745d3375074ee213e957ef290edeae124c070cf14d6674765ebebdafc0a726a037ed269f SHA512 25e5f99a3822ff31436406f9ba1c781ba375959e1ed452c1e7416898d5246183510ec6d2bc715ff1495a779e42d7bd1d49ad1c332e1bd5982dad8c744ad999c7
diff --git a/sci-biology/prank/files/prank-140603-fix-c++14.patch b/sci-biology/prank/files/prank-140603-fix-c++14.patch
new file mode 100644
index 000000000000..211e377d798a
--- /dev/null
+++ b/sci-biology/prank/files/prank-140603-fix-c++14.patch
@@ -0,0 +1,14 @@
+Fix building with C++14, which errors out due to changing operator void* -> operator bool.
+See also: https://bugs.gentoo.org/show_bug.cgi?id=594060
+
+--- a/hmmodel.cpp
++++ b/hmmodel.cpp
+@@ -1499,7 +1499,7 @@
+ }
+ else
+ {
+- cout<<"HMModel::alignmentModel: impossible 'as'"<<cout;
++ cout<<"HMModel::alignmentModel: impossible 'as'";
+ exit(-1);
+ }
+
diff --git a/sci-biology/prank/files/prank-140603-makefile.patch b/sci-biology/prank/files/prank-140603-makefile.patch
new file mode 100644
index 000000000000..eeb74df89b4c
--- /dev/null
+++ b/sci-biology/prank/files/prank-140603-makefile.patch
@@ -0,0 +1,28 @@
+--- a/Makefile
++++ b/Makefile
+@@ -4,14 +4,8 @@
+
+ ####### Compiler, tools and options
+
+-CC = gcc
+-CXX = g++
+-DEFINES =
+-CFLAGS = -m64 -pipe -O3 $(DEFINES)
+-CXXFLAGS = -m64 -pipe -O3 $(DEFINES)
+-INCPATH = -I. -I/usr/include
+-LINK = g++
+-LFLAGS = -m64
++INCPATH = $(CPPFLAGS) -I.
++LINK = $(CXX)
+ LIBS = $(SUBLIBS)
+ AR = ar cqs
+ RANLIB =
+@@ -136,7 +130,7 @@
+ all: Makefile $(TARGET) $(MANPAGES)
+
+ $(TARGET): $(OBJECTS)
+- $(LINK) $(LFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
++ $(LINK) $(LDFLAGS) -o $(TARGET) $(OBJECTS) $(OBJCOMP) $(LIBS)
+
+
+ clean:compiler_clean
diff --git a/sci-biology/prank/metadata.xml b/sci-biology/prank/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/prank/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/prank/prank-140603-r1.ebuild b/sci-biology/prank/prank-140603-r1.ebuild
new file mode 100644
index 000000000000..9128cf9cf99b
--- /dev/null
+++ b/sci-biology/prank/prank-140603-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Probabilistic Alignment Kit"
+HOMEPAGE="http://wasabiapp.org/software/prank/"
+SRC_URI="http://wasabiapp.org/download/${PN}/${PN}.source.${PV}.tgz"
+S="${WORKDIR}/${PN}-msa/src"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-fix-c++14.patch
+)
+
+src_configure() {
+ tc-export CXX
+}
+
+src_install() {
+ dobin prank
+}
diff --git a/sci-biology/primer3/Manifest b/sci-biology/primer3/Manifest
new file mode 100644
index 000000000000..e508ab6b47a8
--- /dev/null
+++ b/sci-biology/primer3/Manifest
@@ -0,0 +1 @@
+DIST primer3-2.3.7.tar.gz 1658090 BLAKE2B 0bc9a0faa19c4ac3b48680d65b0d91a13d8bdd651ad3a0d344b4f50ce8dc510fe7a22665192751fb2c8ff6282b560daf4540a02cc70482dba0fcc344f7727e37 SHA512 f227f80d395cb682a9d65e0ac3afdcacb8385d66e721b9163fda939a9c788a7c6907273f6223782702b48d7df66ea2331114f6303fcd29e3b3c50a2717da2fa7
diff --git a/sci-biology/primer3/files/primer3-2.3.7-buildsystem.patch b/sci-biology/primer3/files/primer3-2.3.7-buildsystem.patch
new file mode 100644
index 000000000000..8f9bf4042758
--- /dev/null
+++ b/sci-biology/primer3/files/primer3-2.3.7-buildsystem.patch
@@ -0,0 +1,173 @@
+--- a/src/Makefile
++++ b/src/Makefile
+@@ -52,15 +52,13 @@
+ WINMAKE=mingw32-make
+
+ LDLIBS = -lm
+-AR = ar
+-CC = gcc
+-CPP = g++
+-O_OPTS = -O2
+-CC_OPTS = -g -Wall -D__USE_FIXED_PROTOTYPES__
+-P_DEFINES =
+-
+-CFLAGS = $(CC_OPTS) $(O_OPTS)
+-LDFLAGS = -g
++O_OPTS ?=
++CC_OPTS ?= -Wall -D__USE_FIXED_PROTOTYPES__
++P_DEFINES ?=
++
++CFLAGS += $(CC_OPTS) $(O_OPTS)
++CXXFLAGS += $(CC_OPTS) $(O_OPTS)
++LDFLAGS +=
+ # Note, for profiling, use
+ # make O_OPTS='-pg -O0' LDFLAGS='-g -pg'
+
+@@ -92,7 +90,6 @@
+ LIBPRIMER3_DYN = libprimer3.so.1.0.0
+ LIBRARIES = $(LIBPRIMER3) $(LIBDPAL) $(LIBTHAL) $(LIBOLIGOTM)
+ DYNLIBS = $(LIBPRIMER3_DYN) $(LIBDPAL_DYN) $(LIBTHAL_DYN) $(LIBOLIGOTM_DYN)
+-RANLIB = ranlib
+
+ PRIMER_OBJECTS1=primer3_boulder_main.o\
+ format_output.o\
+@@ -119,93 +116,89 @@
+ ifeq ($(TESTOPTS),--windows)
+ cd ..\test & $(WINMAKE) clean TESTOPTS=$(TESTOPTS)
+ else
+- cd ../test/; make clean
++ cd ../test/ && $(MAKE) clean
+ endif
+
+ $(LIBOLIGOTM): oligotm.o
+- $(AR) rv $@ oligotm.o
+- $(RANLIB) $@
++ $(AR) rcs $@ oligotm.o
+
+ $(LIBOLIGOTM_LIB): oligotm.o
+- $(CC) -shared -W1,-soname,liboligotm.so.1 -o $(LIBOLIGOTM_DYN) oligotm.o
++ $(CC) $(LDFLAGS) -shared -W1,-soname,liboligotm.so.1 -o $(LIBOLIGOTM_DYN) oligotm.o
+
+ $(LIBDPAL): dpal_primer.o
+- $(AR) rv $@ dpal_primer.o
+- $(RANLIB) $@
++ $(AR) rcs $@ dpal_primer.o
+
+ $(LIBDPAL_DYN): dpal_primer.o
+- $(CC) -shared -W1,-soname,libdpal.so.1 -o $(LIBDPAL_DYN_LIB) dpal_primer.o
++ $(CC) $(LDFLAGS) -shared -W1,-soname,libdpal.so.1 -o $(LIBDPAL_DYN_LIB) dpal_primer.o
+
+ $(LIBTHAL): thal_primer.o
+- $(AR) rv $@ thal_primer.o
+- $(RANLIB) $@
++ $(AR) rcs $@ thal_primer.o
+
+ $(LIBTHAL_DYN): thal_primer.o
+- $(CC) -shared -W1,-soname,libthal.so.1 -o $(LIBTHAL_DYN_LIB) thal_primer.o
++ $(CC) $(LDFLAGS) -shared -W1,-soname,libthal.so.1 -o $(LIBTHAL_DYN_LIB) thal_primer.o
+
+ $(LIBPRIMER3): libprimer3.o p3_seq_lib.o
+- $(AR) rv $@ libprimer3.o p3_seq_lib.o
+- $(RANLIB) $@
++ $(AR) rcs $@ libprimer3.o p3_seq_lib.o
+
+ $(LIBPRIMER3_DYN): libprimer3.o p3_seq_lib.o
+- $(CC) -shared -W1,-soname,liprimer3.so.1 -o $(LIBPRIMER3_DYN) libprimer3.o p3_seq_lib.o
++ $(CC) $(LDFLAGS) -shared -W1,-soname,liprimer3.so.1 -o $(LIBPRIMER3_DYN) libprimer3.o p3_seq_lib.o
+
+ $(PRIMER_EXE): $(PRIMER_OBJECTS)
+- $(CPP) $(LDFLAGS) -o $@ $(PRIMER_OBJECTS) $(LIBOPTS) $(LDLIBS)
++ $(CXX) $(LDFLAGS) -o $@ $(PRIMER_OBJECTS) $(LIBOPTS) $(LDLIBS)
+
+ libprimer3.o: libprimer3.c libprimer3.h p3_seq_lib.h dpal.h thal.h oligotm.h
+- $(CPP) -c $(CFLAGS) -Wno-deprecated $(P_DEFINES) -o $@ libprimer3.c
++ $(CXX) -c $(CXXFLAGS) -Wno-deprecated $(P_DEFINES) -o $@ libprimer3.c
+
+ $(NTDPAL_EXE): ntdpal_main.o dpal.o
+- $(CPP) $(LDFLAGS) -o $@ ntdpal_main.o dpal.o
++ $(CXX) $(LDFLAGS) -o $@ ntdpal_main.o dpal.o
+
+ $(NTTHAL_EXE): thal_main.o thal.o
+- $(CPP) $(LDFLAGS) -o $@ thal_main.o thal.o $(LDLIBS)
++ $(CXX) $(LDFLAGS) -o $@ thal_main.o thal.o $(LDLIBS)
+
+ $(OLIGOTM_EXE): oligotm_main.c oligotm.h $(LIBOLIGOTM)
+- $(CPP) $(CFLAGS) -o $@ oligotm_main.c $(LIBOLIGOTM) $(LIBOPTS) $(LDLIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ oligotm_main.c $(LIBOLIGOTM) $(LIBOPTS) $(LDLIBS)
+
+ $(LONG_SEQ_EXE): long_seq_tm_test_main.c oligotm.o
+- $(CPP) $(CFLAGS) -o $@ long_seq_tm_test_main.c oligotm.o $(LIBOPTS) $(LDLIBS)
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ long_seq_tm_test_main.c oligotm.o $(LIBOPTS) $(LDLIBS)
+
+ read_boulder.o: read_boulder.c read_boulder.h libprimer3.h dpal.h thal.h p3_seq_lib.h
+- $(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ read_boulder.c
++ $(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ read_boulder.c
+
+ print_boulder.o: print_boulder.c print_boulder.h libprimer3.h p3_seq_lib.h
+- $(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ print_boulder.c
++ $(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ print_boulder.c
+
+ dpal.o: dpal.c dpal.h
+- $(CPP) -c $(CFLAGS) -o $@ dpal.c
++ $(CXX) -c $(CXXFLAGS) -o $@ dpal.c
+
+ # We use '-ffloat-store' on windows to prevent undesirable
+ # precision which may lead to differences in floating point results.
+ thal.o: thal.c thal.h
+- $(CPP) -c $(CFLAGS) -ffloat-store -o $@ thal.c
++ $(CXX) -c $(CXXFLAGS) -ffloat-store -o $@ thal.c
+
+ p3_seq_lib.o: p3_seq_lib.c p3_seq_lib.h libprimer3.h
+- $(CPP) -c $(CFLAGS) -o $@ p3_seq_lib.c
++ $(CXX) -c $(CXXFLAGS) -o $@ p3_seq_lib.c
+
+ dpal_primer.o: dpal.c dpal.h
+- $(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ dpal.c
++ $(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ dpal.c
+
+ thal_primer.o: thal.c thal.h
+- $(CPP) -c $(CFLAGS) -ffloat-store $(P_DEFINES) -o $@ thal.c
++ $(CXX) -c $(CXXFLAGS) -ffloat-store $(P_DEFINES) -o $@ thal.c
+
+ format_output.o: format_output.c format_output.h libprimer3.h dpal.h thal.h p3_seq_lib.h
+- $(CPP) -c $(CFLAGS) $(P_DEFINES) -o $@ format_output.c
++ $(CXX) -c $(CXXFLAGS) $(P_DEFINES) -o $@ format_output.c
+
+ ntdpal_main.o: ntdpal_main.c dpal.h
+- $(CPP) -c $(CC_OPTS) -o $@ ntdpal_main.c
++ $(CXX) -c $(CXXFLAGS) -o $@ ntdpal_main.c
+
+ thal_main.o: thal_main.c thal.h
+- $(CPP) -c $(CFLAGS) -o $@ thal_main.c
++ $(CXX) -c $(CXXFLAGS) -o $@ thal_main.c
+ # We use CC_OPTS above rather than CFLAGS because
+ # gcc 2.7.2 crashes while compiling ntdpal_main.c with -O2
+
+ oligotm.o: oligotm.c oligotm.h
+
+ primer3_boulder_main.o: primer3_boulder_main.c libprimer3.h dpal.h thal.h oligotm.h format_output.h print_boulder.h read_boulder.h
+- $(CPP) -c $(CFLAGS) $(P_DEFINES) primer3_boulder_main.c
++ $(CXX) -c $(CXXFLAGS) $(P_DEFINES) primer3_boulder_main.c
+
+ primer_test: test
+
+@@ -213,7 +206,7 @@
+ ifeq ($(TESTOPTS),--windows)
+ cd ..\test & $(WINMAKE) TESTOPTS=$(TESTOPTS)
+ else
+- cd ../test; make test
++ cd ../test && $(MAKE) test
+ endif
+
+ # ======================================================================
+--- a/test/Makefile
++++ b/test/Makefile
+@@ -86,7 +86,7 @@
+ ifeq ($(TESTOPTS),--windows)
+ cd ..\src & $(WINMAKE)
+ else
+- cd ../src; make
++ cd ../src && $(MAKE)
+ endif
+
+ clean:
diff --git a/sci-biology/primer3/files/primer3-2.3.7-gcc7.patch b/sci-biology/primer3/files/primer3-2.3.7-gcc7.patch
new file mode 100644
index 000000000000..a04ee1ac3b12
--- /dev/null
+++ b/sci-biology/primer3/files/primer3-2.3.7-gcc7.patch
@@ -0,0 +1,17 @@
+--- a/src/thal.c
++++ b/src/thal.c
+@@ -426,12 +426,12 @@
+ "Illegal type");
+ o->align_end_1 = -1;
+ o->align_end_2 = -1;
+- if ('\0' == oligo_f) {
++ if ('\0' == oligo_f[0]) {
+ strcpy(o->msg, "Empty first sequence");
+ o->temp = 0.0;
+ return;
+ }
+- if ('\0' == oligo_r) {
++ if ('\0' == oligo_r[0]) {
+ strcpy(o->msg, "Empty second sequence");
+ o->temp = 0.0;
+ return;
diff --git a/sci-biology/primer3/metadata.xml b/sci-biology/primer3/metadata.xml
new file mode 100644
index 000000000000..d8251036c6c2
--- /dev/null
+++ b/sci-biology/primer3/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ Primer3 picks primers for PCR reactions, considering: oligonucleotide
+ melting temperature, size, GC content, and primer-dimer possibilities;
+ PCR product size; positional constraints within the source sequence;
+ and miscellaneous other constraints. All of these criteria are
+ user-specifiable as constraints, and some are specifiable as terms in
+ an objective function that characterizes an optimal primer pair.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/primer3/primer3-2.3.7-r1.ebuild b/sci-biology/primer3/primer3-2.3.7-r1.ebuild
new file mode 100644
index 000000000000..833db50b0ca3
--- /dev/null
+++ b/sci-biology/primer3/primer3-2.3.7-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Primer Design for PCR reactions"
+HOMEPAGE="http://primer3.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~sparc ~x86"
+
+BDEPEND="dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-buildsystem.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+)
+
+src_prepare() {
+ default
+ if [[ ${CHOST} == *-darwin* ]]; then
+ sed -e "s:LIBOPTS ='-static':LIBOPTS =:" -i Makefile || die
+ fi
+}
+
+src_configure() {
+ tc-export AR CC CXX
+}
+
+src_compile() {
+ emake -C src
+}
+
+src_test() {
+ emake -C test | tee "${T}"/test.log
+ grep -q "\[FAILED\]" && die "test failed. See ${T}/test.log"
+}
+
+src_install() {
+ dobin src/{long_seq_tm_test,ntdpal,oligotm,primer3_core}
+
+ insinto /opt/primer3_config
+ doins -r src/primer3_config/. primer3*settings.txt
+
+ dodoc src/release_notes.txt example
+ docinto html
+ dodoc primer3_manual.htm
+}
diff --git a/sci-biology/prints/Manifest b/sci-biology/prints/Manifest
new file mode 100644
index 000000000000..eaf85ea2bb32
--- /dev/null
+++ b/sci-biology/prints/Manifest
@@ -0,0 +1 @@
+DIST prints-39.0.tar.bz2 26277011 BLAKE2B a815e93f41694c76d62c6809f05457b286333ad103852eb493b0e723c54a088825f262a64ff8db0e47ff8a97c37fbf670c6c7967aabb303fd7d454982e4dff5e SHA512 4ea48a2a0892739ac4e32a6309922b7b4ad01f9d2f847f7c42c7e6a00e8f56bab0771d272adcaed1f85516ea93245fb8c7864762c4699023a8d85d61c012bdc7
diff --git a/sci-biology/prints/metadata.xml b/sci-biology/prints/metadata.xml
new file mode 100644
index 000000000000..06208d3e039b
--- /dev/null
+++ b/sci-biology/prints/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ A protein motif fingerprint database maintained at the University of
+ Manchester. A fingerprint is a group of conserved motifs used to
+ characterise a protein family; its diagnostic power is refined by
+ iterative scanning of a SWISS-PROT/TrEMBL composite. Usually the motifs
+ do not overlap, but are separated along a sequence, though they may be
+ contiguous in 3D-space. Fingerprints can encode protein folds and
+ functionalities more flexibly and powerfully than can single motifs,
+ full diagnostic potency deriving from the mutual context provided by
+ motif neighbours.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/prints/prints-39.0-r2.ebuild b/sci-biology/prints/prints-39.0-r2.ebuild
new file mode 100644
index 000000000000..ee8a307e0cdb
--- /dev/null
+++ b/sci-biology/prints/prints-39.0-r2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV/./_}"
+
+DESCRIPTION="A protein motif fingerprint database"
+HOMEPAGE="http://www.bioinf.man.ac.uk/dbbrowser/PRINTS/"
+SRC_URI="mirror://gentoo/${P}.tar.bz2"
+
+LICENSE="public-domain"
+SLOT="0"
+# Minimal build keeps only the indexed files (if applicable) and the
+# documentation. The non-indexed database is not installed.
+KEYWORDS="~amd64 ~x86"
+IUSE="emboss minimal"
+
+BDEPEND="emboss? ( sci-biology/emboss )"
+RDEPEND="${BDEPEND}"
+
+src_compile() {
+ if use emboss; then
+ mkdir PRINTS || die
+ einfo
+ einfo "Indexing PRINTS for usage with EMBOSS"
+ EMBOSS_DATA="." printsextract -auto -infile prints${MY_PV}.dat || die "Indexing PRINTS failed"
+ einfo
+ fi
+}
+
+src_install() {
+ dodoc README
+
+ if ! use minimal; then
+ insinto /usr/share/${PN}
+ doins newpr.lis ${PN}${MY_PV}.{all.fasta,dat,kdat,lis,nam,vsn}
+ fi
+
+ if use emboss; then
+ insinto /usr/share/EMBOSS/data/${PN^^}
+ doins -r ${PN^^}/.
+ fi
+}
diff --git a/sci-biology/probcons/Manifest b/sci-biology/probcons/Manifest
new file mode 100644
index 000000000000..713b675d6937
--- /dev/null
+++ b/sci-biology/probcons/Manifest
@@ -0,0 +1 @@
+DIST probcons_v1_12.tar.gz 43200 BLAKE2B db59a4472e5ea4ce1801ca74807aa1b1bdb2861a9e52f9b3a4297b37d048ecd6e34298cfd181523093f8fb1cd9a81285e58098bcdec6ffa32caa9cc1117b8b8f SHA512 ce061ea5cca4204d6e66beb893c1ba508f094b7ea3ee08196dc75a5443ebd0afca14dc8d7cd6c8da4ce1578b8750ea1981e5815408c0b122e8f97ec27b3bf008
diff --git a/sci-biology/probcons/files/gcc-4.3.patch b/sci-biology/probcons/files/gcc-4.3.patch
new file mode 100644
index 000000000000..37c45c03a98f
--- /dev/null
+++ b/sci-biology/probcons/files/gcc-4.3.patch
@@ -0,0 +1,44 @@
+diff -u probcons.orig/CompareToRef.cc probcons/CompareToRef.cc
+--- probcons.orig/CompareToRef.cc 2008-04-08 16:38:46.000000000 -0700
++++ probcons/CompareToRef.cc 2008-04-08 16:39:41.000000000 -0700
+@@ -16,6 +16,7 @@
+ #include <limits>
+ #include <cstdio>
+ #include <cstdlib>
++#include <cstring>
+ #include <cerrno>
+ #include <iomanip>
+
+diff -u probcons.orig/FixRef.cc probcons/FixRef.cc
+--- probcons.orig/FixRef.cc 2008-04-08 16:38:46.000000000 -0700
++++ probcons/FixRef.cc 2008-04-08 16:39:33.000000000 -0700
+@@ -17,6 +17,7 @@
+ #include <algorithm>
+ #include <cstdio>
+ #include <cstdlib>
++#include <cstring>
+ #include <cerrno>
+ #include <iomanip>
+
+diff -u probcons.orig/Main.cc probcons/Main.cc
+--- probcons.orig/Main.cc 2008-04-08 16:38:46.000000000 -0700
++++ probcons/Main.cc 2008-04-08 16:39:14.000000000 -0700
+@@ -21,6 +21,7 @@
+ #include <climits>
+ #include <cstdio>
+ #include <cstdlib>
++#include <cstring>
+ #include <cerrno>
+ #include <iomanip>
+
+diff -u probcons.orig/ProjectPairwise.cc probcons/ProjectPairwise.cc
+--- probcons.orig/ProjectPairwise.cc 2008-04-08 16:38:46.000000000 -0700
++++ probcons/ProjectPairwise.cc 2008-04-08 16:39:25.000000000 -0700
+@@ -16,6 +16,7 @@
+ #include <limits>
+ #include <cstdio>
+ #include <cstdlib>
++#include <cstring>
+ #include <cerrno>
+ #include <iomanip>
+
diff --git a/sci-biology/probcons/files/probcons-1.12-cxxflags.patch b/sci-biology/probcons/files/probcons-1.12-cxxflags.patch
new file mode 100644
index 000000000000..e07ebe1a613f
--- /dev/null
+++ b/sci-biology/probcons/files/probcons-1.12-cxxflags.patch
@@ -0,0 +1,47 @@
+diff --git a/Makefile b/Makefile
+index 75fc47a..4a19140 100644
+--- a/Makefile
++++ b/Makefile
+@@ -15,6 +15,8 @@ CXX = g++
+ # c) RELEASE mode
+ ################################################################################
+
++OPT_CXXFLAGS = -O3 -W -Wall -pedantic -funroll-loops
++
+ OTHERFLAGS = -DNumInsertStates=2 -DVERSION="1.12"
+
+ # debug mode
+@@ -25,7 +27,7 @@ OTHERFLAGS = -DNumInsertStates=2 -DVERSION="1.12"
+
+ # release mode
+ #CXXFLAGS = -O3 -W -Wall -pedantic -DNDEBUG $(OTHERFLAGS) -mmmx -msse -msse2 -mfpmath=sse -march=pentium4 -mcpu=pentium4 -funroll-loops -fomit-frame-pointer
+-CXXFLAGS = -O3 -W -Wall -pedantic -DNDEBUG $(OTHERFLAGS) -funroll-loops
++CXXFLAGS = $(OPT_CXXFLAGS) -DNDEBUG $(OTHERFLAGS)
+
+ ################################################################################
+ # 3) Dependencies
+@@ -37,19 +39,19 @@ TARGETS = probcons compare project makegnuplot
+ all : $(TARGETS)
+
+ probcons : MultiSequence.h ProbabilisticModel.h ScoreType.h Sequence.h FileBuffer.h SparseMatrix.h EvolutionaryTree.h Defaults.h SafeVector.h Main.cc
+- $(CXX) $(CXXFLAGS) -lm -o probcons Main.cc
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o probcons Main.cc -lm
+
+ compare : MultiSequence.h Sequence.h FileBuffer.h SafeVector.h CompareToRef.cc
+- $(CXX) $(CXXFLAGS) -o compare CompareToRef.cc
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o compare CompareToRef.cc
+
+ fixref : MultiSequence.h ProbabilisticModel.h ScoreType.h Sequence.h FileBuffer.h SparseMatrix.h EvolutionaryTree.h Defaults.h SafeVector.h FixRef.cc
+- $(CXX) $(CXXFLAGS) -o fixref FixRef.cc
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o fixref FixRef.cc
+
+ project : MultiSequence.h Sequence.h SafeVector.h ProjectPairwise.cc
+- $(CXX) $(CXXFLAGS) -o project ProjectPairwise.cc
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o project ProjectPairwise.cc
+
+ makegnuplot : MakeGnuPlot.cc
+- $(CXX) $(CXXFLAGS) -o makegnuplot MakeGnuPlot.cc
++ $(CXX) $(LDFLAGS) $(CXXFLAGS) -o makegnuplot MakeGnuPlot.cc
+
+ .PHONY : clean
+ clean:
diff --git a/sci-biology/probcons/files/probcons-1.12-gcc-4.6.patch b/sci-biology/probcons/files/probcons-1.12-gcc-4.6.patch
new file mode 100644
index 000000000000..1596f3b31916
--- /dev/null
+++ b/sci-biology/probcons/files/probcons-1.12-gcc-4.6.patch
@@ -0,0 +1,15 @@
+ SafeVector.h | 1 +
+ 1 files changed, 1 insertions(+), 0 deletions(-)
+
+diff --git a/SafeVector.h b/SafeVector.h
+index abf4b64..9c3292e 100644
+--- a/SafeVector.h
++++ b/SafeVector.h
+@@ -8,6 +8,7 @@
+ #ifndef SAFEVECTOR_H
+ #define SAFEVECTOR_H
+
++#include <cstddef>
+ #include <cassert>
+ #include <vector>
+
diff --git a/sci-biology/probcons/metadata.xml b/sci-biology/probcons/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/probcons/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/probcons/probcons-1.12-r1.ebuild b/sci-biology/probcons/probcons-1.12-r1.ebuild
new file mode 100644
index 000000000000..0a1d9b2c1efb
--- /dev/null
+++ b/sci-biology/probcons/probcons-1.12-r1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+MY_P="${PN}_v${PV/./_}"
+
+DESCRIPTION="Probabilistic Consistency-based Multiple Alignment of Amino Acid Sequences"
+HOMEPAGE="http://probcons.stanford.edu/"
+SRC_URI="http://probcons.stanford.edu/${MY_P}.tar.gz"
+S="${WORKDIR}/${PN}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+# Gnuplot is explicitly runtime-only, it's run using system()
+RDEPEND="
+ !sci-geosciences/gmt
+ sci-visualization/gnuplot"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-cxxflags.patch
+ "${FILESDIR}"/gcc-4.3.patch
+ "${FILESDIR}"/${P}-gcc-4.6.patch
+)
+
+src_compile() {
+ emake \
+ CXX="$(tc-getCXX)" \
+ OPT_CXXFLAGS="${CXXFLAGS}"
+}
+
+src_install() {
+ dobin probcons project makegnuplot
+ # Overlap with imagemagick
+ newbin compare compare-probcons
+ dodoc README
+}
+
+pkg_postinst() {
+ ewarn "The 'compare' binary is installed as 'compare-probcons'"
+ ewarn "to avoid overlap with other packages."
+ einfo "You may also want to download the user manual"
+ einfo "from http://probcons.stanford.edu/manual.pdf"
+}
diff --git a/sci-biology/prodigal/Manifest b/sci-biology/prodigal/Manifest
new file mode 100644
index 000000000000..4157a49cb60c
--- /dev/null
+++ b/sci-biology/prodigal/Manifest
@@ -0,0 +1 @@
+DIST prodigal-2.6.3.tar.gz 610934 BLAKE2B 54a75a694aec216da411717c29c8e896f064b4893d74fa1c736fdea3cd7bff98cb8d597cdbb96dd4cb2f0e82972c99b43eee8f2ddd8678535dc68c831dfd4e08 SHA512 6d6ec310143c50c0d65dbdbd26d6d271839bb23b1da376ecef20059731a9e643d631613eccaac2eb548b295264b9fe58c21b083f1511a6554912cb7d5351d541
diff --git a/sci-biology/prodigal/files/prodigal-2.6.3-fix-build-system.patch b/sci-biology/prodigal/files/prodigal-2.6.3-fix-build-system.patch
new file mode 100644
index 000000000000..b6d92392d179
--- /dev/null
+++ b/sci-biology/prodigal/files/prodigal-2.6.3-fix-build-system.patch
@@ -0,0 +1,45 @@
+Fix build system to honour user variables.
+
+--- a/Makefile
++++ b/Makefile
+@@ -19,32 +19,31 @@
+ ##############################################################################
+
+ SHELL = /bin/sh
+-CC = gcc
++CC ?= gcc
+
+-CFLAGS += -pedantic -Wall -O3
+-LFLAGS = -lm $(LDFLAGS)
++LIBS = -lm
+
+ TARGET = prodigal
+ SOURCES = $(shell echo *.c)
+ HEADERS = $(shell echo *.h)
+ OBJECTS = $(SOURCES:.c=.o)
+
+-INSTALLDIR = /usr/local/bin
++BINDIR = $(EPREFIX)/usr/bin
+
+ all: $(TARGET)
+
+ $(TARGET): $(OBJECTS)
+- $(CC) $(CFLAGS) -o $@ $^ $(LFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^ $(LIBS)
+
+ %.o: %.c $(HEADERS)
+- $(CC) $(CFLAGS) -c -o $@ $<
++ $(CC) -Wall -pedantic $(CFLAGS) $(CPPFLAGS) -c -o $@ $<
+
+ install: $(TARGET)
+- install -d -m 0755 $(INSTALLDIR)
+- install -m 0755 $(TARGET) $(INSTALLDIR)
++ install -d -m 0755 $(DESTDIR)$(BINDIR)
++ install -m 0755 $(TARGET) $(DESTDIR)$(BINDIR)
+
+ uninstall:
+- -rm $(INSTALLDIR)/$(TARGET)
++ -rm $(DESTDIR)$(BINDIR)/$(TARGET)
+
+ clean:
+ -rm -f $(OBJECTS)
diff --git a/sci-biology/prodigal/metadata.xml b/sci-biology/prodigal/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/prodigal/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/prodigal/prodigal-2.6.3-r1.ebuild b/sci-biology/prodigal/prodigal-2.6.3-r1.ebuild
new file mode 100644
index 000000000000..8428da82c5e7
--- /dev/null
+++ b/sci-biology/prodigal/prodigal-2.6.3-r1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Prokaryotic Dynamic Programming Genefinding Algorithm"
+HOMEPAGE="http://prodigal.ornl.gov/"
+SRC_URI="https://github.com/hyattpd/${PN^}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${P^}"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.6.3-fix-build-system.patch )
+
+src_configure() {
+ tc-export CC
+}
diff --git a/sci-biology/profphd/Manifest b/sci-biology/profphd/Manifest
new file mode 100644
index 000000000000..9aa5af5a04db
--- /dev/null
+++ b/sci-biology/profphd/Manifest
@@ -0,0 +1 @@
+DIST profphd-1.0.40.tar.xz 4491592 BLAKE2B 2aa1e091c0674fa5318a075148a63b15354ecb6d8d6f7ac41d1d05f8bea17c47b6f37be707cc1c738e22342c26ae9be59cabf919610e5bffd5028fc587b2995b SHA512 287f1a548030e7978119788dffdf2529e0018cd772bc820e116f79ed10cefd440645424b56415333362098a1ed32f4841d3fd4069adede2a95968f81c63956e3
diff --git a/sci-biology/profphd/files/profphd-1.0.39-perl.patch b/sci-biology/profphd/files/profphd-1.0.39-perl.patch
new file mode 100644
index 000000000000..10682271601c
--- /dev/null
+++ b/sci-biology/profphd/files/profphd-1.0.39-perl.patch
@@ -0,0 +1,16 @@
+ src/prof/prof | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/src/prof/prof b/src/prof/prof
+index 4f26024..356442d 100755
+--- a/src/prof/prof
++++ b/src/prof/prof
+@@ -238,7 +238,7 @@ See each keyword for more help. Most of these are likely to be broken.
+
+ alternative connectivity patterns (default=3)
+
+-=item 3
++=item C<3>
+
+ predict sec + acc + htm
+
diff --git a/sci-biology/profphd/files/profphd-1.0.40-symlink.patch b/sci-biology/profphd/files/profphd-1.0.40-symlink.patch
new file mode 100644
index 000000000000..7733d55af4a6
--- /dev/null
+++ b/sci-biology/profphd/files/profphd-1.0.40-symlink.patch
@@ -0,0 +1,11 @@
+--- a/src/prof/Makefile
++++ b/src/prof/Makefile
+@@ -40,7 +40,7 @@
+ ./. $(DESTDIR)$(prefix)/share/profphd/prof/.
+ find $(DESTDIR)$(prefix)/share/profphd/prof/embl/phd.pl $(DESTDIR)$(prefix)/share/profphd/prof/scr/CONFprof.pl $(DESTDIR)$(prefix)/share/profphd/prof/prof $(DESTDIR)$(prefix)/share/profphd/prof/scr/lib/prof.pm \
+ -type f -exec sed -i -e 's|__PREFIX__|$(prefix)|g;s|__VERSION__|$(VERSION)|;' {} \;
+- rm -rf $(DESTDIR)$(prefix)/bin/prof && mkdir -p $(DESTDIR)$(prefix)/bin && ln -s ../share/profphd/prof/prof $(DESTDIR)$(prefix)/bin/prof
++ rm -rf $(DESTDIR)$(prefix)/bin/prof && mkdir -p $(DESTDIR)$(prefix)/bin && ln -s ../share/profphd/prof/prof $(DESTDIR)$(prefix)/bin/profphd
+
+ install-neuralnet:
+ mkdir -p $(DESTDIR)$(prefix)/share/profphd/prof/embl/para && rsync -aC \
diff --git a/sci-biology/profphd/metadata.xml b/sci-biology/profphd/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/profphd/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/profphd/profphd-1.0.40.ebuild b/sci-biology/profphd/profphd-1.0.40.ebuild
new file mode 100644
index 000000000000..af3d03321616
--- /dev/null
+++ b/sci-biology/profphd/profphd-1.0.40.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+DESCRIPTION="Secondary structure and solvent accessibility predictor"
+HOMEPAGE="https://rostlab.org/owiki/index.php/PROFphd_-_Secondary_Structure,_Solvent_Accessibility_and_Transmembrane_Helices_Prediction"
+SRC_URI="ftp://rostlab.org/profphd/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="dev-lang/perl"
+RDEPEND="
+ ${DEPEND}
+ dev-perl/librg-utils-perl
+ sci-libs/profnet
+ sci-libs/profphd-utils"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.0.39-perl.patch
+ "${FILESDIR}"/${PN}-1.0.40-symlink.patch
+)
+
+src_compile() {
+ emake prefix="${EPREFIX}"/usr
+}
+
+src_install() {
+ emake prefix="${EPREFIX}"/usr DESTDIR="${D}" install
+ einstalldocs
+}
diff --git a/sci-biology/prosite/Manifest b/sci-biology/prosite/Manifest
new file mode 100644
index 000000000000..a5a3248e6f54
--- /dev/null
+++ b/sci-biology/prosite/Manifest
@@ -0,0 +1 @@
+DIST prosite2017_02.tar.bz2 9234253 BLAKE2B e818ba766a0761336b3f06b173fe98133e3c6fd9ee21198234fdfaf711ac2bf6ee68513c073a09765b050ffdcfe8c8d83a2ae91b89558db18ac6039798201c68 SHA512 2b8a26a44d62d17108afc43a3ab65d024f76e41ea9c9f477024700621323d2606fcaec54411e1d3f4ddad40717ad9ce3a1989ffd92220e0d3c2acf70400d2e43
diff --git a/sci-biology/prosite/metadata.xml b/sci-biology/prosite/metadata.xml
new file mode 100644
index 000000000000..ef213a80bc1d
--- /dev/null
+++ b/sci-biology/prosite/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ A protein families and domains database maintained at the Swiss
+ Institude for Bioinformatics. It consists of biologically significant
+ sites, patterns and profiles that help to reliably identify to which
+ known protein family (if any) a new sequence belongs. PROSITE currently
+ contains patterns and profiles specific for more than a thousand
+ protein families or domains. Each of these signatures comes with
+ documentation providing background information on the structure and
+ function of these proteins.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/prosite/prosite-2017.02-r1.ebuild b/sci-biology/prosite/prosite-2017.02-r1.ebuild
new file mode 100644
index 000000000000..e64701106888
--- /dev/null
+++ b/sci-biology/prosite/prosite-2017.02-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DESCRIPTION="A protein families and domains database"
+HOMEPAGE="https://prosite.expasy.org/"
+SRC_URI="ftp://ftp.expasy.org/databases/prosite/old_releases/prosite${PV//./_}.tar.bz2"
+S="${WORKDIR}"
+
+LICENSE="swiss-prot"
+SLOT="0"
+# Minimal build keeps only the indexed files (if applicable).
+# The non-indexed database is not installed.
+KEYWORDS="~amd64 ~x86"
+IUSE="emboss minimal"
+
+BDEPEND="emboss? ( sci-biology/emboss )"
+RDEPEND="${BDEPEND}"
+
+src_compile() {
+ if use emboss; then
+ mkdir PROSITE || die
+ einfo
+ einfo "Indexing PROSITE for usage with EMBOSS"
+ EMBOSS_DATA="." prosextract -auto -prositedir "${S}" || die "Indexing PROSITE failed"
+ einfo
+ fi
+}
+
+src_install() {
+ if ! use minimal; then
+ insinto /usr/share/${PN}
+ doins *.{doc,dat}
+ fi
+
+ if use emboss; then
+ insinto /usr/share/EMBOSS/data/PROSITE
+ doins -r PROSITE/.
+ fi
+}
diff --git a/sci-biology/pysam/Manifest b/sci-biology/pysam/Manifest
new file mode 100644
index 000000000000..48717af7c11f
--- /dev/null
+++ b/sci-biology/pysam/Manifest
@@ -0,0 +1 @@
+DIST pysam-0.23.3.gh.tar.gz 4077706 BLAKE2B 52ea1866188374b6d832113f49de88b9b4fe1f777f0c81184aadfa5acd1f0e3048996e31a384061f0d1f9a289574c12e3e0a1c28a960e1e2f3f7af0c4e2b8d9a SHA512 e259a64ed722b72309827695585f429a6e59641223f5432c9cd7e673fd04fcbd5963618e9145315373e557edce532bf1a312db185bcc4235ff699357e453e07b
diff --git a/sci-biology/pysam/metadata.xml b/sci-biology/pysam/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/pysam/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/pysam/pysam-0.23.3.ebuild b/sci-biology/pysam/pysam-0.23.3.ebuild
new file mode 100644
index 000000000000..4e0b6f6e6b78
--- /dev/null
+++ b/sci-biology/pysam/pysam-0.23.3.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pysam-developers/pysam.git"
+else
+ SRC_URI="https://github.com/pysam-developers/pysam/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Python interface for the SAM/BAM sequence alignment and mapping format"
+HOMEPAGE="
+ https://github.com/pysam-developers/pysam
+ https://pypi.org/project/pysam/"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="=sci-libs/htslib-1.21*:="
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ =sci-biology/bcftools-1.21*
+ =sci-biology/samtools-1.21*
+ )"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # only work with bundled htslib
+ 'tests/tabix_test.py::TestRemoteFileHTTP'
+ 'tests/tabix_test.py::TestRemoteFileHTTPWithHeader'
+
+ 'tests/AlignedSegment_test.py::TestBaseModifications'
+)
+
+python_prepare_all() {
+
+ # unbundle htslib
+ export HTSLIB_MODE="external"
+ export HTSLIB_INCLUDE_DIR="${ESYSROOT}"/usr/include
+ export HTSLIB_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+ rm -r htslib || die
+
+ if use test; then
+ einfo "Building test data"
+ emake -C tests/pysam_data
+ emake -C tests/cbcf_data
+ fi
+
+ # breaks with parallel build
+ # need to avoid dropping .so plugins into
+ # build-lib, which breaks tests
+ DISTUTILS_ARGS=(
+ build_ext
+ --inplace
+ -j1
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf pysam || die
+ epytest
+}
diff --git a/sci-biology/pysam/pysam-9999.ebuild b/sci-biology/pysam/pysam-9999.ebuild
new file mode 100644
index 000000000000..05dccff44ea8
--- /dev/null
+++ b/sci-biology/pysam/pysam-9999.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{13..14} )
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/pysam-developers/pysam.git"
+else
+ SRC_URI="https://github.com/pysam-developers/pysam/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+fi
+
+DESCRIPTION="Python interface for the SAM/BAM sequence alignment and mapping format"
+HOMEPAGE="
+ https://github.com/pysam-developers/pysam
+ https://pypi.org/project/pysam/"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND=">=sci-libs/htslib-1.21"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ >=sci-biology/bcftools-1.21
+ >=sci-biology/samtools-1.21
+ )"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # only work with bundled htslib
+ 'tests/tabix_test.py::TestRemoteFileHTTP'
+ 'tests/tabix_test.py::TestRemoteFileHTTPWithHeader'
+
+ 'tests/AlignedSegment_test.py::TestBaseModifications'
+)
+
+python_prepare_all() {
+ # unbundle htslib
+ export HTSLIB_MODE="external"
+ export HTSLIB_INCLUDE_DIR="${ESYSROOT}"/usr/include
+ export HTSLIB_LIBRARY_DIR="${ESYSROOT}"/usr/$(get_libdir)
+ rm -r htslib || die
+
+ if use test; then
+ einfo "Building test data"
+ emake -C tests/pysam_data
+ emake -C tests/cbcf_data
+ fi
+
+ # breaks with parallel build
+ # need to avoid dropping .so plugins into
+ # build-lib, which breaks tests
+ DISTUTILS_ARGS=(
+ build_ext
+ --inplace
+ -j1
+ )
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf pysam || die
+ epytest
+}
diff --git a/sci-biology/raxml/Manifest b/sci-biology/raxml/Manifest
new file mode 100644
index 000000000000..56416ac10d7f
--- /dev/null
+++ b/sci-biology/raxml/Manifest
@@ -0,0 +1 @@
+DIST raxml-8.2.13.tar.gz 10201721 BLAKE2B ee48dc599947619d12a54cafef1eee554abc0df30a31ba2fdb501b228dadec9f137acff8f472047f4686304f74d27893696c95ff808baa128c2c3d83539366a1 SHA512 c99dc3f8c8798cda38c644501f474c0261e72c1f3b64d594d5006fa03e8d8c4da3bdf20b8e3c6c9f669c9509d5af27a0c286a2570a54c8ff7df7cd63c1f78885
diff --git a/sci-biology/raxml/files/raxml-8.2.13-c23.patch b/sci-biology/raxml/files/raxml-8.2.13-c23.patch
new file mode 100644
index 000000000000..b0ce95bf2ae8
--- /dev/null
+++ b/sci-biology/raxml/files/raxml-8.2.13-c23.patch
@@ -0,0 +1,19 @@
+--- a/rmq.h
++++ b/rmq.h
+@@ -2,15 +2,12 @@
+ #define _rmq_h_
+
+ #include <math.h>
+-
+-#define false 0
+-#define true 1
++#include <stdbool.h>
+
+ typedef int DT; // use long for 64bit-version (but take care of fast log!)
+ typedef unsigned int DTidx; // for indexing in arrays
+ typedef unsigned char DTsucc;
+ typedef unsigned short DTsucc2;
+-typedef int bool;
+ DTidx query(DTidx, DTidx);
+ void RMQ_succinct(DT* a, DTidx n);
+ void RMQ_succinct_destroy(void);
diff --git a/sci-biology/raxml/files/raxml-8.2.13-makefile.patch b/sci-biology/raxml/files/raxml-8.2.13-makefile.patch
new file mode 100644
index 000000000000..d774b1fb824d
--- /dev/null
+++ b/sci-biology/raxml/files/raxml-8.2.13-makefile.patch
@@ -0,0 +1,37 @@
+--- a/Makefile.gcc
++++ b/Makefile.gcc
+@@ -1,7 +1,6 @@
+ # Makefile August 2006 by Alexandros Stamatakis
+ # Makefile cleanup October 2006, Courtesy of Peter Cordes <peter@cordes.ca>
+
+-CC = gcc
+
+ ARCH := $(shell uname -m)
+ ifeq ($(ARCH), x86_64)
+@@ -10,7 +9,7 @@
+ ARCH_CFLAGS=
+ endif
+
+-CFLAGS = -D_GNU_SOURCE -fomit-frame-pointer -funroll-loops -O2 $(ARCH_CFLAGS) #-Wall -Wunused-parameter -Wredundant-decls -Wreturn-type -Wswitch-default -Wunused-value -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Wunused -Wunused-function -Wunused-label -Wno-int-to-pointer-cast -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wpointer-sign -Wextra -Wredundant-decls -Wunused -Wunused-function -Wunused-parameter -Wunused-value -Wunused-variable -Wformat -Wformat-nonliteral -Wparentheses -Wsequence-point -Wuninitialized -Wundef -Wbad-function-cast
++CFLAGS += -D_GNU_SOURCE #-Wall -Wunused-parameter -Wredundant-decls -Wreturn-type -Wswitch-default -Wunused-value -Wimplicit -Wimplicit-function-declaration -Wimplicit-int -Wimport -Wunused -Wunused-function -Wunused-label -Wno-int-to-pointer-cast -Wbad-function-cast -Wmissing-declarations -Wmissing-prototypes -Wnested-externs -Wold-style-definition -Wstrict-prototypes -Wpointer-sign -Wextra -Wredundant-decls -Wunused -Wunused-function -Wunused-parameter -Wunused-value -Wunused-variable -Wformat -Wformat-nonliteral -Wparentheses -Wsequence-point -Wuninitialized -Wundef -Wbad-function-cast
+
+ LIBRARIES = -lm
+
+@@ -23,7 +22,7 @@
+ GLOBAL_DEPS = axml.h globalVariables.h rmq.h rmqs.h #mem_alloc.h
+
+ raxmlHPC : $(objs)
+- $(CC) -o raxmlHPC $(objs) $(LIBRARIES) $(LDFLAGS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o raxmlHPC $(objs) $(LIBRARIES)
+
+ rmqs.o : rmqs.c $(GLOBAL_DEPS)
+ classify.o : classify.c $(GLOBAL_DEPS)
+@@ -51,8 +50,6 @@
+
+
+
+-eigen.o : eigen.c $(GLOBAL_DEPS)
+- $(CC) -c -o eigen.o eigen.c
+ clean :
+ $(RM) *.o raxmlHPC
+
diff --git a/sci-biology/raxml/metadata.xml b/sci-biology/raxml/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/raxml/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/raxml/raxml-8.2.13.ebuild b/sci-biology/raxml/raxml-8.2.13.ebuild
new file mode 100644
index 000000000000..0aa191b50785
--- /dev/null
+++ b/sci-biology/raxml/raxml-8.2.13.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+DESCRIPTION="Sequential, Parallel & Distributed Inference of Large Phylogenetic Trees"
+HOMEPAGE="https://github.com/stamatak/standard-RAxML"
+SRC_URI="https://github.com/stamatak/standard-RAxML/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/standard-RAxML-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="cpu_flags_x86_sse3 +threads"
+
+# mpi is not supported in version 7.2.2. mpi is enabled by adding -DPARALLEL to CFLAGS
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-c23.patch
+)
+
+src_configure() {
+ use cpu_flags_x86_sse3 &&
+ append-cppflags -D__SIM_SSE3 &&
+ append-cflags -msse3
+ use threads &&
+ append-cppflags -D_USE_PTHREADS &&
+ append-cflags -pthread
+
+ tc-export CC
+}
+
+src_compile() {
+ emake -f Makefile.gcc
+}
+
+src_install() {
+ dobin raxmlHPC
+}
diff --git a/sci-biology/rebase/Manifest b/sci-biology/rebase/Manifest
new file mode 100644
index 000000000000..b383cb20278f
--- /dev/null
+++ b/sci-biology/rebase/Manifest
@@ -0,0 +1 @@
+DIST rebase-1901.tar.xz 182532548 BLAKE2B 5ac8d26ab057bcd21dc9c57abeb226ac70cfabb156b48a51f820789626257be55bb21c9eb2099e6e55b1cfe3691480df0ec9b3f4b18b50ba2712b986c6d057b4 SHA512 1e3553e59c3520190754cb40bb0900e466d9ffd206e6460d3262a7d7d2af8aab0e28f3e60187665362824fa3730211c0e2119016ce5fed49095f9de46c7f25d4
diff --git a/sci-biology/rebase/metadata.xml b/sci-biology/rebase/metadata.xml
new file mode 100644
index 000000000000..7354ecaa1276
--- /dev/null
+++ b/sci-biology/rebase/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ The Restriction Enzyme data BASE is a collection of information about
+ restriction enzymes and related proteins. It is maintained by New
+ England Biolabs. It contains published and unpublished references,
+ recognition and cleavage sites, isoschizomers, commercial availability,
+ methylation sensitivity, crystal and sequence data. DNA
+ methyltransferases, homing endonucleases, nicking enzymes, specificity
+ subunits and control proteins are also included. More recently,
+ putative DNA methyltransferases and restriction enzymes, as predicted
+ from analysis of genomic sequences, are also listed.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/rebase/rebase-1901-r2.ebuild b/sci-biology/rebase/rebase-1901-r2.ebuild
new file mode 100644
index 000000000000..f2a3d9c9988f
--- /dev/null
+++ b/sci-biology/rebase/rebase-1901-r2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_PV="${PV#1}"
+
+DESCRIPTION="A restriction enzyme database"
+HOMEPAGE="http://rebase.neb.com"
+SRC_URI="https://dev.gentoo.org/~jlec/distfiles/${P}.tar.xz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="emboss minimal"
+RESTRICT="binchecks strip"
+
+BDEPEND="emboss? ( sci-biology/emboss )"
+RDEPEND="${BDEPEND}"
+
+src_compile() {
+ if use emboss; then
+ einfo
+ einfo "Indexing Rebase for usage with EMBOSS"
+ mkdir REBASE || die
+ EMBOSS_DATA="." rebaseextract -auto -infile withrefm.${MY_PV} \
+ -protofile proto.${MY_PV} -equivalences \
+ || die "Indexing Rebase failed"
+ einfo
+ fi
+}
+
+src_install() {
+ if ! use minimal; then
+ insinto /usr/share/${PN}
+ doins withrefm.${MY_PV} proto.${MY_PV}
+ fi
+ newdoc REBASE.DOC README
+ if use emboss; then
+ insinto /usr/share/EMBOSS/data/REBASE
+ doins REBASE/embossre.{enz,ref,sup}
+ insinto /usr/share/EMBOSS/data
+ doins REBASE/embossre.equ
+ fi
+}
diff --git a/sci-biology/recon/Manifest b/sci-biology/recon/Manifest
new file mode 100644
index 000000000000..8ee80f1aa469
--- /dev/null
+++ b/sci-biology/recon/Manifest
@@ -0,0 +1 @@
+DIST RECON-1.08.tar.gz 108477 BLAKE2B 155a740056e876f5aa2279ca0572fe151a52a2db5ac43af9b902ea4c099727f3274dd58abec59b74c13605ccd37ad9b3cd80379f79cb976c4bb677f661fd6273 SHA512 68672312f31751fa93250bbe337ae57f11dc4b1994c7dd5249dca916012c2df83a03c925cb631709e081c72055ef5bffd0846bc252d8c3c6247ae5ef61b160c9
diff --git a/sci-biology/recon/files/recon-1.08-Wimplicit-function-declaration.patch b/sci-biology/recon/files/recon-1.08-Wimplicit-function-declaration.patch
new file mode 100644
index 000000000000..9eba16e4a410
--- /dev/null
+++ b/sci-biology/recon/files/recon-1.08-Wimplicit-function-declaration.patch
@@ -0,0 +1,20 @@
+--- a/src/bolts.h
++++ b/src/bolts.h
+@@ -3,6 +3,7 @@
+ #include <stdio.h>
+ #include <math.h>
+ #include <stdlib.h>
++#include <stdint.h>
+
+
+ #define NAME_LEN 50
+--- a/src/seqlist.h
++++ b/src/seqlist.h
+@@ -1,6 +1,7 @@
+
+ #include "bolts.h"
+ #include "string.h"
++#include <ctype.h>
+
+ #ifndef _seqlist_h
+ #define _seqlist_h
diff --git a/sci-biology/recon/files/recon-1.08-buffer-overflow.patch b/sci-biology/recon/files/recon-1.08-buffer-overflow.patch
new file mode 100644
index 000000000000..e6bf54e7c2f2
--- /dev/null
+++ b/sci-biology/recon/files/recon-1.08-buffer-overflow.patch
@@ -0,0 +1,11 @@
+--- a/src/eledef.c
++++ b/src/eledef.c
+@@ -385,7 +385,7 @@ void ele_def(int method, FILE *frags, float cutoff, EPROT_t **all_epp, int *ecp,
+
+ void img_charge(IPROT_t **shadow, int ct, FILE *input) {
+ int i=0, pos=0;
+- char line[151];
++ char line[256];
+ int scan_flag;
+ MSP_t msp;
+
diff --git a/sci-biology/recon/files/recon-1.08-perl-shebangs.patch b/sci-biology/recon/files/recon-1.08-perl-shebangs.patch
new file mode 100644
index 000000000000..769fe4a93c65
--- /dev/null
+++ b/sci-biology/recon/files/recon-1.08-perl-shebangs.patch
@@ -0,0 +1,19 @@
+Make Perl shebangs Prefix friendly
+See also: https://blogs.gentoo.org/mgorny/2016/02/08/a-quick-note-on-portable-shebangs/
+
+--- a/scripts/MSPCollect.pl
++++ b/scripts/MSPCollect.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ if (!@ARGV) {
+ die "usage: MSPCollect BLAST_output_file\n";
+--- a/scripts/recon.pl
++++ b/scripts/recon.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ $path = "";
+
diff --git a/sci-biology/recon/metadata.xml b/sci-biology/recon/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/recon/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/recon/recon-1.08-r1.ebuild b/sci-biology/recon/recon-1.08-r1.ebuild
new file mode 100644
index 000000000000..dd79dd43c496
--- /dev/null
+++ b/sci-biology/recon/recon-1.08-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Automated de novo identification of repeat families from genomic sequences"
+HOMEPAGE="http://www.repeatmasker.org/RepeatModeler.html"
+SRC_URI="http://www.repeatmasker.org/${P^^}.tar.gz"
+S="${WORKDIR}/${P^^}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="examples"
+
+RDEPEND="dev-lang/perl"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-1.08-buffer-overflow.patch
+ "${FILESDIR}"/${PN}-1.08-perl-shebangs.patch
+ "${FILESDIR}"/${PN}-1.08-Wimplicit-function-declaration.patch
+)
+
+src_prepare() {
+ default
+ sed -i "s|$path = \"\";|$path = \"${EPREFIX}/usr/libexec/recon\";|" scripts/recon.pl || die
+}
+
+src_compile() {
+ emake CC="$(tc-getCC)" CFLAGS="${CFLAGS}" -C src
+}
+
+src_install() {
+ dobin scripts/*
+
+ exeinto /usr/libexec/recon
+ doexe src/{edgeredef,eledef,eleredef,famdef,imagespread}
+
+ newdoc {00,}README
+
+ if use examples; then
+ insinto /usr/share/recon
+ doins -r Demos
+ fi
+}
diff --git a/sci-biology/samtools/Manifest b/sci-biology/samtools/Manifest
new file mode 100644
index 000000000000..43a41ae4a17b
--- /dev/null
+++ b/sci-biology/samtools/Manifest
@@ -0,0 +1,5 @@
+DIST samtools-1.20.tar.bz2 9179938 BLAKE2B b534e659899a822e191c779a6ce9247854036da3435a0b63748783edc96d610ff0f02f73bbb5c1eab3ff86dbcca331113f3312a7c3376141ef89b6a8684446e4 SHA512 8526286243d057758cb846311d0a8c728026d31438e87fcc03e0df576f33bcc6da0e18bce141dbdc438a116341c94aa92701cdf10ba6b1301eadedbb34120822
+DIST samtools-1.21.tar.bz2 9149284 BLAKE2B f4e0b155b0bc8aaea81835e751d94c121f6256340e2db3a809d1ee46bed16168a0fb43d9359bf4c3967d0b77ab1151e105107c47eb0481a2c49414ffd5f1faa2 SHA512 4f80a4333ebb4dc0eb5f38f29474424b1acca9b677aa206b111c7a638b8ae924ab2dcdc9de15eb1b849576d0158579a476a7b78ccd73e7d2baafc3bbb88c6103
+DIST samtools-1.22.1.tar.bz2 9269357 BLAKE2B 240b2166a548d398af18e5c5b1897988e4a1267988e1c3f508c990b05cfa684ca631336971d28ce08581b9d65c3b33cdb1be4cfabc5b65e210c3ae0a57215881 SHA512 31d05490f3b5d8879b7cdfe16bb628e2a1c42fdfd98873f55796b94e2d59a86cd58d7a820758d368998f0c013a26da838a7b051c01f0f22d38362ae13d069600
+DIST samtools-1.22.tar.bz2 9292743 BLAKE2B 74805efe6035d4987762c5d9c5fc1ede217f8c67e1778767c2e611c0844639149c73b7cef40649212ba3dcd11f089d0ede91f6127df31433d4e33c8f22378b93 SHA512 8bb4d68ac5f819d6e175f43d8719402f17636b958ed016a943dc6c1971704f405908562ff9fe8f3c7c8725f729057024b305a6ca428a09be8b1e63a1df1cd578
+DIST samtools-1.23.tar.bz2 9357675 BLAKE2B 253ded3935bce0f8d7329fd1d6bafb194bf2c0821bdd378a31b0e0646f53940df252df69cc830ea4bef360285349c07cb6b13f3c1a0c8e4e1321feeb21500a84 SHA512 cf3442cd731729b5a9f9487843ea98bbb31db853c253109a97dec6e609d0df9095223ab47d8ce3cb8b3536a8d26e2f616e732d115b1340247873f41659688bac
diff --git a/sci-biology/samtools/metadata.xml b/sci-biology/samtools/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/samtools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/samtools/samtools-1.20.ebuild b/sci-biology/samtools/samtools-1.20.ebuild
new file mode 100644
index 000000000000..a8ef4fe964ff
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.20.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Utilities for analysing and manipulating the SAM/BAM alignment formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-lang/perl
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-htslib=system \
+ CURSES_LIB="$($(tc-getPKG_CONFIG) --libs ncursesw || die)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-biology/samtools/samtools-1.21.ebuild b/sci-biology/samtools/samtools-1.21.ebuild
new file mode 100644
index 000000000000..f11e9e81198b
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.21.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Utilities for analysing and manipulating the SAM/BAM alignment formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-lang/perl
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-htslib=system \
+ CURSES_LIB="$($(tc-getPKG_CONFIG) --libs ncursesw || die)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-biology/samtools/samtools-1.22.1.ebuild b/sci-biology/samtools/samtools-1.22.1.ebuild
new file mode 100644
index 000000000000..f11e9e81198b
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.22.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Utilities for analysing and manipulating the SAM/BAM alignment formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-lang/perl
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-htslib=system \
+ CURSES_LIB="$($(tc-getPKG_CONFIG) --libs ncursesw || die)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-biology/samtools/samtools-1.22.ebuild b/sci-biology/samtools/samtools-1.22.ebuild
new file mode 100644
index 000000000000..f11e9e81198b
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.22.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Utilities for analysing and manipulating the SAM/BAM alignment formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-lang/perl
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-htslib=system \
+ CURSES_LIB="$($(tc-getPKG_CONFIG) --libs ncursesw || die)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-biology/samtools/samtools-1.23.ebuild b/sci-biology/samtools/samtools-1.23.ebuild
new file mode 100644
index 000000000000..1c202445e9de
--- /dev/null
+++ b/sci-biology/samtools/samtools-1.23.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit toolchain-funcs
+
+DESCRIPTION="Utilities for analysing and manipulating the SAM/BAM alignment formats"
+HOMEPAGE="http://www.htslib.org/"
+SRC_URI="https://github.com/samtools/${PN}/releases/download/${PV}/${P}.tar.bz2"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~x64-macos"
+
+RDEPEND="
+ dev-lang/perl
+ =sci-libs/htslib-$(ver_cut 1-2)*:=
+ sys-libs/ncurses:=[unicode(+)]
+ virtual/zlib:="
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+
+ # remove bundled htslib
+ rm -r htslib-* || die
+}
+
+src_configure() {
+ econf \
+ --with-ncurses \
+ --with-htslib=system \
+ CURSES_LIB="$($(tc-getPKG_CONFIG) --libs ncursesw || die)"
+}
+
+src_compile() {
+ emake AR="$(tc-getAR)"
+}
+
+src_install() {
+ default
+
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+}
diff --git a/sci-biology/seaview/Manifest b/sci-biology/seaview/Manifest
new file mode 100644
index 000000000000..2b43f22a2ea3
--- /dev/null
+++ b/sci-biology/seaview/Manifest
@@ -0,0 +1 @@
+DIST seaview_4.6.tar.gz 424258 BLAKE2B e958ff4b1f6bb283a2122d65917a352914f33e5c9593c34c449800fbcac74b0dd4fa98bb1f47c45e11f24e07dfebb3ced54fbd8440b2bcd2b1df32dc398d5892 SHA512 e005d9dcc9e03c5636404e94f0059f7d4a9289fe77ecdab765e3ca2b59d826b8711a344f3824d079383a7ede0fe17b3b06694dfb7b709bb6a0a1e38cef6ee1d6
diff --git a/sci-biology/seaview/files/seaview-4.6-Wreserved-user-defined-literal.patch b/sci-biology/seaview/files/seaview-4.6-Wreserved-user-defined-literal.patch
new file mode 100644
index 000000000000..c9595748e901
--- /dev/null
+++ b/sci-biology/seaview/files/seaview-4.6-Wreserved-user-defined-literal.patch
@@ -0,0 +1,76 @@
+--- a/align.cxx
++++ b/align.cxx
+@@ -754,7 +754,7 @@
+ alignitems[clustalopt + MAX_MSA_ALGOS].label(strdup(options));
+ alignitems[clustalopt + MAX_MSA_ALGOS].flags = attr;
+ if (view->alignment_algorithm < 2) alignitems[clustalopt + MAX_MSA_ALGOS + 3].flags = FL_MENU_INACTIVE;
+- delete options;
++ delete[] options;
+ view->menu_align = alignitems;
+ view->menubar->add("Align", 0, NULL, (void*)view->menu_align, FL_SUBMENU_POINTER);
+ if (view->count_msa_algos >= MAX_MSA_ALGOS) (alignitems + clustalopt + MAX_MSA_ALGOS + 2)->deactivate();
+--- a/seaview.cxx
++++ b/seaview.cxx
+@@ -3314,7 +3314,7 @@
+ if(p != NULL) *p = 0;
+ if(printout_black == TEXT_ONLY) strcat(suggested, ".txt");
+ else {
+- strcat(suggested, "."PDF_OR_PS_EXT);
++ strcat(suggested, "." PDF_OR_PS_EXT);
+ }
+ if( view->alt_col_rank != NULL ) {
+ for(anerr = 0; anerr < view->tot_seqs; anerr++)
+@@ -3424,7 +3424,7 @@
+
+ pdf_form = new Fl_Window(415, 90);
+ pdf_form->box(FL_FLAT_BOX);
+-pdf_form->label("Set "PDF_OR_PS" output options");
++pdf_form->label("Set " PDF_OR_PS " output options");
+
+ x = 5 + (int)fl_width("block size:"); y = 5; w = 50; h = 25;
+ sizeinput = new Fl_Input(x, y, w, h, "font size:");
+@@ -5000,10 +5000,10 @@
+ {"Save prot alignmt", 0,file_menu_callback, 0, FL_MENU_INACTIVE},
+ {"Save bootstrap replicates", 0,file_menu_callback, 0, FL_MENU_INACTIVE | FL_MENU_DIVIDER},
+ #if !defined(__APPLE__)
+- {"Prepare "PDF_OR_PS"", 0, file_menu_callback, 0, 0},
+- {""PDF_OR_PS" options...", 0, file_menu_callback, 0, FL_MENU_DIVIDER},
++ {"Prepare " PDF_OR_PS "", 0, file_menu_callback, 0, 0},
++ {"" PDF_OR_PS " options...", 0, file_menu_callback, 0, FL_MENU_DIVIDER},
+ #else
+- {"Prepare "PDF_OR_PS"", 0, file_menu_callback, 0, FL_MENU_DIVIDER},
++ {"Prepare " PDF_OR_PS "", 0, file_menu_callback, 0, FL_MENU_DIVIDER},
+ #endif
+ {"Concatenate", 0,file_menu_callback, 0, FL_MENU_DIVIDER},
+ {"New window", FL_COMMAND | 'n', file_menu_callback, 0, 0},
+--- a/treedraw.cxx
++++ b/treedraw.cxx
+@@ -210,7 +210,7 @@
+ {"Save all trees", 0, file_callback, NULL, 0},
+ {"Save patristic distances", 0, patristic_callback, NULL, FL_MENU_DIVIDER},
+ {"Print", FL_COMMAND | 'p', file_callback, NULL, 0},
+- {"Save as "PDF_OR_PS"", 0, file_callback, NULL, 0},
++ {"Save as " PDF_OR_PS "", 0, file_callback, NULL, 0},
+ {"Save as SVG", 0, file_callback, NULL, 0},
+ {"A4", 0, file_callback, NULL, FL_MENU_RADIO | 0},
+ {"Letter", 0, file_callback, NULL, FL_MENU_RADIO | 0},
+--- a/xfmatpt.cxx
++++ b/xfmatpt.cxx
+@@ -205,7 +205,7 @@
+ compute->callback(compute_proc, fdui);
+ fdui->compute_butt = compute;
+
+-Fl_Widget *postscript = cre_button(fin, curr_y, &width, but_height, fontsize, "Write "PDF_OR_PS);
++Fl_Widget *postscript = cre_button(fin, curr_y, &width, but_height, fontsize, "Write " PDF_OR_PS);
+ fin += width;
+ postscript->callback(plot_button_proc, fdui);
+
+@@ -870,7 +870,7 @@
+ #ifndef MICRO
+ matpt->form->hide(); Fl::flush(); // because of strange bug on 32-bit Linux only
+ #endif
+- fl_message("Dot plot is now in file\n%s\nin "PDF_OR_PS" format", surface->outfname());
++ fl_message("Dot plot is now in file\n%s\nin " PDF_OR_PS " format", surface->outfname());
+ delete surface;
+ #ifndef MICRO
+ matpt->form->show(); Fl::flush();
diff --git a/sci-biology/seaview/files/seaview-4.6-fno-common.patch b/sci-biology/seaview/files/seaview-4.6-fno-common.patch
new file mode 100644
index 000000000000..24cc28dfb3b7
--- /dev/null
+++ b/sci-biology/seaview/files/seaview-4.6-fno-common.patch
@@ -0,0 +1,110 @@
+--- a/csrc/dnapars.c
++++ b/csrc/dnapars.c
+@@ -77,41 +77,43 @@
+ /* function prototypes */
+
+
+-Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
++extern Char infilename[FNMLNGTH], outfilename[FNMLNGTH], intreename[FNMLNGTH], *outtreename,
+ weightfilename[FNMLNGTH];
+ char basechar[32]="ACMGRSVTWYHKDBNO???????????????";
+-node *root;
+-long chars, col, msets, ith, njumble, jumb, maxtrees;
++extern node *root;
++extern long chars, col, msets, ith, njumble, jumb;
++long maxtrees;
+ /* chars = number of sites in actual sequences */
+-long inseed, inseed0;
+-double threshold;
+-boolean jumble, usertree, thresh, weights, thorough, rearrfirst,
+- trout, progress, stepbox, ancseq, mulsets, justwts, firstset, mulf,
+- multf;
++extern long inseed, inseed0;
++extern double threshold;
++boolean thorough, rearrfirst, mulf, multf;
++extern boolean justwts, ancseq, weights, thresh, jumble, usertree, trout, mulsets, progress, stepbox, firstset;
+ steptr oldweight;
+-longer seed;
+-pointarray treenode; /* pointers to all nodes in tree */
+-long *enterorder;
++extern longer seed;
++extern pointarray treenode; /* pointers to all nodes in tree */
++extern long *enterorder;
+ long *zeros;
+
+ /* local variables for Pascal maketree, propagated globally for C version: */
+
+-long minwhich;
++extern long minwhich;
+ static double like, minsteps, bestyet, bestlike, bstlike2;
+-boolean lastrearr, recompute;
+-double nsteps[maxuser];
+-long **fsteps;
+-node *there, *oldnufork;
+-long *place;
+-bestelm *bestrees;
+-long *threshwt;
++extern boolean lastrearr, recompute;
++extern double nsteps[maxuser];
++extern long **fsteps;
++extern node *there;
++node *oldnufork;
++extern long *place;
++extern bestelm *bestrees;
++extern long *threshwt;
+ baseptr nothing;
+-gbases *garbage;
+-node *temp, *temp1, *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
++extern gbases *garbage;
++extern node *temp, *temp1;
++node *temp2, *tempsum, *temprm, *tempadd, *tempf, *tmp, *tmp1,
+ *tmp2, *tmp3, *tmprm, *tmpadd;
+-boolean *names;
++extern boolean *names;
+ node *grbg;
+-char *progname;
++extern char *progname;
+
+
+ static void getoptions(int arg_maxtrees, dnapars_S_option s_option)
+--- a/csrc/phylip.c
++++ b/csrc/phylip.c
+@@ -35,6 +35,8 @@
+
+ #include "phylip.h"
+
++boolean javarun;
++
+ #ifdef WIN32
+ #include <windows.h>
+ /* for console code (clear screen, text color settings) */
+--- a/csrc/phylip.h
++++ b/csrc/phylip.h
+@@ -342,7 +342,7 @@
+ /* Lower-triangular format. */
+ #define MAT_LOWERTRI (MAT_LOWER | MAT_MACHINE)
+
+-boolean javarun;
++extern boolean javarun;
+
+ typedef long *steptr;
+ typedef long longer[6];
+@@ -363,7 +363,6 @@
+ extern boolean ibmpc, ansi, tranvsp;
+ //extern naym *nayme; /* names of species */
+ extern char* *nayme; /* names of species */
+-boolean firstplotblock; // for debugging BMP output
+
+ #define ebcdic EBCDIC
+
+--- a/csrc/protpars.c
++++ b/csrc/protpars.c
+@@ -127,7 +127,7 @@
+ node *temp, *temp1;
+ Char ch;
+ aas tmpa;
+-char *progname;
++extern char *progname;
+
+ /* Local variables for maketree, propagated globally for c version: */
+ long minwhich;
diff --git a/sci-biology/seaview/metadata.xml b/sci-biology/seaview/metadata.xml
new file mode 100644
index 000000000000..855f7a11054f
--- /dev/null
+++ b/sci-biology/seaview/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ SeaView is a graphical multiple sequence alignment editor developped by
+ Manolo Gouy. SeaView is able to read and write various alignment
+ formats (NEXUS, MSF, CLUSTAL, FASTA, PHYLIP, MASE). It allows to
+ manually edit the alignment, and also to run DOT-PLOT or CLUSTALW
+ programs to locally improve the alignment.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/seaview/seaview-4.6-r2.ebuild b/sci-biology/seaview/seaview-4.6-r2.ebuild
new file mode 100644
index 000000000000..d95d0b842eef
--- /dev/null
+++ b/sci-biology/seaview/seaview-4.6-r2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit desktop toolchain-funcs
+
+DESCRIPTION="A graphical multiple sequence alignment editor"
+HOMEPAGE="http://pbil.univ-lyon1.fr/software/seaview.html"
+SRC_URI="ftp://pbil.univ-lyon1.fr/pub/mol_phylogeny/seaview/archive/${PN}_${PV}.tar.gz"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+xft"
+
+RDEPEND="
+ sci-biology/clustalw:2
+ sci-biology/phyml
+ || (
+ sci-libs/libmuscle
+ sci-biology/muscle
+ )
+ virtual/zlib:=
+ x11-libs/fltk:1=[xft(+)?]
+ x11-libs/libX11
+ xft? ( x11-libs/libXft )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+S="${WORKDIR}/${PN}"
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.6-fno-common.patch
+ "${FILESDIR}"/${PN}-4.6-Wreserved-user-defined-literal.patch
+)
+
+src_prepare() {
+ default
+
+ # respect CXXFLAGS (package uses them as CFLAGS)
+ sed \
+ -e "s:^CC.*:CC = $(tc-getCC):" \
+ -e "s:^CXX.*:CXX = $(tc-getCXX):" \
+ -e "s:\$(OPT):${CXXFLAGS}:" \
+ -e "s:^OPT:#OPT:" \
+ -e "s:^FLTK = .*$:FLTK = ${EPREFIX}/usr/include/fltk-1:" \
+ -e "s:^#IFLTK .*:IFLTK = $(fltk-config --use-images --cflags):" \
+ -e "s:^#LFLTK .*:LFLTK = $(fltk-config --use-images --ldflags):" \
+ -e "s:^USE_XFT:#USE_XFT:" \
+ -e "s:^#HELPFILE:HELPFILE:" \
+ -e "s:/usr/share/doc/seaview/seaview.htm:${EPREFIX}/usr/share/seaview/seaview.htm:" \
+ -e "s:^#PHYMLNAME:PHYMLNAME:" \
+ -e 's:-lXinerama::g' \
+ -e 's:-lpng::g' \
+ -e 's:-ljpeg::g' \
+ -e 's:-lfontconfig::g' \
+ -i Makefile || die "sed failed while editing Makefile"
+
+ if use xft; then
+ sed \
+ -e "s:^#USE_XFT .*:USE_XFT = -DUSE_XFT $($(tc-getPKG_CONFIG) --cflags xft):" \
+ -e "s:-lXft:$($(tc-getPKG_CONFIG) --libs xft):" \
+ -i Makefile || die "sed failed while editing Makefile to enable xft"
+ else
+ sed -i -e "s:-lXft::" Makefile || die
+ fi
+}
+
+src_install() {
+ dobin seaview
+
+ # /usr/share/seaview/seaview.html is hardcoded in the binary, see Makefile
+ insinto /usr/share/seaview
+ doins example.nxs seaview.html
+
+ insinto /usr/share/seaview/images
+ doins seaview.xpm
+
+ make_desktop_entry seaview Seaview
+
+ doman seaview.1
+}
diff --git a/sci-biology/seqan/Manifest b/sci-biology/seqan/Manifest
new file mode 100644
index 000000000000..ed2aa485711a
--- /dev/null
+++ b/sci-biology/seqan/Manifest
@@ -0,0 +1 @@
+DIST seqan3-3.1.0-Source.tar.xz 2656120 BLAKE2B 6a18844f62d935fdbd7008822f83ffeefd596e93b704a8c7b0f478dec87b2265ff532be107ebfd1adc248e2b1db65e4b86cdce2e989c7ac097054d43633a24bd SHA512 686d0ffbe32951e7f831e399a3eab35b7249f45408b7de27ee9cfd6a012215603f033afa6082c8a81783de1cc7c93d3ffbae42cabc122d3b77988c236a049ffd
diff --git a/sci-biology/seqan/metadata.xml b/sci-biology/seqan/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/seqan/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/seqan/seqan-3.1.0.ebuild b/sci-biology/seqan/seqan-3.1.0.ebuild
new file mode 100644
index 000000000000..b5a97f2052eb
--- /dev/null
+++ b/sci-biology/seqan/seqan-3.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit cmake
+
+DESCRIPTION="C++ Sequence Analysis Library"
+HOMEPAGE="https://www.seqan.de/"
+SRC_URI="https://github.com/seqan/seqan3/releases/download/${PV}/seqan3-${PV}-Source.tar.xz"
+S="${WORKDIR}/seqan3-${PV}-Source"
+
+LICENSE="BSD GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cpu_flags_x86_sse4_2"
+REQUIRED_USE="cpu_flags_x86_sse4_2"
+
+RDEPEND="
+ app-arch/bzip2:=
+ dev-cpp/range-v3
+ dev-libs/cereal
+ sci-libs/lemon
+ virtual/zlib:=
+"
+DEPEND="${RDEPEND}"
+
+src_install() {
+ cmake_src_install
+ dodoc -r doc/*
+}
diff --git a/sci-biology/sibsim4/Manifest b/sci-biology/sibsim4/Manifest
new file mode 100644
index 000000000000..378e871a0110
--- /dev/null
+++ b/sci-biology/sibsim4/Manifest
@@ -0,0 +1 @@
+DIST SIBsim4-0.20.tar.gz 32118 BLAKE2B 79b1f080d547732ee6a5996885c26f422f8a1590fa37d525f35cfa3dee353fd36ce9aa4677fe7e570f43e8283c26541c8c9e76ca03788a66d1c356adb3d649d5 SHA512 3802520095e83d3c691804b661696095a4198c4b2a16385c55ccdc8e4e836f82cc9c2251a5d37cb5918c2ee80aeb81737d751e6b065fbfe9c64f1aee3e0ea0c8
diff --git a/sci-biology/sibsim4/files/sibsim4-0.20-makefile.patch b/sci-biology/sibsim4/files/sibsim4-0.20-makefile.patch
new file mode 100644
index 000000000000..6436747e3dd9
--- /dev/null
+++ b/sci-biology/sibsim4/files/sibsim4-0.20-makefile.patch
@@ -0,0 +1,26 @@
+--- a/Makefile
++++ b/Makefile
+@@ -21,13 +21,12 @@
+ # to change it to this:
+ # CFLAGS = -Xc
+
+-CFLAGS = -std=gnu99 -W -Wall -Wconversion -pedantic $(DEBUG) $(OPT)
++CFLAGS += -std=gnu99 -Wall -Wconversion -pedantic
+
+
+ # The default is GCC. On Solaris, you might put:
+ # CC = /opt/SUNWspro/bin/cc
+
+-CC = gcc
+
+
+ # Depending on the compile flags you use, you might need to explicitly use the
+@@ -42,7 +41,7 @@
+ OBJS = sim4b1.o align.o misc.o sim4.init.o
+
+ sim4: $(OBJS)
+- $(CC) -o SIBsim4 $(CFLAGS) $(OBJS) $(LIBS)
++ $(CC) $(CFLAGS) $(LDFLAGS) -o SIBsim4 $(OBJS) $(LIBS)
+
+ clean:
+ rm -f SIBsim4 *.o
diff --git a/sci-biology/sibsim4/metadata.xml b/sci-biology/sibsim4/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/sibsim4/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/sibsim4/sibsim4-0.20.ebuild b/sci-biology/sibsim4/sibsim4-0.20.ebuild
new file mode 100644
index 000000000000..2c9d69ada02c
--- /dev/null
+++ b/sci-biology/sibsim4/sibsim4-0.20.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A rewrite and improvement upon sim4, a DNA-mRNA aligner"
+HOMEPAGE="http://sibsim4.sourceforge.net/"
+SRC_URI="https://downloads.sourceforge.net/${PN}/SIBsim4-${PV}.tar.gz"
+S="${WORKDIR}/SIBsim4-${PV}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+PATCHES=( "${FILESDIR}"/${P}-makefile.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin SIBsim4
+ doman SIBsim4.1
+}
diff --git a/sci-biology/sim4/Manifest b/sci-biology/sim4/Manifest
new file mode 100644
index 000000000000..a9548f107ec7
--- /dev/null
+++ b/sci-biology/sim4/Manifest
@@ -0,0 +1 @@
+DIST sim4-20030921.tar.gz 60814 BLAKE2B 2a6aeaf56cbec7b3d5e8cb0c0405afd3b1325977d1b68ba319347dbc38461bde9bdb028e92d8b463a593a2fdc8d72d65db27c8e30462901ce8921632201ad038 SHA512 de7ee4094830262cb7ea8ed2f4573beed96df4b12f2915f669c52fd3fa40f5a4894cd94224e575bfb2588f9a6f19c0b73a38d6209d92a1dc644639a4927aa6b5
diff --git a/sci-biology/sim4/files/sim4-20030921-fix-build-system.patch b/sci-biology/sim4/files/sim4-20030921-fix-build-system.patch
new file mode 100644
index 000000000000..8fd50fe9cfae
--- /dev/null
+++ b/sci-biology/sim4/files/sim4-20030921-fix-build-system.patch
@@ -0,0 +1,21 @@
+Fix build system to honour user flags.
+
+--- a/Makefile
++++ b/Makefile
+@@ -1,13 +1,11 @@
+-
+ # For better performance, replace ``-O'' with whatever
+ # the best optimization flag is for your computer.
+ # For Sun's compilers under Solaris, ``-fast'' works well.
+ # For gcc, ``-O2'' works well.
+-CC=cc
+-CFLAGS=-O
+-LDLIBS=-lm
++CC ?= gcc
++LDLIBS = -lm
+
+ sim4:
+- $(CC) -o sim4 -I. $(CFLAGS) *.c $(LDLIBS)
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(LDFLAGS) -o sim4 -I. *.c $(LDLIBS)
+ clean:
+ rm -f sim4 *.o
diff --git a/sci-biology/sim4/metadata.xml b/sci-biology/sim4/metadata.xml
new file mode 100644
index 000000000000..34b16cad21d6
--- /dev/null
+++ b/sci-biology/sim4/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ sim4 is a similarity-based tool for aligning an expressed DNA sequence
+ (EST, cDNA, mRNA) with a genomic sequence for the gene. It also detects
+ end matches when the two input sequences overlap at one end (i.e., the
+ start of one sequence overlaps the end of the other).sim4 employs a
+ blast-based technique to first determine the basic matching blocks
+ representing the "exon cores". In this first stage, it detects all
+ possible exact matches of W-mers (i.e., DNA words of size W) between
+ the two sequences and extends them to maximal scoring gap-free
+ segments. In the second stage, the exon cores are extended into the
+ adjacent as-yet-unmatched fragments using greedy alignment algorithms,
+ and heuristics are used to favor configurations that conform to the
+ splice-site recognition signals (GT-AG, CT-AC). If necessary, the
+ process is repeated with less stringent parameters on the unmatched
+ fragments.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/sim4/sim4-20030921-r2.ebuild b/sci-biology/sim4/sim4-20030921-r2.ebuild
new file mode 100644
index 000000000000..64c0e64d19ef
--- /dev/null
+++ b/sci-biology/sim4/sim4-20030921-r2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="A program to align cDNA and genomic DNA"
+HOMEPAGE="http://globin.cse.psu.edu/html/docs/sim4.html"
+SRC_URI="mirror://gentoo/${P}.tar.gz"
+S="${WORKDIR}/${PN}.2003-09-21"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+PATCHES=( "${FILESDIR}"/${PN}-20030921-fix-build-system.patch )
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin ${PN}
+ einstalldocs
+}
diff --git a/sci-biology/stride/Manifest b/sci-biology/stride/Manifest
new file mode 100644
index 000000000000..bfd0e48635ba
--- /dev/null
+++ b/sci-biology/stride/Manifest
@@ -0,0 +1,4 @@
+DIST stride-20011129.tar.gz 56441 BLAKE2B 4d4cd3f9f6cef997fff10571aecb70cb21056e88c5130e7dfdafe15a6fb353656d0635b4d65895ef115479a87dcf600b659455d15460344c838543a2e356bfae SHA512 cbd40fce4684728f363520540132fc1a0003126954a145d59aeff48adb20fdaa66520bd12b56ee5d2906e8ea97bf78a225204105b820f7f368aee5e790a6471b
+DIST stride-20030408.tar.gz 318997 BLAKE2B 0a6fbb7da0a18cc9fbc4beb3214488080e5f6b85b93f87a33f3d6c38385da12707ee0eb2a10a86c9f6dd3884bd043e3f7f36c6aac797da7dc4f351fab047a950 SHA512 50d71c053118ca078dd9a4659d9b0f62d1f1101519e01b258a088e229ad2062bec917160c7794f18c96d982992d5571f93508365ff4f6e76438da8183390b498
+DIST stride-20060723-update-r1.patch.xz 5888 BLAKE2B 6f477787004fd962b2faf5f0dd1a497067608eb8fcc5d16e161d918ecff7a6b86184eeb5f97ece4465d7595dd64fd0958a6bcedb76f2b666bdc4d0947e51eda0 SHA512 5ecaa5c262856009e188c00a9cf75765fcd7988ebe3cf0389101a4c281fdbc8d085a024fa78b6c88916528d1158133873ebf38a070a66b7e76f842586646ba2d
+DIST stride-20060723-update.patch.bz2 5621 BLAKE2B 266a7371c0963a996430c1f809b46196e8bf179fcf2afb4380f6eccd092c03b29d5b09b8a8438ee7848d0f411920db2e4465ef646c75a406197412f35e880179 SHA512 e06eb68b907615e12dc1a9981be157400e9ffed9391a906cb4eb3ef4067b7027c26cc600298053bfc5d2bbbebbbfefe0e6b18d0e4f6fef2172768e6f95498af1
diff --git a/sci-biology/stride/files/stride-20011129-clang16.patch b/sci-biology/stride/files/stride-20011129-clang16.patch
new file mode 100644
index 000000000000..e1e4383a3281
--- /dev/null
+++ b/sci-biology/stride/files/stride-20011129-clang16.patch
@@ -0,0 +1,15 @@
+https://bugs.gentoo.org/874069
+--- a/hydrbond.c
++++ b/hydrbond.c
+@@ -293,3 +293,3 @@
+ int dc, ac, ccd, cca, cc, hc=0, i;
+- void (*HBOND_Energy)();
++ void (*HBOND_Energy)(float*, float*, float*, float*, float*, COMMAND*, HBOND*);
+ BUFFER Text;
+--- a/p_atom.c
++++ b/p_atom.c
+@@ -11,3 +11,3 @@
+ RESIDUE *r;
+- register i;
++ register int i;
+
diff --git a/sci-biology/stride/files/stride-20011129-fix-buildsystem.patch b/sci-biology/stride/files/stride-20011129-fix-buildsystem.patch
new file mode 100644
index 000000000000..ec4415ec45d4
--- /dev/null
+++ b/sci-biology/stride/files/stride-20011129-fix-buildsystem.patch
@@ -0,0 +1,21 @@
+--- a/Makefile
++++ b/Makefile
+@@ -1,4 +1,3 @@
+-CC = gcc -g
+ FLAGS = -lm -o
+
+ SOURCE = stride.c splitstr.c rdpdb.c initchn.c geometry.c thr2one.c one2thr.c filename.c tolostr.c strutil.c place_h.c hbenergy.c memory.c helix.c sheet.c rdmap.c phipsi.c command.c molscr.c die.c hydrbond.c mergepat.c fillasn.c escape.c p_jrnl.c p_rem.c p_atom.c p_helix.c p_sheet.c p_turn.c p_ssbond.c p_expdta.c p_model.c p_compnd.c report.c nsc.c area.c ssbond.c chk_res.c chk_atom.c turn.c pdbasn.c dssp.c outseq.c chkchain.c elem.c measure.c asngener.c p_endmdl.c stred.c contact_order.c contact_map.c
+@@ -7,12 +6,9 @@
+
+ BINDIR = .
+
+-.c.o:
+- $(CC) -c $< -o $@
+-
+
+ stride : $(OBJECT)
+- $(CC) $(OBJECT) $(FLAGS) $(BINDIR)/stride
++ $(CC) $(LDFLAGS) $(OBJECT) $(FLAGS) $(BINDIR)/stride
+
+ $(OBJECT) : stride.h protot.h
+
diff --git a/sci-biology/stride/metadata.xml b/sci-biology/stride/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/stride/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/stride/stride-20011129-r1.ebuild b/sci-biology/stride/stride-20011129-r1.ebuild
new file mode 100644
index 000000000000..a2cda0fa34e3
--- /dev/null
+++ b/sci-biology/stride/stride-20011129-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+inherit toolchain-funcs
+
+DESCRIPTION="Protein secondary structure assignment from atomic coordinates"
+HOMEPAGE="http://webclu.bio.wzw.tum.de/stride/"
+SRC_URI="
+ ftp://ftp.ebi.ac.uk/pub/software/unix/${PN}/src/${PN}.tar.gz -> ${P}.tar.gz
+ https://dev.gentoo.org/~pacho/${PN}/${PN}-20060723-update.patch.bz2"
+
+LICENSE="STRIDE"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+RESTRICT="mirror bindist"
+
+S="${WORKDIR}"
+PATCHES=(
+ # this patch updates the source to the most recent
+ # version which was kindly provided by the author
+ "${S}"/${PN}-20060723-update.patch
+ "${FILESDIR}"/${PN}-20011129-fix-buildsystem.patch
+ "${FILESDIR}"/${PN}-20011129-clang16.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin ${PN}
+}
diff --git a/sci-biology/stride/stride-20060723.ebuild b/sci-biology/stride/stride-20060723.ebuild
new file mode 100644
index 000000000000..5938a8bfda5f
--- /dev/null
+++ b/sci-biology/stride/stride-20060723.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+inherit toolchain-funcs
+
+DESCRIPTION="Protein secondary structure assignment from atomic coordinates"
+HOMEPAGE="http://webclu.bio.wzw.tum.de/stride/"
+# Version 20030408 per dates in upstream tarball
+UPSTREAM_VER="20030408"
+SRC_URI="https://webclu.bio.wzw.tum.de/stride/${PN}.tar.gz -> ${PN}-${UPSTREAM_VER}.tar.gz
+ https://dev.gentoo.org/~pacho/${PN}/${PN}-20060723-update-r1.patch.xz"
+
+LICENSE="STRIDE"
+SLOT="0"
+KEYWORDS="amd64 ~ppc ~x86"
+RESTRICT="mirror bindist"
+
+S="${WORKDIR}"
+PATCHES=(
+ # This patch updates the source to the most recent
+ # version which was kindly provided by the author
+ "${S}"/${P}-update-r1.patch
+
+ "${FILESDIR}"/${PN}-20011129-fix-buildsystem.patch
+ "${FILESDIR}"/${PN}-20011129-clang16.patch
+)
+
+src_configure() {
+ tc-export CC
+}
+
+src_install() {
+ dobin ${PN}
+}
diff --git a/sci-biology/t-coffee/Manifest b/sci-biology/t-coffee/Manifest
new file mode 100644
index 000000000000..447e11259498
--- /dev/null
+++ b/sci-biology/t-coffee/Manifest
@@ -0,0 +1 @@
+DIST T-COFFEE_distribution_Version_11.00.4466924.tar.gz 3502302 BLAKE2B 0d8087eb219ff72e6f478a779ccdb51e7aee861236c522dec5391e854b0b0bf6eab324009686237e6d334d2e13e17700f6692333060a2ed55711380ef2ab2cdb SHA512 c6c1a7b768156f8457dc4c53a77b14ce0b85e591d60762faf6e6f6f3b60dab75e99449d55b42ef3af1c90e244f735e19abb72d0ce871bb9fbfbb8d1641531293
diff --git a/sci-biology/t-coffee/files/t-coffee-11.00-cxx11.patch b/sci-biology/t-coffee/files/t-coffee-11.00-cxx11.patch
new file mode 100644
index 000000000000..17817d30eca2
--- /dev/null
+++ b/sci-biology/t-coffee/files/t-coffee-11.00-cxx11.patch
@@ -0,0 +1,21 @@
+--- a/t_coffee_source/programmes_define.h
++++ b/t_coffee_source/programmes_define.h
+@@ -390,12 +390,12 @@
+ #define XMLSIMPLE_language2 "Perl"
+ #define XMLSIMPLE_source "empty"
+ #define XMLSIMPLE_mode "psicoffee,expresso,accurate"
+-#define x3dna-ssr_4_TCOFFEE "x3dna"
+-#define x3dna-ssr_type "RNA_secondarystructure_predictor"
+-#define x3dna-ssr_ADDRESS "http://x3dna.bio.columbia.edu/"
+-#define x3dna-ssr_source "http://www.tcoffee.org/Packages/mirrors/source/x3dna-v2.3-linux-64bit.tar.gz"
+-#define x3dna-ssr_mode "saracoffee"
+-#define x3dna-ssr_update_action "never"
++#define x3dna_ssr_4_TCOFFEE "x3dna"
++#define x3dna_ssr_type "RNA_secondarystructure_predictor"
++#define x3dna_ssr_ADDRESS "http://x3dna.bio.columbia.edu/"
++#define x3dna_ssr_source "http://www.tcoffee.org/Packages/mirrors/source/x3dna-v2.3-linux-64bit.tar.gz"
++#define x3dna_ssr_mode "saracoffee"
++#define x3dna_ssr_update_action "never"
+ //TclinkdbEnd
+ /*New Methods*/
+ /********************************************/
diff --git a/sci-biology/t-coffee/files/t-coffee-11.00-gcc7.patch b/sci-biology/t-coffee/files/t-coffee-11.00-gcc7.patch
new file mode 100644
index 000000000000..64afc04a4b50
--- /dev/null
+++ b/sci-biology/t-coffee/files/t-coffee-11.00-gcc7.patch
@@ -0,0 +1,22 @@
+--- a/t_coffee_source/util_lib/aln_convertion_util.c
++++ b/t_coffee_source/util_lib/aln_convertion_util.c
+@@ -5592,7 +5592,7 @@
+
+ list=string2list (H->seq_comment[n]);
+ if ( list==NULL || atoi(list[0])==1)continue;
+- S->seq_comment[a]='\0';
++ S->seq_comment[a]=NULL;
+ sprintf (S->name[a], "%s%s%s",H->name[n], list[1], list[2]);
+ vfree ( S->seq_comment[a]);S->seq_comment[a]=(char*)vcalloc ( strlen (H->seq_comment[n])+1, sizeof (char));
+ for (b=3; b< atoi(list[0]); b++)S->seq_comment[a]=strcat (S->seq_comment[a], list[b]);
+--- a/t_coffee_source/util_lib/util.c
++++ b/t_coffee_source/util_lib/util.c
+@@ -5946,7 +5946,7 @@
+ val_array[a]=(char*)vrealloc (val_array[a], strlen (v)+1);
+ sprintf (val_array[a],"%s",v);
+ }
+- else val_array[a]='\0';
++ else val_array[a]=NULL;
+ return v;
+ }
+ }
diff --git a/sci-biology/t-coffee/files/t-coffee-11.00-makefile.patch b/sci-biology/t-coffee/files/t-coffee-11.00-makefile.patch
new file mode 100644
index 000000000000..b7a6d9e17a5e
--- /dev/null
+++ b/sci-biology/t-coffee/files/t-coffee-11.00-makefile.patch
@@ -0,0 +1,19 @@
+--- a/t_coffee_source/makefile
++++ b/t_coffee_source/makefile
+@@ -1,14 +1,12 @@
+-CC=g++
+-CFLAGS=-O3 -Wno-write-strings
+ SOURCES := $(shell find . -type f -name *.c)
+ OBJECTS := $(SOURCES:.c=.o)
+ DEPS := $(OBJECTS:.o=.deps)
+
+ t_coffee: $(OBJECTS)
+- @echo " Linking..."; $(CC) $^ -o t_coffee -lm
++ $(CXX) $(CXXFLAGS) $(LDFLAGS) $^ -o t_coffee -lm $(LIBS)
+
+ %.o: %.c
+- @echo " CC $<"; $(CC) $(CFLAGS) -I. -MD -MF $(@:.o=.deps) -c -o $@ $<
++ $(CXX) $(CXXFLAGS) $(CPPFLAGS) -I. -MD -MF $(@:.o=.deps) -c -o $@ $<
+
+ -include $(DEPS)
+
diff --git a/sci-biology/t-coffee/files/t-coffee-11.00-mayhem.patch b/sci-biology/t-coffee/files/t-coffee-11.00-mayhem.patch
new file mode 100644
index 000000000000..cbfeeabc181b
--- /dev/null
+++ b/sci-biology/t-coffee/files/t-coffee-11.00-mayhem.patch
@@ -0,0 +1,25 @@
+Author: Andreas Tille <tille@debian.org>
+Last-Update: Mon, 21 Dec 2015 21:30:36 +0100
+Bug-Debian: https://bugs.debian.org/716373
+Description: Fix Mayhem issue
+ The idea behind this patch is that if there is a problem to set the HOME
+ directories no additional processes can exist and so we should *really*
+ exit. Somehow the printf_exit() function does some logic which ends up
+ in an endless loop and thus forcing the exit will help here.
+ .
+ Unfortunately this does not solve the issue completely since inside the
+ Exit call a "Segmentation fault" happens - so some broken pointer handling
+ seems to happen somewhere before.
+
+--- a/t_coffee_source/util_lib/util.c
++++ b/t_coffee_source/util_lib/util.c
+@@ -4642,7 +4642,8 @@ char *get_home_4_tcoffee ()
+ }
+ else
+ {
+- printf_exit (EXIT_FAILURE, stderr, "ERROR: Could not set a HOME directory.\nSet any of the following environement variables to some suitable location: HOME, HOME_4_TCOFFEE, TMP or TEMP [FATAL:%s]\n", PROGRAM);
++ fprintf(stderr, "ERROR: Could not set a HOME directory.\nSet any of the following environement variables to some suitable location: HOME, HOME_4_TCOFFEE, TMP or TEMP [FATAL:%s]\n", PROGRAM);
++ exit(EXIT_FAILURE);
+ }
+
+
diff --git a/sci-biology/t-coffee/files/t-coffee-11.00-set_proper_dir_permissions.patch b/sci-biology/t-coffee/files/t-coffee-11.00-set_proper_dir_permissions.patch
new file mode 100644
index 000000000000..a3f47cd9fce2
--- /dev/null
+++ b/sci-biology/t-coffee/files/t-coffee-11.00-set_proper_dir_permissions.patch
@@ -0,0 +1,35 @@
+Author: Andreas Tille <tille@debian.org>
+Last-Update: Mon, 21 Dec 2015 21:30:36 +0100
+Bug-Debian: https://bugs.debian.org/751579
+Description: When creating subdirectories in $HOME do not
+ make these world writable but keep users umask
+
+--- a/t_coffee_source/util_lib/util.c
++++ b/t_coffee_source/util_lib/util.c
+@@ -7714,6 +7714,10 @@ int my_mkdir ( char *dir_in)
+ int a, buf;
+ char *dir;
+
++ static char *home = getenv ("HOME");
++ static mode_t oldmask = umask(0);
++ int change_umask = 0;
++ if (strncmp (dir_in, home, strlen(home))==0) change_umask = 1;
+
+ dir=(char*)vcalloc ( strlen (dir_in)+strlen (get_home_4_tcoffee())+100, sizeof (char));
+ sprintf ( dir, "%s", dir_in);
+@@ -7733,10 +7737,11 @@ int my_mkdir ( char *dir_in)
+
+ if (access(dir, F_OK)==-1)
+ {
+- mode_t oldmask = umask(0);
+- mkdir (dir, S_IRWXU | S_IRWXG | S_IRWXO);
+- umask(oldmask);
+-
++ if ( change_umask == 1 ) mkdir (dir, 0777-oldmask);
++ else {
++ mkdir (dir, S_IRWXU | S_IRWXG | S_IRWXO);
++ umask(oldmask);
++ }
+ if ( access (dir, F_OK)==-1)
+ {
+ myexit(fprintf_error ( stderr, "\nERROR: Could Not Create Directory %s [FATAL:%s]", dir, PROGRAM)); }
diff --git a/sci-biology/t-coffee/metadata.xml b/sci-biology/t-coffee/metadata.xml
new file mode 100644
index 000000000000..d8a3ce293dd3
--- /dev/null
+++ b/sci-biology/t-coffee/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ T-Coffee is a multiple sequence alignment package. Given a set of
+ sequences (Proteins or DNA), T-Coffee generates a multiple sequence
+ alignment. Version 2.00 and higher can mix sequences and structures.
+ T-Coffee allows the combination of a collection of multiple/pairwise,
+ global or local alignments into a single model. It also allows to
+ estimate the level of consistency of each position within the new
+ alignment with the rest of the alignments.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/t-coffee/t-coffee-11.00-r3.ebuild b/sci-biology/t-coffee/t-coffee-11.00-r3.ebuild
new file mode 100644
index 000000000000..94ed806184d3
--- /dev/null
+++ b/sci-biology/t-coffee/t-coffee-11.00-r3.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_HASH="4466924"
+MY_PV="${PV}.${MY_HASH}"
+MY_P="${PN^^}_distribution_Version_${MY_PV}"
+
+DESCRIPTION="A multiple sequence alignment package"
+HOMEPAGE="http://www.tcoffee.org/Projects_home_page/t_coffee_home_page.html"
+SRC_URI="http://www.tcoffee.org/Packages/Beta/Latest/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+RDEPEND="
+ sci-biology/clustalw
+ sci-chemistry/tm-align"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-mayhem.patch
+ "${FILESDIR}"/${P}-set_proper_dir_permissions.patch
+ "${FILESDIR}"/${P}-cxx11.patch
+ "${FILESDIR}"/${P}-gcc7.patch
+ "${FILESDIR}"/${P}-makefile.patch
+)
+
+src_configure() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/862327
+ # https://github.com/cbcrg/tcoffee/issues/60
+ #
+ # Do not trust with LTO either
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ tc-export CXX
+ append-cxxflags -Wno-write-strings -Wno-unused-result
+}
+
+src_compile() {
+ emake -C t_coffee_source t_coffee
+}
+
+src_install() {
+ dobin t_coffee_source/t_coffee
+
+ insinto /usr/share/t-coffee
+ doins -r example
+}
diff --git a/sci-biology/tree-puzzle/Manifest b/sci-biology/tree-puzzle/Manifest
new file mode 100644
index 000000000000..f64cd3fa4adf
--- /dev/null
+++ b/sci-biology/tree-puzzle/Manifest
@@ -0,0 +1 @@
+DIST tree-puzzle-5.2.tar.gz 875142 BLAKE2B aa13e9a7aa403c12aebefb94a1931baa8b17cbee56d20011cb06db5a7b1b7f78c719ed6c6bfb0b79e47dc652d7b984415694907fc6cd56bdbe9eebca4aaa96a8 SHA512 5b9a729b120cba59f59ba426acd439cf396826ea01e75361b23387ccb9baf295d2512f21af96071a5f7b7507db4ff4d6b135cf6c5b6233a8b438532d31abe751
diff --git a/sci-biology/tree-puzzle/files/tree-puzzle-5.2-C99-decls.patch b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-C99-decls.patch
new file mode 100644
index 000000000000..98456c0dacc1
--- /dev/null
+++ b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-C99-decls.patch
@@ -0,0 +1,360 @@
+--- a/src/consensus.c
++++ b/src/consensus.c
+@@ -32,7 +32,7 @@
+ /******************************************************************************/
+
+ /* prepare for consensus tree analysis */
+-void initconsensus()
++void initconsensus(void)
+ {
+ # if ! PARALLEL
+ biparts = new_cmatrix(Maxspc-3, Maxspc);
+--- a/src/consensus.h
++++ b/src/consensus.h
+@@ -65,7 +65,7 @@
+ /******************************************************************************/
+
+ /* prepare for consensus tree analysis */
+-void initconsensus();
++void initconsensus(void);
+
+ /* recursive function to get bipartitions */
+ /* traversal should be optimazable (HAS) */
+--- a/src/ml1.c
++++ b/src/ml1.c
+@@ -244,7 +244,7 @@
+ /***************************** exported functions *****************************/
+
+
+-void evaluateseqs()
++void evaluateseqs(void)
+ {
+ ivector ali;
+
+@@ -1018,7 +1018,7 @@
+
+
+ /* compute 1 PAM rate matrix, its eigensystem, and the inverse matrix thereof */
+-void tranprobmat()
++void tranprobmat(void)
+ {
+ eigensystem(Eval, Evec); /* eigensystem of 1 PAM rate matrix */
+ luinverse(Evec, Ievc, tpmradix); /* inverse eigenvectors are in Ievc */
+@@ -1324,7 +1324,7 @@
+
+
+ /* initialize distance matrix */
+-void initdistan()
++void initdistan(void)
+ {
+ int i, j, k, diff, x, y;
+ double obs, temp;
+@@ -1478,7 +1478,7 @@
+
+ #else /* not PARALLEL */
+
+-void computedistan()
++void computedistan(void)
+ {
+ int i, j;
+
+--- a/src/ml2.c
++++ b/src/ml2.c
+@@ -1036,7 +1036,7 @@
+
+
+ /* preparation for ML analysis */
+-void mlstart()
++void mlstart(void)
+ {
+ /* number of states and code length */
+ tpmradix = gettpmradix();
+@@ -1098,7 +1098,7 @@
+
+
+ /* cleanup after ML analysis */
+-void mlfinish()
++void mlfinish(void)
+ {
+ if (Ctree != NULL)
+ free_tree(Ctree, Numspc);
+@@ -1566,7 +1566,7 @@
+ int bestratefound,
+ int ncats) /* numcats */
+ #endif
+-void findbestratecombination()
++void findbestratecombination(void)
+ {
+ int k, u;
+ double bestvalue, fv2;
+@@ -2147,7 +2147,7 @@
+ } /* clock_lklhd */
+
+ /* find out the edge containing the root */
+-int findrootedge()
++int findrootedge(void)
+ {
+ int e, ebest;
+ double logbest, logtest;
+--- a/src/mlparam.c
++++ b/src/mlparam.c
+@@ -70,7 +70,7 @@
+ }
+
+ /* compute rates of each category when rates are Gamma-distributed */
+-void updaterates()
++void updaterates(void)
+ {
+ int i;
+ double alpha;
+@@ -190,7 +190,7 @@
+ }
+
+ /* estimate substitution process parameters - random quartets */
+-void optimseqevolparamsquart()
++void optimseqevolparamsquart(void)
+ {
+ double tsmeanold, yrmeanold;
+ dvector tslist, yrlist;
+@@ -320,7 +320,7 @@
+
+
+ /* optimize substitution process parameters - tree */
+-void optimseqevolparamstree()
++void optimseqevolparamstree(void)
+ {
+ twodimenmin(EPSILON_SUBSTPARAM,
+ (SH_optn || nuc_optn) && optim_optn && (data_optn == 0),
+@@ -379,7 +379,7 @@
+
+
+ /* optimize rate heterogeneity parameters */
+-void optimrateparams()
++void optimrateparams(void)
+ {
+ twodimenmin(EPSILON_RATEPARAM,
+ fracinv_optim,
+@@ -396,7 +396,7 @@
+
+ /* estimate parameters of substitution process and rate heterogeneity - no tree
+ n-taxon tree is not needed because of quartet method or NJ tree topology */
+-void estimateparametersnotree()
++void estimateparametersnotree(void)
+ {
+ int it, nump, change;
+ double TSold, YRold, FIold, GEold;
+@@ -495,7 +495,7 @@
+
+ /* estimate parameters of substitution process and rate heterogeneity - tree
+ same as above but here the n-taxon tree is already in memory */
+-void estimateparameterstree()
++void estimateparameterstree(void)
+ {
+ int it, nump, change;
+ double TSold, YRold, FIold, GEold;
+--- a/src/model1.c
++++ b/src/model1.c
+@@ -31,7 +31,7 @@
+ #include "ml.h"
+
+ /* number of states of the selected model */
+-int gettpmradix()
++int gettpmradix(void)
+ {
+ if (data_optn == 0) { /* nucleotides */
+ if (nuc_optn) return 4;
+--- a/src/puzzle1.c
++++ b/src/puzzle1.c
+@@ -345,7 +345,7 @@
+ /******************************************************************************/
+
+ /* compute TN parameters according to F84 Ts/Tv ratio */
+-void makeF84model()
++void makeF84model(void)
+ {
+ double rho, piA, piC, piG, piT, piR, piY, ts, yr;
+
+@@ -390,7 +390,7 @@
+ } /* makeF84model */
+
+ /* compute number of quartets used in LM analysis */
+-void compnumqts()
++void compnumqts(void)
+ {
+ if (lmqts == 0) {
+ if (numclust == 4)
+@@ -407,7 +407,7 @@
+ } /* compnumqts */
+
+ /* set options interactively */
+-void setoptions()
++void setoptions(void)
+ {
+ int i, valid;
+ double sumfreq;
+@@ -1718,7 +1718,7 @@
+ } /* closefile */
+
+ /* symmetrize doublet frequencies */
+-void symdoublets()
++void symdoublets(void)
+ {
+ int i, imean;
+ double mean;
+@@ -1769,7 +1769,7 @@
+ } /* symdoublets */
+
+ /* show Ts/Tv ratio and Ts Y/R ratio */
+-void computeexpectations()
++void computeexpectations(void)
+ {
+ double AlphaYBeta, AlphaRBeta, piR, piY, num, denom, pyr, pur;
+
+@@ -4604,7 +4604,7 @@
+ /* Reconstruct a tree with QP */
+ /* (parameter estimation already done) */
+
+-void recon_tree()
++void recon_tree(void)
+ {
+ int i;
+ unsigned char tmpweight;
+@@ -4848,7 +4848,7 @@
+
+ /***************************************************************/
+
+-void map_lklhd()
++void map_lklhd(void)
+ {
+ int i, a, a1, a2, b, b1, b2, c, c1, c2, d;
+ uli nq;
+@@ -5101,7 +5101,7 @@
+
+ /***************************************************************/
+
+-void setdefaults() {
++void setdefaults(void) {
+
+ strcpy(INFILE, INFILEDEFAULT);
+ strcpy(OUTFILE, OUTFILEDEFAULT);
+@@ -6027,7 +6027,7 @@
+
+ /***************************************************************/
+
+-void memcleanup() {
++void memcleanup(void) {
+ if (puzzlemode == QUARTPUZ && typ_optn == TREERECON_OPTN) {
+ free(splitfreqs);
+ free(splitpatterns);
+--- a/src/puzzle2.c
++++ b/src/puzzle2.c
+@@ -860,7 +860,7 @@
+
+
+ /* estimate mean base frequencies from translated data set */
+-void estimatebasefreqs()
++void estimatebasefreqs(void)
+ {
+ int tpmradix, i, j;
+ uli all, *gene;
+@@ -903,7 +903,7 @@
+
+
+ /* guess model of substitution */
+-void guessmodel()
++void guessmodel(void)
+ {
+ double c1, c2, c3, c4, c5, c6;
+ dvector f;
+@@ -1160,7 +1160,7 @@
+ } /* callocquartets */
+
+ /* free quartet memory */
+-void freequartets()
++void freequartets(void)
+ {
+ free(quartetinfo);
+ } /* freequartets */
+@@ -1357,7 +1357,7 @@
+ /*************************/
+
+ /* checks out all possible quartets */
+-void computeallquartets()
++void computeallquartets(void)
+ {
+ double onethird;
+ uli nq;
+--- a/src/sprng/makeseed.c
++++ b/src/sprng/makeseed.c
+@@ -1,10 +1,6 @@
+ #include <time.h>
+
+-#ifdef __STDC__
+-int make_new_seed()
+-#else
+-int make_new_seed()
+-#endif
++int make_new_seed(void)
+ {
+ time_t tp;
+ struct tm *temp;
+--- a/src/sprng/primes-lcg64.c
++++ b/src/sprng/primes-lcg64.c
+@@ -1,5 +1,6 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <string.h>
+ #include "primes-lcg64.h"
+ #include "primelist-lcg64.h"
+
+--- a/src/treesort.c
++++ b/src/treesort.c
+@@ -487,7 +487,7 @@
+ /**********/
+
+ /* malloc new tree list item */
+-treelistitemtype *gettreelistitem()
++treelistitemtype *gettreelistitem(void)
+ {
+ treelistitemtype *tmpptr;
+ tmpptr = (treelistitemtype *)calloc((size_t) 1, sizeof(treelistitemtype));
+--- a/src/treesort.h
++++ b/src/treesort.h
+@@ -84,7 +84,7 @@
+ /**********/
+
+ /* allocate memory for ctree 3 ints pointer plus 1 check byte */
+-int *initctree();
++int *initctree(void);
+
+ /**********/
+
+@@ -174,7 +174,7 @@
+ /**********/
+
+ /* malloc new tree list item */
+-treelistitemtype *gettreelistitem();
++treelistitemtype *gettreelistitem(void);
+
+ /**********/
+
+--- a/src/util.c
++++ b/src/util.c
+@@ -507,7 +507,7 @@
+ #define EPS 1.2e-7
+ #define RNMX (1.0-EPS)
+
+-double randomunitintervall()
++double randomunitintervall(void)
+ /* Long period (> 2e18) random number generator. Returns a uniform random
+ deviate between 0.0 and 1.0 (exclusive of endpoint values).
+
+@@ -734,7 +734,7 @@
+ /* Reads characters from stdin until a newline character or EOF
+ is received. The newline is not made part of the string.
+ If an error occurs a null string \0 is returned */
+-cvector mygets()
++cvector mygets(void)
+ {
+ int c, n;
+ cvector str;
diff --git a/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch
new file mode 100644
index 000000000000..66e3e6482338
--- /dev/null
+++ b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-MPI-3.0.patch
@@ -0,0 +1,362 @@
+https://bugs.gentoo.org/690900
+rename MPI 1.0 to 3.0+ functions:
+- MPI_Address -> MPI_Get_address
+- MPI_Type_struct -> MPI_Type_create_struct
+
+--- a/src/ppuzzle.c
++++ b/src/ppuzzle.c
+@@ -297,13 +297,13 @@
+ else MPI_Recv(&dummy, 0, MPI_INT, PP_MyMaster, PP_UPDATEEEI, PP_Comm, &stat);
+
+ Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = tpmradix;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[0]));
+ Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = tpmradix * tpmradix;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[1]));
+ Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = tpmradix * tpmradix;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[2]));
+
+- MPI_Type_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(3, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ MPI_Bcast (MPI_BOTTOM, 1, PP_Data, PP_MyMaster, PP_Comm);
+@@ -341,19 +341,19 @@
+ double* DMVector = new_dvector(jobs);
+
+ Dtypes[0] = MPI_DOUBLE; Dtypelens[0] = jobs;
+- MPI_Address(&(DMVector[0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(DMVector[0]), &(Dtypeaddr[0]));
+ Dtypes[1] = MPI_DOUBLE; Dtypelens[1] = numcats;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[1]));
+ Dtypes[2] = MPI_DOUBLE; Dtypelens[2] = 1;
+- MPI_Address(&(fracinv), &(Dtypeaddr[2]));
++ MPI_Get_address(&(fracinv), &(Dtypeaddr[2]));
+ Dtypes[3] = MPI_DOUBLE; Dtypelens[3] = tpmradix;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[3]));
+ Dtypes[4] = MPI_DOUBLE; Dtypelens[4] = tpmradix * tpmradix;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[4]));
+ Dtypes[5] = MPI_DOUBLE; Dtypelens[5] = tpmradix * tpmradix;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[5]));
+
+- MPI_Type_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(6, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ if (PP_IamMaster) {
+@@ -719,10 +719,10 @@
+ #endif
+ doubles[0] = frconst;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
+ MPI_Type_commit(&PP_Sizes);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -797,10 +797,10 @@
+ fprintf(STDOUT, "(%2d) Receiving Sizes ...\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Sizes);
+ MPI_Type_commit(&PP_Sizes);
+
+ error = MPI_Probe(PP_MyMaster, MPI_ANY_TAG, PP_Comm, &stat);
+@@ -889,31 +889,31 @@
+ # endif /* PVERBOSE2 */
+
+ Dtypes [0] = MPI_CHAR; Dtypelens [0] = Maxspc * Numptrn;
+- MPI_Address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
+ Dtypes [1] = MPI_INT; Dtypelens [1] = Maxsite ;
+- MPI_Address(&(Alias[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Alias[0]), &(Dtypeaddr[1]));
+ Dtypes [2] = MPI_INT; Dtypelens [2] = Numptrn ;
+- MPI_Address(&(Weight[0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Weight[0]), &(Dtypeaddr[2]));
+ Dtypes [3] = MPI_INT; Dtypelens [3] = Numptrn ;
+- MPI_Address(&(constpat[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(constpat[0]), &(Dtypeaddr[3]));
+ Dtypes [4] = MPI_DOUBLE; Dtypelens [4] = numcats ;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[4]));
+ Dtypes [5] = MPI_DOUBLE; Dtypelens [5] = tpmradix ;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[5]));
+ Dtypes [6] = MPI_DOUBLE; Dtypelens [6] = tpmradix ;
+- MPI_Address(&(Freqtpm[0]), &(Dtypeaddr[6]));
++ MPI_Get_address(&(Freqtpm[0]), &(Dtypeaddr[6]));
+ Dtypes [7] = MPI_DOUBLE; Dtypelens [7] = tpmradix * tpmradix ;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[7]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[7]));
+ Dtypes [8] = MPI_DOUBLE; Dtypelens [8] = tpmradix * tpmradix ;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[8]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[8]));
+ Dtypes [9] = MPI_DOUBLE; Dtypelens [9] = tpmradix * tpmradix ;
+- MPI_Address(&(iexp[0][0]), &(Dtypeaddr[9]));
++ MPI_Get_address(&(iexp[0][0]), &(Dtypeaddr[9]));
+ Dtypes [10] = MPI_DOUBLE; Dtypelens [10] = Maxspc * Maxspc ;
+- MPI_Address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
++ MPI_Get_address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
+ Dtypes [11] = MPI_DOUBLE; Dtypelens [11] = numcats * tpmradix * tpmradix ;
+- MPI_Address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
++ MPI_Get_address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
+
+- MPI_Type_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+
+@@ -984,31 +984,31 @@
+ # endif /* PVERBOSE2 */
+
+ Dtypes [0] = MPI_CHAR; Dtypelens [0] = Maxspc * Numptrn;
+- MPI_Address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
++ MPI_Get_address(&(Seqpat[0][0]), &(Dtypeaddr[0]));
+ Dtypes [1] = MPI_INT; Dtypelens [1] = Maxsite ;
+- MPI_Address(&(Alias[0]), &(Dtypeaddr[1]));
++ MPI_Get_address(&(Alias[0]), &(Dtypeaddr[1]));
+ Dtypes [2] = MPI_INT; Dtypelens [2] = Numptrn ;
+- MPI_Address(&(Weight[0]), &(Dtypeaddr[2]));
++ MPI_Get_address(&(Weight[0]), &(Dtypeaddr[2]));
+ Dtypes [3] = MPI_INT; Dtypelens [3] = Numptrn ;
+- MPI_Address(&(constpat[0]), &(Dtypeaddr[3]));
++ MPI_Get_address(&(constpat[0]), &(Dtypeaddr[3]));
+ Dtypes [4] = MPI_DOUBLE; Dtypelens [4] = numcats ;
+- MPI_Address(&(Rates[0]), &(Dtypeaddr[4]));
++ MPI_Get_address(&(Rates[0]), &(Dtypeaddr[4]));
+ Dtypes [5] = MPI_DOUBLE; Dtypelens [5] = tpmradix ;
+- MPI_Address(&(Eval[0]), &(Dtypeaddr[5]));
++ MPI_Get_address(&(Eval[0]), &(Dtypeaddr[5]));
+ Dtypes [6] = MPI_DOUBLE; Dtypelens [6] = tpmradix ;
+- MPI_Address(&(Freqtpm[0]), &(Dtypeaddr[6]));
++ MPI_Get_address(&(Freqtpm[0]), &(Dtypeaddr[6]));
+ Dtypes [7] = MPI_DOUBLE; Dtypelens [7] = tpmradix * tpmradix ;
+- MPI_Address(&(Evec[0][0]), &(Dtypeaddr[7]));
++ MPI_Get_address(&(Evec[0][0]), &(Dtypeaddr[7]));
+ Dtypes [8] = MPI_DOUBLE; Dtypelens [8] = tpmradix * tpmradix ;
+- MPI_Address(&(Ievc[0][0]), &(Dtypeaddr[8]));
++ MPI_Get_address(&(Ievc[0][0]), &(Dtypeaddr[8]));
+ Dtypes [9] = MPI_DOUBLE; Dtypelens [9] = tpmradix * tpmradix ;
+- MPI_Address(&(iexp[0][0]), &(Dtypeaddr [9]));
++ MPI_Get_address(&(iexp[0][0]), &(Dtypeaddr [9]));
+ Dtypes [10] = MPI_DOUBLE; Dtypelens [10] = Maxspc * Maxspc ;
+- MPI_Address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
++ MPI_Get_address(&(Distanmat[0][0]), &(Dtypeaddr[10]));
+ Dtypes [11] = MPI_DOUBLE; Dtypelens [11] = numcats * tpmradix * tpmradix ;
+- MPI_Address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
++ MPI_Get_address(&(ltprobr[0][0][0]), &(Dtypeaddr[11]));
+
+- MPI_Type_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
++ MPI_Type_create_struct(12, Dtypelens, Dtypeaddr, Dtypes, &PP_Data);
+ MPI_Type_commit(&PP_Data);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -1150,10 +1150,10 @@
+ ints[4] = usebestq;
+ ints[5] = approx;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
+ MPI_Type_commit(&PP_Quart);
+
+ # ifdef PVERBOSE2
+@@ -1201,10 +1201,10 @@
+
+ PP_quartrecved++;
+ PP_quartrecvedn++;
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Quart);
+ MPI_Type_commit(&PP_Quart);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_Quart, MPI_ANY_SOURCE, PP_QUART, PP_Comm, &stat);
+@@ -1368,10 +1368,10 @@
+ ulis[5] = fullresqs; /* number of fully resolved quartets */
+ ulis[6] = missingqs; /* number of missing quartets */
+
+- MPI_Address(ulis, Dtypeaddr);
+- MPI_Address(ints, (Dtypeaddr+1));
++ MPI_Get_address(ulis, Dtypeaddr);
++ MPI_Get_address(ints, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
+ MPI_Type_commit(&PP_QBlockSpecs);
+
+ # ifdef PVERBOSE2
+@@ -1384,12 +1384,12 @@
+ fprintf(STDOUT, "(%2d) ... Sent QuartBlockSpecs (%ld, %ld, %ld, %d)\n", PP_Myid, ulis[0], ulis[1], ulis[2], ints[0]);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(trueaddr, DtypeaddrRes);
++ MPI_Get_address(trueaddr, DtypeaddrRes);
+ DtypelensRes[0] = truenum;
+
+- MPI_Address(bq, (DtypeaddrRes + 1));
++ MPI_Get_address(bq, (DtypeaddrRes + 1));
+ DtypelensRes[1] = numofbq;
+- MPI_Type_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
++ MPI_Type_create_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
+ MPI_Type_commit(&PP_QBlockRes);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_QBlockRes, PP_MyMaster, PP_QUARTBLOCK, PP_Comm);
+@@ -1455,10 +1455,10 @@
+ # ifdef PVERBOSE3
+ fprintf(STDOUT, "(%2d) Receiving QuartBlock ...\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+- MPI_Address(ulis, Dtypeaddr);
+- MPI_Address(ints, (Dtypeaddr+1));
++ MPI_Get_address(ulis, Dtypeaddr);
++ MPI_Get_address(ints, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_QBlockSpecs);
+ MPI_Type_commit(&PP_QBlockSpecs);
+
+ MPI_Probe(MPI_ANY_SOURCE, PP_QUARTBLOCKSPECS, PP_Comm, &stat);
+@@ -1486,13 +1486,13 @@
+ # endif /* PVERBOSE3 */
+
+ DtypelensRes[0] = truenum;
+- MPI_Address(trueaddr, DtypeaddrRes);
++ MPI_Get_address(trueaddr, DtypeaddrRes);
+
+ bq = calloc((size_t) *numofbq, sizeof(uli));
+
+ DtypelensRes[1] = *numofbq;
+- MPI_Address(bq, (DtypeaddrRes+1));
+- MPI_Type_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
++ MPI_Get_address(bq, (DtypeaddrRes+1));
++ MPI_Type_create_struct(2, DtypelensRes, DtypeaddrRes, DtypesRes, &PP_QBlockRes);
+ MPI_Type_commit(&PP_QBlockRes);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_QBlockRes, dest, PP_QUARTBLOCK, PP_Comm, &stat);
+@@ -1637,8 +1637,8 @@
+ Dtypelens[0] = (Numquartets + 1)/2;
+ }
+
+- MPI_Address(&(quartetinfo[0]), Dtypeaddr);
+- MPI_Type_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
++ MPI_Get_address(&(quartetinfo[0]), Dtypeaddr);
++ MPI_Type_create_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
+ MPI_Type_commit(&PP_AllQuarts);
+
+ for (dest=1; dest<PP_NumProcs; dest++) {
+@@ -1686,8 +1686,8 @@
+ Dtypelens[0] = (*Numquartets + 1)/2;
+ }
+
+- MPI_Address(&(quartetinfo[0]), Dtypeaddr);
+- MPI_Type_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
++ MPI_Get_address(&(quartetinfo[0]), Dtypeaddr);
++ MPI_Type_create_struct(1, Dtypelens, Dtypeaddr, Dtypes, &PP_AllQuarts);
+ MPI_Type_commit(&PP_AllQuarts);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_AllQuarts, PP_MyMaster, PP_ALLQUARTS, PP_Comm, &stat);
+@@ -1748,13 +1748,13 @@
+ for (n=0; n<(int)blocksize; n++) {
+ Dtypes[n] = MPI_CHAR;
+ Dtypelens[n] = (taxa - 3) * taxa;
+- MPI_Address(&(biparts[n][0][0]), &(Dtypeaddr[n]));
++ MPI_Get_address(&(biparts[n][0][0]), &(Dtypeaddr[n]));
+ }
+ pstptr = pstlist;
+ for (n=0; n<pstnum; n++) {
+ Dtypes[(int)blocksize + n] = MPI_CHAR;
+ Dtypelens[(int)blocksize + n] = psteptreestrlen;
+- MPI_Address((*pstptr).tree, &(Dtypeaddr[(int)blocksize + n]));
++ MPI_Get_address((*pstptr).tree, &(Dtypeaddr[(int)blocksize + n]));
+ pstnumarr[n] = (*pstptr).count;
+ # ifdef PVERBOSE3
+ fprintf(STDOUT, "(%2d) Sent tree item ->%d: [%d/%d] #=%d \"%s\"\n",
+@@ -1764,9 +1764,9 @@
+ }
+ Dtypes[((int)blocksize + pstnum)] = MPI_INT;
+ Dtypelens[((int)blocksize + pstnum)] = pstnum;
+- MPI_Address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)]));
++ MPI_Get_address(&(pstnumarr[0]), &(Dtypeaddr[((int)blocksize + pstnum)]));
+
+- MPI_Type_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
++ MPI_Type_create_struct(((int)blocksize + pstnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
+ MPI_Type_commit(&PP_Biparts);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_Biparts, PP_MyMaster, PP_PUZZLEBLOCK, PP_Comm);
+@@ -1843,20 +1843,20 @@
+ (*bip)[n] = new_cmatrix(*taxa - 3, *taxa);
+ Dtypes[n] = MPI_CHAR;
+ Dtypelens[n] = (*taxa - 3) * *taxa;
+- MPI_Address(&((*bip)[n][0][0]), &(Dtypeaddr[n]));
++ MPI_Get_address(&((*bip)[n][0][0]), &(Dtypeaddr[n]));
+ }
+ for (n=0; n<pstlistnum; n++) {
+ pstarr[n] = (char *)calloc((size_t) psteptreestrlen, sizeof(char));
+ Dtypes[(int)*blocksize + n] = MPI_CHAR;
+ Dtypelens[(int)*blocksize + n] = psteptreestrlen;
+- MPI_Address(&(pstarr[n][0]), &(Dtypeaddr[(int)*blocksize + n]));
++ MPI_Get_address(&(pstarr[n][0]), &(Dtypeaddr[(int)*blocksize + n]));
+ }
+
+ Dtypes[(int)*blocksize + pstlistnum] = MPI_INT;
+ Dtypelens[(int)*blocksize + pstlistnum] = pstlistnum;
+- MPI_Address(&(pstnumarr[0]), &(Dtypeaddr[(int)*blocksize + pstlistnum]));
++ MPI_Get_address(&(pstnumarr[0]), &(Dtypeaddr[(int)*blocksize + pstlistnum]));
+
+- MPI_Type_struct(((int)*blocksize + pstlistnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
++ MPI_Type_create_struct(((int)*blocksize + pstlistnum + 1), Dtypelens, Dtypeaddr, Dtypes, &PP_Biparts);
+ MPI_Type_commit(&PP_Biparts);
+
+ error = MPI_Recv(MPI_BOTTOM, 1, PP_Biparts, dest, PP_PUZZLEBLOCK, PP_Comm, &stat);
+@@ -2053,10 +2053,10 @@
+ fprintf(STDOUT, "(%2d) ... Sent DONE Signal\n", PP_Myid);
+ # endif /* PVERBOSE3 */
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
+ MPI_Type_commit(&PP_Stats);
+
+ doquartrecved[0] = 0;
+@@ -2173,10 +2173,10 @@
+ doubles[4] = tarr.cpu;
+ doubles[5] = tarr.time;
+
+- MPI_Address(ints, Dtypeaddr);
+- MPI_Address(doubles, (Dtypeaddr+1));
++ MPI_Get_address(ints, Dtypeaddr);
++ MPI_Get_address(doubles, (Dtypeaddr+1));
+
+- MPI_Type_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
++ MPI_Type_create_struct(2, Dtypelens, Dtypeaddr, Dtypes, &PP_Stats);
+ MPI_Type_commit(&PP_Stats);
+
+ error = MPI_Ssend(MPI_BOTTOM, 1, PP_Stats, PP_MyMaster, PP_STATS, PP_Comm);
diff --git a/sci-biology/tree-puzzle/files/tree-puzzle-5.2-configure-c99.patch b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-configure-c99.patch
new file mode 100644
index 000000000000..8c3834136af1
--- /dev/null
+++ b/sci-biology/tree-puzzle/files/tree-puzzle-5.2-configure-c99.patch
@@ -0,0 +1,20 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -33,7 +33,7 @@ int main (int argc, char **argv)
+ {
+ MPI_Init(&argc,&argv);
+ MPI_Finalize();
+-exit(0);
++return 0;
+ }
+ EOF
+
+@@ -105,7 +105,7 @@ cat > conftest.c <<EOF
+ int main (int argc, char **argv)
+ {
+ printf ("%s-%s", PACKAGE, VERSION);
+-exit(0);
++return 0;
+ }
+ EOF
+
diff --git a/sci-biology/tree-puzzle/metadata.xml b/sci-biology/tree-puzzle/metadata.xml
new file mode 100644
index 000000000000..ddf3be6e8e5f
--- /dev/null
+++ b/sci-biology/tree-puzzle/metadata.xml
@@ -0,0 +1,29 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ TREE-PUZZLE is a computer program to reconstruct phylogenetic trees
+ from molecular sequence data by maximum likelihood. It implements a
+ fast tree search algorithm, quartet puzzling, that allows analysis of
+ large data sets and automatically assigns estimations of support to
+ each internal branch. TREE-PUZZLE also computes pairwise maximum
+ likelihood distances as well as branch lengths for user specified
+ trees. Branch lengths can be calculated under the clock-assumption. In
+ addition, TREE-PUZZLE offers a novel method, likelihood mapping, to
+ investigate the support of a hypothesized internal branch without
+ computing an overall tree and to visualize the phylogenetic content of
+ a sequence alignment. TREE-PUZZLE also conducts a number of statistical
+ tests on the data set (chi-square test for homogeneity of base
+ composition, likelihood ratio clock test, Kishino-Hasegawa test). The
+ models of substitution provided by TREE-PUZZLE are TN, HKY, F84, SH for
+ nucleotides, Dayhoff, JTT, mtREV24, VT, WAG, BLOSUM 62 for amino acids,
+ and F81 for two-state data. Rate heterogeneity is modeled by a discrete
+ Gamma distribution and by allowing invariable sites. The corresponding
+ parameters can be inferred from the data set.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/tree-puzzle/tree-puzzle-5.2-r1.ebuild b/sci-biology/tree-puzzle/tree-puzzle-5.2-r1.ebuild
new file mode 100644
index 000000000000..f92bac116720
--- /dev/null
+++ b/sci-biology/tree-puzzle/tree-puzzle-5.2-r1.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Maximum likelihood analysis for nucleotide, amino acid, and two-state data"
+HOMEPAGE="http://www.tree-puzzle.de"
+SRC_URI="http://www.tree-puzzle.de/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+IUSE="mpi"
+RESTRICT="test"
+
+DEPEND="mpi? ( virtual/mpi )"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-C99-decls.patch
+ "${FILESDIR}"/${P}-MPI-3.0.patch
+ "${FILESDIR}"/${P}-configure-c99.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ default
+
+ if ! use mpi; then
+ sed \
+ -e 's:bin_PROGRAMS = puzzle$(EXEEXT) ppuzzle:bin_PROGRAMS = puzzle :' \
+ -e 's:DIST_SOURCES = $(ppuzzle_SOURCES) $(puzzle_SOURCES):DIST_SOURCES = $(puzzle_SOURCES):' \
+ -i src/Makefile || die
+ fi
+}
+
+src_compile() {
+ # hopelessly terrible build system, abuses Automake
+ emake -j1
+}
+
+src_install() {
+ dobin src/puzzle $(usev mpi src/ppuzzle)
+
+ einstalldocs
+
+ # User manual
+ dodoc doc/tree-puzzle.pdf
+
+ # Example data files
+ insinto /usr/share/${PN}/data
+ rm data/Makefile* || die
+ doins -r data/.
+}
diff --git a/sci-biology/trf/Manifest b/sci-biology/trf/Manifest
new file mode 100644
index 000000000000..a2d958884254
--- /dev/null
+++ b/sci-biology/trf/Manifest
@@ -0,0 +1 @@
+DIST trf404.linux 89853 BLAKE2B 36abf95c88a5b8793e875a276f1494af4df48ff3b3f095e07683589d84eaadfb54099c1764dcd437158c356dcd9d55dd274e7e41515ef098ee2a929493cc0d83 SHA512 c1aa05e394d47ea153df3082258f9a089aa59976963e9ac5d5816ef9dcd95c47e2e46861d1b2aae52b5ea9950a823a2449dd0d8426b04f2b738f5552c319393e
diff --git a/sci-biology/trf/metadata.xml b/sci-biology/trf/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/trf/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/trf/trf-4.04-r2.ebuild b/sci-biology/trf/trf-4.04-r2.ebuild
new file mode 100644
index 000000000000..79558a9d9f11
--- /dev/null
+++ b/sci-biology/trf/trf-4.04-r2.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}404"
+
+DESCRIPTION="Tandem Repeats Finder"
+HOMEPAGE="https://tandem.bu.edu/trf/trf.html"
+SRC_URI="https://tandem.bu.edu/trf/downloads/${MY_P}.linux"
+S="${WORKDIR}"
+
+LICENSE="trf" # http://tandem.bu.edu/trf/trf.license.html
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="mirror bindist"
+
+QA_PREBUILT="opt/trf/.*"
+
+src_unpack() {
+ cp "${DISTDIR}"/${MY_P}.linux "${S}"/${MY_P}.linux.exe || die
+}
+
+src_install() {
+ exeinto /opt/trf
+ doexe trf404.linux.exe
+ dosym ../trf/${MY_P}.linux.exe /opt/bin/trf
+}
diff --git a/sci-biology/trnascan-se/Manifest b/sci-biology/trnascan-se/Manifest
new file mode 100644
index 000000000000..69853b0907be
--- /dev/null
+++ b/sci-biology/trnascan-se/Manifest
@@ -0,0 +1 @@
+DIST trnascan-se-1.31.tar.gz 740960 BLAKE2B 995bfb7ad9f9d46543f15a36134aaec6c27921144c8900a323dbd6152f25e1faa587b5c817dcb8cb838dc1fde8ec7537e5fd6ca8930a4dd1aaadce41c575d651 SHA512 ba55bc8dfa7e5aee9c9a86c135a55b767cda083b74668bd9af4aaaeb693f9c3a17dc8bade5793de12b775564f09fbb861b0ab4f25bf83ccb0954fecd01bb328d
diff --git a/sci-biology/trnascan-se/files/trnascan-se-1.31-clang16.patch b/sci-biology/trnascan-se/files/trnascan-se-1.31-clang16.patch
new file mode 100644
index 000000000000..33889c90cf69
--- /dev/null
+++ b/sci-biology/trnascan-se/files/trnascan-se-1.31-clang16.patch
@@ -0,0 +1,62 @@
+https://bugs.gentoo.org/874477
+--- a/eufind_main.c
++++ b/eufind_main.c
+@@ -23,4 +23,5 @@
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include "squid.h"
+ #include "sqfuncs.h"
+@@ -47,4 +48,14 @@
+ -i <integer> : start nucleotide numbering at <integer> (def=1)\n\n";
+
++int GetBbox(float*, int*, char*, int, int, int);
++int GetBestABox(TRNA_TYPE*, char*, char*, int, int, int, int, int);
++int GetBestTrxTerm(TRNA_TYPE*, char*, int, float);
++int GetSecABox(TRNA_TYPE*, char*);
++void Get_tRNA_stats(TRNA_TYPE*, char*, int, int);
++int Init_tRNA(TRNA_TYPE*);
++int IntEncodeSeq(char*, char*, int);
++void Save_tRNA(TRNA_TYPE*, SQINFO*, char*, int, int, long int);
++int tRNAOverlap(TRNA_TYPE*, TRNA_TYPE*, int);
++
+ int
+ main (int argc, char **argv)
+--- a/scan_main.c
++++ b/scan_main.c
+@@ -8,4 +8,5 @@
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <time.h>
+ #include <math.h>
+--- a/score_main.c
++++ b/score_main.c
+@@ -10,4 +10,5 @@
+ #include <stdlib.h>
+ #include <string.h>
++#include <unistd.h>
+ #include <time.h>
+ #include <math.h>
+--- a/trnascan.c
++++ b/trnascan.c
+@@ -69,4 +69,5 @@
+ #include <stdio.h>
+ #include <stdlib.h>
++#include <unistd.h>
+ #include <ctype.h>
+
+@@ -333,5 +334,5 @@
+ );
+
+-main(int argc, char **argv)
++int main(int argc, char **argv)
+ {
+ /* pointers to the different files fpi=input file, fpo=output file,
+@@ -1419,5 +1420,5 @@
+ /* Calls to this function eliminated for efficiency T. Lowe 11/95 */
+
+-myindex (char *s, char *t)
++int myindex (char *s, char *t)
+ {
+ int i, j, k;
diff --git a/sci-biology/trnascan-se/files/trnascan-se-1.31-makefile.patch b/sci-biology/trnascan-se/files/trnascan-se-1.31-makefile.patch
new file mode 100644
index 000000000000..acf3c2a6d862
--- /dev/null
+++ b/sci-biology/trnascan-se/files/trnascan-se-1.31-makefile.patch
@@ -0,0 +1,140 @@
+--- a/Makefile
++++ b/Makefile
+@@ -20,9 +20,9 @@
+ PERLBIN = perl
+
+ ## where you want things installed
+-BINDIR = $(HOME)/bin
+-LIBDIR = $(HOME)/lib/tRNAscan-SE
+-MANDIR = $(HOME)/man
++BINDIR = $(EPREFIX)/usr/bin
++LIBDIR = $(EPREFIX)/usr/share/trnascan-se
++MANDIR = $(EPREFIX)/usr/share/man
+
+ ## NOTE !! If you later manually move the location of
+ ## binaries or data files in the BINDIR or LIBDIR directories,
+@@ -33,10 +33,8 @@
+ TEMPDIR = /tmp
+
+ ## your compiler
+-CC = gcc # GNU cc (if available) otherwise use vendor's cc
+
+ ## any special compiler flags you want
+-CFLAGS = -O # ok for most machines (remove -O for DEC OSF/1 cc compiler)
+
+ ## machine specific definitions
+ # You shouldn't need any. The specific #define's in squid are historical.
+@@ -58,7 +56,7 @@
+ #######
+
+ SHELL = /bin/sh
+-LIBS = -lm
++LIBS += -lm
+ .SUFFIXES : .c .o
+
+ DOCS = README MANUAL INSTALL COPYING GNULICENSE FILES Release.history
+@@ -109,20 +107,20 @@
+ all: $(PROGS) tRNAscan-SE setpaths
+
+ covels-SE: $(OBJ) scan_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o covels-SE scan_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o covels-SE scan_main.o $(OBJ) $(LIBS)
+
+ coves-SE: $(OBJ) score_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o coves-SE score_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o coves-SE score_main.o $(OBJ) $(LIBS)
+
+ eufindtRNA: $(SQUIDOBJ) pavesi.o eufind_main.o
+- $(CC) $(CFLAGS) -o eufindtRNA eufind_main.o \
++ $(CC) $(LDFLAGS) $(CFLAGS) -o eufindtRNA eufind_main.o \
+ pavesi.o $(SQUIDOBJ) $(LIBS)
+
+-trnascan-1.4: trnascan.o
+- $(CC) $(CFLAGS) -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4 trnascan.c
++trnascan-1.4: trnascan.c
++ $(CC) $(LDFLAGS) $(CFLAGS) $(CPPFLAGS) -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4 trnascan.c
+
+ tRNAscan-SE:
+- $(PERLDIR)/$(PERLBIN) checkversion.pl
++ $(PERLBIN) checkversion.pl
+ sed 's#/tmp#$(TEMPDIR)#g' tRNAscan-SE.src | \
+ sed 's#bindir = ""#bindir =\"$(BINDIR)/"#g' | \
+ sed 's#/usr/local/lib/tRNAscanSE#$(LIBDIR)#g' | \
+@@ -200,11 +198,11 @@
+ noambig: trnascan-1.4-NA eufindtRNA-NA
+
+ trnascan-1.4-NA: trnascan.o
+- $(CC) $(CFLAGS) -DNO_AMBIG -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4-NA trnascan.c
++ $(CC) $(LDFLAGS) $(CFLAGS) $(CPPFLAGS) -DNO_AMBIG -DTSCANDIR=\"$(LIBDIR)\" -o trnascan-1.4-NA trnascan.c
+
+ eufindtRNA-NA: $(SQUIDOBJ) eufind_main.o
+- $(CC) $(CFLAGS) -DNO_AMBIG -c -o pavesi-NA.o pavesi.c
+- $(CC) $(CFLAGS) -o eufindtRNA-NA eufind_main.o \
++ $(CC) $(CFLAGS) $(CPPFLAGS) -DNO_AMBIG -c -o pavesi-NA.o pavesi.c
++ $(CC) $(LDFLAGS) $(CFLAGS) -o eufindtRNA-NA eufind_main.o \
+ pavesi-NA.o $(SQUIDOBJ) $(LIBS)
+
+
+@@ -220,7 +218,7 @@
+ rmdir -ps $(MANDIR)
+
+ .c.o:
+- $(CC) $(CFLAGS) $(MDEFS) -c $<
++ $(CC) $(CFLAGS) $(CPPFLAGS) $(MDEFS) -c $<
+
+ ## programs from Sean Eddy's sequence i/o function library not
+ ## needed for tRNAscan-SE but included for their utility
+@@ -233,16 +231,16 @@
+ cp $(UTILS) $(BINDIR)/.
+
+ reformat: $(SQUIDOBJ) reformat_main.o
+- $(CC) $(CFLAGS) $(MDEFS) -o reformat $(SQUIDOBJ) reformat_main.o $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(MDEFS) -o reformat $(SQUIDOBJ) reformat_main.o $(LIBS)
+
+ revcomp: $(SQUIDOBJ) revcomp_main.o
+- $(CC) $(CFLAGS) $(MDEFS) -o revcomp $(SQUIDOBJ) revcomp_main.o $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(MDEFS) -o revcomp $(SQUIDOBJ) revcomp_main.o $(LIBS)
+
+ seqstat: $(SQUIDOBJ) seqstat_main.o
+- $(CC) $(CFLAGS) $(MDEFS) -o seqstat $(SQUIDOBJ) seqstat_main.o $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(MDEFS) -o seqstat $(SQUIDOBJ) seqstat_main.o $(LIBS)
+
+ shuffle: $(SQUIDOBJ) shuffle_main.o
+- $(CC) $(CFLAGS) $(MDEFS) -o shuffle $(SQUIDOBJ) shuffle_main.o $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(MDEFS) -o shuffle $(SQUIDOBJ) shuffle_main.o $(LIBS)
+
+ ## other programs in Cove package (below) not needed for
+ ## tRNAscan-SE, but are included for users who wish to apply
+@@ -255,25 +253,25 @@
+ cp $(COVE_SUITE) $(BINDIR)/.
+
+ covea: $(OBJ) align_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o covea align_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o covea align_main.o $(OBJ) $(LIBS)
+
+ coveb: $(OBJ) build_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o coveb build_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o coveb build_main.o $(OBJ) $(LIBS)
+
+ covee: $(OBJ) emit_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o covee emit_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o covee emit_main.o $(OBJ) $(LIBS)
+
+ covet: $(OBJ) train_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o covet train_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o covet train_main.o $(OBJ) $(LIBS)
+
+ covels: $(OBJ) scan_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o covels scan_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o covels scan_main.o $(OBJ) $(LIBS)
+
+ coves: $(OBJ) score_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o coves score_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o coves score_main.o $(OBJ) $(LIBS)
+
+ structcheck: $(OBJ) structcheck_main.o
+- $(CC) $(CFLAGS) $(RFLAGS) -o structcheck structcheck_main.o $(OBJ) $(LIBS)
++ $(CC) $(LDFLAGS) $(CFLAGS) $(RFLAGS) -o structcheck structcheck_main.o $(OBJ) $(LIBS)
+
+
+ ## Maspar memory limits
diff --git a/sci-biology/trnascan-se/files/trnascan-se-1.31-portable-perl-shebangs.patch b/sci-biology/trnascan-se/files/trnascan-se-1.31-portable-perl-shebangs.patch
new file mode 100644
index 000000000000..187705e8b3a0
--- /dev/null
+++ b/sci-biology/trnascan-se/files/trnascan-se-1.31-portable-perl-shebangs.patch
@@ -0,0 +1,32 @@
+--- a/fasta2gsi.pl
++++ b/fasta2gsi.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Usage: fasta2gsi.perl <seqfile>
+ # Creates seqfile.gsi
+--- a/instman.pl
++++ b/instman.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+ # Sean Eddy, Wed Jul 29 15:24:43 1992
+
+--- a/sstofa.pl
++++ b/sstofa.pl
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+
+
+ if ($#ARGV < 0) {
+--- a/tRNAscan-SE.src
++++ b/tRNAscan-SE.src
+@@ -1,4 +1,4 @@
+-#! /usr/bin/perl
++#!/usr/bin/env perl
+ #
+ # --------------------------------------------------------------------
+ # tRNAscan-SE: a program for improved detection of transfer RNA
diff --git a/sci-biology/trnascan-se/metadata.xml b/sci-biology/trnascan-se/metadata.xml
new file mode 100644
index 000000000000..b6a844001ee4
--- /dev/null
+++ b/sci-biology/trnascan-se/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ tRNAscan-SE detects ~99% of eukaryotic nuclear or prokaryotic tRNA
+ genes, with a false positive rate of less than one per 15 gigabases,
+ and with a search speed of about 30 kb/second. It was implemented for
+ large-scale human genome sequence analysis, but is applicable to
+ other DNAs as well.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/trnascan-se/trnascan-se-1.31-r3.ebuild b/sci-biology/trnascan-se/trnascan-se-1.31-r3.ebuild
new file mode 100644
index 000000000000..f43243921f2f
--- /dev/null
+++ b/sci-biology/trnascan-se/trnascan-se-1.31-r3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2022 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic perl-functions toolchain-funcs
+
+DESCRIPTION="tRNA detection in large-scale genome sequences"
+HOMEPAGE="http://lowelab.ucsc.edu/tRNAscan-SE/"
+SRC_URI="http://lowelab.ucsc.edu/software/tRNAscan-SE.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}"/tRNAscan-SE-1.3.1/
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="dev-lang/perl:="
+BDEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-makefile.patch
+ "${FILESDIR}"/${P}-portable-perl-shebangs.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_configure() {
+ tc-export CC
+ append-cflags -std=gnu89 # mid-migration from K&R C, incompatible with c2x
+}
+
+src_test() {
+ emake PATH="${S}:${PATH}" testrun
+}
+
+src_install() {
+ dobin covels-SE coves-SE eufindtRNA tRNAscan-SE trnascan-1.4
+
+ newman tRNAscan-SE.man tRNAscan-SE.man.1
+ dodoc MANUAL Manual.ps README Release.history
+
+ insinto /usr/share/trnascan-se
+ doins *.cm gcode.* Dsignal TPCsignal
+
+ perl_domodule -r tRNAscanSE
+}
diff --git a/sci-biology/uchime/Manifest b/sci-biology/uchime/Manifest
new file mode 100644
index 000000000000..00657cd50aa2
--- /dev/null
+++ b/sci-biology/uchime/Manifest
@@ -0,0 +1 @@
+DIST uchime4.2.40_src.tar.gz 66772 BLAKE2B 9133853d616ab6e1e6a397da78fc846ba00fc70c2c375eb16a98fbdec25ba6034bd1c876b7ec4a99305e76e47cf7984c1aa30b64bdc96e125f661a0150bae060 SHA512 c3afecb23d164d9c3db6229f54faa13120ac4d88132d9aef707f8d043091099db4205ac80f60242920af6efc23813b3e7e4966d562bdb75ff53244fd525e656b
diff --git a/sci-biology/uchime/files/CMakeLists.patch b/sci-biology/uchime/files/CMakeLists.patch
new file mode 100644
index 000000000000..36b2b39ca5c6
--- /dev/null
+++ b/sci-biology/uchime/files/CMakeLists.patch
@@ -0,0 +1,21 @@
+--- /dev/null
++++ b/CMakeLists.txt
+@@ -0,0 +1,18 @@
++cmake_minimum_required(VERSION 3.31)
++project(UCHIME LANGUAGES CXX)
++
++include(GNUInstallDirs)
++
++set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -D_FILE_OFFSET_BITS=64 -DUCHIMES=1")
++
++# "myutils.h: error: reference to byte is ambiguous""
++# bug #786297
++set(CMAKE_CXX_STANDARD 14)
++set(CMAKE_CXX_STANDARD_REQUIRED ON)
++set(CMAKE_CXX_EXTENSIONS OFF)
++
++# Simply copy the source files from the mk script
++add_executable(uchime
++ addtargets2.cpp alignchime.cpp alignchimel.cpp alnparams.cpp alpha.cpp alpha2.cpp fractid.cpp getparents.cpp globalalign2.cpp make3way.cpp mx.cpp myutils.cpp path.cpp searchchime.cpp seqdb.cpp setnucmx.cpp sfasta.cpp tracebackbit.cpp uchime_main.cpp usort.cpp viterbifast.cpp writechhit.cpp)
++
++INSTALL(TARGETS uchime DESTINATION ${CMAKE_INSTALL_BINDIR})
diff --git a/sci-biology/uchime/metadata.xml b/sci-biology/uchime/metadata.xml
new file mode 100644
index 000000000000..9232930b2287
--- /dev/null
+++ b/sci-biology/uchime/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <longdescription>
+ UCHIME is a new algorithm for detecting chimeric sequences. It was developed in
+ collaboration with Brian Haas, Jose Carlos Clemente, Chris Quince and Rob
+ Knight. Chimeras are commonly created during DNA sample amplification by
+ PCR, especially in community sequencing experiments using single regions
+ such as the 16S rRNA gene in bacteria or the fungal ITS region. UCHIME can
+ detect chimeras using a reference database or de novo using abundance
+ information on the assumption that chimeras are less abundant than their
+ parents because they must have undergone fewer rounds of amplification.
+ </longdescription>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/uchime/uchime-4.2.40-r1.ebuild b/sci-biology/uchime/uchime-4.2.40-r1.ebuild
new file mode 100644
index 000000000000..4ef6189ea65b
--- /dev/null
+++ b/sci-biology/uchime/uchime-4.2.40-r1.ebuild
@@ -0,0 +1,20 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="${PN}${PV}_src"
+inherit cmake
+
+DESCRIPTION="Fast, accurate chimera detection"
+HOMEPAGE="https://www.drive5.com/usearch/manual/uchime_algo.html"
+SRC_URI="https://www.drive5.com/${PN}/${MY_P}.tar.gz"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND=">=dev-build/cmake-3.31"
+
+PATCHES=( "${FILESDIR}"/CMakeLists.patch )
diff --git a/sci-biology/ucsc-genome-browser/Manifest b/sci-biology/ucsc-genome-browser/Manifest
new file mode 100644
index 000000000000..1491362f11d1
--- /dev/null
+++ b/sci-biology/ucsc-genome-browser/Manifest
@@ -0,0 +1 @@
+DIST jksrc.v260.zip 59090224 BLAKE2B 755bb97f50cde97e7634f38aa81f0843de52710cac78f5b0a2ee6129cffc99f730b8e1ab41d24e2faebb3c0a3e1d1309c84307e2dc4af1efe9a30fb0b9ae1670 SHA512 48aa964ab3ae456ab7e7ddc5d73b91774bd4892f21f1498578a5de38d3a07e4684778ddb1ac1ae389d5bbb3586f9b8506ca3697acca1f6777b85d343cf5d9485
diff --git a/sci-biology/ucsc-genome-browser/metadata.xml b/sci-biology/ucsc-genome-browser/metadata.xml
new file mode 100644
index 000000000000..781250e9e964
--- /dev/null
+++ b/sci-biology/ucsc-genome-browser/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="server">Install genome browser Web application. If this flag is off, only libraries and utilities from the suite are installed.</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild b/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild
new file mode 100644
index 000000000000..ef96f491fb51
--- /dev/null
+++ b/sci-biology/ucsc-genome-browser/ucsc-genome-browser-260-r2.ebuild
@@ -0,0 +1,123 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+WEBAPP_MANUAL_SLOT="yes"
+# TODO: use WEBAPP_OPTIONAL?
+inherit toolchain-funcs flag-o-matic webapp
+
+DESCRIPTION="The UCSC genome browser suite, also known as Jim Kent's library and GoldenPath"
+HOMEPAGE="http://genome.ucsc.edu/"
+SRC_URI="http://hgdownload.cse.ucsc.edu/admin/jksrc.v${PV}.zip"
+S="${WORKDIR}/kent"
+
+LICENSE="blat"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="+mysql +server static-libs"
+REQUIRED_USE="server? ( mysql )"
+
+# TODO: test with other webservers
+RDEPEND="
+ dev-libs/openssl:=
+ media-libs/libpng:=
+ !<sci-biology/ucsc-genome-browser-223
+ mysql? ( dev-db/mysql-connector-c:= )
+ server? ( virtual/httpd-cgi )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ app-alternatives/cpio
+ app-arch/unzip
+"
+
+pkg_setup() {
+ use server && webapp_pkg_setup
+}
+
+src_prepare() {
+ default
+
+ use server && webapp_src_preinst
+
+ # bug #708064
+ append-flags -fcommon
+ # bug #831491, bug #919200, bug #921261
+ append-flags -std=gnu89
+
+ sed \
+ -e 's/-Werror//' \
+ -e "/COPT/s:=.*$:=${LDFLAGS}:g" \
+ -e "s/CC=gcc/CC=$(tc-getCC) ${CFLAGS}/" \
+ -e 's:${CC} ${COPT} ${CFLAGS}:${CC} ${CFLAGS}:g' \
+ -i src/inc/common.mk src/hg/lib/makefile || die
+ find -name makefile -or -name cgi_build_rules.mk \
+ | xargs sed -i \
+ -e 's/-${USER}//g' \
+ -e 's/-$(USER)//g' \
+ -e 's:-O2::g' \
+ -e 's:-ggdb::g' \
+ -e 's:-pipe::g' || die
+ sed \
+ -e 's:${DISTDIR}${BINDIR}:${BINDIR}:g' \
+ -i src/hg/genePredToMafFrames/makefile || die
+}
+
+src_compile() {
+ export MACHTYPE=${MACHTYPE/-*/} \
+ BINDIR="${WORKDIR}/destdir/opt/${PN}/bin" \
+ SCRIPTS="${WORKDIR}/destdir/opt/${PN}/cluster/scripts" \
+ ENCODE_PIPELINE_BIN="${WORKDIR}/destdir/opt/${PN}/cluster/data/encode/pipeline/bin" \
+ PATH="${BINDIR}:${PATH}" \
+ STRIP="echo 'skipping strip' "
+
+ export MYSQLLIBS="none" MYSQLINC="none" DOCUMENTROOT="none" CGI_BIN="none"
+
+ # TODO: use pkg-config here
+ use mysql && export MYSQLLIBS="-L${ESYSROOT}/usr/$(get_libdir)/mysql/ -lmysqlclient -lz -lssl" \
+ MYSQLINC="${ESYSROOT}/usr/include/mysql"
+
+ use server && export DOCUMENTROOT="${WORKDIR}/destdir/${MY_HTDOCSDIR}" \
+ CGI_BIN="${WORKDIR}/destdir/${MY_HTDOCSDIR}/cgi-bin"
+
+ mkdir -p "${BINDIR}" "${SCRIPTS}" "${ENCODE_PIPELINE_BIN}" || die
+ use server && mkdir -p "${CGI_BIN}" "${DOCUMENTROOT}"
+
+ emake -C src clean
+ emake -C src/lib
+ emake -C src/jkOwnLib
+ emake -C src/utils/stringify
+ emake -C src blatSuite
+ if use mysql; then
+ emake -j1 -C src/hg utils
+ emake -j1 -C src utils
+ emake -C src libs userApps
+ if use server; then
+ emake -j1 -C src/hg
+ emake -j1 -C src
+ fi
+ fi
+}
+
+src_install() {
+ use server && webapp_src_preinst
+ cp -ad "${WORKDIR}"/destdir/* "${D}" || die
+ use static-libs && dolib.a src/lib/${MACHTYPE/-*/}/*.a
+ echo "PATH=${EPREFIX}/opt/${PN}/bin" > "${S}/98${PN}"
+ doenvd "${S}/98${PN}"
+
+ use server && webapp_postinst_txt en src/product/README.QuickStart
+ use server && webapp_src_install
+
+ insinto "/usr/include/${PN}"
+ doins src/inc/*.h
+ insinto "/usr/share/${PN}"
+ doins -r src/product
+ keepdir "/usr/share/doc/${PF}"
+ find -name 'README*' -or -name '*.doc' | grep -v test | cpio -padv "${ED}/usr/share/doc/${PF}" || die
+}
+
+pkg_postinst() {
+ use server && webapp_pkg_postinst
+}
diff --git a/sci-biology/unafold/Manifest b/sci-biology/unafold/Manifest
new file mode 100644
index 000000000000..22df6cae4441
--- /dev/null
+++ b/sci-biology/unafold/Manifest
@@ -0,0 +1 @@
+DIST unafold-3.8.tar.bz2 282418 BLAKE2B 0dddff9dc440362ce3b24d18f42aa47d2dc817de93eba900de76dc73393feabb09ac57cb77af6c8db0ab8c0958f0fd459911fd813fa004b616fedffe9aebd069 SHA512 4c83cf0122e4d4ec2b713833adb11eb608b0f880f5b68114aefd8c7fa980c8d02f9a6cfc0c88cd640b4457e65954b05189118e8ac5ed207b2f9910738ca71a6c
diff --git a/sci-biology/unafold/files/unafold-3.8-autotools.patch b/sci-biology/unafold/files/unafold-3.8-autotools.patch
new file mode 100644
index 000000000000..ecf29b470c2c
--- /dev/null
+++ b/sci-biology/unafold/files/unafold-3.8-autotools.patch
@@ -0,0 +1,41 @@
+--- a/configure.ac
++++ b/configure.ac
+@@ -2,7 +2,7 @@
+ AC_INIT(UNAFold, 3.8, markhn@rpi.edu)
+ AC_CONFIG_SRCDIR(src/hybrid.c)
+ AC_CONFIG_AUX_DIR(config)
+-AM_CONFIG_HEADER(config.h:config.in)
++AC_CONFIG_HEADERS(config.h:config.in)
+ AM_INIT_AUTOMAKE
+ AC_CANONICAL_BUILD
+ AC_PROG_CC
+@@ -12,7 +12,6 @@
+ if test -z "$PERL"; then
+ AC_MSG_ERROR(Perl not found)
+ fi
+-AC_PROG_PERL_VERSION(5.6.1, , AC_MSG_ERROR(Perl 5.6.1 or better is required))
+ AC_CHECK_PROG(GNUPLOT, gnuplot, [system('gnuplot', \"\$prefix.gp\") == 0 or die $!;])
+
+ AC_MSG_CHECKING(whether compiler needs -mieee)
+@@ -28,6 +27,7 @@
+
+
+ # Checks for libraries.
++AX_CHECK_GL
+ AX_CHECK_GLUT
+ AM_CONDITIONAL(GLUT, test -n "$GLUT_LIBS")
+ AX_CHECK_GD
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -33,9 +33,9 @@
+ endif GLUT
+
+ hybrid_plot_ng_SOURCES = hybrid-plot-ng.c getopt.h util.h xmalloc.h
+-hybrid_plot_ng_CFLAGS = @GD_CFLAGS@
++hybrid_plot_ng_CFLAGS = @GD_CFLAGS@ $(GL_CFLAGS)
+ hybrid_plot_ng_LDFLAGS = @GD_LDFLAGS@
+-hybrid_plot_ng_LDADD = getopt.$(OBJEXT) getopt1.$(OBJEXT) xmalloc.$(OBJEXT) @GD_LIBS@ -lm
++hybrid_plot_ng_LDADD = getopt.$(OBJEXT) getopt1.$(OBJEXT) xmalloc.$(OBJEXT) @GD_LIBS@ $(GL_LIBS) -lm
+
+ sbs_SOURCES = getopt.c getopt1.c energy.c xmalloc.c sbs.c energy.h getopt.h xmalloc.h
+ sbs_LDADD = -lm
diff --git a/sci-biology/unafold/files/unafold-3.8-clang16.patch b/sci-biology/unafold/files/unafold-3.8-clang16.patch
new file mode 100644
index 000000000000..fabc28e1fd88
--- /dev/null
+++ b/sci-biology/unafold/files/unafold-3.8-clang16.patch
@@ -0,0 +1,775 @@
+--- a/src/ct-energy.c
++++ b/src/ct-energy.c
+@@ -24,8 +24,8 @@
+ double auPenalty(int, int);
+ double chooseDangle(int, int);
+ double tstackOrDangle(int, int, int);
+-int isHomodimer();
+-int isCircular();
++int isHomodimer(void);
++int isCircular(void);
+
+ int readStructure(FILE* file);
+
+@@ -87,7 +87,7 @@
+ {NULL, 0, NULL, 0}
+ };
+
+-void usage()
++void usage(void)
+ {
+ puts("Usage: ct-energy [OPTION] [FILE]...");
+ puts("");
+@@ -1247,7 +1247,7 @@
+ return 1;
+ }
+
+-int isHomodimer()
++int isHomodimer(void)
+ {
+ int i;
+
+@@ -1272,7 +1272,7 @@
+ return 1;
+ }
+
+-int isCircular()
++int isCircular(void)
+ {
+ return g_prev[0] == g_len && g_next[g_len - 1] % g_len == 1;
+ }
+--- a/src/energy.c
++++ b/src/energy.c
+@@ -15,6 +15,7 @@
+ #endif
+
+ #include "energy.h"
++#include "util.h"
+ #include "xmalloc.h"
+
+ #ifndef isinf
+--- a/src/hybrid.c
++++ b/src/hybrid.c
+@@ -39,10 +39,10 @@
+ #endif
+
+ void initializeMatrix(double**, int, double);
+-void limitBasePairs();
+-void prohibit();
+-void force();
+-void prefilter();
++void limitBasePairs(void);
++void prohibit(void);
++void force(void);
++void prefilter(void);
+ void fillMatrix(double**, int, double);
+ void fillMatrix_noI(double**, int, double);
+ void calculateProb(double**, double*, double*, double**, double**, double, double, int, double);
+@@ -706,7 +706,7 @@
+ matrix[i - 1][n - 1] = (reverse ? R0(n, i) : L0(i, n));
+ }
+
+-void limitBasePairs()
++void limitBasePairs(void)
+ {
+ if (g_bpFile)
+ {
+@@ -740,7 +740,7 @@
+ }
+ }
+
+-void prohibit()
++void prohibit(void)
+ {
+ int i, j, k;
+ struct constraintListNode *top, *newTop;
+@@ -788,7 +788,7 @@
+ }
+
+ #if ENABLE_FORCE
+-void force()
++void force(void)
+ {
+ int i, j, k;
+ struct constraintListNode *top, *newTop;
+@@ -880,7 +880,7 @@
+ }
+ } */
+
+-void prefilter()
++void prefilter(void)
+ {
+ char** in;
+ int i, j, k, count;
+--- a/src/hybrid-min.c
++++ b/src/hybrid-min.c
+@@ -53,10 +53,10 @@
+ } *pairList;
+
+ void initializeMatrices(double);
+-void limitBasePairs();
+-void prohibit();
+-void force();
+-void prefilter();
++void limitBasePairs(void);
++void prohibit(void);
++void force(void);
++void prefilter(void);
+ void fillMatrixL(double);
+ void fillMatrixR(double);
+ void fillMatrixL_noI(double);
+@@ -88,7 +88,7 @@
+ #define min2(a, b) ((a) < (b) ? (a) : (b))
+ ENERGY min4(ENERGY, ENERGY, ENERGY, ENERGY);
+ void pushPairList(int, int, int, ENERGY);
+-void sortPairList();
++void sortPairList(void);
+
+ ENERGY *lprime, *rprime;
+
+@@ -885,7 +885,7 @@
+ }
+ }
+
+-void limitBasePairs()
++void limitBasePairs(void)
+ {
+ if (g_bpFile)
+ {
+@@ -919,7 +919,7 @@
+ }
+ }
+
+-void prohibit()
++void prohibit(void)
+ {
+ int i, j, k;
+ struct constraintListNode* top;
+@@ -965,7 +965,7 @@
+ }
+
+ #if ENABLE_FORCE
+-void force()
++void force(void)
+ {
+ int i, j, k;
+ struct constraintListNode* top;
+@@ -1041,7 +1041,7 @@
+ return length;
+ }
+
+-void prefilter()
++void prefilter(void)
+ {
+ int i, j;
+
+@@ -1055,7 +1055,7 @@
+ }
+ } */
+
+-void prefilter()
++void prefilter(void)
+ {
+ char** in;
+ int i, j, k, count;
+@@ -2235,7 +2235,7 @@
+ pairList = node;
+ }
+
+-void sortPairList()
++void sortPairList(void)
+ {
+ struct pairListNode *a, *b;
+
+--- a/src/hybrid-plot.c
++++ b/src/hybrid-plot.c
+@@ -70,13 +70,13 @@
+ void displayCallbackInput(void);
+ void keyboardCallbackInput(unsigned char, int, int);
+
+-void fixLength();
+-void fixGrid();
+-void fixLabels();
+-void fixZoomGrid();
+-void fixZoomLabels();
++void fixLength(void);
++void fixGrid(void);
++void fixLabels(void);
++void fixZoomGrid(void);
++void fixZoomLabels(void);
+ void readFiles(char*);
+-void sortTemps();
++void sortTemps(void);
+ double* inputRecords(FILE*);
+ int filter(int, int);
+
+@@ -1157,7 +1157,7 @@
+ }
+ }
+
+-void fixLength()
++void fixLength(void)
+ {
+ int m, n;
+
+@@ -1177,7 +1177,7 @@
+ }
+ }
+
+-void fixGrid()
++void fixGrid(void)
+ {
+ int m;
+
+@@ -1193,7 +1193,7 @@
+ g_grid = pow(10, m + 1);
+ }
+
+-void fixLabels()
++void fixLabels(void)
+ {
+ int longestNum;
+
+@@ -1202,7 +1202,7 @@
+ g_labels += g_grid;
+ }
+
+-void fixZoomGrid()
++void fixZoomGrid(void)
+ {
+ int m;
+
+@@ -1221,7 +1221,7 @@
+ g_zoomGrid = pow(10, m + 1);
+ }
+
+-void fixZoomLabels()
++void fixZoomLabels(void)
+ {
+ int longestNum;
+
+@@ -1310,7 +1310,7 @@
+ return scores;
+ }
+
+-void sortTemps()
++void sortTemps(void)
+ {
+ int i, j;
+ char* tempC;
+--- a/src/hybrid-plot-ng.c
++++ b/src/hybrid-plot-ng.c
+@@ -24,28 +24,28 @@
+ */
+
+ #if HAVE_GD
+-void initPNG();
++void initPNG(void);
+ void titlePNG(char*);
+-void borderPNG();
+-void gridPNG();
++void borderPNG(void);
++void gridPNG(void);
+ void plotDotPNG(int, int, double);
+ void vertCenterPNG(char*, int);
+ void horzCenterPNG(char*, int);
+ void selectionPNG(char*, int);
+ #endif
+
+-void initPS();
++void initPS(void);
+ void titlePS(char*);
+-void borderPS();
+-void gridPS();
++void borderPS(void);
++void gridPS(void);
+ void plotDotPS(int, int, double);
+ void vertCenterPS(char*, int);
+ void horzCenterPS(char*, int);
+ void selectionPS(char*, int);
+
+-void fixSize();
+-void fixGrid();
+-void fixLabels();
++void fixSize(void);
++void fixGrid(void);
++void fixLabels(void);
+ double* inputRecords(FILE*);
+ int filter(int, int);
+ int (*getColor)(double);
+@@ -114,10 +114,10 @@
+ char* plotFile;
+
+ /* functions to call - either PS or PNG */
+- void (*init)();
++ void (*init)(void);
+ void (*title)(char*);
+- void (*border)();
+- void (*grid)();
++ void (*border)(void);
++ void (*grid)(void);
+ void (*plotDot)(int, int, double);
+ void (*vertCenter)(char*, int);
+ void (*horzCenter)(char*, int);
+@@ -474,7 +474,7 @@
+ return 0;
+ }
+
+-void initPS()
++void initPS(void)
+ {
+ int i;
+
+@@ -517,7 +517,7 @@
+ fprintf(g_file, "(%s) showCenter\n", wordString);
+ }
+
+-void borderPS()
++void borderPS(void)
+ {
+ fputs("92 126 moveto\n", g_file);
+ fputs("576 126 lineto\n", g_file);
+@@ -527,7 +527,7 @@
+ fputs("stroke\n", g_file);
+ }
+
+-void gridPS()
++void gridPS(void)
+ {
+ double x1, y1;
+ int i, j;
+@@ -639,7 +639,7 @@
+
+ #if HAVE_GD
+
+-void initPNG()
++void initPNG(void)
+ {
+ int i;
+
+@@ -671,12 +671,12 @@
+ gdImageString(g_image, gdFontMediumBold, 306 - 7 * strlen(wordString) / 2, 51, (unsigned char*) wordString, g_black);
+ }
+
+-void borderPNG()
++void borderPNG(void)
+ {
+ gdImageRectangle(g_image, 92, 92, 576, 576, g_black);
+ }
+
+-void gridPNG()
++void gridPNG(void)
+ {
+ int i, j;
+ char buffer[8];
+@@ -776,7 +776,7 @@
+
+ #endif
+
+-void fixSize()
++void fixSize(void)
+ {
+ int m, n;
+
+@@ -796,7 +796,7 @@
+ }
+ }
+
+-void fixGrid()
++void fixGrid(void)
+ {
+ int m;
+
+@@ -812,7 +812,7 @@
+ g_grid = pow(10, m + 1);
+ }
+
+-void fixLabels()
++void fixLabels(void)
+ {
+ int longestNum;
+
+--- a/src/hybrid-ss.c
++++ b/src/hybrid-ss.c
+@@ -47,10 +47,10 @@
+ #define ssOK(i, j) 1
+ #endif
+
+-void initializeMatrices();
+-void fillMatrices1();
++void initializeMatrices(void);
++void fillMatrices1(void);
+ void fillMatrices2(double*, double*);
+-void fillMatrices1_noI();
++void fillMatrices1_noI(void);
+ void fillMatrices2_noI(double*, double*);
+ void calculateProb(double*, double*, double*, double*, double*, double);
+ void calculateProb_noI(double*, double*, double*, double*, double*);
+@@ -713,7 +713,7 @@
+
+ #include "hybrid-ss_init.h"
+
+-void fillMatrices1()
++void fillMatrices1(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -783,7 +783,7 @@
+ }
+ }
+
+-void fillMatrices1_noI()
++void fillMatrices1_noI(void)
+ {
+ int i, j, k;
+ FILE* file;
+--- a/src/hybrid-ss_init.h
++++ b/src/hybrid-ss_init.h
+@@ -14,7 +14,7 @@
+ return length;
+ } */
+
+-void prefilter()
++void prefilter(void)
+ {
+ char** in;
+ int i, j, k, count;
+@@ -45,7 +45,7 @@
+ free(in);
+ }
+
+-void initializeMatrices()
++void initializeMatrices(void)
+ {
+ int i, j, k;
+ struct constraintListNode *top, *newTop;
+--- a/src/hybrid-ss-min.c
++++ b/src/hybrid-ss-min.c
+@@ -57,10 +57,10 @@
+ struct pairListNode* next;
+ } *pairList;
+
+-void initializeMatrices();
+-void fillMatrices1();
+-void fillMatrices2();
+-void computeQ53();
++void initializeMatrices(void);
++void fillMatrices1(void);
++void fillMatrices2(void);
++void computeQ53(void);
+ void traceback(int, int, int, int*, int*, int*);
+ void traceback_noI(int, int, int, int*, int*, int*);
+ void setStack(int, int, int*, int*);
+@@ -108,7 +108,7 @@
+ int equal(ENERGY, ENERGY);
+ void push(struct stackNode**, int, int, int);
+ void pushPairList(int, int, int, ENERGY);
+-void sortPairList();
++void sortPairList(void);
+
+ int g_len;
+ ENERGY *q, *qprime, *qm, *q5, *q3;
+@@ -887,7 +887,7 @@
+ return length;
+ }
+
+-void prefilter()
++void prefilter(void)
+ {
+ char** in;
+ int i, j, k, count;
+@@ -918,7 +918,7 @@
+ free(in);
+ }
+
+-void initializeMatrices()
++void initializeMatrices(void)
+ {
+ int i, j, k;
+ struct constraintListNode* top;
+@@ -1072,7 +1072,7 @@
+ }
+ }
+
+-void fillMatrices1()
++void fillMatrices1(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -1181,7 +1181,7 @@
+ }
+ }
+
+-void fillMatrices2()
++void fillMatrices2(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -1283,7 +1283,7 @@
+ }
+ }
+
+-void computeQ53()
++void computeQ53(void)
+ {
+ int i, j;
+
+@@ -3137,7 +3137,7 @@
+ pairList = node;
+ }
+
+-void sortPairList()
++void sortPairList(void)
+ {
+ struct pairListNode *a, *b;
+
+--- a/src/hybrid-ss-noml.c
++++ b/src/hybrid-ss-noml.c
+@@ -45,11 +45,11 @@
+ #define ssOK(i, j) 1
+ #endif
+
+-void initializeMatrices();
+-void fillMatrices1();
+-void fillMatrices2();
+-void fillMatrices1_noI();
+-void fillMatrices2_noI();
++void initializeMatrices(void);
++void fillMatrices1(void);
++void fillMatrices2(void);
++void fillMatrices1_noI(void);
++void fillMatrices2_noI(void);
+ void calculateProb(double*, double*, double*, double);
+ void calculateProb_noI(double*, double*, double*, double);
+ void traceback(int*, int*, int*);
+@@ -652,7 +652,7 @@
+ return length;
+ } */
+
+-void prefilter()
++void prefilter(void)
+ {
+ char** in;
+ int i, j, k, count;
+@@ -683,7 +683,7 @@
+ free(in);
+ }
+
+-void initializeMatrices()
++void initializeMatrices(void)
+ {
+ int i, j, k;
+ struct constraintListNode *top, *newTop;
+@@ -826,7 +826,7 @@
+ }
+ }
+
+-void fillMatrices1()
++void fillMatrices1(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -885,7 +885,7 @@
+ }
+ }
+
+-void fillMatrices1_noI()
++void fillMatrices1_noI(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -944,7 +944,7 @@
+ }
+ }
+
+-void fillMatrices2()
++void fillMatrices2(void)
+ {
+ int i, j;
+ FILE* file;
+@@ -986,7 +986,7 @@
+ }
+ }
+
+-void fillMatrices2_noI()
++void fillMatrices2_noI(void)
+ {
+ int i, j;
+ FILE* file;
+--- a/src/hybrid-ss-simple.c
++++ b/src/hybrid-ss-simple.c
+@@ -47,11 +47,11 @@
+ #define ssOK(i, j) 1
+ #endif
+
+-void initializeMatrices();
+-void fillMatrices1();
+-void fillMatrices2();
+-void fillMatrices1_noI();
+-void fillMatrices2_noI();
++void initializeMatrices(void);
++void fillMatrices1(void);
++void fillMatrices2(void);
++void fillMatrices1_noI(void);
++void fillMatrices2_noI(void);
+ void calculateProb(double*, double*, double*, double);
+ void calculateProb_noI(double*, double*, double*);
+ void traceback(int*, int*, int*);
+@@ -598,7 +598,7 @@
+
+ #include "hybrid-ss_init.h"
+
+-void fillMatrices1()
++void fillMatrices1(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -658,7 +658,7 @@
+ }
+ }
+
+-void fillMatrices1_noI()
++void fillMatrices1_noI(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -718,7 +718,7 @@
+ }
+ }
+
+-void fillMatrices2()
++void fillMatrices2(void)
+ {
+ int i, j, k;
+ FILE* file;
+@@ -789,7 +789,7 @@
+ }
+ }
+
+-void fillMatrices2_noI()
++void fillMatrices2_noI(void)
+ {
+ int i, j, k;
+ FILE* file;
+--- a/src/util.h
++++ b/src/util.h
+@@ -24,18 +24,18 @@
+
+ /* #define NO_GU_BASEPAIRS */
+
+-int roundInt(double d)
++static int roundInt(double d)
+ {
+ return (int) (d + .5);
+ }
+
+-void strcatc(char* str, char c)
++static void strcatc(char* str, char c)
+ {
+ str[strlen(str) + 1] = 0;
+ str[strlen(str)] = c;
+ }
+
+-char* filename(char* file)
++static char* filename(char* file)
+ {
+ char* name;
+
+@@ -46,7 +46,7 @@
+ return name;
+ }
+
+-void checkArray(char** array, unsigned int* available, unsigned int used, unsigned int increment)
++static void checkArray(char** array, unsigned int* available, unsigned int used, unsigned int increment)
+ {
+ if (used == *available)
+ {
+@@ -55,7 +55,7 @@
+ }
+ }
+
+-int input(FILE* file, char** name, char** sequence)
++static int input(FILE* file, char** name, char** sequence)
+ {
+ /* read string from file */
+ int current, last, state;
+@@ -120,7 +120,7 @@
+ return 1;
+ }
+
+-unsigned char toNum(char c)
++static unsigned char toNum(char c)
+ {
+ c = toupper(c);
+ switch (c)
+@@ -137,7 +137,7 @@
+ return 4;
+ }
+
+-int seqcmp(unsigned char* seq1, unsigned char* seq2, int length)
++static int seqcmp(unsigned char* seq1, unsigned char* seq2, int length)
+ {
+ int i;
+
+@@ -149,7 +149,7 @@
+ return 0;
+ }
+
+-void readSequence(char* file, char** name, char** string, unsigned char** seq, int* len)
++static void readSequence(char* file, char** name, char** string, unsigned char** seq, int* len)
+ {
+ int i;
+ FILE* f;
+@@ -171,14 +171,14 @@
+ }
+
+ #ifdef NO_GU_BASEPAIRS
+-const int BPI[6][6] = {{6, 6, 6, 0, 6, 6},
++static const int BPI[6][6] = {{6, 6, 6, 0, 6, 6},
+ {6, 6, 1, 6, 6, 6},
+ {6, 2, 6, 6, 6, 6},
+ {3, 6, 6, 6, 6, 6},
+ {6, 6, 6, 6, 6, 6},
+ {6, 6, 6, 6, 6, 6}};
+ #else
+-const int BPI[6][6] = {{6, 6, 6, 0, 6, 6},
++static const int BPI[6][6] = {{6, 6, 6, 0, 6, 6},
+ {6, 6, 1, 6, 6, 6},
+ {6, 2, 6, 4, 6, 6},
+ {3, 6, 5, 6, 6, 6},
+@@ -187,7 +187,7 @@
+ #endif
+ #define basePairIndex(a, b) BPI[a][b]
+
+-int min3(int a, int b, int c)
++static int min3(int a, int b, int c)
+ {
+ if (a <= b && a <= c)
+ return a;
+@@ -196,7 +196,7 @@
+ return c;
+ }
+
+-int same(unsigned char* a, unsigned char* b, int len)
++static int same(unsigned char* a, unsigned char* b, int len)
+ {
+ int i;
+
+@@ -206,7 +206,7 @@
+ return 1;
+ }
+
+-void version(const char* prog)
++static void version(const char* prog)
+ {
+ printf("%s (%s) %s\n", prog, PACKAGE_NAME, PACKAGE_VERSION);
+ puts("By Nicholas R. Markham and Michael Zuker");
+@@ -216,7 +216,7 @@
+ exit(EXIT_SUCCESS);
+ }
+
+-void readOrDie(unsigned int num, const char* name, FILE* file, const char* format, ...)
++static void readOrDie(unsigned int num, const char* name, FILE* file, const char* format, ...)
+ {
+ va_list arg;
+ va_start(arg, format);
diff --git a/sci-biology/unafold/files/unafold-3.8-doc-version.patch b/sci-biology/unafold/files/unafold-3.8-doc-version.patch
new file mode 100644
index 000000000000..b15858fd69e6
--- /dev/null
+++ b/sci-biology/unafold/files/unafold-3.8-doc-version.patch
@@ -0,0 +1,11 @@
+--- a/tests/hybrid.tml
++++ b/tests/hybrid.tml
+@@ -10,7 +10,7 @@
+ </test>
+ <test command="hybrid --version" return="0">
+ <stdin></stdin>
+- <stdout>hybrid (UNAFold) 3.7
++ <stdout>hybrid (UNAFold) 3.8
+ By Nicholas R. Markham and Michael Zuker
+ Copyright (C) 2006
+ Rensselaer Polytechnic Institute
diff --git a/sci-biology/unafold/metadata.xml b/sci-biology/unafold/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/unafold/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/unafold/unafold-3.8-r1.ebuild b/sci-biology/unafold/unafold-3.8-r1.ebuild
new file mode 100644
index 000000000000..3ad5b77f4f20
--- /dev/null
+++ b/sci-biology/unafold/unafold-3.8-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Unified Nucleic Acid Folding and hybridization package"
+HOMEPAGE="http://mfold.rna.albany.edu/"
+SRC_URI="http://dinamelt.bioinfo.rpi.edu/download/${P}.tar.bz2"
+
+LICENSE="unafold"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ media-libs/freeglut
+ media-libs/gd
+ virtual/opengl
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ dev-build/autoconf-archive
+ dev-lang/perl
+ test? ( dev-perl/XML-Parser )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-doc-version.patch
+ "${FILESDIR}"/${P}-autotools.patch
+ "${FILESDIR}"/${P}-clang16.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf --disable-coverage
+}
diff --git a/sci-biology/update-blastdb/Manifest b/sci-biology/update-blastdb/Manifest
new file mode 100644
index 000000000000..8afbb996d842
--- /dev/null
+++ b/sci-biology/update-blastdb/Manifest
@@ -0,0 +1 @@
+DIST ncbi_cxx--12_0_0.tar.gz 37925914 BLAKE2B 45490961293d8b3ace24c21602f4039041003f9b45d9f1763957c97ba1e55d6d336c33b6116262b2e774cc26b9366cc3d61bead0c0c7fbd4c461cad2921d80d4 SHA512 1a79f2d95960efde6263289814102499460ec235dad36337dd398d668665e44015e06e40fd0e66a8fb16f526d326949adcaadcb667debeba5d8570b1a92e30ed
diff --git a/sci-biology/update-blastdb/metadata.xml b/sci-biology/update-blastdb/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/update-blastdb/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/update-blastdb/update-blastdb-12.0.0.ebuild b/sci-biology/update-blastdb/update-blastdb-12.0.0.ebuild
new file mode 100644
index 000000000000..b53a64bbadda
--- /dev/null
+++ b/sci-biology/update-blastdb/update-blastdb-12.0.0.ebuild
@@ -0,0 +1,23 @@
+# Copyright 1999-2021 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+MY_PV="$(ver_rs 1- _)"
+
+DESCRIPTION="update_blastdb.pl for local blast db maintainance"
+HOMEPAGE="http://www.ncbi.nlm.nih.gov/books/bv.fcgi?rid=toolkit"
+SRC_URI="ftp://ftp.ncbi.nih.gov/toolbox/ncbi_tools++/ARCHIVE/${MY_PV}/ncbi_cxx--${MY_PV}.tar.gz"
+S="${WORKDIR}"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-lang/perl
+ !sci-biology/ncbi-tools++"
+
+src_install() {
+ dobin ncbi_cxx--${MY_PV}/src/app/blast/update_blastdb.pl
+}
diff --git a/sci-biology/vcftools/Manifest b/sci-biology/vcftools/Manifest
new file mode 100644
index 000000000000..36aa8e465e22
--- /dev/null
+++ b/sci-biology/vcftools/Manifest
@@ -0,0 +1 @@
+DIST vcftools-0.1.16.tar.gz 480575 BLAKE2B 5c0bf67aef8ef4705f621485df4c556f6bace190311c308f0364f3e274cf4818f56f2186905fdfb7459dc4be9664a8b1ff631e2cecd03abd7aa82dcfc7e5aa64 SHA512 c4dd5ceb3ad0512e839154d8a05ef3e7a03cbe52c3099df48775b35460fce7ef10102819c2d1cefa33b98ad09e7bd1608e871978860ec9c0b0c2e781892b22e6
diff --git a/sci-biology/vcftools/metadata.xml b/sci-biology/vcftools/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/vcftools/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/vcftools/vcftools-0.1.16.ebuild b/sci-biology/vcftools/vcftools-0.1.16.ebuild
new file mode 100644
index 000000000000..bfb38608417f
--- /dev/null
+++ b/sci-biology/vcftools/vcftools-0.1.16.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools flag-o-matic perl-functions toolchain-funcs
+
+DESCRIPTION="Tools for working with VCF (Variant Call Format) files"
+HOMEPAGE="http://vcftools.sourceforge.net/"
+SRC_URI="https://github.com/${PN}/${PN}/releases/download/v${PV}/${P}.tar.gz"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="lapack"
+
+RDEPEND="virtual/zlib:=
+ dev-lang/perl:=
+ lapack? ( virtual/lapack )"
+DEPEND="${RDEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ perl_set_version
+
+ append-flags $($(tc-getPKG_CONFIG) --cflags lapack)
+ append-libs $($(tc-getPKG_CONFIG) --libs lapack)
+
+ econf \
+ $(use_enable lapack pca) \
+ --with-pmdir="${VENDOR_LIB#"${EPREFIX}"/usr}"
+}
diff --git a/sci-biology/velvet/Manifest b/sci-biology/velvet/Manifest
new file mode 100644
index 000000000000..e76561d597de
--- /dev/null
+++ b/sci-biology/velvet/Manifest
@@ -0,0 +1 @@
+DIST velvet_1.2.10.tgz 18818559 BLAKE2B 5723c9c040e570cd88b774e5b0044dd04def88778fe2b137ec7c007ab83fc98e5423ad1d9d0499780cf6d3152347ca1a4e4e6b6c1900ce4adfc4930f1f6d3c34 SHA512 a6f3e35cebceb22cc10e83088b8cd9758492da78866237cae63d8826d6f5cfb44d82dd8bfcb1185d37cd434d4c7a0f2ac7135bb80a51db86e754afd6156ea874
diff --git a/sci-biology/velvet/files/velvet-1.2.10-incompatible-pointers.patch b/sci-biology/velvet/files/velvet-1.2.10-incompatible-pointers.patch
new file mode 100644
index 000000000000..22cd48ee814f
--- /dev/null
+++ b/sci-biology/velvet/files/velvet-1.2.10-incompatible-pointers.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/919223
+--- a/src/readSet.c
++++ b/src/readSet.c
+@@ -638,7 +638,8 @@ static void readFastXFile(int fileType, SequencesWriter *seqWriteInfo, char *fil
+ FileGZOrAuto file;
+ IDnum counter = 0;
+
+- file.gzFile = file.autoFile = NULL;
++ file.autoFile = NULL;
++ file.gzFile = NULL;
+ if (fileType == AUTO) {
+ file.autoFile = openFileAuto(filename);
+ if (!file.autoFile)
+@@ -677,8 +678,10 @@ static void readFastXPair(int fileType, SequencesWriter *seqWriteInfo, char *fil
+ if (cat==REFERENCE)
+ exitErrorf(EXIT_FAILURE, false, "Cannot read reference sequence in 'separate' read mode");
+
+- file1.gzFile = file1.autoFile = NULL;
+- file2.gzFile = file2.autoFile = NULL;
++ file1.autoFile = NULL;
++ file2.autoFile = NULL;
++ file1.autoFile = NULL;
++ file2.autoFile = NULL;
+ if (fileType == AUTO) {
+ file1.autoFile = openFileAuto(filename1);
+ if (!file1.autoFile)
diff --git a/sci-biology/velvet/metadata.xml b/sci-biology/velvet/metadata.xml
new file mode 100644
index 000000000000..eb019c4338fe
--- /dev/null
+++ b/sci-biology/velvet/metadata.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/velvet/velvet-1.2.10.ebuild b/sci-biology/velvet/velvet-1.2.10.ebuild
new file mode 100644
index 000000000000..672f56781db5
--- /dev/null
+++ b/sci-biology/velvet/velvet-1.2.10.ebuild
@@ -0,0 +1,91 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit flag-o-matic toolchain-funcs
+
+MY_P="${PN}_${PV}"
+DESCRIPTION="A sequence assembler for very short reads"
+HOMEPAGE="https://www.ebi.ac.uk/~zerbino/velvet/"
+SRC_URI="https://www.ebi.ac.uk/~zerbino/velvet/${MY_P}.tgz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="doc openmp"
+
+BDEPEND="
+ doc? ( virtual/latex-base )
+ openmp? (
+ || (
+ sys-devel/gcc[openmp]
+ llvm-runtimes/clang-runtime[openmp]
+ )
+ )
+"
+
+PATCHES=( "${FILESDIR}/${P}-incompatible-pointers.patch" )
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ if ! use doc; then
+ sed -i -e '/default :/ s/doc//' "${S}"/Makefile || die
+ fi
+ elog "Upstream recommends using -O3 in CFLAGS"
+ echo
+ elog "To adjust the MAXKMERLENGTH, CATEGORIES, BIGASSEMBLY, LONGSEQUENCES parameters"
+ elog "as described in the PDF manual, please set the variables by prepending VELVET_ in"
+ elog "front of it. For example VELVET_MAXKMERLENGTH, VELVET_CATEGORIES, ..."
+ elog "Set them either in your environment or in /etc/portage/make.conf, then re-emerge"
+ elog "the package. For example:"
+ elog " VELVET_MAXKMERLENGTH=NN emerge [options] velvet"
+
+ if [[ $(tc-getCC) =~ gcc ]]; then
+ local eopenmp=-fopenmp
+ elif [[ $(tc-getCC) =~ icc ]]; then
+ local eopenmp=-openmp
+ else
+ elog "Cannot detect compiler type so not setting openmp support"
+ fi
+ append-flags -fPIC ${eopenmp}
+ append-ldflags ${eopenmp}
+
+ tc-export CC
+
+ MAKE_XOPTS=(
+ CC="$(tc-getCC)"
+ CFLAGS="${CFLAGS}"
+ OPT="${CFLAGS}"
+ )
+ use openmp && MAKE_XOPTS+=( OPENMP=1 )
+ [[ ! -z "${VELVET_MAXKMERLENGTH}" ]] && MAKE_XOPTS+=( MAXKMERLENGTH=${VELVET_MAXKMERLENGTH} )
+ [[ ! -z "${VELVET_CATEGORIES}" ]] && MAKE_XOPTS+=( CATEGORIES=${VELVET_CATEGORIES} )
+ [[ ! -z "${VELVET_BIGASSEMBLY}" ]] && MAKE_XOPTS+=( BIGASSEMBLY=${VELVET_BIGASSEMBLY} )
+ [[ ! -z "${VELVET_LONGSEQUENCES}" ]] && MAKE_XOPTS+=( LONGSEQUENCES=${VELVET_LONGSEQUENCES} )
+}
+
+src_compile() {
+ emake "${MAKE_XOPTS[@]}" -j1
+ emake "${MAKE_XOPTS[@]}" -j1 color
+}
+
+src_test() {
+ emake "${MAKE_XOPTS[@]}" -j1 test
+}
+
+src_install() {
+ dobin velvet{g,h,g_de,h_de}
+ insinto /usr/share/${PN}
+ doins -r contrib
+ dodoc Manual.pdf CREDITS.txt ChangeLog
+}
diff --git a/sci-biology/yass/Manifest b/sci-biology/yass/Manifest
new file mode 100644
index 000000000000..b03d8af279ca
--- /dev/null
+++ b/sci-biology/yass/Manifest
@@ -0,0 +1 @@
+DIST yass-1.14.tar.gz 235530 BLAKE2B 55b7e8e7834f3a76a09e5e509884b391053fe97a7d5aeb3132009c8050014fb6dae92f7b246c85646a872fd5bde7a4b8c3bd0124fb38c7d0f648b85c63d99ad7 SHA512 fdfac6f391848d0bd35829a966721a242697b0832803092bd7ea2116149332642ddf3bf5f095fe707f6edbbb9454efe068852fe6d5cdfe937445d9d32a521fa2
diff --git a/sci-biology/yass/files/1.14-as-needed.patch b/sci-biology/yass/files/1.14-as-needed.patch
new file mode 100644
index 000000000000..e57503801c7a
--- /dev/null
+++ b/sci-biology/yass/files/1.14-as-needed.patch
@@ -0,0 +1,207 @@
+diff --git a/configure.ac b/configure.ac
+index 68453ef..3ecfd21 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -28,13 +28,11 @@ AC_CHECK_FUNCS([floor memset clock pow sqrt strchr strdup strtol strtoul])
+ dnl 1) threads options
+
+ dnl abc) : with-threads option
+-AC_ARG_WITH(
+- threads,
+- [ --with-threads compile with all threads],
+- [threads="yes"],
+- [threads="no"])
++AC_ARG_ENABLE(
++ [threads],
++ AS_HELP_STRING([--enable-threads], [compile with all threads]))
+
+-if test "$threads" = "yes"; then
++AS_IF([test "x$enable_threads" = "xyes"], [
+ AC_MSG_RESULT(detected cpu parameter: threads);
+
+ dnl pthread library here ? (UNIX system)
+@@ -46,167 +44,25 @@ if test "$threads" = "yes"; then
+ AC_MSG_RESULT(yes)
+ AC_DEFINE([HAVE_PTHREAD],[1],[pthread available on the computer])
+ CFLAGS=" $CFLAGS -DTHREAD_ASSEMBLE_ALIGN -DTHREAD_FORWARD_REVERSE -DTHREAD_QUERY_CHUNK "
+- LDFLAGS="$LDFLAGS -lpthread"
++ LIBS="$LIBS -lpthread"
+ else
+ AC_MSG_RESULT(no : disabling \"--with-threads\" parameter)
+ fi
+-
+-else
+- if test -s /proc/cpuinfo; then
+- AC_MSG_CHECKING(for multi-processor)
+- dnl Multithread advice
+- if test `grep -c '^processor' /proc/cpuinfo` -gt 2; then
+- AC_MSG_RESULT(yes)
+- AC_MSG_RESULT(- try \"configure --with-threads\")
+- else
+- AC_MSG_RESULT(no)
+- fi;
+- fi;
+-fi
+-
+-
+-
+-
+-
+-dnl a) : with-thread-fr option
+-AC_ARG_WITH(
+- thread-fr,
+- [ --with-thread-fr compile with two separate threads for Forward and Reverse sequence],
+- [thread_forward_reverse="yes"],
+- [thread_forward_reverse="no"])
+-
+-if test "$thread_forward_reverse" = "yes"; then
+- AC_MSG_RESULT(detected cpu parameter: thread-fr);
+-
+- dnl pthread library here ? (UNIX system)
+- AC_MSG_CHECKING(for pthread lib)
+- AC_CHECK_LIB(pthread, pthread_create,
+- [have_pthread="yes"],
+- [have_pthread="no"])
+- if test "$have_pthread" = "yes"; then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE([HAVE_PTHREAD],[1],[pthread available on the computer])
+- CFLAGS=" $CFLAGS -DTHREAD_FORWARD_REVERSE "
+- LDFLAGS="$LDFLAGS -lpthread"
+- else
+- AC_MSG_RESULT(no : disabling \"--with-thread-fr\" parameter)
+- fi
+-
+-else
+- if test -s /proc/cpuinfo; then
+- AC_MSG_CHECKING(for multi-processor)
+- dnl Multithread advice
+- if test `grep -c '^processor' /proc/cpuinfo` -gt 1; then
+- AC_MSG_RESULT(yes)
+- AC_MSG_RESULT(- try \"configure --with-thread-fr\")
+- else
+- AC_MSG_RESULT(no)
+- fi;
+- fi;
+-fi
+-
+-
+-
+-
+-
+-dnl b) : with-thread-aa option
+-AC_ARG_WITH(
+- thread-aa,
+- [ --with-thread-aa compile with two separate threads for Assemble and Align steps],
+- [thread_assemble_align="yes"],
+- [thread_assemble_align="no"])
+-
+-if test "$thread_assemble_align" = "yes"; then
+- AC_MSG_RESULT(detected cpu parameter: thread-aa);
+-
+- dnl pthread library here ? (UNIX system)
+- AC_MSG_CHECKING(for pthread lib)
+- AC_CHECK_LIB(pthread, pthread_create,
+- [have_pthread="yes"],
+- [have_pthread="no"])
+- if test "$have_pthread" = "yes"; then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE([HAVE_PTHREAD],[1],[pthread available on the computer])
+- CFLAGS=" $CFLAGS -DTHREAD_ASSEMBLE_ALIGN "
+- LDFLAGS="$LDFLAGS -lpthread"
+- else
+- AC_MSG_RESULT(no : disabling \"--with-thread-aa\" parameter)
+- fi
+-
+-else
+- if test -s /proc/cpuinfo; then
+- AC_MSG_CHECKING(for multi-processor)
+- dnl Multithread advice
+- if test `grep -c '^processor' /proc/cpuinfo` -gt 1; then
+- AC_MSG_RESULT(yes)
+- AC_MSG_RESULT(- try \"configure --with-thread-aa\")
+- else
+- AC_MSG_RESULT(no)
+- fi;
+- fi;
+-fi
+-
+-
+-dnl c) : with-thread-qc option
+-AC_ARG_WITH(
+- thread-qc,
+- [ --with-thread-qc compile with threads for the query chunks],
+- [thread_query_chunk="yes"],
+- [thread_query_chunk="no"])
+-
+-if test "$thread_query_chunk" = "yes"; then
+- AC_MSG_RESULT(detected cpu parameter: thread-qc);
+-
+- dnl pthread library here ? (UNIX system)
+- AC_MSG_CHECKING(for pthread lib)
+- AC_CHECK_LIB(pthread, pthread_create,
+- [have_pthread="yes"],
+- [have_pthread="no"])
+- if test "$have_pthread" = "yes"; then
+- AC_MSG_RESULT(yes)
+- AC_DEFINE([HAVE_PTHREAD],[1],[pthread available on the computer])
+- CFLAGS=" $CFLAGS -DTHREAD_QUERY_CHUNK "
+- LDFLAGS="$LDFLAGS -lpthread"
+- else
+- AC_MSG_RESULT(no : disabling \"--with-thread-qc\" parameter)
+- fi
+-
+-else
+- if test -s /proc/cpuinfo; then
+- AC_MSG_CHECKING(for multi-processor)
+- dnl Multithread advice
+- if test `grep -c '^processor' /proc/cpuinfo` -gt 1; then
+- AC_MSG_RESULT(yes)
+- AC_MSG_RESULT(- try \"configure --with-thread-qc\")
+- else
+- AC_MSG_RESULT(no)
+- fi;
+- fi;
+-fi
+-
+-
+-
++])
+
+ dnl 2) : low-memory option
+-AC_ARG_WITH(
+- low-memory,
+- [ --with-low-memory use less memory, but can miss some repeats],
+- [low_memory="yes"],
+- [low_memory="no"])
++AC_ARG_ENABLE(
++ [lowmemory],
++ AS_HELP_STRING([--enable-lowmemory], [use less memory, but can miss some repeats]))
+
+-if test "$low_memory" = "yes"; then
++AS_IF([test "x$enable_lowmemory" = "xyes"], [
+ AC_MSG_RESULT(detected memory parameter: low memory);
+ CFLAGS=" $CFLAGS -DLOW_MEMORY "
+-else
+- AC_MSG_RESULT(detected memory parameter : plain memory)
+-fi
+-
+-
+-CFLAGS="$CFLAGS -O3 -Wall -ansi -pedantic -funroll-loops -pipe -fomit-frame-pointer "
+-LDFLAGS="$LDFLAGS -lm"
++])
+
+ AC_SUBST(CFLAGS)
+ AC_SUBST(LDFLAGS)
++
+ AM_WITH_DMALLOC
+ AM_INIT_AUTOMAKE
+ AC_CONFIG_FILES([Makefile
+diff --git a/src/Makefile.am b/src/Makefile.am
+index e456f94..8d90ca9 100644
+--- a/src/Makefile.am
++++ b/src/Makefile.am
+@@ -6,3 +6,4 @@
+ bin_PROGRAMS = yass
+ yass_SOURCES = align.c assemble.c avl.c display.c global_var.c hash.c kword.c list.c main.c prdyn.c proba.c red_black.c regroup.c threads.c tuple.c util.c \
+ align.h assemble.h avl.h display.h global_var.h hash.h kword.h list.h prdyn.h proba.h red_black.h regroup.h threads.h tuple.h util.h
++yass_LDADD = -lm
diff --git a/sci-biology/yass/files/yass-1.14-lowmem-define.patch b/sci-biology/yass/files/yass-1.14-lowmem-define.patch
new file mode 100644
index 000000000000..64f2e216a05b
--- /dev/null
+++ b/sci-biology/yass/files/yass-1.14-lowmem-define.patch
@@ -0,0 +1,13 @@
+Add missing function definition to hash.c
+Whole hash.c is used only if USE=lowmem is enabled.
+https://bugs.gentoo.org/919215
+--- a/src/hash.h
++++ b/src/hash.h
+@@ -57,6 +57,7 @@
+
+ }Table_hash;
+
++long int hashVerifie (Table_hash *table, char *mess,long int diag);
+
+ /*
+ *
diff --git a/sci-biology/yass/metadata.xml b/sci-biology/yass/metadata.xml
new file mode 100644
index 000000000000..23c0d18f4762
--- /dev/null
+++ b/sci-biology/yass/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://docs.baldeagleos.com/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <use>
+ <flag name="lowmem">Build for environments with low amounts of memory</flag>
+ </use>
+ <origin>baldeagleos-repo</origin>
+</pkgmetadata>
diff --git a/sci-biology/yass/yass-1.14-r4.ebuild b/sci-biology/yass/yass-1.14-r4.ebuild
new file mode 100644
index 000000000000..a484aca4269f
--- /dev/null
+++ b/sci-biology/yass/yass-1.14-r4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2025 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit autotools
+
+DESCRIPTION="Genomic similarity search with multiple transition constrained spaced seeds"
+HOMEPAGE="http://bioinfo.lifl.fr/yass/"
+SRC_URI="http://bioinfo.lifl.fr/yass/files/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="lowmem threads"
+
+PATCHES=(
+ "${FILESDIR}"/${PV}-as-needed.patch
+ "${FILESDIR}"/${P}-lowmem-define.patch
+)
+
+src_prepare() {
+ default
+ eautoreconf
+}
+
+src_configure() {
+ econf \
+ $(use_enable threads) \
+ $(use_enable lowmem lowmemory) \
+ --without-dmalloc
+}