unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#39998] [PATCH] gnu: Add circos.
@ 2020-03-09 14:26 Roel Janssen
  2020-03-18  9:51 ` Ludovic Courtès
  0 siblings, 1 reply; 3+ messages in thread
From: Roel Janssen @ 2020-03-09 14:26 UTC (permalink / raw)
  To: 39998

[-- Attachment #1: Type: text/plain, Size: 282 bytes --]

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


[-- Attachment #2: 0001-gnu-Add-circos.patch --]
[-- Type: text/x-patch, Size: 23545 bytes --]

From 3354081946899a7573c0af520ba4a29eaa818584 Mon Sep 17 00:00:00 2001
From: Roel Janssen <roel@gnu.org>
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")
+                 (("<<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")
-- 
2.25.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

* [bug#39998] [PATCH] gnu: Add circos.
  2020-03-09 14:26 [bug#39998] [PATCH] gnu: Add circos Roel Janssen
@ 2020-03-18  9:51 ` Ludovic Courtès
  2020-03-23 10:46   ` bug#39998: " Roel Janssen
  0 siblings, 1 reply; 3+ messages in thread
From: Ludovic Courtès @ 2020-03-18  9:51 UTC (permalink / raw)
  To: Roel Janssen; +Cc: 39998

Hi Roel,

Roel Janssen <roel@gnu.org> skribis:

> From 3354081946899a7573c0af520ba4a29eaa818584 Mon Sep 17 00:00:00 2001
> From: Roel Janssen <roel@gnu.org>
> 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.

[...]

> --- /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

Could you add a sentence or two explaining what this patch does, along
with provenance information and its upstream status (link to bug report,
upstream commit, etc.)?

Otherwise LGTM, thanks!

Ludo’.

^ permalink raw reply	[flat|nested] 3+ messages in thread

* bug#39998: [PATCH] gnu: Add circos.
  2020-03-18  9:51 ` Ludovic Courtès
@ 2020-03-23 10:46   ` Roel Janssen
  0 siblings, 0 replies; 3+ messages in thread
From: Roel Janssen @ 2020-03-23 10:46 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 39998-done

On Wed, 2020-03-18 at 10:51 +0100, Ludovic Courtès wrote:
> Hi Roel,
> 
> Roel Janssen <roel@gnu.org> skribis:
> 
> > From 3354081946899a7573c0af520ba4a29eaa818584 Mon Sep 17 00:00:00 2001
> > From: Roel Janssen <roel@gnu.org>
> > 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.
> 
> [...]
> 
> > --- /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
> 
> Could you add a sentence or two explaining what this patch does, along
> with provenance information and its upstream status (link to bug report,
> upstream commit, etc.)?
> 
> Otherwise LGTM, thanks!
> 
> Ludo’.
> 

Sorry for the delay.  I've added provenance information, and a description for
the patch and pushed it in 7ff6395.

Thanks!

Kind regards,
Roel Janssen

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2020-03-23 10:47 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-03-09 14:26 [bug#39998] [PATCH] gnu: Add circos Roel Janssen
2020-03-18  9:51 ` Ludovic Courtès
2020-03-23 10:46   ` bug#39998: " Roel Janssen

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).