diff options
Diffstat (limited to 'sci-biology')
-rw-r--r-- | sci-biology/bedtools/Manifest | 1 | ||||
-rw-r--r-- | sci-biology/bedtools/bedtools-2.29.2.ebuild | 48 | ||||
-rw-r--r-- | sci-biology/bedtools/files/bedtools-2.29.2-buildsystem.patch | 82 | ||||
-rw-r--r-- | sci-biology/bedtools/files/bedtools-2.29.2-python.patch | 41 | ||||
-rw-r--r-- | sci-biology/bedtools/files/bedtools-2.29.2-samtools-1.10.patch | 13 |
5 files changed, 185 insertions, 0 deletions
diff --git a/sci-biology/bedtools/Manifest b/sci-biology/bedtools/Manifest index 642fe852658e..d776ef0925aa 100644 --- a/sci-biology/bedtools/Manifest +++ b/sci-biology/bedtools/Manifest @@ -1,2 +1,3 @@ DIST bedtools-2.26.0-fix-buildsystem.patch.bz2 2584 BLAKE2B 550cd03a0c01217adb347587cb75bdc2ffa4e03ad6ad66535b22d423e6f030e237b0ccfd3d1bd3e434cb9cc2a007971517f03e9ceabc08b63c725bac786e23e8 SHA512 0a7835f560102ce6183736faea6a2be05609b69bb8efdaf98b9d7057e24aa1ebe9d6067118b95c76470ca341b151970db532094ee70ca333075aed7c47509ba3 DIST bedtools-2.26.0.tar.gz 19939711 BLAKE2B 8f6ee6ed755c638dbdd0a4750a5348c28a865f36eaafef6160e90f62912cb0a6b719713935ba68dad74bc591e3f37db49eab54a06a316dc00e4ec82a5dca71dc SHA512 b224adcc09322e90ef389e8172e14572b68f164185fe1a8814db1c47bb4f15656ca8c0ff0061017eb54d76affbe0d0f5793d893b8ab489b56eaf0818616a5def +DIST bedtools-2.29.2.tar.gz 20646485 BLAKE2B cdfff7a0f5300f31c2487e98bd28dc7e8b7f3575a098947c2c7b3a6e30272a80d35f07997d3a00bd42d91bf60899f32358b25b054b6f40b761cc66e2788508b3 SHA512 138ff029995e9889d2e43f884fa15bb5614d11cf75dfe18e2999aad0915e80f49444e67c9934c92ca8e28caad399394b493db8a1bee9f5304413a8c41c22c6d5 diff --git a/sci-biology/bedtools/bedtools-2.29.2.ebuild b/sci-biology/bedtools/bedtools-2.29.2.ebuild new file mode 100644 index 000000000000..de337827bf24 --- /dev/null +++ b/sci-biology/bedtools/bedtools-2.29.2.ebuild @@ -0,0 +1,48 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python3_{6..9} ) + +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" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" +IUSE="test" +RESTRICT="!test? ( test )" + +RDEPEND=" + app-arch/bzip2 + app-arch/xz-utils + sys-libs/zlib" +DEPEND="${RDEPEND}" +BDEPEND="test? ( >=sci-biology/samtools-1.10:0 )" + +S="${WORKDIR}"/${PN}2 + +# 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.29.2-buildsystem.patch + "${FILESDIR}"/${PN}-2.29.2-python.patch + "${FILESDIR}"/${PN}-2.29.2-samtools-1.10.patch +) + +src_configure() { + tc-export AR CC CXX RANLIB +} + +src_install() { + default + + insinto /usr/share/${PN} + doins -r genomes +} diff --git a/sci-biology/bedtools/files/bedtools-2.29.2-buildsystem.patch b/sci-biology/bedtools/files/bedtools-2.29.2-buildsystem.patch new file mode 100644 index 000000000000..573e88993bc9 --- /dev/null +++ b/sci-biology/bedtools/files/bedtools-2.29.2-buildsystem.patch @@ -0,0 +1,82 @@ +--- a/Makefile ++++ b/Makefile +@@ -4,44 +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++ +- +-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 \ +@@ -204,7 +189,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.29.2-python.patch b/sci-biology/bedtools/files/bedtools-2.29.2-python.patch new file mode 100644 index 000000000000..9576a78bd1dd --- /dev/null +++ b/sci-biology/bedtools/files/bedtools-2.29.2-python.patch @@ -0,0 +1,41 @@ +--- a/Makefile ++++ b/Makefile +@@ -183,7 +168,7 @@ + + $(BIN_DIR)/intersectBed: | $(BIN_DIR) + @echo "- Creating executables for old CLI." +- @python scripts/makeBashScripts.py ++ $(EPYTHON) scripts/makeBashScripts.py + @chmod +x bin/* + @echo "done." + +--- a/src/utils/BamTools/Makefile.frag ++++ b/src/utils/BamTools/Makefile.frag +@@ -1,4 +1,4 @@ + src/utils/BamTools/include/BamAlignment.mapping.hpp: src/utils/BamTools/mapping/BamAlignment.py src/utils/BamTools/mapping/BamAlignment.map + + src/utils/BamTools/include/%.mapping.hpp: src/utils/BamTools/mapping/%.py src/utils/BamTools/mapping/%.map +- python $^ > $@ ++ $(EPYTHON) $^ > $@ +--- a/test/bigchroms/test-bigchroms.sh ++++ b/test/bigchroms/test-bigchroms.sh +@@ -28,7 +28,7 @@ + rm obs + + if [[ "$BT_NO_BIG_FILES" != "" ]]; then +-python make-big-chrom.py ++${EPYTHON} 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 @@ + echo "fisher,shuffled" + + for i in $(seq 1000); do +- fisher=$(python ./sim.py | tail -1 | cut -f 2) ++ fisher=$(${EPYTHON} ./sim.py | tail -1 | cut -f 2) + shuffle=$(bash shuf.sh) + echo "$fisher,$shuffle" + done diff --git a/sci-biology/bedtools/files/bedtools-2.29.2-samtools-1.10.patch b/sci-biology/bedtools/files/bedtools-2.29.2-samtools-1.10.patch new file mode 100644 index 000000000000..7cc0e23de2d4 --- /dev/null +++ b/sci-biology/bedtools/files/bedtools-2.29.2-samtools-1.10.patch @@ -0,0 +1,13 @@ +--- a/test/intersect/new_test-intersect.sh ++++ b/test/intersect/new_test-intersect.sh +@@ -975,8 +975,8 @@ + # Test intersect preserve the text header in bam + ############################################################ + echo -e " intersect.new.t78...\c" +-echo -e "@HD VN:1.5 SO:coordinate" > exp +-echo "@HD VN:1.5 SO:coordinate" | samtools view -b | $BT intersect -a /dev/stdin -b b.bed | samtools view -H >obs ++echo -e "@HD VN:1.5 SO:coordinate" > exp ++echo "@HD VN:1.5 SO:coordinate" | samtools view --no-PG -b | $BT intersect -a /dev/stdin -b b.bed | samtools view --no-PG -H >obs + check exp obs + rm exp obs + [[ $FAILURES -eq 0 ]] || exit 1; |