summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology/STAR')
-rw-r--r--sci-biology/STAR/Manifest1
-rw-r--r--sci-biology/STAR/STAR-2.5.3a.ebuild42
-rw-r--r--sci-biology/STAR/files/STAR-2.5.3a-fix-build-system.patch123
-rw-r--r--sci-biology/STAR/metadata.xml19
4 files changed, 185 insertions, 0 deletions
diff --git a/sci-biology/STAR/Manifest b/sci-biology/STAR/Manifest
new file mode 100644
index 000000000000..0ec6da1a3d93
--- /dev/null
+++ b/sci-biology/STAR/Manifest
@@ -0,0 +1 @@
+DIST STAR-2.5.3a.tar.gz 9857460 SHA256 2a258e77cda103aa293e528f8597f25dc760cba188d0a7bc7c9452f4698e7c04 SHA512 8bd86ad384f2c0331fd701873b02641301f4205a5ff0fceeb800d425da42c53b6c61a74500d37fee7fc13a5bff10e1fb44b9142811883b8f5cd012f51f1f9fdf WHIRLPOOL 64bb7dc68e24ecd7d198d281e98042fd1463fc96af8ab8be9cab8e1588c2d08ab7cd1435187f2e0ebe870da11ab607c8f8a981d76360c55dd76e1fb4bb304006
diff --git a/sci-biology/STAR/STAR-2.5.3a.ebuild b/sci-biology/STAR/STAR-2.5.3a.ebuild
new file mode 100644
index 000000000000..73743cbb4e59
--- /dev/null
+++ b/sci-biology/STAR/STAR-2.5.3a.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+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}
+ virtual/pkgconfig"
+
+PATCHES=( "${FILESDIR}"/${PN}-2.5.3a-fix-build-system.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_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.5.3a-fix-build-system.patch b/sci-biology/STAR/files/STAR-2.5.3a-fix-build-system.patch
new file mode 100644
index 000000000000..8e504fa429e0
--- /dev/null
+++ b/sci-biology/STAR/files/STAR-2.5.3a-fix-build-system.patch
@@ -0,0 +1,123 @@
+* unbundle htslib
+* honour all user flags
+* use pkg-config for linking
+
+--- a/source/Makefile
++++ b/source/Makefile
+@@ -8,24 +8,12 @@
+ LDFLAGSextra ?=
+ CXXFLAGSextra ?=
+
+-# user may define the compiler
+-CXX ?= g++
+-
+ # pre-defined flags
+-LDFLAGS_shared := -pthread -Lhtslib -Bstatic -lhts -Bdynamic -lz -lrt
+-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)
+-
+ COMPTIMEPLACE := -D'COMPILATION_TIME_PLACE="$(shell echo `date` $(HOSTNAME):`pwd`)"'
+
+-CXXFLAGS_common := -pipe -std=c++11 -Wall -Wextra -fopenmp $(COMPTIMEPLACE)
+-CXXFLAGS_main := -O3 $(CXXFLAGS_common)
+-CXXFLAGS_gdb := -O0 -g $(CXXFLAGS_common)
+-
+-CFLAGS := -O3 -pipe -Wall -Wextra $(CFLAGS)
+-
++CFLAGS_common = -Wall -Wextra -pthread `$(PKG_CONFIG) --cflags htslib` `$(PKG_CONFIG) --cflags zlib`
++CXXFLAGS_common = $(CFLAGS_common) -std=c++11 -fopenmp $(COMPTIMEPLACE)
++LIBS_common = -pthread `$(PKG_CONFIG) --libs htslib` `$(PKG_CONFIG) --libs zlib` -lrt
+
+ ##########################################################################################################
+
+@@ -54,10 +42,10 @@
+
+
+ %.o : %.cpp
+- $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $<
++ $(CXX) -c $(CPPFLAGS) $(CXXFLAGS) $(CXXFLAGS_common) $<
+
+ %.o : %.c
+- $(CXX) -c $(CPPFLAGS) $(CFLAGS) $<
++ $(CXX) -c $(CPPFLAGS) $(CFLAGS) $(CFLAGS_common) $<
+
+ all: STAR
+
+@@ -84,7 +72,7 @@
+ ifneq ($(MAKECMDGOALS),CLEAN)
+ ifneq ($(MAKECMDGOALS),STARforMac)
+ ifneq ($(MAKECMDGOALS),STARforMacGDB)
+-Depend.list: $(SOURCES) parametersDefault.xxd htslib
++Depend.list: $(SOURCES) parametersDefault.xxd
+ echo $(SOURCES)
+ /bin/rm -f ./Depend.list
+ $(CXX) $(CXXFLAGS_common) -MM $^ >> Depend.list
+@@ -95,57 +83,34 @@
+ endif
+ endif
+
+-htslib : htslib/libhts.a
+-
+-htslib/libhts.a :
+- $(MAKE) -C htslib lib-static
+-
+ parametersDefault.xxd: parametersDefault
+ xxd -i parametersDefault > parametersDefault.xxd
+
+-STAR : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
+-STAR : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ STAR : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-POSIXSHARED : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -DPOSIX_SHARED_MEM $(CXXFLAGS)
+-POSIXSHARED : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ POSIXSHARED : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-STARstatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) $(CXXFLAGS)
+-STARstatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
+ STARstatic : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STAR $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-STARlong : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
+-STARlong : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_shared) $(LDFLAGS)
+ STARlong : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-STARlongStatic : CXXFLAGS := $(CXXFLAGSextra) $(CXXFLAGS_main) -D'COMPILE_FOR_LONG_READS' $(CXXFLAGS)
+-STARlongStatic : LDFLAGS := $(LDFLAGSextra) $(LDFLAGS_static) $(LDFLAGS)
+ STARlongStatic : Depend.list parametersDefault.xxd $(OBJECTS)
+- $(CXX) -o STARlong $(CXXFLAGS) $(OBJECTS) $(LDFLAGS)
++ $(CXX) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-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) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-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) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-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) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STAR $(OBJECTS) $(LIBS) $(LIBS_common)
+
+-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) $(CXXFLAGS) $(CXXFLAGS_common) $(LDFLAGS) -o STARlong $(OBJECTS) $(LIBS) $(LIBS_common)
+
+
diff --git a/sci-biology/STAR/metadata.xml b/sci-biology/STAR/metadata.xml
new file mode 100644
index 000000000000..22727da1cad8
--- /dev/null
+++ b/sci-biology/STAR/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mmokrejs@fold.natur.cuni.cz</email>
+ <name>Martin Mokrejs</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci-biology@gentoo.org</email>
+ <name>Gentoo Biology Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">alexdobin/STAR</remote-id>
+ </upstream>
+</pkgmetadata>