rpms/ds9/F-8 FlexLexer.h, NONE, 1.1 ds9-external.patch, NONE, 1.1 ds9-flex.patch, NONE, 1.1 ds9-generate-tarball.sh, NONE, 1.1 ds9.desktop, NONE, 1.1 ds9.make.fedora, NONE, 1.1 ds9.spec, NONE, 1.1 sources, 1.1, 1.2

Sergio Pascual (sergiopr) fedora-extras-commits at redhat.com
Tue Dec 4 11:02:33 UTC 2007


Author: sergiopr

Update of /cvs/pkgs/rpms/ds9/F-8
In directory cvs-int.fedora.redhat.com:/tmp/cvs-serv5936

Modified Files:
	sources 
Added Files:
	FlexLexer.h ds9-external.patch ds9-flex.patch 
	ds9-generate-tarball.sh ds9.desktop ds9.make.fedora ds9.spec 
Log Message:
Importing ds9 



--- NEW FILE FlexLexer.h ---

// FlexLexer.h -- define interfaces for lexical analyzer classes generated
// by flex

// Copyright (c) 1993 The Regents of the University of California.
// All rights reserved.
//
// This code is derived from software contributed to Berkeley by
// Kent Williams and Tom Epperly.
//
//  Redistribution and use in source and binary forms, with or without
//  modification, are permitted provided that the following conditions
//  are met:

//  1. Redistributions of source code must retain the above copyright
//  notice, this list of conditions and the following disclaimer.
//  2. Redistributions in binary form must reproduce the above copyright
//  notice, this list of conditions and the following disclaimer in the
//  documentation and/or other materials provided with the distribution.

//  Neither the name of the University nor the names of its contributors
//  may be used to endorse or promote products derived from this software
//  without specific prior written permission.

//  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
//  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
//  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
//  PURPOSE.

// This file defines FlexLexer, an abstract class which specifies the
// external interface provided to flex C++ lexer objects, and yyFlexLexer,
// which defines a particular lexer class.
//
// If you want to create multiple lexer classes, you use the -P flag
// to rename each yyFlexLexer to some other xxFlexLexer.  You then
// include <FlexLexer.h> in your other sources once per lexer class:
//
//	#undef yyFlexLexer
//	#define yyFlexLexer xxFlexLexer
//	#include <FlexLexer.h>
//
//	#undef yyFlexLexer
//	#define yyFlexLexer zzFlexLexer
//	#include <FlexLexer.h>
//	...

#ifndef __FLEX_LEXER_H
// Never included before - need to define base class.
#define __FLEX_LEXER_H
#include <iostream.h>

extern "C++" {

struct yy_buffer_state;
typedef int yy_state_type;

class FlexLexer {
public:
	virtual ~FlexLexer()	{ }

	const char* YYText()	{ return yytext; }
	int YYLeng()		{ return yyleng; }

	virtual void
		yy_switch_to_buffer( struct yy_buffer_state* new_buffer ) = 0;
	virtual struct yy_buffer_state*
		yy_create_buffer( istream* s, int size ) = 0;
	virtual void yy_delete_buffer( struct yy_buffer_state* b ) = 0;
	virtual void yyrestart( istream* s ) = 0;

	virtual int yylex() = 0;

	// Call yylex with new input/output sources.
	int yylex( istream* new_in, ostream* new_out = 0 )
		{
		switch_streams( new_in, new_out );
		return yylex();
		}

	// Switch to new input/output streams.  A nil stream pointer
	// indicates "keep the current one".
	virtual void switch_streams( istream* new_in = 0,
					ostream* new_out = 0 ) = 0;

	int lineno() const		{ return yylineno; }

	int debug() const		{ return yy_flex_debug; }
	void set_debug( int flag )	{ yy_flex_debug = flag; }

protected:
	char* yytext;
	int yyleng;
	int yylineno;		// only maintained if you use %option yylineno
	int yy_flex_debug;	// only has effect with -d or "%option debug"
};

}
#endif

#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
// Either this is the first time through (yyFlexLexerOnce not defined),
// or this is a repeated include to define a different flavor of
// yyFlexLexer, as discussed in the flex man page.
#define yyFlexLexerOnce

extern "C++" {

class yyFlexLexer : public FlexLexer {
public:
	// arg_yyin and arg_yyout default to the cin and cout, but we
	// only make that assignment when initializing in yylex().
	yyFlexLexer( istream* arg_yyin = 0, ostream* arg_yyout = 0 );

	virtual ~yyFlexLexer();

	void yy_switch_to_buffer( struct yy_buffer_state* new_buffer );
	struct yy_buffer_state* yy_create_buffer( istream* s, int size );
	void yy_delete_buffer( struct yy_buffer_state* b );
	void yyrestart( istream* s );

	virtual int yylex();
	virtual void switch_streams( istream* new_in, ostream* new_out );

protected:
	virtual int LexerInput( char* buf, int max_size );
	virtual void LexerOutput( const char* buf, int size );
	virtual void LexerError( const char* msg );

	void yyunput( int c, char* buf_ptr );
	int yyinput();

	void yy_load_buffer_state();
	void yy_init_buffer( struct yy_buffer_state* b, istream* s );
	void yy_flush_buffer( struct yy_buffer_state* b );

	int yy_start_stack_ptr;
	int yy_start_stack_depth;
	int* yy_start_stack;

	void yy_push_state( int new_state );
	void yy_pop_state();
	int yy_top_state();

	yy_state_type yy_get_previous_state();
	yy_state_type yy_try_NUL_trans( yy_state_type current_state );
	int yy_get_next_buffer();

	istream* yyin;	// input source for default LexerInput
	ostream* yyout;	// output sink for default LexerOutput

	struct yy_buffer_state* yy_current_buffer;

	// yy_hold_char holds the character lost when yytext is formed.
	char yy_hold_char;

	// Number of characters read into yy_ch_buf.
	int yy_n_chars;

	// Points to current character in buffer.
	char* yy_c_buf_p;

	int yy_init;		// whether we need to initialize
	int yy_start;		// start state number

	// Flag which is used to allow yywrap()'s to do buffer switches
	// instead of setting up a fresh yyin.  A bit of a hack ...
	int yy_did_buffer_switch_on_eof;

	// The following are not always needed, but may be depending
	// on use of certain flex features (like REJECT or yymore()).

	yy_state_type yy_last_accepting_state;
	char* yy_last_accepting_cpos;

	yy_state_type* yy_state_buf;
	yy_state_type* yy_state_ptr;

	char* yy_full_match;
	int* yy_full_state;
	int yy_full_lp;

	int yy_lp;
	int yy_looking_for_trail_begin;

	int yy_more_flag;
	int yy_more_len;
	int yy_more_offset;
	int yy_prev_more_offset;
};

}

