commit: 0765721b800e099f0e7d29d715fc39047d1b0f65 Author: Martin Mokrejš <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz> AuthorDate: Wed Mar 1 11:28:52 2017 +0000 Commit: Martin Mokrejs <mmokrejs <AT> fold <DOT> natur <DOT> cuni <DOT> cz> CommitDate: Wed Mar 1 11:28:52 2017 +0000 URL: https://gitweb.gentoo.org/proj/sci.git/commit/?id=0765721b
sci-biology/hisat2: new package Package-Manager: Portage-2.3.3, Repoman-2.3.1 .../files/hisat2-2.0.5-respect_CXXFLAGS.patch | 53 ++++++++++++++++++++++ sci-biology/hisat2/hisat2-2.0.5.ebuild | 51 +++++++++++++++++++++ sci-biology/hisat2/metadata.xml | 12 +++++ 3 files changed, 116 insertions(+) diff --git a/sci-biology/hisat2/files/hisat2-2.0.5-respect_CXXFLAGS.patch b/sci-biology/hisat2/files/hisat2-2.0.5-respect_CXXFLAGS.patch new file mode 100644 index 000000000..26db123c8 --- /dev/null +++ b/sci-biology/hisat2/files/hisat2-2.0.5-respect_CXXFLAGS.patch @@ -0,0 +1,53 @@ +--- hisat2-2.0.5/Makefile.ori 2017-03-01 11:35:36.430368298 +0100 ++++ hisat2-2.0.5/Makefile 2017-03-01 11:43:42.974034697 +0100 +@@ -23,9 +23,8 @@ + INC = + GCC_PREFIX = $(shell dirname `which gcc`) + GCC_SUFFIX = +-CC = $(GCC_PREFIX)/gcc$(GCC_SUFFIX) +-CPP = $(GCC_PREFIX)/g++$(GCC_SUFFIX) +-CXX = $(CPP) ++CXX ?= $(GCC_PREFIX)/g++$(GCC_SUFFIX) ++CXXFLAGS ?= "-O3" + HEADERS = $(wildcard *.h) + BOWTIE_MM = 1 + BOWTIE_SHARED_MEM = 0 +@@ -134,30 +133,30 @@ + VERSION = $(shell cat VERSION) + + # Convert BITS=?? to a -m flag +-BITS=32 ++BITS?=32 + ifeq (x86_64,$(shell uname -m)) +-BITS=64 ++BITS?=64 + endif + # msys will always be 32 bit so look at the cpu arch instead. + ifneq (,$(findstring AMD64,$(PROCESSOR_ARCHITEW6432))) + ifeq (1,$(MINGW)) +- BITS=64 ++ BITS?=64 + endif + endif + BITS_FLAG = + + ifeq (32,$(BITS)) +- BITS_FLAG = -m32 ++ BITS_FLAG ?= -m32 + endif + + ifeq (64,$(BITS)) +- BITS_FLAG = -m64 ++ BITS_FLAG ?= -m64 + endif +-SSE_FLAG=-msse2 ++SSE_FLAG?=-msse2 + +-DEBUG_FLAGS = -O0 -g3 $(BIToS_FLAG) $(SSE_FLAG) ++DEBUG_FLAGS = -g3 -O0 $(CXXFLAGS) $(BIToS_FLAG) $(SSE_FLAG) + DEBUG_DEFS = -DCOMPILER_OPTIONS="\"$(DEBUG_FLAGS) $(EXTRA_FLAGS)\"" +-RELEASE_FLAGS = -O3 $(BITS_FLAG) $(SSE_FLAG) -funroll-loops -g3 ++RELEASE_FLAGS = $(CXXFLAGS) $(BITS_FLAG) $(SSE_FLAG) -funroll-loops + RELEASE_DEFS = -DCOMPILER_OPTIONS="\"$(RELEASE_FLAGS) $(EXTRA_FLAGS)\"" + NOASSERT_FLAGS = -DNDEBUG + FILE_FLAGS = -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -D_GNU_SOURCE diff --git a/sci-biology/hisat2/hisat2-2.0.5.ebuild b/sci-biology/hisat2/hisat2-2.0.5.ebuild new file mode 100644 index 000000000..a8a81a26f --- /dev/null +++ b/sci-biology/hisat2/hisat2-2.0.5.ebuild @@ -0,0 +1,51 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=6 + +inherit eutils + +DESCRIPTION="Align DNA reads to a population of genomes" +HOMEPAGE="https://ccb.jhu.edu/software/hisat2 + https://github.com/infphilo/hisat2" +SRC_URI="ftp://ftp.ccb.jhu.edu/pub/infphilo/hisat2/downloads/${P}-source.zip" + +LICENSE="GPL-3+" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="cpu_flags_x86_sse2" + +DEPEND="" +RDEPEND="${DEPEND}" + +PATCHES=( "${FILESDIR}"/${P}-respect_CXXFLAGS.patch ) + +# TODO: could depend on sci-biology/ncbi-tools++ or sra_sdk containing ncbi-vdb +# For the support of SRA data access in HISAT2, please download and install the [NCBI-NGS] toolkit. +# When running `make`, specify additional variables as follow. +# `make USE_SRA=1 NCBI_NGS_DIR=/path/to/NCBI-NGS-directory NCBI_VDB_DIR=/path/to/NCBI-NGS-directory`, +# where `NCBI_NGS_DIR` and `NCBI_VDB_DIR` will be used in Makefile for -I and -L compilation options. +# For example, $(NCBI_NGS_DIR)/include and $(NCBI_NGS_DIR)/lib64 will be used. + +src_configure(){ + if use cpu_flags_x86_sse2; then + SSE_FLAGS='-msse2' + fi + if [ "$ARCH" = "amd64" ] || [ "$ARCH" = "ia64" ] || [ "$ARCH" = "ppc64" ]; then + BITS='-m64' + else + BITS='-32' + fi +} + +src_compile(){ + emake SSE_FLAG="${SSE_FLAGS}" BITS="${BITS}" +} + +src_install(){ + dobin hisat2 hisat2-build hisat2-inspect hisat2-build-s hisat2-build-l hisat2-align-s hisat2-align-l hisat2-inspect-s hisat2-inspect-l *.py + insinto /usr/share/"${PN}"/scripts + doins scripts/*.sh + dodoc MANUAL TUTORIAL +} diff --git a/sci-biology/hisat2/metadata.xml b/sci-biology/hisat2/metadata.xml new file mode 100644 index 000000000..f68a1b6fa --- /dev/null +++ b/sci-biology/hisat2/metadata.xml @@ -0,0 +1,12 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <maintainer type="person"> + <email>mmokr...@fold.natur.cuni.cz</email> + <name>Martin Mokrejs</name> + </maintainer> + <maintainer type="project"> + <email>sci-biol...@gentoo.org</email> + <name>Gentoo Biology Project</name> + </maintainer> +</pkgmetadata>