summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'sci-astronomy')
-rw-r--r--sci-astronomy/skycat/Manifest1
-rw-r--r--sci-astronomy/skycat/files/skycat-3.1.3-remove-tclx-dep.patch315
-rw-r--r--sci-astronomy/skycat/files/skycat-3.1.3-string-issues.patch57
-rw-r--r--sci-astronomy/skycat/skycat-3.1.3.ebuild68
4 files changed, 441 insertions, 0 deletions
diff --git a/sci-astronomy/skycat/Manifest b/sci-astronomy/skycat/Manifest
index cad6d957909..306d57103d7 100644
--- a/sci-astronomy/skycat/Manifest
+++ b/sci-astronomy/skycat/Manifest
@@ -1 +1,2 @@
DIST skycat-3.1.2.tar.gz 3091874 SHA256 559ae26f044601517f8787eadcb93ebda85ebea971f8f961cedefbafb3b9d0ac SHA512 70f7f366c13f0d9914db5be0ed75952a5e97ca2aef18ce5a4aa3e330aeceaaa1ab06c5ada69056659d038b2e558648e1f4033668d4935c6a6c50bce8b766f100 WHIRLPOOL 29408a52256be3cffe06c86d8bc5f1551585f58c27c1c9e77b3f7f0393fd797295028e52410ea4bee4afbd37d2f5a277f3ae56c1c9354ae390a48de508eacded
+DIST skycat-3.1.3.tar.gz 3057187 SHA256 833655c5ed5591e2f12db681e3aed36af0af906a4ffca1c524a3681f9fee097c SHA512 55ec0c2b367e028c23e5e8f8d74106aa51aec5173c2ab1772f5fa8a5a5b65f3d85e7b991597a89f11f6ca14d57aaa6b774f474b41e78747ee486df66ab22e9ff WHIRLPOOL 6ac13f5b447a255dc63673aa7b8422e52e1c0174993d2ba7569a4690730243ae0dff3fcee483b2451599cedd9e83de47222384580004e82cefbddeeb17b7b887
diff --git a/sci-astronomy/skycat/files/skycat-3.1.3-remove-tclx-dep.patch b/sci-astronomy/skycat/files/skycat-3.1.3-remove-tclx-dep.patch
new file mode 100644
index 00000000000..73061798d37
--- /dev/null
+++ b/sci-astronomy/skycat/files/skycat-3.1.3-remove-tclx-dep.patch
@@ -0,0 +1,315 @@
+diff -Nur skycat-3.1.3.orig/astrotcl/library/AstrotclInit.tcl skycat-3.1.3/astrotcl/library/AstrotclInit.tcl
+--- skycat-3.1.3.orig/astrotcl/library/AstrotclInit.tcl 2017-08-10 16:18:22.100000000 +0000
++++ skycat-3.1.3/astrotcl/library/AstrotclInit.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -11,7 +11,7 @@
+ # pbiereic 24/08/99 created
+ # abrighto 21/12/05 updated for new version
+
+-if {![lcontain $auto_path $astrotcl_library]} {
++if { $auto_path ni $astrotcl_library } {
+ lappend auto_path $astrotcl_library
+ }
+
+diff -Nur skycat-3.1.3.orig/cat/library/AstroCat.tcl skycat-3.1.3/cat/library/AstroCat.tcl
+--- skycat-3.1.3.orig/cat/library/AstroCat.tcl 2017-08-10 16:18:22.110000000 +0000
++++ skycat-3.1.3/cat/library/AstroCat.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -145,7 +145,7 @@
+ return
+ }
+ if {"$onoff" == "on"} {
+- lassign [pipe] rfd_ wfd_
++ lassign [chan pipe] rfd_ wfd_
+ fileevent $rfd_ readable [code $this feedback]
+ $w_.cat feedback $wfd_
+ } elseif {[info exists rfd_]} {
+diff -Nur skycat-3.1.3.orig/cat/library/AstroImage.tcl skycat-3.1.3/cat/library/AstroImage.tcl
+--- skycat-3.1.3.orig/cat/library/AstroImage.tcl 2017-08-10 16:18:22.110000000 +0000
++++ skycat-3.1.3/cat/library/AstroImage.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -401,7 +401,7 @@
+ return
+ }
+ if {"$onoff" == "on"} {
+- lassign [pipe] rfd_ wfd_
++ lassign [chan pipe] rfd_ wfd_
+ fileevent $rfd_ readable [code $this feedback]
+ $w_.im feedback $wfd_
+ } elseif {[info exists rfd_]} {
+diff -Nur skycat-3.1.3.orig/cat/library/CatInit.tcl skycat-3.1.3/cat/library/CatInit.tcl
+--- skycat-3.1.3.orig/cat/library/CatInit.tcl 2017-08-10 16:18:22.110000000 +0000
++++ skycat-3.1.3/cat/library/CatInit.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -12,7 +12,7 @@
+
+ package require img::xpm
+
+-if {![lcontain $auto_path $cat_library]} {
++if { $auto_path ni $cat_library } {
+ lappend auto_path $cat_library
+ }
+
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdImageBias.tcl skycat-3.1.3/rtd/library/RtdImageBias.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdImageBias.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdImageBias.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -10,6 +10,12 @@
+
+ itk::usual RtdImageBias {}
+
++# see http://wiki.tcl.tk/2028
++proc lvarpush {var val {ndx end}} {
++ upvar $var args
++ set args [linsert $args $ndx $val]
++}
++
+ # RtdImageBias is a class for controlling the subtraction of
+ # a bias frame.
+
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdImageFitsHeader.tcl skycat-3.1.3/rtd/library/RtdImageFitsHeader.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdImageFitsHeader.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdImageFitsHeader.tcl 2017-08-10 17:41:35.500000000 +0000
+@@ -11,6 +11,8 @@
+ # pbiereic 17/02/03 fixed problems with tabnotebook, packing order
+ # and labels of tabsets
+
++package require Tclutil
++
+ itk::usual RtdImageFitsHeader {}
+
+ # RtdImageFitsHeader is an itcl widget for displaying the FITS header of all
+@@ -156,7 +158,7 @@
+ set tconfig_(sort_cols) $sort_cols
+ set tconfig_(sort_order) $sort_order
+
+- loop i 0 $num_hdus_ {
++ for {set i 0} {$i < $num_hdus_} {incr i} {
+ $tabnotebook_(table$i) config -sort_cols $sort_cols \
+ -sort_order $sort_order
+ $tabnotebook_(table$i) new_info
+@@ -169,7 +171,7 @@
+ global $var
+ set val [set $var]
+ set tconfig_($label) $val
+- loop i 0 $num_hdus_ {
++ for {set i 0} {$i < $num_hdus_} {incr i} {
+ $tabnotebook_(table$i) set_option $label Show $val
+ $tabnotebook_(table$i) new_info
+ }
+@@ -216,7 +218,7 @@
+
+ set length [string length [$listbox get 0]]
+
+- loop n $start_idx $end_idx {
++ for {set n $start_idx} {$n < $end_idx} {incr n} {
+ set row [string tolower [$listbox get $n]]
+ if {[catch {regexp -indices $string $row indices} idx] } { continue }
+ if { $idx > 0 } {
+@@ -274,7 +276,7 @@
+ set hlist [$image_ hdu list]
+
+ set ExtName "HDU 1"
+- loop i 0 $hdu_count {
++ for {set i 0} {$i < $hdu_count} {incr i} {
+ set hdu [expr {$i + 1}]
+ set list [lindex $hlist $i]
+
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdImageHduChooser.tcl skycat-3.1.3/rtd/library/RtdImageHduChooser.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdImageHduChooser.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdImageHduChooser.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -16,6 +16,7 @@
+ # pbiereic 11/10/08 Break image display loop after failure.
+ # pbiereic 26/11/08 Using 'view update' for HDU images display.
+ # Using a toplevel window for the HDU images display.
++package require Tclutil
+
+ itk::usual RtdImageHduChooser {}
+
+@@ -426,7 +427,7 @@
+
+ private method svinfo {} {
+ set list [array get ext_ *NAXIS*]
+- loop i 0 [llength $list] 2 {
++ for {set i 0} {$i < [llength $list]} {incr i 2} {
+ lappend newlist "[lindex $list $i] [lindex $list [expr {$i+1}]]"
+ }
+ set newlist [lsort -increasing -index 0 $newlist]
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdImagePerf.tcl skycat-3.1.3/rtd/library/RtdImagePerf.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdImagePerf.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdImagePerf.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -9,6 +9,7 @@
+ # D. Hopkinson 31 Jan 97 Created
+ # P.Biereichel 21/07/97 % display is the default + some bug fixes
+ # P.Biereichel 01/03/01 Only % display suported + code revised
++package require Tclutil
+
+ itk::usual RtdImagePerf {}
+
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdImagePick2.tcl skycat-3.1.3/rtd/library/RtdImagePick2.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdImagePick2.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdImagePick2.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -62,6 +62,7 @@
+ # NOTES
+ # - In contrast to RtdImagePick, RtdImagePick2 does not use tkwait which may
+ # cause problem for an inheriting class due to nested calls to tkwait.
++package require Tclutil
+
+ itk::usual RtdImagePick2 { }
+
+@@ -127,7 +128,7 @@
+ {Set the magnification factor of the zoom} \
+ -menu [menu $magMenu_]
+
+- loop i 2 31 {
++ for {set i 2} {$i < 31} {incr i} {
+ $m.mag add radiobutton -label " ${i}x" \
+ -command [code $this scaleZoom $i] \
+ -variable $magMenu_
+diff -Nur skycat-3.1.3.orig/rtd/library/RtdInit.tcl skycat-3.1.3/rtd/library/RtdInit.tcl
+--- skycat-3.1.3.orig/rtd/library/RtdInit.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/RtdInit.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -10,7 +10,7 @@
+ # -------- --------- ----------------------------------------------
+ # pbiereic 24/08/99 created
+
+-if {![lcontain $auto_path $rtd_library]} {
++if { $auto_path ni $rtd_library} {
+ lappend auto_path $rtd_library
+ }
+
+diff -Nur skycat-3.1.3.orig/rtd/library/Rtd.tcl skycat-3.1.3/rtd/library/Rtd.tcl
+--- skycat-3.1.3.orig/rtd/library/Rtd.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/Rtd.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -650,7 +650,7 @@
+ set t6 "Tcl version:\t[info patchlevel]"
+ set t7 "Tcl package path:\t$tcl_pkgPath"
+ set t8 "Package versions:\t"
+- foreach el "Tclx Itcl Itk Tkx BLT" {
++ foreach el "Itcl Itk BLT" {
+ set t8 "$t8$el[package versions $el] "
+ }
+ DialogWidget $w_.rtd_about \
+diff -Nur skycat-3.1.3.orig/rtd/library/tRtd.tcl skycat-3.1.3/rtd/library/tRtd.tcl
+--- skycat-3.1.3.orig/rtd/library/tRtd.tcl 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/library/tRtd.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -10,6 +10,7 @@
+ # who when what
+ # -------------- --------- ----------------------------------------
+ # pbiereic 01/03/01 Created
++package require Tclutil
+
+ itk::usual tRtd {}
+
+diff -Nur skycat-3.1.3.orig/rtd/util/rmipc.tcl skycat-3.1.3/rtd/util/rmipc.tcl
+--- skycat-3.1.3.orig/rtd/util/rmipc.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/rtd/util/rmipc.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -20,7 +20,7 @@
+ }
+ set f [open "|ipcs $opt"]
+ while {[gets $f line] != -1} {
+- if { ![lcontain $line $env(USER)]} { continue }
++ if { $line ni $env(USER) } { continue }
+ set num [lindex $line 1]
+ if {![catch {expr $num}]} {
+ if {[catch {exec ipcrm $opt $num} msg]} {
+diff -Nur skycat-3.1.3.orig/skycat/library/SkycatInit.tcl skycat-3.1.3/skycat/library/SkycatInit.tcl
+--- skycat-3.1.3.orig/skycat/library/SkycatInit.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/skycat/library/SkycatInit.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -12,9 +12,11 @@
+
+ package require img::xpm
+
+-if {![lcontain $auto_path $skycat_library]} {
++if { $auto_path ni $skycat_library } {
+ lappend auto_path $skycat_library
+ }
+
+ namespace eval skycat {namespace export *}
+ namespace import -force skycat::*
++namespace import ::tcl::mathfunc::max
++namespace import ::tcl::mathfunc::min
+diff -Nur skycat-3.1.3.orig/tclutil/library/Batch.tcl skycat-3.1.3/tclutil/library/Batch.tcl
+--- skycat-3.1.3.orig/tclutil/library/Batch.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/tclutil/library/Batch.tcl 2017-08-10 17:40:54.160000000 +0000
+@@ -15,6 +15,8 @@
+ # -------- --------- ----------------------------------------------
+ # A.Brighton 20 Dec 95 created
+
++package require Expect
++
+ itk::usual Batch {}
+
+ # This class is used to evaluate a set of Tcl commands in a separate
+@@ -55,7 +57,7 @@
+ }
+ flush stdout
+ flush stderr
+- pipe rfd wfd
++ lassign [chan pipe] rfd wfd
+ set pid [fork]
+ if {$pid == 0} {
+ # child
+@@ -65,7 +67,7 @@
+ close $fd
+ puts $wfd $status
+ close $wfd
+- kill [pid]
++ kill [pid] 9
+ } else {
+ set bg_pid_ $pid
+ fileevent $rfd readable [code $this read_pipe $rfd $wfd]
+diff -Nur skycat-3.1.3.orig/tclutil/library/canvastext.tcl skycat-3.1.3/tclutil/library/canvastext.tcl
+--- skycat-3.1.3.orig/tclutil/library/canvastext.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/tclutil/library/canvastext.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -21,7 +21,7 @@
+ proc ct_search_forward_char {canvas item char} {
+ if {![lempty $item]} {
+ set text [lindex [$canvas itemconfigure $item -text] 4]
+- loop i [$canvas index $item insert] [$canvas index $item end] {
++ for {set i [$canvas index $item insert]} {$i < [$canvas index $item end]} {incr i} {
+ if {$char == [string index $text $i]} {
+ return $i
+ }
+@@ -37,7 +37,7 @@
+ proc ct_search_backward_char {canvas item char} {
+ if {![lempty $item]} {
+ set text [lindex [$canvas itemconfigure $item -text] 4]
+- loop i [expr {[$canvas index $item insert] - 1}] 0 -1 {
++ for {set i [expr {[$canvas index $item insert] - 1}]} {$i > 0} {decr i} {
+ if {$char == [string index $text $i]} {
+ return $i
+ }
+diff -Nur skycat-3.1.3.orig/tclutil/library/itcldoc.tcl skycat-3.1.3/tclutil/library/itcldoc.tcl
+--- skycat-3.1.3.orig/tclutil/library/itcldoc.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/tclutil/library/itcldoc.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -36,7 +36,6 @@
+ # A.Brighton 07 Jan 98 created
+
+ package require Itcl
+-package require Tclx
+
+ itcl::class ItclDoc {
+
+diff -Nur skycat-3.1.3.orig/tclutil/library/list.tcl skycat-3.1.3/tclutil/library/list.tcl
+--- skycat-3.1.3.orig/tclutil/library/list.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/tclutil/library/list.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -50,3 +50,9 @@
+ }
+ return $l
+ }
++
++proc lempty {list} {
++ if {[catch {llength $list} len]} { return 0 }
++ return [expr {$len == 0}]
++}
++
+diff -Nur skycat-3.1.3.orig/tclutil/library/TclutilInit.tcl skycat-3.1.3/tclutil/library/TclutilInit.tcl
+--- skycat-3.1.3.orig/tclutil/library/TclutilInit.tcl 2017-08-10 16:18:22.130000000 +0000
++++ skycat-3.1.3/tclutil/library/TclutilInit.tcl 2017-08-10 17:38:25.850000000 +0000
+@@ -16,9 +16,8 @@
+
+ package require Itcl
+ package require Itk
+-package require Tclx
+
+-if {![lcontain $auto_path $tclutil_library]} {
++if {$auto_path ni $tclutil_library} {
+ lappend auto_path $tclutil_library
+ }
+
diff --git a/sci-astronomy/skycat/files/skycat-3.1.3-string-issues.patch b/sci-astronomy/skycat/files/skycat-3.1.3-string-issues.patch
new file mode 100644
index 00000000000..f3e62572a13
--- /dev/null
+++ b/sci-astronomy/skycat/files/skycat-3.1.3-string-issues.patch
@@ -0,0 +1,57 @@
+diff -Nur skycat-3.1.3.orig/cat/generic/TclAstroCat.C skycat-3.1.3/cat/generic/TclAstroCat.C
+--- skycat-3.1.3.orig/cat/generic/TclAstroCat.C 2017-08-10 16:18:22.110000000 +0000
++++ skycat-3.1.3/cat/generic/TclAstroCat.C 2017-08-10 18:06:22.660000000 +0000
+@@ -75,7 +75,7 @@
+ */
+ static class TclAstroCatSubCmds {
+ public:
+- char* name; // method name
++ const char* name; // method name
+ int (TclAstroCat::*fptr)(int argc, char* argv[]);
+ int min_args; // minimum number of args
+ int max_args; // maximum number of args
+diff -Nur skycat-3.1.3.orig/rtd/generic/BiasData.C skycat-3.1.3/rtd/generic/BiasData.C
+--- skycat-3.1.3.orig/rtd/generic/BiasData.C 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/generic/BiasData.C 2017-08-10 18:05:35.520000000 +0000
+@@ -76,7 +76,7 @@
+ char* BiasData::file(int nr)
+ {
+ if (nr < 0 || nr >=MAXBIAS)
+- return '\0';
++ return "";
+ return &files_[nr][0];
+ }
+
+diff -Nur skycat-3.1.3.orig/rtd/generic/RtdPerf.C skycat-3.1.3/rtd/generic/RtdPerf.C
+--- skycat-3.1.3.orig/rtd/generic/RtdPerf.C 2017-08-10 16:18:22.120000000 +0000
++++ skycat-3.1.3/rtd/generic/RtdPerf.C 2017-08-10 18:05:35.520000000 +0000
+@@ -226,18 +226,18 @@
+ accGENtime_ = accTCLtime_ = accXtime_ = accFREQtime_ = 0.0;
+
+ // Clear the Tcl variables.
+- Tcl_SetVar2(interp_, var, "PERF_COUNT", '\0', TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_COUNT", "", TCL_GLOBAL_ONLY);
+
+- Tcl_SetVar2(interp_, var, "PERF_FREQ", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_GEN", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_XFUNC", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_TCL", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_TOTAL", '\0', TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_FREQ", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_GEN", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_XFUNC", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_TCL", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_TOTAL", "", TCL_GLOBAL_ONLY);
+
+- Tcl_SetVar2(interp_, var, "PERF_FREQ_AVE", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_GEN_AVE", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_XFUNC_AVE", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_TCL_AVE", '\0', TCL_GLOBAL_ONLY);
+- Tcl_SetVar2(interp_, var, "PERF_TOTAL_AVE", '\0', TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_FREQ_AVE", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_GEN_AVE", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_XFUNC_AVE", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_TCL_AVE", "", TCL_GLOBAL_ONLY);
++ Tcl_SetVar2(interp_, var, "PERF_TOTAL_AVE", "", TCL_GLOBAL_ONLY);
+ }
+
diff --git a/sci-astronomy/skycat/skycat-3.1.3.ebuild b/sci-astronomy/skycat/skycat-3.1.3.ebuild
new file mode 100644
index 00000000000..4ade8b0c438
--- /dev/null
+++ b/sci-astronomy/skycat/skycat-3.1.3.ebuild
@@ -0,0 +1,68 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+inherit autotools flag-o-matic
+
+DESCRIPTION="ESO astronomical image visualizer with catalog access"
+HOMEPAGE="http://archive.eso.org/skycat"
+SRC_URI="http://archive.eso.org/cms/tools-documentation/skycat-download/${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="threads"
+
+DEPEND="
+ dev-tcltk/blt:=
+ dev-tcltk/expect:=
+ dev-tcltk/itcl:=
+ dev-tcltk/iwidgets:=
+ dev-tcltk/tkimg:=
+ sci-astronomy/wcstools:=
+ sci-libs/cfitsio:=
+ x11-libs/libXext:=
+"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.1.3-string-issues.patch
+ "${FILESDIR}"/${PN}-3.1.3-remove-tclx-dep.patch
+ "${FILESDIR}"/${PN}-3.1.2-m4.patch
+ "${FILESDIR}"/${PN}-3.1.2-makefile-qa.patch
+ "${FILESDIR}"/${PN}-3.0.2-systemlibs.patch
+ "${FILESDIR}"/${PN}-3.0.2-tk8.5.patch
+)
+
+src_prepare() {
+ default
+ rm -r astrotcl/{cfitsio,libwcs} || die
+ # prefix it
+ sed -e "s:/usr:${EPREFIX}/usr:g" \
+ -i */configure.in */aclocal.m4 || die
+ local f
+ for f in configure.in */configure.in ; do
+ mv "$f" "${f/.in/.ac}" || die
+ done
+ # bug #626162 . lazy sed to avoid a big patch
+ sed -i -e 's/static char/static unsigned char/g' $(find . -name \*.xbm) || die
+ eautoreconf
+}
+
+src_configure() {
+ # bug #514604
+ append-cppflags -DUSE_INTERP_RESULT
+ econf $(use_enable threads) --enable-merge
+}
+
+src_install() {
+ default
+ local d f
+ for d in tclutil astrotcl rtd cat skycat; do
+ for f in README CHANGES VERSION; do
+ newdoc ${f} ${f}.${d}
+ done
+ done
+}