From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ricardo Wurmus Subject: [PATCH]: gnu: Add bedops. Date: Wed, 11 Feb 2015 17:02:47 +0100 Message-ID: Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:53952) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZkq-0006st-F3 for guix-devel@gnu.org; Wed, 11 Feb 2015 11:03:14 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1YLZkm-0003qs-EC for guix-devel@gnu.org; Wed, 11 Feb 2015 11:03:08 -0500 Received: from sinope.bbbm.mdc-berlin.de ([141.80.25.23]:55493) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YLZkm-0003qV-1Z for guix-devel@gnu.org; Wed, 11 Feb 2015 11:03:04 -0500 Received: from localhost (localhost [127.0.0.1]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP id 5F54E28075F for ; Wed, 11 Feb 2015 17:03:02 +0100 (CET) Received: from sinope.bbbm.mdc-berlin.de ([127.0.0.1]) by localhost (sinope.bbbm.mdc-berlin.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 7oIBnkeawTJj for ; Wed, 11 Feb 2015 17:02:56 +0100 (CET) Received: from HTCATWO.mdc-berlin.net (puck.citx.mdc-berlin.de [141.80.36.101]) by sinope.bbbm.mdc-berlin.de (Postfix) with ESMTP for ; Wed, 11 Feb 2015 17:02:56 +0100 (CET) List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: Guix-devel --=-=-= Content-Type: text/plain Hi Guix, attached is a patch for BEDOPS. The build process for this application is a bit messy because the sources include tarballs of modified upstream libraries (jansson, bzip2, zlib), so we cannot just swap them out for system libraries. I'm in touch with the developers to see if we can get a build option to link against system libraries instead of the bundled copies. To achieve this, though, the patches have to be extracted first (already submitted a patch upstream), and any feature that has been added by patching upstream library sources would have to be implemented a different way. Until then we can't do anything but go along with building these patched library copies even though it isn't pretty. ~~ Ricardo --=-=-= Content-Type: text/x-patch Content-Disposition: attachment; filename="0001-gnu-Add-bedops.patch" >From 270b5a501c251e80a040342d4d39d4e236b90c97 Mon Sep 17 00:00:00 2001 From: Ricardo Wurmus Date: Wed, 11 Feb 2015 16:55:33 +0100 Subject: [PATCH] gnu: Add bedops. * gnu/packages/bioinformatics.scm (bedops): New variable. --- gnu/packages/bioinformatics.scm | 55 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) diff --git a/gnu/packages/bioinformatics.scm b/gnu/packages/bioinformatics.scm index 1766855..48bb9dd 100644 --- a/gnu/packages/bioinformatics.scm +++ b/gnu/packages/bioinformatics.scm @@ -34,6 +34,61 @@ #:use-module (gnu packages vim) #:use-module (gnu packages zip)) +(define-public bedops + (package + (name "bedops") + (version "2.4.5") + (source (origin + (method url-fetch) + (uri (string-append "https://github.com/bedops/bedops/archive/v" + version ".tar.gz")) + (sha256 + (base32 + "0wmg6j0icimlrnsidaxrzf3hfgjvlkkcwvpdg7n4gg7hdv2m9ni5")))) + (build-system gnu-build-system) + (arguments + '(#:make-flags (list (string-append "BINDIR=" %output "/bin")) + #:phases + (alist-cons-after + 'unpack 'unpack-tarballs + (lambda _ + ;; XXX Bedops includes tarballs of minimally patched upstream + ;; libraries jansson, zlib, and bzip2. We cannot just use stock + ;; libraries because at least one of the libraries (zlib) is + ;; patched to add a C++ function definition (deflateInit2cpp). + ;; Until the Bedops developers offer a way to link against system + ;; libraries we have to build the in-tree copies of these three + ;; libraries. + + ;; Unpack the tarballs to benefit from shebang patching. + (with-directory-excursion "third-party" + (and (zero? (system* "tar" "xvf" "jansson-2.6.tar.bz2")) + (zero? (system* "tar" "xvf" "zlib-1.2.7.tar.bz2")) + (zero? (system* "tar" "xvf" "bzip2-1.0.6.tar.bz2")))) + ;; Disable unpacking of tarballs in Makefile. + (substitute* "system.mk/Makefile.linux" + (("^\tbzcat .*") "\t@echo \"not unpacking\"\n") + (("\\./configure") "CONFIG_SHELL=bash ./configure")) + (substitute* "third-party/zlib-1.2.7/Makefile.in" + (("^SHELL=.*$") "SHELL=bash\n"))) + (alist-delete + 'configure + (alist-delete 'check %standard-phases))))) + (home-page "https://github.com/bedops/bedops") + (synopsis "Tools for high-performance genomic feature operations") + (description + "BEDOPS is a suite of tools to address common questions raised in genomic +studies---mostly with regard to overlap and proximity relationships between +data sets. It aims to be scalable and flexible, facilitating the efficient +and accurate analysis and management of large-scale genomic data. + +BEDOPS provides tools that perform highly efficient and scalable Boolean and +other set operations, statistical calculations, archiving, conversion and +other management of genomic data of arbitrary scale. Tasks can be easily +split by chromosome for distributing whole-genome analyses across a +computational cluster.") + (license license:gpl2+))) + (define-public bedtools (package (name "bedtools") -- 2.1.0 --=-=-=--