commit:     3a1f5a9faf6dfeb828e148cd397290d670c93744
Author:     David Seifert <soap <AT> gentoo <DOT> org>
AuthorDate: Sun Aug 16 20:49:49 2020 +0000
Commit:     David Seifert <soap <AT> gentoo <DOT> org>
CommitDate: Sun Aug 16 20:49:49 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=3a1f5a9f

sci-biology/bedtools: Version bump to 2.29.2

Bug: https://bugs.gentoo.org/718468
Package-Manager: Portage-3.0.2, Repoman-2.3.23
Signed-off-by: David Seifert <soap <AT> gentoo.org>

 sci-biology/bedtools/Manifest                      |  1 +
 sci-biology/bedtools/bedtools-2.29.2.ebuild        | 48 +++++++++++++
 .../files/bedtools-2.29.2-buildsystem.patch        | 82 ++++++++++++++++++++++
 .../bedtools/files/bedtools-2.29.2-python.patch    | 41 +++++++++++
 .../files/bedtools-2.29.2-samtools-1.10.patch      | 13 ++++
 5 files changed, 185 insertions(+)

diff --git a/sci-biology/bedtools/Manifest b/sci-biology/bedtools/Manifest
index 642fe852658..d776ef0925a 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 00000000000..de337827bf2
--- /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 00000000000..573e88993bc
--- /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 00000000000..9576a78bd1d
--- /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 00000000000..7cc0e23de2d
--- /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;

Reply via email to