summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-biology')
-rw-r--r--sci-biology/bedtools/Manifest1
-rw-r--r--sci-biology/bedtools/bedtools-2.29.2.ebuild48
-rw-r--r--sci-biology/bedtools/files/bedtools-2.29.2-buildsystem.patch82
-rw-r--r--sci-biology/bedtools/files/bedtools-2.29.2-python.patch41
-rw-r--r--sci-biology/bedtools/files/bedtools-2.29.2-samtools-1.10.patch13
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;