aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages
diff options
context:
space:
mode:
authorRoel Janssen <roel@gnu.org>2020-03-23 11:42:36 +0100
committerRoel Janssen <roel@gnu.org>2020-03-23 11:42:36 +0100
commit7ff639510096ff762b9cced5fba6db254a961af9 (patch)
treedc8782041161da6271bddc41719c1c89edeb6c0b /gnu/packages
parent591faabd8c93bfb6879910d8a424f0db835066c2 (diff)
downloadpatches-7ff639510096ff762b9cced5fba6db254a961af9.tar
patches-7ff639510096ff762b9cced5fba6db254a961af9.tar.gz
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.
Diffstat (limited to 'gnu/packages')
-rw-r--r--gnu/packages/patches/circos-remove-findbin.patch544
-rw-r--r--gnu/packages/perl.scm96
2 files changed, 640 insertions, 0 deletions
diff --git a/gnu/packages/patches/circos-remove-findbin.patch b/gnu/packages/patches/circos-remove-findbin.patch
new file mode 100644
index 0000000000..5675172e5d
--- /dev/null
+++ b/gnu/packages/patches/circos-remove-findbin.patch
@@ -0,0 +1,544 @@
+This patch was created by Roel Janssen <roel@gnu.org>.
+
+Circos uses paths relative to the "circos" script to find its Perl modules.
+This patch removes that mechanism, and instead expects the 'Circos' modules
+to be available in the global Perl path.
+
+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 7e27ea01e7..0d4dcd6fe0 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")
+ (("<<include etc") (string-append "<<include " etc)))
+ (substitute* '("etc/colors.conf" "etc/image.black.conf"
+ "etc/patterns.conf" "etc/image.conf")
+ (("<<include ") (string-append "<<include " etc "/")))
+ (substitute* '("etc/fonts.conf" "fonts/README.fonts")
+ (("= fonts") (string-append "= " fonts)))
+ (substitute* "etc/patterns.conf"
+ (("= tiles") (string-append "= " tiles)))
+ (substitute* "lib/Circos/Error.pm"
+ (("error/configuration.missing.txt")
+ (string-append error "/configuration.missing.txt")))
+ (substitute* "etc/housekeeping.conf"
+ (("# data_path = /home/martink/circos-tutorials ")
+ (string-append "data_path = " datapath)))
+ (substitute* "lib/Circos/Configuration.pm"
+ (("my @possibilities = \\(")
+ (string-append "my @possibilities = ("
+ "catfile( \"" datapath "\", $arg ), "
+ "catfile( \"" etc "\", $arg ), "
+ "catfile( \"" etc "/tracks\", $arg ), ")))
+ (for-each install-directory
+ (list "error" "fonts" "data" "tiles" "etc" "lib")
+ (list error fonts data tiles etc lib))
+ (install-file "bin/circos" bin)
+ #t))))))
+ (propagated-inputs
+ `(("perl" ,perl)
+ ("perl-carp" ,perl-carp)
+ ("perl-clone" ,perl-clone)
+ ("perl-config-general" ,perl-config-general)
+ ("perl-digest-md5" ,perl-digest-md5)
+ ("perl-file-temp" ,perl-file-temp)
+ ("perl-font-ttf" ,perl-font-ttf)
+ ("perl-gd" ,perl-gd)
+ ("perl-getopt-long" ,perl-getopt-long)
+ ("perl-list-allutils" ,perl-list-allutils)
+ ("perl-math-bezier" ,perl-math-bezier)
+ ("perl-math-round" ,perl-math-round)
+ ("perl-math-vecstat" ,perl-math-vecstat)
+ ("perl-memoize" ,perl-memoize)
+ ("perl-number-format" ,perl-number-format)
+ ("perl-params-validate" ,perl-params-validate)
+ ("perl-readonly" ,perl-readonly)
+ ("perl-regexp-common" ,perl-regexp-common)
+ ("perl-set-intspan" ,perl-set-intspan)
+ ("perl-statistics-basic" ,perl-statistics-basic)
+ ("perl-svg" ,perl-svg)
+ ("perl-text-balanced" ,perl-text-balanced)
+ ("perl-text-format" ,perl-text-format)
+ ("perl-time-hires" ,perl-time-hires)))
+ (home-page "http://circos.ca/")
+ (synopsis "Generation of circularly composited renditions")
+ (description
+ "Circos is a program for the generation of publication-quality, circularly
+composited renditions of genomic data and related annotations.")
+ (license gpl2+)))
+
(define-public perl-class-accessor
(package
(name "perl-class-accessor")