diff options
-rw-r--r-- | sci-biology/STAR/Manifest | 1 | ||||
-rw-r--r-- | sci-biology/STAR/STAR-2.5.3a.ebuild | 42 | ||||
-rw-r--r-- | sci-biology/STAR/files/STAR-2.5.3a-fix-build-system.patch | 123 | ||||
-rw-r--r-- | sci-biology/STAR/metadata.xml | 19 |
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> |