#endif

ds9-external.patch:

--- NEW FILE ds9-external.patch ---
diff -ur saods9.orig/ds9/ds9.C saods9/ds9/ds9.C
--- saods9.orig/ds9/ds9.C	2007-06-19 19:13:04.000000000 +0200
+++ saods9/ds9/ds9.C	2007-12-04 10:19:19.000000000 +0100
@@ -10,8 +10,8 @@
 
   void TclSetStartupScriptFileName(const char*);
 
-  int Zvfs_Init(Tcl_Interp*);
-  int Zvfs_Mount(Tcl_Interp*, char*, char *);
+/*  int Zvfs_Init(Tcl_Interp*);
+  int Zvfs_Mount(Tcl_Interp*, char*, char *);*/
 
   int Blt_Init(Tcl_Interp*);
   int Tktable_Init(Tcl_Interp*);
@@ -57,16 +57,16 @@
   appname = dupstr(argv[0]);
 
   // set default encoding dir
-  Tcl_SetDefaultEncodingDir("./zvfsmntpt/tcl8.4");
+//  Tcl_SetDefaultEncodingDir("./zvfsmntpt/tcl8.4");
 
   // so that tcl and tk know where to find their libs
   // we do it here before InitLibraryPath is called
-  putenv("TCL_LIBRARY=./zvfsmntpt/tcl8.4");
-  putenv("TK_LIBRARY=./zvfsmntpt/tk8.4");
+//  putenv("TCL_LIBRARY=./zvfsmntpt/tcl8.4");
+//  putenv("TK_LIBRARY=./zvfsmntpt/tk8.4");
 
   // trap for -console, else set our startup script
   if (argc<2 || strcmp(argv[1],"-console"))
-    TclSetStartupScriptFileName("./zvfsmntpt/src/ds9.tcl");
+    TclSetStartupScriptFileName("/usr/share/ds9/src/ds9.tcl");
   else
     console =1;
 }
@@ -82,20 +82,20 @@
   // We have to initialize the virtual filesystem before calling
   // Tcl_Init().  Otherwise, Tcl_Init() will not be able to find
   // its startup script files.
-  if (Zvfs_Init(interp) == TCL_ERROR)
+/*  if (Zvfs_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "zvfs", Zvfs_Init, 
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
 
   // find current working directory, and set as mount point
-  {
+/*  {
     Tcl_DString pwd;
     Tcl_DStringInit(&pwd);
     Tcl_GetCwd(interp, &pwd);
     Zvfs_Mount(interp, (char *)Tcl_GetNameOfExecutable(), 
 	       Tcl_DStringValue(&pwd));
     Tcl_DStringFree(&pwd);
-  }
+  }*/
 
   // Initialize Tcl and Tk
   if (Tcl_Init(interp))
@@ -104,7 +104,7 @@
   // Tk
   if (Tk_Init(interp))
     return TCL_ERROR;
