From patchwork Mon Mar 9 14:26:38 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Roel Janssen X-Patchwork-Id: 20607 Return-Path: X-Original-To: patchwork@mira.cbaines.net Delivered-To: patchwork@mira.cbaines.net Received: by mira.cbaines.net (Postfix, from userid 113) id A6E6627BBE4; Mon, 9 Mar 2020 14:29:25 +0000 (GMT) X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on mira.cbaines.net X-Spam-Level: X-Spam-Status: No, score=-2.9 required=5.0 tests=BAYES_00,MAILING_LIST_MULTI, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.2 Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mira.cbaines.net (Postfix) with ESMTP id B210F17B5D for ; Mon, 9 Mar 2020 14:29:16 +0000 (GMT) Received: from localhost ([::1]:43856 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBJPA-0000Ys-4J for patchwork@mira.cbaines.net; Mon, 09 Mar 2020 10:29:16 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51638) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBJO2-0007dc-2t for guix-patches@gnu.org; Mon, 09 Mar 2020 10:28:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1jBJNy-0000GT-SE for guix-patches@gnu.org; Mon, 09 Mar 2020 10:28:06 -0400 Received: from debbugs.gnu.org ([209.51.188.43]:45319) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_128_CBC_SHA1:16) (Exim 4.71) (envelope-from ) id 1jBJNy-0000GD-No for guix-patches@gnu.org; Mon, 09 Mar 2020 10:28:02 -0400 Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1jBJNy-00054x-Jk for guix-patches@gnu.org; Mon, 09 Mar 2020 10:28:02 -0400 X-Loop: help-debbugs@gnu.org Subject: [bug#39998] [PATCH] gnu: Add circos. Resent-From: Roel Janssen Original-Sender: "Debbugs-submit" Resent-CC: guix-patches@gnu.org Resent-Date: Mon, 09 Mar 2020 14:28:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: report 39998 X-GNU-PR-Package: guix-patches X-GNU-PR-Keywords: patch To: 39998@debbugs.gnu.org X-Debbugs-Original-To: guix-patches@gnu.org Received: via spool by submit@debbugs.gnu.org id=B.158376402219446 (code B ref -1); Mon, 09 Mar 2020 14:28:02 +0000 Received: (at submit) by debbugs.gnu.org; 9 Mar 2020 14:27:02 +0000 Received: from localhost ([127.0.0.1]:51292 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jBJMp-00053H-Bl for submit@debbugs.gnu.org; Mon, 09 Mar 2020 10:27:02 -0400 Received: from lists.gnu.org ([209.51.188.17]:43177) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1jBJMj-000537-1s for submit@debbugs.gnu.org; Mon, 09 Mar 2020 10:26:48 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:51424) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jBJMf-0005wL-74 for guix-patches@gnu.org; Mon, 09 Mar 2020 10:26:44 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]:43254) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1jBJMe-00087J-W9 for guix-patches@gnu.org; Mon, 09 Mar 2020 10:26:41 -0400 Received: from ip-80-113-14-101.ip.prioritytelecom.net ([80.113.14.101]:17975 helo=redstone) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jBJMe-00021L-5w for guix-patches@gnu.org; Mon, 09 Mar 2020 10:26:40 -0400 Message-ID: <5eea17e0e66700927f0eb796b824b752f0295d37.camel@gnu.org> From: Roel Janssen Date: Mon, 09 Mar 2020 15:26:38 +0100 User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 209.51.188.43 X-BeenThere: guix-patches@gnu.org List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-patches-bounces+patchwork=mira.cbaines.net@gnu.org Sender: "Guix-patches" X-getmail-retrieved-from-mailbox: Patches Dear Guix, We've had a recipe for "circos" for a while in our staging repository. It's quite involved, but nevertheless it has been battle-tested in our group. So without further ado, the attached patch adds Circos. I hope I didn't forget anything. Kind regards, Roel Janssen From 3354081946899a7573c0af520ba4a29eaa818584 Mon Sep 17 00:00:00 2001 From: Roel Janssen Date: Mon, 9 Mar 2020 15:21:43 +0100 Subject: [PATCH] gnu: Add circos. * gnu/local.mk: Register circos-remove-findbin.patch. * gnu/packages/patches/circos-remove-findbin.patch: New file. * gnu/packages/perl.scm: New variable. --- gnu/local.mk | 1 + .../patches/circos-remove-findbin.patch | 538 ++++++++++++++++++ gnu/packages/perl.scm | 96 ++++ 3 files changed, 635 insertions(+) create mode 100644 gnu/packages/patches/circos-remove-findbin.patch diff --git a/gnu/local.mk b/gnu/local.mk index 2f0768f036..e742cdd572 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -770,6 +770,7 @@ dist_patch_DATA = \ %D%/packages/patches/calibre-remove-test-unrar.patch \ %D%/packages/patches/casync-renameat2-declaration.patch \ %D%/packages/patches/catdoc-CVE-2017-11110.patch \ + %D%/packages/patches/circos-remove-findbin.patch \ %D%/packages/patches/cdparanoia-fpic.patch \ %D%/packages/patches/cdrtools-3.01-mkisofs-isoinfo.patch \ %D%/packages/patches/ceph-disable-cpu-optimizations.patch \ diff --git a/gnu/packages/patches/circos-remove-findbin.patch b/gnu/packages/patches/circos-remove-findbin.patch new file mode 100644 index 0000000000..aeb8103a5c --- /dev/null +++ b/gnu/packages/patches/circos-remove-findbin.patch @@ -0,0 +1,538 @@ +diff -crB circos-0.69-6/bin/circos circos-0.69-6-new/bin/circos +*** circos-0.69-6/bin/circos 2016-02-19 01:42:59.000000000 +0100 +--- circos-0.69-6-new/bin/circos 2018-01-12 09:59:25.662731269 +0100 +*************** +*** 474,486 **** + + use strict; + use warnings; +- use FindBin; + use Getopt::Long qw(:config pass_through posix_default auto_abbrev); + use Pod::Usage; + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + use Circos; + + use Cwd; +--- 474,482 ---- +diff -crB circos-0.69-6/lib/Circos/Colors.pm circos-0.69-6-new/lib/Circos/Colors.pm +*** circos-0.69-6/lib/Circos/Colors.pm 2015-03-17 01:25:43.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Colors.pm 2018-01-12 10:10:39.174797379 +0100 +*************** +*** 49,55 **** + + use Carp qw( carp confess croak ); + use Digest::MD5 qw(md5_hex); +- use FindBin; + use File::Basename; + use File::Spec::Functions; + use File::Temp qw(tempdir); +--- 49,54 ---- +*************** +*** 65,74 **** + #use Time::HiRes qw(gettimeofday tv_interval); + #use List::Util qw( max min ); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use POSIX qw(pow); + + use Circos::Configuration; +--- 64,69 ---- +diff -crB circos-0.69-6/lib/Circos/Configuration.pm circos-0.69-6-new/lib/Circos/Configuration.pm +*** circos-0.69-6/lib/Circos/Configuration.pm 2015-03-17 22:11:01.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Configuration.pm 2018-01-12 10:11:41.064008273 +0100 +*************** +*** 59,68 **** + use Params::Validate qw(:all); + use List::MoreUtils qw(uniq); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Utils; +--- 59,64 ---- +diff -crB circos-0.69-6/lib/Circos/DataPoint.pm circos-0.69-6-new/lib/Circos/DataPoint.pm +*** circos-0.69-6/lib/Circos/DataPoint.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/DataPoint.pm 2018-01-12 10:11:54.888270731 +0100 +*************** +*** 38,51 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Debug; +--- 38,46 ---- +diff -crB circos-0.69-6/lib/Circos/Debug.pm circos-0.69-6-new/lib/Circos/Debug.pm +*** circos-0.69-6/lib/Circos/Debug.pm 2015-03-24 01:26:13.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Debug.pm 2018-01-12 10:12:07.192502006 +0100 +*************** +*** 63,75 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use Memoize; + use List::MoreUtils qw(uniq); + use Time::HiRes qw(gettimeofday tv_interval); +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + use Circos::Constants; + +--- 63,71 ---- +diff -crB circos-0.69-6/lib/Circos/Division.pm circos-0.69-6-new/lib/Circos/Division.pm +*** circos-0.69-6/lib/Circos/Division.pm 2015-11-17 00:55:58.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Division.pm 2018-01-12 10:12:21.544769084 +0100 +*************** +*** 37,52 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Math::Round; + use List::MoreUtils qw(uniq); + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 37,47 ---- +diff -crB circos-0.69-6/lib/Circos/Error.pm circos-0.69-6-new/lib/Circos/Error.pm +*** circos-0.69-6/lib/Circos/Error.pm 2015-03-17 22:46:36.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Error.pm 2018-01-12 10:12:32.472970548 +0100 +*************** +*** 44,53 **** + use Params::Validate; + use Text::Format; + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Utils; +--- 44,49 ---- +diff -crB circos-0.69-6/lib/Circos/Expression.pm circos-0.69-6-new/lib/Circos/Expression.pm +*** circos-0.69-6/lib/Circos/Expression.pm 2015-11-30 23:49:36.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Expression.pm 2018-01-12 10:12:41.953144015 +0100 +*************** +*** 39,55 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use Params::Validate qw(:all); + use Math::Round; + use Math::VecStat qw(average); + use List::Util qw(min max); + use Text::Balanced qw(extract_bracketed); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 39,50 ---- +diff -crB circos-0.69-6/lib/Circos/Font.pm circos-0.69-6-new/lib/Circos/Font.pm +*** circos-0.69-6/lib/Circos/Font.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Font.pm 2018-01-12 10:12:51.657320357 +0100 +*************** +*** 45,59 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Font::TTF::Font; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS fetch_conf); + use Circos::Constants; + use Circos::Colors; +--- 45,54 ---- +diff -crB circos-0.69-6/lib/Circos/Geometry.pm circos-0.69-6-new/lib/Circos/Geometry.pm +*** circos-0.69-6/lib/Circos/Geometry.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Geometry.pm 2018-01-12 10:12:58.961452282 +0100 +*************** +*** 41,54 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS fetch_conf); + use Circos::Constants; + use Circos::Debug; +--- 41,49 ---- +diff -crB circos-0.69-6/lib/Circos/Heatmap.pm circos-0.69-6-new/lib/Circos/Heatmap.pm +*** circos-0.69-6/lib/Circos/Heatmap.pm 2016-03-30 22:08:12.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Heatmap.pm 2018-01-12 10:13:09.953649538 +0100 +*************** +*** 24,40 **** + use Carp qw( carp confess croak ); + use Clone; + use Data::Dumper; +- use FindBin; + use GD::Image; + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + use List::MoreUtils qw(uniq); + use Regexp::Common qw(number); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Colors; +--- 24,35 ---- +diff -crB circos-0.69-6/lib/Circos/Ideogram.pm circos-0.69-6-new/lib/Circos/Ideogram.pm +*** circos-0.69-6/lib/Circos/Ideogram.pm 2015-11-17 01:18:53.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/Ideogram.pm 2018-01-12 10:13:22.045864798 +0100 +*************** +*** 40,46 **** + + use Carp qw( carp confess croak ); + use Cwd; +- use FindBin; + use File::Spec::Functions; + use Math::Round; + use Math::VecStat qw(max); +--- 40,45 ---- +*************** +*** 50,59 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 49,54 ---- +diff -crB circos-0.69-6/lib/Circos/Image.pm circos-0.69-6-new/lib/Circos/Image.pm +*** circos-0.69-6/lib/Circos/Image.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Image.pm 2018-01-12 10:13:31.094024696 +0100 +*************** +*** 45,58 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 45,53 ---- +diff -crB circos-0.69-6/lib/Circos/IO.pm circos-0.69-6-new/lib/Circos/IO.pm +*** circos-0.69-6/lib/Circos/IO.pm 2015-12-03 05:51:11.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/IO.pm 2018-01-12 10:13:41.686210640 +0100 +*************** +*** 39,45 **** + use Carp qw( carp confess croak ); + use Storable qw(dclone); + use Cwd; +- use FindBin; + use Data::Dumper; + use File::Spec::Functions; + use Math::Round; +--- 39,44 ---- +*************** +*** 49,58 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Colors; + use Circos::Configuration; +--- 48,53 ---- +diff -crB circos-0.69-6/lib/Circos/Karyotype.pm circos-0.69-6-new/lib/Circos/Karyotype.pm +*** circos-0.69-6/lib/Circos/Karyotype.pm 2014-09-09 00:15:58.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Karyotype.pm 2018-01-12 10:13:53.318413330 +0100 +*************** +*** 38,44 **** + + use Carp qw( carp confess croak ); + use Cwd; +- use FindBin; + use Math::Round; + use Math::VecStat qw(max); + use Params::Validate qw(:all); +--- 38,43 ---- +*************** +*** 48,57 **** + #use Regexp::Common qw(number); + #use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Constants; + use Circos::Debug; +--- 47,52 ---- +diff -crB circos-0.69-6/lib/Circos/PNG.pm circos-0.69-6-new/lib/Circos/PNG.pm +*** circos-0.69-6/lib/Circos/PNG.pm 2014-09-17 05:33:06.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/PNG.pm 2018-01-12 10:14:31.011059637 +0100 +*************** +*** 37,51 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 37,46 ---- +diff -crB circos-0.69-6/lib/Circos/Rule.pm circos-0.69-6-new/lib/Circos/Rule.pm +*** circos-0.69-6/lib/Circos/Rule.pm 2014-10-02 01:14:25.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Rule.pm 2018-01-12 10:14:38.195181067 +0100 +*************** +*** 38,51 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::DataPoint; +--- 38,46 ---- +diff -crB circos-0.69-6/lib/Circos/SVG.pm circos-0.69-6-new/lib/Circos/SVG.pm +*** circos-0.69-6/lib/Circos/SVG.pm 2015-11-30 23:23:52.000000000 +0100 +--- circos-0.69-6-new/lib/Circos/SVG.pm 2018-01-12 10:14:47.803342631 +0100 +*************** +*** 26,39 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + use Circos::Colors; + use Circos::Constants; +--- 26,34 ---- +diff -crB circos-0.69-6/lib/Circos/Text.pm circos-0.69-6-new/lib/Circos/Text.pm +*** circos-0.69-6/lib/Circos/Text.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Text.pm 2018-01-12 10:14:57.083497772 +0100 +*************** +*** 42,55 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Colors; +--- 42,50 ---- +diff -crB circos-0.69-6/lib/Circos/Track/Highlight.pm circos-0.69-6-new/lib/Circos/Track/Highlight.pm +*** circos-0.69-6/lib/Circos/Track/Highlight.pm 2014-10-01 00:43:27.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track/Highlight.pm 2018-01-12 10:15:06.795659206 +0100 +*************** +*** 37,50 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + #use Circos::Colors; +--- 37,45 ---- +diff -crB circos-0.69-6/lib/Circos/Track/Link.pm circos-0.69-6-new/lib/Circos/Track/Link.pm +*** circos-0.69-6/lib/Circos/Track/Link.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track/Link.pm 2018-01-12 10:15:17.387834198 +0100 +*************** +*** 37,50 **** + our @EXPORT = qw(); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD::Image; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; + #use Circos::Colors; +--- 37,45 ---- +diff -crB circos-0.69-6/lib/Circos/Track.pm circos-0.69-6-new/lib/Circos/Track.pm +*** circos-0.69-6/lib/Circos/Track.pm 2014-09-16 05:31:46.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Track.pm 2018-01-12 10:15:29.628035063 +0100 +*************** +*** 41,56 **** + + use Carp qw( carp confess croak ); + use Data::Dumper; +- use FindBin; + use GD::Image; + use List::MoreUtils qw(uniq); + use Math::VecStat qw(min max); + use Params::Validate qw(:all); + use Regexp::Common; + use Statistics::Basic qw(average stddev); +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + use Circos::Configuration; # qw(%CONF $DIMS); + use Circos::Constants; +--- 41,52 ---- +diff -crB circos-0.69-6/lib/Circos/Unit.pm circos-0.69-6-new/lib/Circos/Unit.pm +*** circos-0.69-6/lib/Circos/Unit.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Unit.pm 2018-01-12 10:15:37.892169871 +0100 +*************** +*** 46,60 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use Data::Dumper; + use Params::Validate qw(:all); + use Regexp::Common qw(number); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration qw(%CONF $DIMS); + use Circos::Constants; + use Circos::Debug; +--- 46,55 ---- +diff -crB circos-0.69-6/lib/Circos/URL.pm circos-0.69-6-new/lib/Circos/URL.pm +*** circos-0.69-6/lib/Circos/URL.pm 2014-05-12 18:20:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/URL.pm 2018-01-12 10:15:46.092303006 +0100 +*************** +*** 39,52 **** + ); + + use Carp qw( carp confess croak ); +- use FindBin; + use GD; + use Params::Validate qw(:all); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Configuration; + #use Circos::Colors; + use Circos::Constants; +--- 39,47 ---- +diff -crB circos-0.69-6/lib/Circos/Utils.pm circos-0.69-6-new/lib/Circos/Utils.pm +*** circos-0.69-6/lib/Circos/Utils.pm 2014-10-01 21:36:19.000000000 +0200 +--- circos-0.69-6-new/lib/Circos/Utils.pm 2018-01-12 10:16:11.576712858 +0100 +*************** +*** 105,114 **** + + use POSIX qw(floor ceil); + +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; +- + use Circos::Constants; + use Circos::Debug; + use Circos::Error; +--- 105,110 ---- +diff -crB circos-0.69-6/lib/Circos.pm circos-0.69-6-new/lib/Circos.pm +*** circos-0.69-6/lib/Circos.pm 2016-06-25 00:19:27.000000000 +0200 +--- circos-0.69-6-new/lib/Circos.pm 2018-01-12 10:16:35.801097176 +0100 +*************** +*** 49,57 **** + + use strict; + use warnings; +- use lib "$FindBin::RealBin"; +- use lib "$FindBin::RealBin/../lib"; +- use lib "$FindBin::RealBin/lib"; + + BEGIN { + require Circos::Modules; +--- 49,54 ---- diff --git a/gnu/packages/perl.scm b/gnu/packages/perl.scm index a6b087240c..160a4002e9 100644 --- a/gnu/packages/perl.scm +++ b/gnu/packages/perl.scm @@ -52,6 +52,7 @@ #:use-module (gnu packages base) #:use-module (gnu packages compression) #:use-module (gnu packages freedesktop) + #:use-module (gnu packages gd) #:use-module (gnu packages less) #:use-module (gnu packages ncurses) #:use-module (gnu packages perl-check) @@ -870,6 +871,101 @@ the Carp.pm module doesn't help.") ;; Either GPLv2 or the "Artistic" license. (license (list gpl2 artistic2.0)))) +(define-public circos + (package + (name "circos") + (version "0.69-9") + (source (origin + (method url-fetch) + (uri (string-append + "http://circos.ca/distribution/circos-" version ".tgz")) + (sha256 + (base32 "1ll9yxbk0v64813np0qz6h8bc53qlnhg9y1053b57xgkxgmxgn1l")) + (patches (list (search-patch "circos-remove-findbin.patch"))))) + (build-system gnu-build-system) + (arguments + `(#:tests? #f ; There are no tests. + #:phases + (modify-phases %standard-phases + (delete 'configure) + (delete 'build) + (replace 'install + (lambda* (#:key outputs #:allow-other-keys) + (let* ((out (assoc-ref outputs "out")) + (bin (string-append out "/bin")) + (datapath (string-append out "/share/Circos")) + (error (string-append out "/share/Circos/error")) + (fonts (string-append out "/share/Circos/fonts")) + (data (string-append out "/share/Circos/data")) + (tiles (string-append out "/share/Circos/tiles")) + (etc (string-append out "/share/Circos/etc")) + (lib (string-append out "/lib/perl5/site_perl/" + ,(package-version perl))) + (install-directory (lambda (source target) + (mkdir-p target) + (copy-recursively source target)))) + ;; Circos looks into a relative path for its configuration + ;; files. We need to provide an absolute path towards the + ;; corresponding paths in the store. + (substitute* '("bin/circos" "etc/colors_fonts_patterns.conf" + "etc/gddiag.conf" "etc/brewer.conf" "README") + (("<