diff options
author | Roel Janssen <roel@gnu.org> | 2020-03-23 11:42:36 +0100 |
---|---|---|
committer | Roel Janssen <roel@gnu.org> | 2020-03-23 11:42:36 +0100 |
commit | 7ff639510096ff762b9cced5fba6db254a961af9 (patch) | |
tree | dc8782041161da6271bddc41719c1c89edeb6c0b /gnu | |
parent | 591faabd8c93bfb6879910d8a424f0db835066c2 (diff) | |
download | patches-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')
-rw-r--r-- | gnu/local.mk | 1 | ||||
-rw-r--r-- | gnu/packages/patches/circos-remove-findbin.patch | 544 | ||||
-rw-r--r-- | gnu/packages/perl.scm | 96 |
3 files changed, 641 insertions, 0 deletions
diff --git a/gnu/local.mk b/gnu/local.mk index a080745220..7cce60b7c0 100644 --- a/gnu/local.mk +++ b/gnu/local.mk @@ -777,6 +777,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..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") |