-  Tcl_StaticPackage(interp,"Tk", Tk_Init, Tk_SafeInit);
+//  Tcl_StaticPackage(interp,"Tk", Tk_Init, Tk_SafeInit);
 
 #ifdef __WIN32__
   if (console) {
@@ -115,16 +115,18 @@
 #endif
 
   // Blt
-  if (Blt_Init(interp) == TCL_ERROR)
+/*  if (Blt_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "BLT", Blt_Init, 
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
 
+  Tcl_PkgRequire(interp, "BLT", "2.4", 0);
   // Tktable
-  if (Tktable_Init(interp) == TCL_ERROR)
+  /*if (Tktable_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "Tktable", Tktable_Init, 
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "Tktable", "2.9", 0);
 
   // Checkdns
   if (Checkdns_Init(interp) == TCL_ERROR)
@@ -145,10 +147,12 @@
 		     (Tcl_PackageInitProc*)NULL);
 
   // Tclxpa
-  if (Tclxpa_Init(interp) == TCL_ERROR)
+/*  if (Tclxpa_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "Tclxpa", Tclxpa_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+
+  Tcl_PkgRequire(interp, "Tclxpa", "1.0", 0);
 
   // IIS
   if (Iis_Init(interp) == TCL_ERROR)
@@ -163,82 +167,95 @@
 		     (Tcl_PackageInitProc*)NULL);
 
   // Tkimg
-  if (Tkimg_Init(interp) == TCL_ERROR)
+  /*if (Tkimg_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "img", 
-		     Tkimg_Init,(Tcl_PackageInitProc*)NULL);
+		     Tkimg_Init,(Tcl_PackageInitProc*)NULL);*/
+
+  Tcl_PkgRequire(interp, "img", "1.3", 0);
 
   // zlibtcl
-  if (Zlibtcl_Init(interp) == TCL_ERROR)
+/*  if (Zlibtcl_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "zlibtcl", Zlibtcl_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "zlibtcl", "1.2", 0);
 
   // jpegtcl
-  if (Jpegtcl_Init(interp) == TCL_ERROR)
+  /*if (Jpegtcl_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "jpegtcl", Jpegtcl_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "jpegtcl", "1.0", 0);
 
   // Tkimgjpeg
-  if (Tkimgjpeg_Init(interp) == TCL_ERROR)
+/*  if (Tkimgjpeg_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "jpeg", Tkimgjpeg_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "jpeg", "1.3", 0);
 
   // Tifftcl
-  if (Tifftcl_Init(interp) == TCL_ERROR)
+/*  if (Tifftcl_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "tifftcl", Tifftcl_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "tifftcl", "3.8.2", 0);
 
   // Tkimgtiff
-  if (Tkimgtiff_Init(interp) == TCL_ERROR)
+/*  if (Tkimgtiff_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "tiff", Tkimgtiff_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "tiff", "1.3", 0);
 
   // Pngtcl
-  if (Pngtcl_Init(interp) == TCL_ERROR)
+/*  if (Pngtcl_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "pngtcl", Pngtcl_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "pngtcl", "1.2.12", 0);
 
   // Tkimgpng
-  if (Tkimgpng_Init(interp) == TCL_ERROR)
+/*  if (Tkimgpng_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "png", Tkimgpng_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "png", "1.3", 0);
 
   // Tkimggif
-  if (Tkimggif_Init(interp) == TCL_ERROR)
+/*  if (Tkimggif_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "gif", Tkimggif_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "gif", "1.3", 0);
 
   // Tkimgppm
-  if (Tkimgppm_Init(interp) == TCL_ERROR)
+/*  if (Tkimgppm_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "ppm", Tkimgppm_Init,
-		     (Tcl_PackageInitProc*)NULL);
-
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "ppm", "1.3", 0);
   // Tkimgbmp
-  if (Tkimgbmp_Init(interp) == TCL_ERROR)
+/*  if (Tkimgbmp_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "bmp", Tkimgbmp_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "bpm", "1.3", 0);
+  // Tkimgbmp
 
   // Tkimgxbm
-  if (Tkimgxbm_Init(interp) == TCL_ERROR)
+/*  if (Tkimgxbm_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "xbm", Tkimgxbm_Init,
-		     (Tcl_PackageInitProc*)NULL);
-
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "bpm", "1.3", 0);
   // Tkimgwindow
-  if (Tkimgwindow_Init(interp) == TCL_ERROR)
+  /*if (Tkimgwindow_Init(interp) == TCL_ERROR)
     return TCL_ERROR;
   Tcl_StaticPackage (interp, "window", Tkimgwindow_Init,
-		     (Tcl_PackageInitProc*)NULL);
+		     (Tcl_PackageInitProc*)NULL);*/
+  Tcl_PkgRequire(interp, "window", "1.3", 0);
 
 #ifdef _MACOSX
   if (Tkmacosx_Init(interp) == TCL_ERROR)
@@ -248,11 +265,12 @@
 #endif
 
   // Variables
-  Tcl_SetVar(interp, "auto_path", "./zvfsmntpt/tcl8.4 ./zvfsmntpt/tk8.4 ./zvfsmntpt/blt2.4 ./zvfsmntpt/tcllib1.6 ./zvfsmntpt/src", TCL_GLOBAL_ONLY); 
-  Tcl_SetVar(interp, "tcl_libPath", "./zvfsmntpt/tcl8.4", TCL_GLOBAL_ONLY);
-  Tcl_SetVar(interp, "blt_library", "./zvfsmntpt/blt2.4", TCL_GLOBAL_ONLY);
-  Tcl_SetVar(interp, "blt_libPath", "./zvfsmntpt/blt2.4", TCL_GLOBAL_ONLY);
-  Tcl_SetVar2(interp, "env", "TK_TABLE_LIBRARY", "", TCL_GLOBAL_ONLY);
+  Tcl_SetVar(interp, "blt_library", LIBDIR"/blt2.4", TCL_GLOBAL_ONLY);
+  
+  
+  
+  
+  
 
   //Tcl_SetVar(interp, "tcl_rcFileName", "~/.wishrc", TCL_GLOBAL_ONLY);
 
diff -ur saods9.orig/ds9/Makefile saods9/ds9/Makefile
--- saods9.orig/ds9/Makefile	2007-10-02 22:39:33.000000000 +0200
+++ saods9/ds9/Makefile	2007-12-04 10:19:19.000000000 +0100
@@ -4,45 +4,20 @@
 #--------------------------defines
 
 ZDIR	= zipdir/zvfsmntpt
-FILES	= $(ZDIR)/$(TCLVER) \
-	$(ZDIR)/$(TKVER) \
-	$(ZDIR)/$(BLTVER) \
-	$(ZDIR)/$(TCLLIBVER) \
-	$(ZDIR)/src \
+FILES	= $(ZDIR)/src \
 	$(ZDIR)/msgs \
 	$(ZDIR)/doc \
 	$(ZDIR)/template
 
 ifeq ($(OS),unix)
-  MAINDIR = ../$(TKDIR)/unix
+  MAINDIR = ../
   MAIN	= tkAppInit
 
   LIBS	= ../lib/libsaotk.a \
 	../lib/libtkhtml.a \
 	../lib/libtkmpeg.a \
-	../lib/$(TKIMGVER)/libtkimgwindow1.3.a \
-	../lib/$(TKIMGVER)/libtkimgjpeg1.3.a \
-	../lib/$(TKIMGVER)/libjpegtcl1.0.a \
-	../lib/$(TKIMGVER)/libtkimgtiff1.3.a \
-	../lib/$(TKIMGVER)/libtifftcl3.6.1.a \
-	../lib/$(TKIMGVER)/libtkimgpng1.3.a \
-	../lib/$(TKIMGVER)/libpngtcl1.2.6.a \
-	../lib/$(TKIMGVER)/libtkimgppm1.3.a \
-	../lib/$(TKIMGVER)/libtkimggif1.3.a \
-	../lib/$(TKIMGVER)/libtkimgbmp1.3.a \
-	../lib/$(TKIMGVER)/libtkimgxbm1.3.a \
-	../lib/$(TKIMGVER)/libzlibtcl1.2.1.a \
-	../lib/$(TKIMGVER)/libtkimg1.3.a \
-	../lib/$(TKTABLEVER)/libTktable2.9.a \
-	../lib/libzvfs.a \
-	../lib/libzip.a \
-	../lib/libz.a \
-	../lib/libxpa.a \
 	../lib/libiis.a \
-	../lib/libcheckdns.a \
-	../lib/libBLT24.a \
-	../lib/libtk8.4.a \
-	../lib/libtcl8.4.a
+	../lib/libcheckdns.a
 endif
 
 ifeq ($(OS),windows)
@@ -113,21 +88,17 @@
 endif
 
 OBJS	= ds9.o $(MAIN).o $(RES)
-CXXFLAGS = $(CXXOPT) -I. -I../include -I$(X11INCLUDE)
-CFLAGS= $(CCOPT) -I. -I../include -I$(X11INCLUDE)
+CXXFLAGS = $(CXXOPT) -I. -I../include -I$(X11INCLUDE) -DLIBDIR=\"${LIBDIR}\"
+CFLAGS= $(CCOPT) -I. -I../include -I$(X11INCLUDE) -DLIBDIR=\"${LIBDIR}\"
 
 #--------------------------targets
 
 ifeq ($(OS),unix)
 all: ds9
 
-ds9	: null.zip ds9Base $(FILES)
+ds9	: ds9Base $(FILES)
 	$(RM) $@
-	cp ds9Base ds9.zip
-	$(STRIP) ds9.zip
-	cat null.zip >> ds9.zip
-	cd zipdir; zip -rA9 ../ds9.zip *
-	mv ds9.zip ds9
+	cp ds9Base ds9
 	cp ds9 ../bin/.
 
 debug	: null.zip ds9Base $(FILES)
@@ -244,6 +215,19 @@
 	$(RM) -r  $@
 	cd ..; find template -name "*.tpl" | cpio -pdmuv ds9/$(ZDIR)
 
+ifeq ($(ARCH),fedoralinux)
+ds9Base : $(OBJS) $(LIBS)
+	echo $(CUSTOMLIBDIR)
+	$(RM) $@
+	$(CXX) ${OPTS} \
+	-o $@ $(OBJS) \
+	-L$(X11LIB) -lX11 \
+	-ldl -lpthread \
+	-L../lib -lsaotk -ltkhtml -ltkmpeg -liis -lcheckdns  \
+	-ltk -ltcl -L${LIBDIR}/blt2.4 -lBLT24 \
+	-lfuntools -lwcs -lz
+endif
+
 #--------------------------solaris
 
 ifeq ($(ARCH),solaris)
diff -ur saods9.orig/htmlwidget/configure saods9/htmlwidget/configure
--- saods9.orig/htmlwidget/configure	2006-05-01 19:47:09.000000000 +0200
+++ saods9/htmlwidget/configure	2007-12-04 10:19:19.000000000 +0100
@@ -1052,11 +1052,11 @@
   echo "$ac_t""$BUILD_TCLSH" 1>&6
 else
   if test "$with_tcl" != ""; then
-    if test -x "$with_tcl/$tclsubdir/tclsh"; then
-      BUILD_TCLSH=$with_tcl/$tclsubdir/tclsh
+    if test -x "$with_tcl/tclsh"; then
+      BUILD_TCLSH=$with_tcl/tclsh
     else
-      if test -x "$with_tcl/$tclsubdir/tclsh8.0"; then
-        BUILD_TCLSH=$with_tcl/$tclsubdir/tclsh8.0
+      if test -x "$with_tcl/tclsh8.0"; then
+        BUILD_TCLSH=$with_tcl/tclsh8.0
       fi
     fi
   fi
@@ -1137,7 +1137,7 @@
 if test "$enable_shared" = "yes"; then
   ok=0
   if test "$with_tcl" != ""; then
-    tclconf=$with_tcl/unix/tclConfig.sh
+    tclconf=$with_tcl/tclConfig.sh
     
 ac_safe=`echo "$tclconf" | sed 'y%./+-%__p_%'`
 echo $ac_n "checking for $tclconf""... $ac_c" 1>&6
@@ -1494,7 +1494,7 @@
   TARGET_TCL_LIBS="$config_TARGET_TCL_LIBS"
 else
   if test "$with_tcl" != ""; then
-    extra=`echo $with_tcl/$tclsubdir/libtcl8*.a`
+    extra=`echo -ltcl`
   fi
   CC=$TARGET_CC
   echo $ac_n "checking for sin""... $ac_c" 1>&6
diff -ur saods9.orig/Makefile saods9/Makefile
--- saods9.orig/Makefile	2007-10-10 18:35:24.000000000 +0200
+++ saods9/Makefile	2007-12-04 10:19:19.000000000 +0100
@@ -43,8 +43,8 @@
   XPAFLAGS = --prefix $(root) --with-tcl=$(root)/$(TCLDIRDIR) \
 	$(XFLAGS)
   PREHTMLFLAGS = config_TARGET_LIBS="$(EXTLIB)"
-  HTMLFLAGS = --prefix $(root) --with-tcl=$(root)/$(TCLDIR) \
-	--with-tk=$(root)/$(TKDIR) $(XFLAGS)
+  HTMLFLAGS = \
+	$(XFLAGS)
   FUNTOOLSFLAGS = --prefix $(root) --with-zlib=../lib/libz.a \
 	--with-wcslib=../lib/libwcs.a --enable-mainlib
 endif
@@ -392,41 +392,25 @@
 	@for d in $(DIRS); do if [ ! -d $$d ]; then mkdir $$d; fi done
 
 tclsh	: FORCE
-	@echo "Installing Tcl shared..."
-	cd $(TCLDIRDIR); CC='$(CC)' CFLAGS='$(OPTS) $(TCLOPTS)' LDFLAGS='$(LIBS)' ./configure $(TCLFLAGS) --enable-shared
-	cd $(TCLDIRDIR); $(MAKE) install
+	@echo "Using native Tcl..."
 
 tcl	: FORCE
-	@echo "Installing Tcl noshared..."
-	cd $(TCLDIRDIR); CC='$(CC)' CFLAGS='$(OPTS) $(TCLOPTS)' LDFLAGS='$(LIBS)' ./configure $(TCLFLAGS) --disable-shared
-	cd $(TCLDIRDIR); $(MAKE) install
+	@echo "Using native Tcl..."
 
 tksh	: FORCE
-	@echo "Installing Tk shared..."
-	cd $(TKDIRDIR); CC='$(CC)' CFLAGS='$(OPTS) $(TCLOPTS)' LDFLAGS='$(LIBS)' ./configure $(TCLFLAGS) --enable-shared
-	cd $(TKDIRDIR); $(MAKE) install
-	$(RM) -r lib/$(TKVER)/demos
+	@echo "Using native Tk..."
 
 tk	: FORCE
-	@echo "Installing Tk noshared..."
-	cd $(TKDIRDIR); CC='$(CC)' CFLAGS='$(OPTS) $(TCLOPTS)' LDFLAGS='$(LIBS)' ./configure $(TCLFLAGS) --disable-shared
-	cd $(TKDIRDIR); $(MAKE) install
-	$(RM) -r lib/$(TKVER)/demos
+	@echo "Using native Tk..."
 
 tktablesh : FORCE
-	@echo "Installing TkTable..."
-	cd $(TKTABLEDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(TKTABLEFLAGS) --enable-shared
-	cd $(TKTABLEDIR); $(MAKE); $(MAKE) install 
+	@echo "Using native TkTable..."
 
 tktable	: FORCE
-	@echo "Installing TkTable..."
-	cd $(TKTABLEDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(TKTABLEFLAGS) --disable-shared
-	cd $(TKTABLEDIR); $(MAKE); $(MAKE) install
+	@echo "Using native TkTable..."
 
 tcllib	: FORCE
-	@echo "Installing TCLLIB..."
-	cd $(TCLLIBDIR); ./configure $(TCLLIBFLAGS)
-	cd $(TCLLIBDIR); $(MAKE) install
+	@echo "Using native TCLIB..."
 
 tkindex : FORCE
 	@echo "Installing Tk mkIndex..."
@@ -437,29 +421,19 @@
 else
 blt	: FORCE
 endif
-	@echo "Installing BLT..."
-	cd $(BLTDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(BLTFLAGS)
-	cd $(BLTDIR); $(MAKE); $(MAKE) install
+	@echo "Using native BLT..."
 
 zlib  : FORCE
-	@echo "Installing zlib..."
-	cd $(ZLIBDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(ZLIBFLAGS)
-	cd $(ZLIBDIR); $(MAKE) install
+	@echo "Using native zlib..."
 
 zlibsh  : FORCE
-	@echo "Installing zlib..."
-	cd $(ZLIBDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(ZLIBFLAGS) --shared
-	cd $(ZLIBDIR); $(MAKE) install
+	@echo "Using native zlib..."
 
 tkimg	: FORCE
-	@echo "Installing TKIMG noshared..."
-	cd $(TKIMGDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(TKIMGFLAGS) --disable-shared
-	cd $(TKIMGDIR); $(MAKE) install
+	@echo "Using native tkimg..."
 
 tkimgsh	: FORCE
-	@echo "Installing TKIMG shared..."
-	cd $(TKIMGDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(TKIMGFLAGS)
-	cd $(TKIMGDIR); $(MAKE) install
+	@echo "Using native tkimg..."
 
 tkmpeg	: FORCE
 	@echo "Installing TKMPEG..."
@@ -468,28 +442,22 @@
 
 html	: FORCE
 	@echo "Installing HTMLWIDGET noshared..."
-	cd $(HTMLDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' $(PREHTMLFLAGS) $(root)/htmlwidget/configure $(HTMLFLAGS) --enable-shared=no
+	cd $(HTMLDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' $(PREHTMLFLAGS) $(root)/htmlwidget/configure $(HTMLFLAGS) --enable-shared=no --with-tcl=$(LIBDIR)
 	cd $(HTMLDIR); $(MAKE)
 	cp $(HTMLDIR)/libtkhtml.a lib/.
 
 htmlsh	: FORCE
 	@echo "Installing HTMLWIDGET shared..."
-	cd $(HTMLDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' $(PREHTMLFLAGS) $(root)/htmlwidget/configure $(HTMLFLAGS) --enable-shared=yes
+	cd $(HTMLDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' $(PREHTMLFLAGS) $(root)/htmlwidget/configure $(HTMLFLAGS) --enable-shared=yes --with-tcl=$(LIBDIR)
 	cd $(HTMLDIR); $(MAKE)
 	cp $(HTMLDIR)/libtkhtml.a lib/.
 	cp $(HTMLDIR)/tkhtml.so lib/libtkhtml.so
 
 xpash	: FORCE
-	@echo "Installing XPA shared..."
-	cd $(XPADIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(OPTS) $(LIBS)' ./configure $(XPAFLAGS) --enable-shared
-	cd $(XPADIR); $(MAKE); $(MAKE) tclxpa; $(MAKE) install
-	cd bin; $(STRIP) xpa*
+	@echo "Using native xpa..."
 
 xpa	: FORCE
-	@echo "Installing XPA..."
-	cd $(XPADIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(OPTS) $(LIBS)' ./configure $(XPAFLAGS)  --disable-shared
-	cd $(XPADIR); $(MAKE); $(MAKE) install
-	cd bin; $(STRIP) xpa*
+	@echo "Using native xpa..."
 
 iis	: FORCE
 	@echo "Installing IIS..."
@@ -500,17 +468,14 @@
 	cd $(CHECKDNSDIR); $(MAKE) install
 
 funtools: FORCE
-	@echo "Installing Funtools..."
-	cd $(FUNTOOLSDIR); CC='$(CC)' CFLAGS='$(OPTS)' LDFLAGS='$(LIBS)' ./configure $(FUNTOOLSFLAGS)
-	cd $(FUNTOOLSDIR); $(MAKE) lib
+	@echo "Using native funtools..."
 
 ast	: FORCE
 	@echo "Installing AST..."
 	cd $(ASTDIR); $(MAKE) install
 
 wcssubs	: FORCE
-	@echo "Installing WCSSUBS..."
-	cd $(WCSSUBSDIR); $(MAKE) install
+	@echo "Using native wcs..."
 
 sla	: FORCE 
 	@echo "Installint SLA..."
@@ -546,17 +511,10 @@
 endif
 
 zip	: FORCE
-	@echo "Installing ZIP..."
-	cd $(ZIPDIR); PREFIX=$(root) $(MAKE) CC='$(CC)' CFLAGS='$(OPTS) -I. -DUNIX' LFLAGS1='$(OPTS)' -f unix/Makefile generic
-	cd $(ZIPDIR); PREFIX=$(root) $(MAKE) CC='$(CC)' CFLAGS='$(OPTS) -I. -DUNIX' LFLAGS1='$(OPTS)' -f unix/Makefile install
-	cd $(ZIPDIR); $(RM) libzip.a
-	cd $(ZIPDIR); $(AR) -cr libzip.a $(ZIPOBJS)
-	cp $(ZIPDIR)/libzip.a lib/libzip.a
+	@echo "ZIP not needed..."
 
 zvfs	: FORCE
-	@echo "Installing ZVFS..."
-	cd $(ZVFSDIR); $(MAKE)
-	cd $(ZVFSDIR); $(MAKE) install
+	@echo "ZVFS not needed..."
 
 #--------------------------clean
 
@@ -592,36 +550,26 @@
 	@for d in $(DIRS); do rm -rf $$d; done
 
 tclclean : FORCE
-	cd $(TCLDIRDIR); $(MAKE) distclean
 
 tkclean : FORCE
-	cd $(TKDIRDIR); $(MAKE) distclean
 
 tktableclean: FORCE
-	cd $(TKTABLEDIR); $(MAKE) distclean
 
 tcllibclean: FORCE
-	cd $(TCLLIBDIR); $(MAKE) distclean
 
 bltclean: FORCE
-	cd $(BLTDIR); $(MAKE) distclean
 
 tkimgclean: FORCE
-	rm -fr $(TKIMGDIR)/Img/*
-	rm -fr $(LIB)/Img1.3
-	cd $(TKIMGDIR); $(MAKE) distclean
 
 tkmpegclean: FORCE
 	cd $(TKMPEGDIR); $(MAKE) distclean
 
 zlibclean: FORCE
-	cd $(ZLIBDIR); $(MAKE) distclean
 
 htmlclean: FORCE
 	cd $(HTMLDIR); $(MAKE) distclean
 
 xpaclean : FORCE
-	cd $(XPADIR); $(MAKE) distclean
 
 iisclean : FORCE
 	cd $(IISDIR); $(MAKE) distclean
@@ -649,7 +597,6 @@
 endif
 
 funtoolsclean: FORCE
-	cd $(FUNTOOLSDIR); $(MAKE) distclean
 
 slaclean: FORCE
 	cd $(SLADIR); $(MAKE) distclean
@@ -658,7 +605,6 @@
 	cd $(ASTDIR); $(MAKE) distclean
 
 wcssubsclean: FORCE
-	cd $(WCSSUBSDIR); $(MAKE) distclean
 
 riceclean: FORCE
 	cd $(RICEDIR); $(MAKE) distclean
@@ -667,10 +613,8 @@
 	cd $(HCOMPRESSDIR); $(MAKE) distclean
 
 zipclean: FORCE
-	cd $(ZIPDIR); PREFIX=$(root) $(MAKE) -f unix/Makefile clean
 
 zvfsclean: FORCE
-	cd $(ZVFSDIR); $(MAKE) distclean
 
 #--------------------------cvs
 
diff -ur saods9.orig/saotk/fitsy++/Makefile saods9/saotk/fitsy++/Makefile
--- saods9.orig/saotk/fitsy++/Makefile	2007-04-19 00:28:04.000000000 +0200
+++ saods9/saotk/fitsy++/Makefile	2007-12-04 10:19:19.000000000 +0100
@@ -3,8 +3,8 @@
 
 CXXFLAGS = $(CXXOPT) -I. -I.. -I../vector -I../util \
 	-I../../include -I$(X11INCLUDE) \
-	-I../../$(FUNTOOLSDIR)/filter -I../../$(FUNTOOLSDIR)/fitsy \
-	-I../../$(FUNTOOLSDIR)/util
+	-I/usr/include/funtools/filt -I/usr/include/funtools/fitsy \
+	-I/usr/include/funtools/util -I/usr/include/wcs
 
 SS	= \
 	alloc.C \
diff -ur saods9.orig/saotk/frame/fitsimage.C saods9/saotk/frame/fitsimage.C
--- saods9.orig/saotk/frame/fitsimage.C	2007-05-22 20:36:50.000000000 +0200
+++ saods9/saotk/frame/fitsimage.C	2007-12-04 10:19:19.000000000 +0100
@@ -31,7 +31,99 @@
 // this is kluge to speed up doug minks wcssubs 'ksearch' routine
 extern "C" {
   FitsHead* wcshead = NULL;
-  char* ksearchh(char*, char*);
+  char* ksearchh(char* hstring, char* keyword)
+  {
+/* Find entry for keyword keyword in FITS header string hstring.
+   (the keyword may have a maximum of eight letters)
+   NULL is returned if the keyword is not found */
+
+/* char *hstring; character string containing fits-style header
+               information in the format <keyword>= <value> {/ <comment>}
+               the default is that each entry is 80 characters long;
+               however, lines may be of arbitrary length terminated by
+               nulls, carriage returns or linefeeds, if packed is true.  */
+/*char *keyword; character string containing the name of the variable
+               to be returned.  ksearch searches for a line beginning
+               with this string.  The string may be a character
+               literal or a character variable terminated by a null
+               or '$'.  it is truncated to 8 characters. */
+{
+    char *loc, *headnext, *headlast, *pval, *lc, *line;
+    int icol, nextchar, lkey, nleft, lhead, lmax;
+
+#ifdef USE_SAOLIB
+       int iel=1, ip=1, nel, np, ier;
+       char *get_fits_head_str();
+
+       if( !use_saolib ){
+#endif
+
+    pval = 0;
+static int lhead0 = 0;
+/* Find current length of header string */
+    if (lhead0)
+       lmax = lhead0;
+    else
+       lmax = 256000;
+    for (lhead = 0; lhead < lmax; lhead++) {
+       if (hstring[lhead] == (char) 0)
+           break;
+       }
+
+/* Search header string for variable name */
+    headlast = hstring + lhead;
+    headnext = hstring;
+    pval = NULL;
+    while (headnext < headlast) {
+       nleft = headlast - headnext;
+       loc = strncsrch (headnext, keyword, nleft);
+
+       /* Exit if keyword is not found */
+       if (loc == NULL) {
+           break;
+           }
+
+       icol = (loc - hstring) % 80;
+       lkey = strlen (keyword);
+       nextchar = (int) *(loc + lkey);
+
+       /* If this is not in the first 8 characters of a line, keep searching */
+       if (icol > 7)
+           headnext = loc + 1;
+
+       /* If parameter name in header is longer, keep searching */
+       else if (nextchar != 61 && nextchar > 32 && nextchar < 127)
+           headnext = loc + 1;
+
+       /* If preceeding characters in line are not blanks, keep searching */
+       else {
+           line = loc - icol;
+           for (lc = line; lc < loc; lc++) {
+               if (*lc != ' ')
+                   headnext = loc + 1;
+               }
+
+       /* Return pointer to start of line if match */
+           if (loc >= headnext) {
+               pval = line;
+               break;
+               }
+           }
+       }
+/* Return pointer to calling program */
+       return (pval);
+
+#ifdef USE_SAOLIB
+       }
+       else {
+           if (get_fits_head_str(keyword,iel,ip,&nel,&np,&ier,hstring) != NULL)
+               return(hstring);
+           else
+               return(NULL);
+           }
+#endif
+}
+}
 
   char* findit(char* cards, char* key)
   {
diff -ur saods9.orig/saotk/frame/fitsimage.h saods9/saotk/frame/fitsimage.h
--- saods9.orig/saotk/frame/fitsimage.h	2007-05-18 22:06:56.000000000 +0200
+++ saods9/saotk/frame/fitsimage.h	2007-12-04 10:19:19.000000000 +0100
@@ -9,7 +9,7 @@
 #include "fitsdata.h"
 #include "coord.h"
 #include "file.h"
-#include "wcs.h"
+#include <wcs/wcs.h>
 
 class FrameBase;
 
diff -ur saods9.orig/saotk/frame/Makefile saods9/saotk/frame/Makefile
--- saods9.orig/saotk/frame/Makefile	2007-03-16 22:34:32.000000000 +0100
+++ saods9/saotk/frame/Makefile	2007-12-04 10:19:19.000000000 +0100
@@ -4,7 +4,7 @@
 CXXFLAGS = $(CXXOPT) -w \
 	-I. -I.. -I../widget -I../vector -I../list -I../fitsy++ -I../util \
 	-I../../include -I$(X11INCLUDE) \
-	-I../../$(FUNTOOLSDIR)/util \
+	-I/usr/include/funtools/util -I/usr/include/blt\
 	-I../../$(ASTDIR)
 
 SS	= \
diff -ur saods9.orig/saotk/Makefile saods9/saotk/Makefile
--- saods9.orig/saotk/Makefile	2007-04-19 00:28:04.000000000 +0200
+++ saods9/saotk/Makefile	2007-12-04 10:19:19.000000000 +0100
@@ -19,15 +19,10 @@
 	list/*.o \
 	fitsy++/*.o \
 	util/*.o \
-	../$(WCSSUBSDIR)/*.o \
 	../$(RICEDIR)/*.o \
 	../$(HCOMPRESSDIR)/*.o \
 	../$(SLADIR)/*.o \
-	../$(ASTDIR)/*.o \
-	../$(ZLIBDIR)/*.o \
-	../$(FUNTOOLSDIR)/filter/*.o \
-	../$(FUNTOOLSDIR)/fitsy/*.o \
-	../$(FUNTOOLSDIR)/util/*.o
+	../$(ASTDIR)/*.o 
 
 LIB	= libsaotk.a
 SHARED	= libsaotk.so
diff -ur saods9.orig/saotk/util/tkpostscript.h saods9/saotk/util/tkpostscript.h
--- saods9.orig/saotk/util/tkpostscript.h	2007-01-08 22:14:08.000000000 +0100
+++ saods9/saotk/util/tkpostscript.h	2007-12-04 10:19:19.000000000 +0100
@@ -4,7 +4,7 @@
 
 // this is copied from tkCanvPs.c
 
-#include "../../tk8.4.14/generic/tkCanvas.h"
+#include <tk-private/generic/tkCanvas.h>
 
 typedef struct TkPostscriptInfo {
     int x, y, width, height;	/* Area to print, in canvas pixel
diff -ur saods9.orig/saotk/widget/ps.h saods9/saotk/widget/ps.h
--- saods9.orig/saotk/widget/ps.h	2007-01-08 22:14:08.000000000 +0100
+++ saods9/saotk/widget/ps.h	2007-12-04 10:19:19.000000000 +0100
@@ -13,7 +13,7 @@
 #include "zlib.h"
 extern int DebugGZ;
 
-#if defined( __alpha) || defined(__mips64) || defined(__sparcv9) || defined(__M64)
+#if defined( __alpha) || defined(__mips64) || defined(__sparcv9) || defined(__M64) || defined(__LP64__)
 #define BIT32 int
 #else
 #define BIT32 long
diff -ur saods9.orig/src/ds9.tcl saods9/src/ds9.tcl
--- saods9.orig/src/ds9.tcl	2007-10-02 23:46:26.000000000 +0200
+++ saods9/src/ds9.tcl	2007-12-04 10:23:06.000000000 +0100
@@ -62,19 +62,19 @@
 set env(XPA_VERBOSITY) 0
 
 # initialize, depending on how we are running: choices are zvfs, or wish
-if {![catch {package present zvfs}]} {
-    set ds9(root) "zvfsmntpt"
+if {![catch {package present checkdns}]} {
+    set ds9(root) "/usr/share/ds9"
 
-    source $ds9(root)/tcl8.4/msgcat1.3/msgcat.tcl
-    source $ds9(root)/tcl8.4/http2.5/http.tcl
+    package require msgcat
+    package require http
 
-    source $ds9(root)/tcllib1.9/base64/base64.tcl
-    source $ds9(root)/tcllib1.9/log/log.tcl
-    source $ds9(root)/tcllib1.9/ftp/ftp.tcl
-    source $ds9(root)/tcllib1.9/textutil/repeat.tcl
-    source $ds9(root)/tcllib1.9/textutil/tabify.tcl
-    source $ds9(root)/blt2.4/graph.tcl
-    source $ds9(root)/blt2.4/tabset.tcl
+    package require base64
+    package require log
+    package require ftp
+    package require textutil::repeat
+    package require textutil::tabify
+    source $blt_library/graph.tcl
+    source $blt_library/tabset.tcl
 
     source $ds9(root)/src/source.tcl
 

ds9-flex.patch:

--- NEW FILE ds9-flex.patch ---
diff -ur saods9/saotk/util/FlexLexer.h saods9.flex/saotk/util/FlexLexer.h
--- saods9/saotk/util/FlexLexer.h	2007-11-30 16:21:02.000000000 +0100
+++ saods9.flex/saotk/util/FlexLexer.h	2007-11-30 16:21:43.000000000 +0100
@@ -121,6 +121,8 @@
 	virtual int yylex();
 	virtual void switch_streams( istream* new_in, ostream* new_out );
 
+void begin(int,int);
+
 protected:
 	virtual int LexerInput( char* buf, int max_size );
 	virtual void LexerOutput( const char* buf, int size );


--- NEW FILE ds9-generate-tarball.sh ---
#!/bin/sh

VERSION=$1

tar -xzvf  ds9.$VERSION.tar.gz
rm saods9/saotk/util/FlexLexer.h

tar -czvf ds9.$VERSION-removedflex.tar.gz saods9
rm -rf saods9


--- NEW FILE ds9.desktop ---
[Desktop Entry]
Encoding=UTF-8
Name=SAOImage DS9
Comment=Astronomical Data Visualization Application
Exec=ds9 %F
Icon=/usr/share/pixmaps/ds9/sun.gif
Terminal=false
Type=Application
Categories=Graphics;2DGraphics;Astronomy;Science;
MimeType=application/fits;image/fits;image/x-fits;



--- NEW FILE ds9.make.fedora ---
OS	= unix
ARCH	= fedoralinux
#BUILD_SHARED = yes

CC=gcc 
CXX=g++

X11INCLUDE=/usr/include
X11LIB	= $(LIBDIR)
MYLIBDIR = $(LIBDIR)

CXXOPT	= ${OPTS} -fPIC -DHAVE_SYS_UN_H -DHAVE_SYS_SHM_H -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
CCOPT	= ${OPTS} -fPIC -DHAVE_SYS_UN_H -DHAVE_SYS_SHM_H -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64


--- NEW FILE ds9.spec ---
Name: ds9
Version: 5.0
Release: 5%{?dist}
Summary: Astronomical Data Visualization Application

Group: Applications/Engineering
License: GPLv2+
URL: http://hea-www.harvard.edu/RD/ds9/
# Tarball with the file FlexLexer.h that has problematic licensing
#Source0: http://hea-www.harvard.edu/RD/ds9/%{name}.%{version}.tar.gz
# Create with 
# sh ds9-generate-tarball.sh %{version}
Source0: %{name}.%{version}-removedflex.tar.gz
Source1: ds9.desktop
Source2: ds9.make.fedora
# File from the cvs repository
# cvs -d:pserver:anonymous at flex.cvs.sourceforge.net:/cvsroot/flex login 
# cvs -z3 -d:pserver:anonymous at flex.cvs.sourceforge.net:/cvsroot/flex co -r 1.22 flex/FlexLexer.h
Source3: FlexLexer.h
Source4: ds9-generate-tarball.sh
Patch0: ds9-external.patch
Patch1: ds9-flex.patch
Buildroot: %(mktemp -ud %{_tmppath}/%{name}-%{version}-%{release}-XXXXXX)

BuildRequires: zlib-devel libwcs-devel funtools-devel
BuildRequires: blt-devel tcl-devel tk-devel
BuildRequires: emacs-common
BuildRequires: desktop-file-utils

Requires: tcllib tktable tkimg xpa-libs

%description
SAOImage DS9 is an astronomical imaging and data visualization application. 
DS9 supports FITS images and binary tables, multiple frame buffers, region 
manipulation, and many scale algorithms and colormaps. It provides for easy 
communication with external analysis tasks and is highly configurable and 
extensible. 

%prep
%setup -q -n saods9
%{__cp} %{SOURCE3} saotk/util
%patch0 -p1
%patch1 -p1
# To be sure we are using the native libs
%{__rm} -rf zlib-*
%{__rm} -rf xpa-*
%{__rm} -rf wcssubs-*
%{__rm} -rf funtools-*
%{__rm} -rf tktable*
%{__rm} -rf tcllib-*
%{__rm} -rf blt*
%{__rm} -rf tcl8.4.14
%{__cp} tk8.4.14/unix/tkAppInit.c .
%{__rm} -rf tk8.4.14
%{__rm} -rf tkimg*
%{__rm} -rf zip-*

%build
%{__cp} %{SOURCE2} make.include
echo LIBDIR="%{_libdir}" >> make.include
echo OPTS="%{optflags}" >> make.include
%{__make} %{_smp_mflags}

%install
%{__rm} -fr %{buildroot}
%{__mkdir_p} %{buildroot}/%{_bindir}
%{__mkdir_p} %{buildroot}/%{_libdir}
%{__mkdir_p} %{buildroot}/%{_datadir}/%{name}
%{__mkdir_p} %{buildroot}/%{_datadir}/pixmaps/%{name}
%{__cp} -a bin/ds9 %{buildroot}/%{_bindir}
%{__cp} -a doc/sun.gif %{buildroot}/%{_datadir}/pixmaps/%{name}
%{__cp} -ar ds9/zipdir/zvfsmntpt/* %{buildroot}/%{_datadir}/%{name}
# Fix some permissions
find %{buildroot}/%{_datadir}/%{name} -type f | xargs chmod 644
find %{buildroot}/%{_datadir}/%{name} -type d | xargs chmod 755
find %{buildroot}/%{_datadir}/%{name} -name Makefile | xargs rm
# desktop file
desktop-file-install --vendor="fedora" \
  --dir=%{buildroot}/%{_datadir}/applications %{SOURCE1}

%clean
%{__rm} -fr %{buildroot}

%files
%doc COPYING copyright
%defattr(-,root,root,-)
%{_bindir}/*
%{_datadir}/applications/*
%{_datadir}/pixmaps/*
%{_datadir}/%{name}

%post
update-desktop-database &> /dev/null || :

%postun
update-desktop-database &> /dev/null || :


%changelog
* Tue Dec 04 2007 Sergio Pascual <sergiopr at fedoraproject.org> 5.0-5
- Reverting tcllib patch, using package require instead

* Mon Dec 03 2007 Sergio Pascual <sergiopr at fedoraproject.org> 5.0-4
- Patch to use the correct version of tcllib

* Sat Dec 01 2007 Sergio Pascual <sergiopr at fedoraproject.org> 5.0-3
- Added scriptlets for mime types

* Fri Nov 30 2007 Sergio Pascual <sergiopr at fedoraproject.org> 5.0-2
- Tarbal without the file with problematic licensing
- Added more categories to the desktop file

* Tue Nov 13 2007 Sergio Pascual <sergiopr at fedoraproject.org> 5.0-1
- New upstream source

* Mon Nov 05 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-10
- Removed file in /etc/ld.so.conf.d. Now its provided by blt (bug #333081) 

* Sat Oct 27 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-9
- Loading tcl libs with Tcl_PkgRequire

* Tue Oct 24 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-8
- Patches merged into a single patch

* Mon Oct 23 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-7
- Using a generic make.include

* Fri Oct 18 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-6
- Removing the dependence on zip

* Thu Oct 18 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-5
- First working package
- Using native tkimg
- Using shared libraries where possible

* Tue Oct 16 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-4
- Added file in /etc/ld.so.conf.d

* Mon Oct 15 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-3
- Using native zlib
- Using native xpa
- Using native libwcs
- Using native funtools
- Using native tktable
- Using native tcllib
- Using native blt
- Using native tcl-tk

* Sun Oct 14 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-2
- Adding desktop file
- Adding docs

* Fri Oct 12 2007 Sergio Pascual <sergiopr at fedoraproject.org> 4.13-1
- Initial spec file


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/ds9/F-8/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	3 Dec 2007 19:13:55 -0000	1.1
+++ sources	4 Dec 2007 11:02:00 -0000	1.2
@@ -0,0 +1 @@
+691491c763cb4fa8c7c88a24dbf8c5f3  ds9.5.0-removedflex.tar.gz




More information about the fedora-extras-commits mailing list