rpms/iaxclient/F-10 iaxclient-2.1beta3-tcl-includedir.patch, NONE, 1.1 iaxclient-2.1beta3-tcl-libdir.patch, NONE, 1.1 iaxclient-2.1beta3-tcl-nodoc.patch, NONE, 1.1 iaxclient-2.1beta3-theora-detection.patch, NONE, 1.1 iaxclient-2.1beta3-tkphone-cleanups.patch, NONE, 1.1 iaxclient-2.1beta3-wxGTK28.patch, NONE, 1.1 iaxclient.spec, NONE, 1.1 phone.png, NONE, 1.1 run-tkiaxphone.sh, NONE, 1.1 tkiaxphone.desktop, NONE, 1.1 wxiax.desktop, NONE, 1.1 sources, 1.1, 1.2

Tom Callaway spot at fedoraproject.org
Mon Apr 6 21:17:59 UTC 2009


Author: spot

Update of /cvs/pkgs/rpms/iaxclient/F-10
In directory cvs1.fedora.phx.redhat.com:/tmp/cvs-serv9859/F-10

Modified Files:
	sources 
Added Files:
	iaxclient-2.1beta3-tcl-includedir.patch 
	iaxclient-2.1beta3-tcl-libdir.patch 
	iaxclient-2.1beta3-tcl-nodoc.patch 
	iaxclient-2.1beta3-theora-detection.patch 
	iaxclient-2.1beta3-tkphone-cleanups.patch 
	iaxclient-2.1beta3-wxGTK28.patch iaxclient.spec phone.png 
	run-tkiaxphone.sh tkiaxphone.desktop wxiax.desktop 
Log Message:
initial branching

iaxclient-2.1beta3-tcl-includedir.patch:

--- NEW FILE iaxclient-2.1beta3-tcl-includedir.patch ---
diff -up iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD iaxclient-2.1beta3/contrib/tcl/Makefile.in
--- iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD	2008-06-10 16:11:52.000000000 -0400
+++ iaxclient-2.1beta3/contrib/tcl/Makefile.in	2008-06-10 16:12:06.000000000 -0400
@@ -144,7 +144,7 @@ TCLSH	= $(TCLSH_ENV) $(TCLSH_PROG)
 
 SHARED_BUILD	= @SHARED_BUILD@
 
-INCLUDES	= @PKG_INCLUDES@ @TCL_INCLUDES@
+INCLUDES	= @PKG_INCLUDES@ @TCL_INCLUDES@ -I../../lib
 #INCLUDES	= @PKG_INCLUDES@ @TCL_INCLUDES@ @TK_INCLUDES@ @TK_XINCLUDES@
 
 PKG_CFLAGS	= @PKG_CFLAGS@

iaxclient-2.1beta3-tcl-libdir.patch:

--- NEW FILE iaxclient-2.1beta3-tcl-libdir.patch ---
diff -up iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD iaxclient-2.1beta3/contrib/tcl/Makefile.in
--- iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD	2008-06-10 16:24:44.000000000 -0400
+++ iaxclient-2.1beta3/contrib/tcl/Makefile.in	2008-06-10 16:25:14.000000000 -0400
@@ -108,7 +108,7 @@ RANLIB		= @RANLIB@
 RANLIB_STUB	= @RANLIB_STUB@
 SHLIB_CFLAGS	= @SHLIB_CFLAGS@
 SHLIB_LD	= @SHLIB_LD@
-SHLIB_LD_LIBS	= @SHLIB_LD_LIBS@
+SHLIB_LD_LIBS	= -L../../lib/.libs @SHLIB_LD_LIBS@
 STLIB_LD	= @STLIB_LD@
 #TCL_DEFS	= @TCL_DEFS@
 TCL_BIN_DIR	= @TCL_BIN_DIR@

iaxclient-2.1beta3-tcl-nodoc.patch:

--- NEW FILE iaxclient-2.1beta3-tcl-nodoc.patch ---
diff -up iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD iaxclient-2.1beta3/contrib/tcl/Makefile.in
--- iaxclient-2.1beta3/contrib/tcl/Makefile.in.BAD	2008-06-10 16:28:59.000000000 -0400
+++ iaxclient-2.1beta3/contrib/tcl/Makefile.in	2008-06-10 16:29:06.000000000 -0400
@@ -203,7 +203,7 @@ doc:
 	@echo "        xml2nroff sample.xml > sample.n"
 	@echo "        xml2html sample.xml > sample.html"
 
-install: all install-binaries install-libraries install-doc
+install: all install-binaries install-libraries
 
 install-binaries: binaries install-lib-binaries install-bin-binaries
 

iaxclient-2.1beta3-theora-detection.patch:

--- NEW FILE iaxclient-2.1beta3-theora-detection.patch ---
diff -up iaxclient-2.1beta3/configure.ac.BAD iaxclient-2.1beta3/configure.ac
--- iaxclient-2.1beta3/configure.ac.BAD	2008-11-03 09:22:20.000000000 -0500
+++ iaxclient-2.1beta3/configure.ac	2008-11-03 09:22:28.000000000 -0500
@@ -193,7 +193,7 @@ PKG_CHECK_MODULES(GDK2, [gdk-2.0 >= 2.0.
 PKG_CHECK_MODULES(ALSA, [alsa >= 1.0], has_alsa=yes, has_alsa=no)
 PKG_CHECK_MODULES(OGG, [ogg >= 1.1.3], has_ogg=yes, has_ogg=no)
 PKG_CHECK_MODULES(OGGZ, [oggz >= 0.9.5], has_oggz=yes, has_oggz=no)
-PKG_CHECK_MODULES(THEORA, [theora >= 1.0alpha7], has_theora=yes, has_theora=no)
+PKG_CHECK_MODULES(THEORA, [theora >= 1.0], has_theora=yes, has_theora=no)
 PKG_CHECK_MODULES(VIDCAP, [vidcap >= 0.1], has_vidcap=yes, has_vidcap=no)
 PKG_CHECK_MODULES(FFMPEG, [libavcodec >= 51.40.3], has_ffmpeg=yes, has_ffmpeg=no)
 
diff -up iaxclient-2.1beta3/configure.BAD iaxclient-2.1beta3/configure
--- iaxclient-2.1beta3/configure.BAD	2008-11-03 09:20:58.000000000 -0500
+++ iaxclient-2.1beta3/configure	2008-11-03 09:21:31.000000000 -0500
@@ -23115,12 +23115,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_THEORA_CFLAGS="$THEORA_CFLAGS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"theora >= 1.0alpha7\"") >&5
-  ($PKG_CONFIG --exists --print-errors "theora >= 1.0alpha7") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"theora >= 1.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "theora >= 1.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_THEORA_CFLAGS=`$PKG_CONFIG --cflags "theora >= 1.0alpha7" 2>/dev/null`
+  pkg_cv_THEORA_CFLAGS=`$PKG_CONFIG --cflags "theora >= 1.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -23133,12 +23133,12 @@ if test -n "$PKG_CONFIG"; then
         pkg_cv_THEORA_LIBS="$THEORA_LIBS"
     else
         if test -n "$PKG_CONFIG" && \
-    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"theora >= 1.0alpha7\"") >&5
-  ($PKG_CONFIG --exists --print-errors "theora >= 1.0alpha7") 2>&5
+    { (echo "$as_me:$LINENO: \$PKG_CONFIG --exists --print-errors \"theora >= 1.0\"") >&5
+  ($PKG_CONFIG --exists --print-errors "theora >= 1.0") 2>&5
   ac_status=$?
   echo "$as_me:$LINENO: \$? = $ac_status" >&5
   (exit $ac_status); }; then
-  pkg_cv_THEORA_LIBS=`$PKG_CONFIG --libs "theora >= 1.0alpha7" 2>/dev/null`
+  pkg_cv_THEORA_LIBS=`$PKG_CONFIG --libs "theora >= 1.0" 2>/dev/null`
 else
   pkg_failed=yes
 fi
@@ -23157,9 +23157,9 @@ else
         _pkg_short_errors_supported=no
 fi
         if test $_pkg_short_errors_supported = yes; then
-	        THEORA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "theora >= 1.0alpha7"`
+	        THEORA_PKG_ERRORS=`$PKG_CONFIG --short-errors --errors-to-stdout --print-errors "theora >= 1.0"`
         else
-	        THEORA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "theora >= 1.0alpha7"`
+	        THEORA_PKG_ERRORS=`$PKG_CONFIG --errors-to-stdout --print-errors "theora >= 1.0"`
         fi
 	# Put the nasty error message in config.log where it belongs
 	echo "$THEORA_PKG_ERRORS" >&5

iaxclient-2.1beta3-tkphone-cleanups.patch:

--- NEW FILE iaxclient-2.1beta3-tkphone-cleanups.patch ---
diff -up iaxclient-2.1beta3/simpleclient/tkphone/iaxcli.c.BAD iaxclient-2.1beta3/simpleclient/tkphone/iaxcli.c
--- iaxclient-2.1beta3/simpleclient/tkphone/iaxcli.c.BAD	2008-06-10 13:11:28.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/tkphone/iaxcli.c	2008-06-10 13:11:34.000000000 -0400
@@ -413,7 +413,7 @@ int main(int argc, char **argv) {
 #endif
 
     atexit(iaxc_shutdown); /* activate the exit handler */
-    if (iaxc_initialize(AUDIO_INTERNAL_PA,1)) {
+    if (iaxc_initialize(1)) {
 	fatal_error("cannot initialize iaxclient!");
     }
 
diff -up iaxclient-2.1beta3/simpleclient/tkphone/Makefile.am.BAD iaxclient-2.1beta3/simpleclient/tkphone/Makefile.am
--- iaxclient-2.1beta3/simpleclient/tkphone/Makefile.am.BAD	2008-06-10 13:13:44.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/tkphone/Makefile.am	2008-06-10 13:13:49.000000000 -0400
@@ -1,5 +1,5 @@
 # Should support LINUX MACOSX WIN32 SOLARIS FREEBSD
-bin_SCRIPTS = tkphone
+bin_SCRIPTS = tkiaxphone
 
 iaxcli_PROGRAMS=iaxcli
 iaxcli_SOURCES = iaxcli.c tones.c tones.h
diff -up iaxclient-2.1beta3/simpleclient/tkphone/Makefile.in.BAD iaxclient-2.1beta3/simpleclient/tkphone/Makefile.in
--- iaxclient-2.1beta3/simpleclient/tkphone/Makefile.in.BAD	2008-06-10 13:13:29.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/tkphone/Makefile.in	2008-06-10 13:13:33.000000000 -0400
@@ -251,7 +251,7 @@ top_builddir = @top_builddir@
 top_srcdir = @top_srcdir@
 
 # Should support LINUX MACOSX WIN32 SOLARIS FREEBSD
-bin_SCRIPTS = tkphone
+bin_SCRIPTS = tkiaxphone
 iaxcli_SOURCES = iaxcli.c tones.c tones.h
 iaxclidir = ${libdir}/iaxclient/tkphone
 iaxcli_SCRIPTS = tkiaxphone
diff -up iaxclient-2.1beta3/simpleclient/tkphone/tones.c.BAD iaxclient-2.1beta3/simpleclient/tkphone/tones.c
--- iaxclient-2.1beta3/simpleclient/tkphone/tones.c.BAD	2008-06-10 13:12:03.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/tkphone/tones.c	2008-06-10 13:12:09.000000000 -0400
@@ -32,7 +32,7 @@
 #ifdef TONES_MAIN
 #  include <stdio.h>
 #endif
-#include <strings.h>
+#include <string.h>
 #include <stdlib.h>
 #include <math.h>
 #include "tones.h"

iaxclient-2.1beta3-wxGTK28.patch:

--- NEW FILE iaxclient-2.1beta3-wxGTK28.patch ---
diff -up iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.cc.BAD iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.cc
--- iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.cc.BAD	2008-06-10 11:08:12.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.cc	2008-06-10 12:54:23.000000000 -0400
@@ -81,7 +81,7 @@ IAXCalls::IAXCalls(wxWindow *parent, int
 
     Hide();
     for(i=0;i<nCalls;i++) {
-        InsertItem(i,wxString::Format("%ld", i+1), 0);
+        InsertItem(i,wxString::Format(wxT("%ld"), i+1), 0);
         SetItem(i, 2, _T("No call"));
         item.m_itemId=i;
         item.m_mask = 0;
@@ -159,7 +159,7 @@ int IAXCalls::HandleStateEvent(struct ia
         stateItem.SetBackgroundColour(*wxWHITE);
     } else {
         // set remote 
-        SetItem(c.callNo, 2, c.remote );
+        SetItem(c.callNo, 2, wxString::FromAscii(c.remote) );
 
         bool outgoing = c.state & IAXC_CALL_STATE_OUTGOING;
         bool ringing = c.state & IAXC_CALL_STATE_RINGING;
@@ -226,7 +226,7 @@ IAXFrame::IAXFrame(const wxChar *title, 
                  : wxFrame((wxFrame *) NULL, -1, title, wxPoint(xpos, ypos),
                    wxSize(width, height))
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString str;
     long     dummy;
     bool     bCont;
@@ -262,9 +262,9 @@ IAXFrame::IAXFrame(const wxChar *title, 
     wxMenu *optionsMenu = new wxMenu();
     optionsMenu->AppendCheckItem(ID_PTT, _T("Enable &Push to Talk\tCtrl-P"));
     optionsMenu->AppendCheckItem(ID_SILENCE, _T("Enable &Silence Suppression\tCtrl-S"));
-    optionsMenu->Append(ID_AUDIO,  "&Audio ...", "Show audio settings dialog");
-    optionsMenu->Append(ID_SERVER, "&Servers ...", "Manage servers list");
-    optionsMenu->Append(ID_SPEED,  "&Speed Dials ...", "Manage Speed Dials");
+    optionsMenu->Append(ID_AUDIO,  wxT("&Audio ..."), wxT("Show audio settings dialog"));
+    optionsMenu->Append(ID_SERVER, wxT("&Servers ..."), wxT("Manage servers list"));
+    optionsMenu->Append(ID_SPEED,  wxT("&Speed Dials ..."), wxT("Manage Speed Dials"));
    
     wxMenuBar *menuBar = new wxMenuBar();
 
@@ -293,7 +293,7 @@ IAXFrame::IAXFrame(const wxChar *title, 
         wxGridSizer *dialpadsizer = new wxGridSizer(3);
         for(int i=0; i<12;i++)
         {
-            dialpadsizer->Add(new wxButton(aPanel, i, wxString(buttonlabels[i]),
+            dialpadsizer->Add(new wxButton(aPanel, i, wxString::FromAscii(buttonlabels[i]),
                                            wxDefaultPosition, wxDefaultSize,
                                            wxBU_EXACTFIT), 1, wxEXPAND|wxALL, 3);
         }
@@ -327,10 +327,10 @@ IAXFrame::IAXFrame(const wxChar *title, 
     }
 
     /* Speed Dial */
-    topsizer->Add(SpeedDial = new wxComboBox(aPanel, ID_SPEEDDIAL, "", 
+    topsizer->Add(SpeedDial = new wxComboBox(aPanel, ID_SPEEDDIAL, wxT(""), 
                                       wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
-    config->SetPath("/Speed Dials");
+    config->SetPath(wxT("/Speed Dials"));
     bCont = config->GetFirstGroup(str, dummy);
     while ( bCont ) {
       SpeedDial->Append(str);
@@ -356,7 +356,7 @@ IAXFrame::IAXFrame(const wxChar *title, 
 
     topsizer->Add(row3sizer,0,wxEXPAND);
 
-    topsizer->Add(muteState = new wxStaticText(aPanel,-1,"PTT Disabled",
+    topsizer->Add(muteState = new wxStaticText(aPanel,-1,wxT("PTT Disabled"),
                                                wxDefaultPosition, wxDefaultSize),
                                                0,wxEXPAND);
 
@@ -411,7 +411,7 @@ void IAXFrame::SetPTT(bool state)
         iaxc_set_audio_output(0);  // unmute output
     }
 
-    muteState->SetLabel( pttState ? "Talk" : "Mute");
+    muteState->SetLabel( pttState ? wxT("Talk") : wxT("Mute"));
 }
 
 void IAXFrame::CheckPTT()
@@ -422,28 +422,28 @@ void IAXFrame::CheckPTT()
     SetPTT(newState);
 }
 
-void IAXFrame::OnDTMF(wxEvent &evt)
+void IAXFrame::OnDTMF(wxCommandEvent &evt)
 {
     iaxc_send_dtmf(*buttonlabels[evt.m_id]);
 }
 
-void IAXFrame::OnDial(wxEvent &evt)
+void IAXFrame::OnDial(wxCommandEvent &evt)
 {
     theFrame->DialBySpeedDialName(SpeedDial->GetValue());
 }
 
-void IAXFrame::OnHangup(wxEvent &evt)
+void IAXFrame::OnHangup(wxCommandEvent &evt)
 {
     iaxc_dump_call();
 }
 
-void IAXFrame::OnQuit(wxEvent &evt)
+void IAXFrame::OnQuit(wxCommandEvent &evt)
 {
     Close(TRUE);
 }
 
 void IAXFrame::RegisterByName(wxString RegName) {
-    wxConfig    *config = new wxConfig("iaxPhone");
+    wxConfig    *config = new wxConfig(wxT("iaxPhone"));
     wxChar      KeyPath[256];
     wxListItem  item;
     long        index;
@@ -451,26 +451,26 @@ void IAXFrame::RegisterByName(wxString R
     wxStringTokenizer tok(RegName, _T(":@"));
     char user[256], pass[256], host[256];
 
-    if(strlen(RegName) == 0)
+    if(wxStrlen(RegName) == 0)
         return;
 
     if(tok.CountTokens() == 3) {
 
-        strncpy( user , tok.GetNextToken().c_str(), 256);
-        strncpy( pass , tok.GetNextToken().c_str(), 256);
-        strncpy( host , tok.GetNextToken().c_str(), 256);
+        wxStrncpy( (wchar_t *)user , tok.GetNextToken().c_str(), 256);
+        wxStrncpy( (wchar_t *)pass , tok.GetNextToken().c_str(), 256);
+        wxStrncpy( (wchar_t *)host , tok.GetNextToken().c_str(), 256);
     } else {
         // Check if it's a Speed Dial
-        wxStrcpy(KeyPath,     "/Servers/");
+        wxStrcpy(KeyPath,     wxT("/Servers/"));
         wxStrcat(KeyPath,     RegName);
         config->SetPath(KeyPath);
         if(!config->Exists(KeyPath)) {
-            theFrame->SetStatusText("Register format error");
+            theFrame->SetStatusText(wxT("Register format error"));
             return;
         }
-        wxStrcpy(user, config->Read("Username", ""));
-        wxStrcpy(pass, config->Read("Password", ""));
-        wxStrcpy(host, config->Read("Host", ""));
+        wxStrcpy((wchar_t *)user, config->Read(wxT("Username"), wxT("")));
+        wxStrcpy((wchar_t *)pass, config->Read(wxT("Password"), wxT("")));
+        wxStrcpy((wchar_t *)host, config->Read(wxT("Host"), wxT("")));
     }
     iaxc_register(user, pass, host);
 
@@ -490,7 +490,7 @@ void IAXFrame::RegisterByName(wxString R
         // need to find some way to update status -- is there any
         // server data in the "reg accepted" message??
 
-        registrations->SetItem(index, 1, "----");
+        registrations->SetItem(index, 1, wxT("----"));
 
         registrations->Refresh();
         registrations->Show();
@@ -512,7 +512,7 @@ void IAXFrame::OnPTTChange(wxCommandEven
             iaxc_set_silence_threshold(-99);
         }
         iaxc_set_audio_output(0);  // unmute output
-        muteState->SetLabel("PTT Disabled");
+        muteState->SetLabel(wxT("PTT Disabled"));
     }
 }
 
@@ -532,25 +532,25 @@ void IAXFrame::OnSilenceChange(wxCommand
 
 void IAXFrame::OnAudioDialog(wxCommandEvent& WXUNUSED(event))
 {
-    AudioDialog dialog(this, "Audio Properties", wxDefaultPosition, wxSize(520,220));
+    AudioDialog dialog(this, wxT("Audio Properties"), wxDefaultPosition, wxSize(520,220));
     dialog.ShowModal();
 }
 
 void IAXFrame::OnServerDialog(wxCommandEvent& WXUNUSED(event))
 {
-    ServerDialog dialog(this, "Server Dialog", wxDefaultPosition, wxSize(500,260));
+    ServerDialog dialog(this, wxT("Server Dialog"), wxDefaultPosition, wxSize(500,260));
     dialog.ShowModal();
 }
 
 void IAXFrame::OnDialDialog(wxCommandEvent& WXUNUSED(event))
 {
-    DialDialog dialog(this, "Dial Dialog", wxDefaultPosition, wxSize(500,240));
+    DialDialog dialog(this, wxT("Dial Dialog"), wxDefaultPosition, wxSize(500,240));
     dialog.ShowModal();
 }
 
 int IAXFrame::HandleStatusEvent(char *msg)
 {
-    theFrame->SetStatusText(msg);
+    theFrame->SetStatusText(wxString::FromAscii(msg));
     return 1;
 }
 
@@ -616,7 +616,7 @@ void IAXFrame::HandleEvent(wxCommandEven
 
 void IAXFrame::DialBySpeedDialName(wxString name)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString KeyPath;
     wxString ServerName;
     wxString Extension;
@@ -625,20 +625,20 @@ void IAXFrame::DialBySpeedDialName(wxStr
     if(name.IsEmpty())
         return;
 
-    KeyPath = "/Speed Dials/" + name;
+    KeyPath = wxT("/Speed Dials/") + name;
 
     if(config->Exists(KeyPath)) {
         config->SetPath(KeyPath);
 
-        ServerName = config->Read("Server",    "");
-        Extension =  config->Read("Extension", "");
+        ServerName = config->Read(wxT("Server"),    wxT(""));
+        Extension =  config->Read(wxT("Extension"), wxT(""));
 
-        KeyPath = "/Servers/" + ServerName;
+        KeyPath = wxT("/Servers/") + ServerName;
         config->SetPath(KeyPath);
 
-        Destination  = config->Read("Username", "") + ":" +
-                       config->Read("Password", "") + "@" +
-                       config->Read("Host", "")     + "/" + 
+        Destination  = config->Read(wxT("Username"), wxT("")) + wxT(":") +
+                       config->Read(wxT("Password"), wxT("")) + wxT("@") +
+                       config->Read(wxT("Host"), wxT(""))     + wxT("/") + 
                        Extension;
     } else {
         Destination = name;
@@ -716,7 +716,7 @@ bool IAXClient::OnCmdLineParsed(wxCmdLin
 
 bool IAXClient::OnInit() 
 { 
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
 
     wxString str;
     wxString reginfo;
@@ -726,19 +726,19 @@ bool IAXClient::OnInit() 
     if(!wxApp::OnInit())
         return false;
 
-    optNoDialPad = (config->Read("/DialPad",  1l) == 0);
-    optNumCalls  =  config->Read("/NumCalls", 4l);
+    optNoDialPad = (config->Read(wxT("/DialPad"),  1l) == 0);
+    optNumCalls  =  config->Read(wxT("/NumCalls"), 4l);
 
-    theFrame = new IAXFrame("IAXPhone", 0,0,150,220);
+    theFrame = new IAXFrame(wxT("IAXPhone"), 0,0,150,220);
 
     theFrame->Show(TRUE); 
     SetTopWindow(theFrame); 
 
-    iaxc_initialize(AUDIO_INTERNAL_PA, wxGetApp().optNumCalls);
+    iaxc_initialize(wxGetApp().optNumCalls);
    
-    theFrame->SetAudioDeviceByName(config->Read("/Input Device", ""),
-                                   config->Read("/Output Device", ""),
-                                   config->Read("/Ring Device", ""));
+    theFrame->SetAudioDeviceByName(config->Read(wxT("/Input Device"), wxT("")),
+                                   config->Read(wxT("/Output Device"), wxT("")),
+                                   config->Read(wxT("/Ring Device"), wxT("")));
 
     //    iaxc_set_encode_format(IAXC_FORMAT_GSM);
     iaxc_set_silence_threshold(-99);
@@ -748,10 +748,10 @@ bool IAXClient::OnInit() 
 
     // Register from wxConfig
 
-    config->SetPath("/Servers");
+    config->SetPath(wxT("/Servers"));
     bCont = config->GetFirstGroup(str, dummy);
     while ( bCont ) {
-        reginfo = str + "/Auto Register";
+        reginfo = str + wxT("/Auto Register");
         if((config->Read(reginfo, 0l) != 0)) {
             theFrame->RegisterByName(str);
         }
@@ -822,7 +822,7 @@ AudioDialog::AudioDialog(wxWindow *paren
 {
     wxBoxSizer        *dialogSizer =  new wxBoxSizer(wxHORIZONTAL);
     wxFlexGridSizer   *controlSizer = new wxFlexGridSizer(3,3,10,10);
-    wxConfig          *config =       new wxConfig("iaxPhone");
+    wxConfig          *config =       new wxConfig(wxT("iaxPhone"));
     wxString          str;
     struct
     iaxc_audio_device *devices;
@@ -832,47 +832,47 @@ AudioDialog::AudioDialog(wxWindow *paren
     long              caps;
     wxString          devname;
 
-    config->SetPath("/");
+    config->SetPath(wxT("/"));
     
     controlSizer->Add( 20,16);
     controlSizer->Add(280,16);
     controlSizer->Add(110,16);
 
     /* Input Device */
-    controlSizer->Add(new wxStaticText(this, -1, "   Input Device:  "));
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Input Device:  ")));
     controlSizer->Add(InDevice = new wxChoice(this, ID_INDEVICE,
                                      wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
     /* Save */
-    controlSizer->Add(Save = new wxButton(this, ID_SAVE, "Save"));
+    controlSizer->Add(Save = new wxButton(this, ID_SAVE, wxT("Save")));
 
     /* Output Device */
-    controlSizer->Add(new wxStaticText(this, -1, "   Output Device:  "));
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Output Device:  ")));
     controlSizer->Add(OutDevice = new wxChoice(this, ID_OUTDEVICE,
                                       wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
     /* OK */
-    controlSizer->Add(new wxButton(this, wxID_OK, "Set"));
+    controlSizer->Add(new wxButton(this, wxID_OK, wxT("Set")));
 
     /* Ring Device */
-    controlSizer->Add(new wxStaticText(this, -1, "   Ring Device:  "));
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Ring Device:  ")));
     controlSizer->Add(RingDevice = new wxChoice(this, ID_RINGDEVICE,
                                        wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
     /* CANCEL */
-    controlSizer->Add(new wxButton(this, wxID_CANCEL, "Done"));
+    controlSizer->Add(new wxButton(this, wxID_CANCEL, wxT("Done")));
 
     /* Echo Cancel */
     controlSizer->Add( 20,16);
     controlSizer->Add(EchoCancel = new wxCheckBox(this, ID_ECHOCANCEL, 
-                                       " Echo Cancel"));
-    EchoCancel->SetValue(config->Read("Echo Cancel", 0l) != 0);
+                                       wxT(" Echo Cancel")));
+    EchoCancel->SetValue(config->Read(wxT("Echo Cancel"), 0l) != 0);
 
     iaxc_audio_devices_get(&devices, &nDevs, &input, &output, &ring);
 
     for(i=0; i<nDevs; i++) {
         caps =    devices->capabilities;
-        devname = devices->name;
+        devname = wxString::FromAscii(devices->name);
 
         if(caps & IAXC_AD_INPUT)
             InDevice->Append(devname);
@@ -904,17 +904,17 @@ AudioDialog::AudioDialog(wxWindow *paren
 
 void AudioDialog::OnButton(wxCommandEvent &event)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
 
-    config->SetPath("/");
+    config->SetPath(wxT("/"));
 
     switch(event.GetId())
     {
       case ID_SAVE:
-           config->Write("Input Device",  InDevice->GetStringSelection());
-           config->Write("Output Device", OutDevice->GetStringSelection());
-           config->Write("Ring Device",   RingDevice->GetStringSelection());
-           config->Write("Echo Cancel",   EchoCancel->GetValue());
+           config->Write(wxT("Input Device"),  InDevice->GetStringSelection());
+           config->Write(wxT("Output Device"), OutDevice->GetStringSelection());
+           config->Write(wxT("Ring Device"),   RingDevice->GetStringSelection());
+           config->Write(wxT("Echo Cancel"),   EchoCancel->GetValue());
            delete config;
            break;
 
@@ -942,17 +942,17 @@ void IAXFrame::SetAudioDeviceByName(wxSt
 
     for(i=0; i<nDevs; i++) {
         if(devices->capabilities & IAXC_AD_INPUT) {
-            if(inname.Cmp(devices->name) == 0)
+            if(inname.Cmp(wxString::FromAscii(devices->name)) == 0)
                 input = devices->devID;
         }
 
         if(devices->capabilities & IAXC_AD_OUTPUT) {
-            if(outname.Cmp(devices->name) == 0)
+            if(outname.Cmp(wxString::FromAscii(devices->name)) == 0)
                 output = devices->devID;
         }
 
         if(devices->capabilities & IAXC_AD_RING) {
-            if(ringname.Cmp(devices->name) == 0)
+            if(ringname.Cmp(wxString::FromAscii(devices->name)) == 0)
                 ring = devices->devID;
         }
         devices++;
@@ -972,7 +972,7 @@ ServerDialog::ServerDialog(wxWindow *par
 {
     wxBoxSizer      *dialogSizer  = new wxBoxSizer(wxHORIZONTAL);
     wxFlexGridSizer *controlSizer = new wxFlexGridSizer(3,3,10,10);
-    wxConfig        *config =       new wxConfig("iaxPhone");
+    wxConfig        *config =       new wxConfig(wxT("iaxPhone"));
 
     wxString        str;
     long            dummy;
@@ -983,11 +983,11 @@ ServerDialog::ServerDialog(wxWindow *par
     controlSizer->Add(110,16);
 
     /* Servers */
-    controlSizer->Add(new wxStaticText(this, -1, "   Server:  "));
-    controlSizer->Add(Server = new wxComboBox(this, ID_SERVER, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Server:  ")));
+    controlSizer->Add(Server = new wxComboBox(this, ID_SERVER, wxT(""), 
                                    wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
-    config->SetPath("/Servers");
+    config->SetPath(wxT("/Servers"));
     bCont = config->GetFirstGroup(str, dummy);
     while ( bCont ) {
         Server->Append(str);
@@ -995,35 +995,35 @@ ServerDialog::ServerDialog(wxWindow *par
     }
 
     /* Add */
-    controlSizer->Add(Add = new wxButton(this, ID_ADD, "Add"));
+    controlSizer->Add(Add = new wxButton(this, ID_ADD, wxT("Add")));
 
     /* AutoRegister */
     controlSizer->Add( 20,16);
-    controlSizer->Add(AutoRegister = new wxCheckBox(this, ID_AUTOREGISTER, " Auto Register"));
+    controlSizer->Add(AutoRegister = new wxCheckBox(this, ID_AUTOREGISTER, wxT(" Auto Register")));
 
     /* Remove */
-    controlSizer->Add(Remove = new wxButton(this, ID_REMOVE, "Remove"));
+    controlSizer->Add(Remove = new wxButton(this, ID_REMOVE, wxT("Remove")));
 
     /* Host */
-    controlSizer->Add(new wxStaticText(this, -1, "   Host:  "));
-    controlSizer->Add(Host = new wxTextCtrl(this, ID_HOST, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Host:  ")));
+    controlSizer->Add(Host = new wxTextCtrl(this, ID_HOST, wxT(""), 
                                  wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
     controlSizer->Add(110,1);
 
     /* Username */
-    controlSizer->Add(new wxStaticText(this, -1, "   Username:  "));
-    controlSizer->Add(Username = new wxTextCtrl(this, ID_USERNAME, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Username:  ")));
+    controlSizer->Add(Username = new wxTextCtrl(this, ID_USERNAME, wxT(""), 
                                      wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
     /* Register */
-    controlSizer->Add(new wxButton(this, wxID_OK, "Register"));
+    controlSizer->Add(new wxButton(this, wxID_OK, wxT("Register")));
 
     /* Password */
-    controlSizer->Add(new wxStaticText(this, -1, "   Password:  "));
-    controlSizer->Add(Password = new wxTextCtrl(this, ID_PASSWORD, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Password:  ")));
+    controlSizer->Add(Password = new wxTextCtrl(this, ID_PASSWORD, wxT(""), 
                                      wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
     /* Done */
-    controlSizer->Add(new wxButton(this, wxID_CANCEL, "Done"));
+    controlSizer->Add(new wxButton(this, wxID_CANCEL, wxT("Done")));
 
     dialogSizer->Add(controlSizer);
 
@@ -1034,22 +1034,22 @@ ServerDialog::ServerDialog(wxWindow *par
 
 void ServerDialog::OnButton(wxCommandEvent &event)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString KeyPath;
     wxString ServerVal;
 
     ServerVal = Server->GetValue();
 
-    KeyPath = "/Servers/" + ServerVal;
+    KeyPath = wxT("/Servers/") + ServerVal;
     config->SetPath(KeyPath);
 
     switch(event.GetId())
     {
       case ID_ADD:
-           config->Write("Auto Register", AutoRegister->GetValue());
-           config->Write("Host",          Host->GetValue());
-           config->Write("Username",      Username->GetValue());
-           config->Write("Password",      Password->GetValue());
+           config->Write(wxT("Auto Register"), AutoRegister->GetValue());
+           config->Write(wxT("Host"),          Host->GetValue());
+           config->Write(wxT("Username"),      Username->GetValue());
+           config->Write(wxT("Password"),      Password->GetValue());
 
            if(Server->FindString(ServerVal) < 0) {
              Server->Append(ServerVal);
@@ -1075,18 +1075,18 @@ void ServerDialog::OnButton(wxCommandEve
 
 void ServerDialog::OnComboBox(wxCommandEvent &event)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString val;
     wxString KeyPath;
 
     // Update the Host/Username/Password boxes
-    KeyPath = "/Servers/" + Server->GetStringSelection();
+    KeyPath = wxT("/Servers/") + Server->GetStringSelection();
     config->SetPath(KeyPath);
 
-    Host->SetValue(config->Read("Host", ""));
-    Username->SetValue(config->Read("Username", ""));
-    Password->SetValue(config->Read("Password", ""));
-    AutoRegister->SetValue(config->Read("Auto Register", 0l) != 0);
+    Host->SetValue(config->Read(wxT("Host"), wxT("")));
+    Username->SetValue(config->Read(wxT("Username"), wxT("")));
+    Password->SetValue(config->Read(wxT("Password"), wxT("")));
+    AutoRegister->SetValue(config->Read(wxT("Auto Register"), 0l) != 0);
 }
 
 BEGIN_EVENT_TABLE(ServerDialog, wxDialog)
@@ -1104,7 +1104,7 @@ DialDialog::DialDialog(wxWindow *parent,
 
     wxBoxSizer      *dialogSizer  = new wxBoxSizer(wxHORIZONTAL);
     wxFlexGridSizer *controlSizer = new wxFlexGridSizer(3,3,10,10);
-    wxConfig        *config =       new wxConfig("iaxPhone");
+    wxConfig        *config =       new wxConfig(wxT("iaxPhone"));
 
     wxString        str;
     long            dummy;
@@ -1115,11 +1115,11 @@ DialDialog::DialDialog(wxWindow *parent,
     controlSizer->Add( 96,16);
 
     /* Speed Dial */
-    controlSizer->Add(new wxStaticText(this, -1, "   Speed Dial:  "));
-    controlSizer->Add(SpeedDial = new wxComboBox(this, ID_SPEEDDIAL, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Speed Dial:  ")));
+    controlSizer->Add(SpeedDial = new wxComboBox(this, ID_SPEEDDIAL, wxT(""), 
                                       wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
-    config->SetPath("/Speed Dials");
+    config->SetPath(wxT("/Speed Dials"));
     bCont = config->GetFirstGroup(str, dummy);
     while ( bCont ) {
       SpeedDial->Append(str);
@@ -1127,14 +1127,14 @@ DialDialog::DialDialog(wxWindow *parent,
     }
 
     /* Add */
-    controlSizer->Add(Save = new wxButton(this, ID_ADD, "Add"));
+    controlSizer->Add(Save = new wxButton(this, ID_ADD, wxT("Add")));
 
     /* Server */
-    controlSizer->Add(new wxStaticText(this, -1, "   Server:  "));
-    controlSizer->Add(Server = new wxComboBox(this, ID_SERVER, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Server:  ")));
+    controlSizer->Add(Server = new wxComboBox(this, ID_SERVER, wxT(""), 
                                    wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
 
-    config->SetPath("/Servers");
+    config->SetPath(wxT("/Servers"));
     bCont = config->GetFirstGroup(str, dummy);
     while ( bCont ) {
       Server->Append(str);
@@ -1142,19 +1142,19 @@ DialDialog::DialDialog(wxWindow *parent,
     }
 
     /* Remove */
-    controlSizer->Add(Remove = new wxButton(this, ID_REMOVE, "Remove"));
+    controlSizer->Add(Remove = new wxButton(this, ID_REMOVE, wxT("Remove")));
 
     /* Extention */
-    controlSizer->Add(new wxStaticText(this, -1, "   Extension:  "));
-    controlSizer->Add(Extension = new wxTextCtrl(this, ID_EXTENSION, "", 
+    controlSizer->Add(new wxStaticText(this, -1, wxT("   Extension:  ")));
+    controlSizer->Add(Extension = new wxTextCtrl(this, ID_EXTENSION, wxT(""), 
                                       wxDefaultPosition, wxDefaultSize),0,wxEXPAND);
     /* Dial */
-    controlSizer->Add(new wxButton(this, ID_DIAL, "Dial"));
+    controlSizer->Add(new wxButton(this, ID_DIAL, wxT("Dial")));
 
     /* Done */
     controlSizer->Add( 20,16);
     controlSizer->Add(280,16);
-    controlSizer->Add(new wxButton(this, wxID_OK, "Done"));
+    controlSizer->Add(new wxButton(this, wxID_OK, wxT("Done")));
 
     dialogSizer->Add(controlSizer);
 
@@ -1165,34 +1165,34 @@ DialDialog::DialDialog(wxWindow *parent,
 
 void DialDialog::OnComboBox(wxCommandEvent &event)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString val;
     wxString KeyPath;
 
     // Update the Server/Extension boxes
-    KeyPath = "/Speed Dials/" + SpeedDial->GetStringSelection();
+    KeyPath = wxT("/Speed Dials/") + SpeedDial->GetStringSelection();
     config->SetPath(KeyPath);
 
-    Server->SetValue(config->Read("Server", ""));
-    Extension->SetValue(config->Read("Extension", ""));
+    Server->SetValue(config->Read(wxT("Server"), wxT("")));
+    Extension->SetValue(config->Read(wxT("Extension"), wxT("")));
 }
 
 void DialDialog::OnButton(wxCommandEvent &event)
 {
-    wxConfig *config = new wxConfig("iaxPhone");
+    wxConfig *config = new wxConfig(wxT("iaxPhone"));
     wxString KeyPath;
     wxString SpeedDialVal;
 
     SpeedDialVal = SpeedDial->GetValue();
 
-    KeyPath = "/Speed Dials/" + SpeedDialVal;
+    KeyPath = wxT("/Speed Dials/") + SpeedDialVal;
     config->SetPath(KeyPath);
 
     switch(event.GetId())
     {
       case ID_ADD:
-           config->Write("Server",    Server->GetValue());
-           config->Write("Extension", Extension->GetValue());
+           config->Write(wxT("Server"),    Server->GetValue());
+           config->Write(wxT("Extension"), Extension->GetValue());
 
            if(SpeedDial->FindString(SpeedDialVal) < 0) {
              SpeedDial->Append(SpeedDialVal);
@@ -1203,7 +1203,7 @@ void DialDialog::OnButton(wxCommandEvent
            config->DeleteGroup(KeyPath);
            // Remove it from the combobox, as well
            SpeedDial->Delete(SpeedDial->FindString(SpeedDialVal));
-           Server->SetValue("");
+           Server->SetValue(wxT(""));
            Extension->Clear();
            break;
 
diff -up iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.h.BAD iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.h
--- iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.h.BAD	2008-06-10 12:03:28.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/iaxphone/iaxphone.h	2008-06-10 12:53:42.000000000 -0400
@@ -220,10 +220,10 @@ class IAXFrame : public wxFrame
 
             ~IAXFrame();
 
-            void OnDTMF(wxEvent &evt);
-            void OnDial(wxEvent &evt);
-            void OnHangup(wxEvent &evt);
-            void OnQuit(wxEvent &evt);
+            void OnDTMF(wxCommandEvent &evt);
+            void OnDial(wxCommandEvent &evt);
+            void OnHangup(wxCommandEvent &evt);
+            void OnQuit(wxCommandEvent &evt);
             void OnPTTChange(wxCommandEvent &evt);
             void OnSilenceChange(wxCommandEvent &evt);
             void OnNotify(void);
diff -up iaxclient-2.1beta3/simpleclient/iaxcomm/frame.cc.BAD iaxclient-2.1beta3/simpleclient/iaxcomm/frame.cc
--- iaxclient-2.1beta3/simpleclient/iaxcomm/frame.cc.BAD	2008-06-10 13:05:01.000000000 -0400
+++ iaxclient-2.1beta3/simpleclient/iaxcomm/frame.cc	2008-06-10 13:05:07.000000000 -0400
@@ -425,7 +425,7 @@ void MyFrame::ShowDirectoryControls()
     config->SetPath(_T("/OT"));
     bCont = config->GetFirstGroup(OTName, dummy);
     while ( bCont ) {
-#if defined(__UNICODE__)
+#if defined(wxUSE_UNICODE)
         ot = ((wxButton *)((*aPanel).FindWindow(wxXmlResource::GetXRCID(OTName))));
 #else
         ot = XRCCTRL(*aPanel, OTName, wxButton);


--- NEW FILE iaxclient.spec ---
%define betaver beta3
%define tclver 0.2
%define mainver 2.1
%{!?tcl_version: %define tcl_version %(echo 'puts $tcl_version' | tclsh)}
%{!?tcl_sitearch: %define tcl_sitearch %{_libdir}/tcl%{tcl_version}}
%ifarch sparcv9
%define tkphonearch sparc
%else
%define tkphonearch %{_arch}
%endif

Name:		iaxclient
Version:	%{mainver}
Release:	0.3.%{betaver}%{?dist}
Summary:	Library for creating telephony solutions that interoperate with Asterisk
Group:		System Environment/Libraries
License:	LGPLv2+
URL:		http://iaxclient.wiki.sourceforge.net/
Source0:	http://downloads.sourceforge.net/iaxclient/%{name}-%{version}%{betaver}.tar.gz
Source1:	tkiaxphone.desktop
Source2:	wxiax.desktop
Source3:	phone.png
Source4:	run-tkiaxphone.sh
Patch0:		iaxclient-2.1beta3-wxGTK28.patch
Patch1:		iaxclient-2.1beta3-tkphone-cleanups.patch
Patch2:		iaxclient-2.1beta3-tcl-includedir.patch
Patch3:		iaxclient-2.1beta3-tcl-libdir.patch
Patch4:		iaxclient-2.1beta3-tcl-nodoc.patch
Patch5:		iaxclient-2.1beta3-theora-detection.patch
BuildRoot:	%{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires:	speex-devel, libtheora-devel, gsm-devel, portaudio-devel, iax-devel
BuildRequires:	tk-devel, gtk2-devel, SDL-devel, libogg-devel, liboggz-devel 
BuildRequires:	wxGTK-devel, libvidcap-devel, desktop-file-utils

%description
Iaxclient is an open source, multiplatform library for creating telephony 
solutions that interoperate with Asterisk, the Open Source PBX.

Although asterisk supports other VOIP protocols (including SIP, and with 
patches, H.323), IAX's simple, lightweight nature gives it several advantages, 
particularly in that it can operate easily through NAT and packet firewalls, 
and it is easily extensible and simple to understand.
Iaxclient pulls together the wide array of open source technologies required 
for telephony applications.

%package devel
Summary:	Development files for %{name}
Group:		Development/Libraries
Requires:	pkgconfig
Requires:	%{name} = %{mainver}-%{release}

%description devel
The %{name}-devel package contains libraries and header files for
developing applications that use %{name}.

%package -n tcl-iaxclient
Summary:	Tcl interface to iax2 client lib
Version:	%{tclver}
Group:		System Environment/Libraries
License:	BSD
Requires:	tcl(abi) = 8.5
Requires:	%{name} = %{mainver}-%{release}

%description -n tcl-iaxclient
Tcl extensions to iaxclient libraries.

%package -n tkiaxphone
Summary:	Tk IAX Phone Client
Version:	%{mainver}
Group:		Applications/Internet
License:	LGPLv2+
Requires:	tcl(abi) = 8.5
Requires:	%{name} = %{mainver}-%{release}

%description -n tkiaxphone
Tk IAX Phone Client.

%package -n wxiax
Summary:	wx IAX Phone Client
Version:	%{mainver}
Group:		Applications/Internet
License:	LGPLv2+
Requires:	%{name} = %{mainver}-%{release}

%description -n wxiax
wx IAX Phone Client.

%prep
%setup -q -n %{name}-%{mainver}%{betaver}
%patch0 -p1 -b .wxGTK28
%patch1 -p1 -b .tkphone
%patch2 -p1 -b .includedir
%patch3 -p1 -b .libdir
%patch4 -p1 -b .nodoc
%patch5 -p1 -b .theoradetect
chmod -x contrib/tcl/README.txt

sed -i 's|/usr/lib|%{_libdir}|g' lib/libiax2/iax-config.in

%build
%configure --disable-static
sed -i 's|^hardcode_libdir_flag_spec=.*|hardcode_libdir_flag_spec=""|g' libtool
sed -i 's|^runpath_var=LD_RUN_PATH|runpath_var=DIE_RPATH_DIE|g' libtool
make %{?_smp_mflags}
cd contrib/tcl/
%configure
make %{?_smp_mflags}

%install
rm -rf %{buildroot}
make install DESTDIR=%{buildroot}
find %{buildroot} -name '*.la' -exec rm -f {} ';'
install -d %{buildroot}%{tcl_sitearch}
mv %{buildroot}%{_libdir}/iaxclient %{buildroot}%{tcl_sitearch}/
cd contrib/tcl
make install DESTDIR=%{buildroot}
mv %{buildroot}%{_libdir}/tcliaxclient0.2 %{buildroot}%{tcl_sitearch}/tcliaxclient0.2
chmod +x %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/phone.ui.tcl
chmod +x %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/pref.ui.tcl
install -p %{SOURCE4} %{buildroot}%{_bindir}

mkdir %{buildroot}%{_datadir}/pixmaps/
install -p %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/tkiaxphone.png
install -p %{SOURCE3} %{buildroot}%{_datadir}/pixmaps/wxiax.png

mkdir %{buildroot}%{_datadir}/applications/

desktop-file-install --vendor ""			\
	--dir $RPM_BUILD_ROOT%{_datadir}/applications	\
	%{SOURCE1}

desktop-file-install --vendor ""			\
	--dir $RPM_BUILD_ROOT%{_datadir}/applications	\
	%{SOURCE2}	

cd %{buildroot}%{tcl_sitearch}/iaxclient/tkphone/
ln -s iaxcli iaxcli-Linux-%{tkphonearch}

%clean
rm -rf %{buildroot}

%post -p /sbin/ldconfig

%postun -p /sbin/ldconfig

%files
%defattr(-,root,root,-)
%doc AUTHORS COPYING.LIB ChangeLog README
%{_bindir}/iaxcomm
%{_bindir}/iaxphone
%{_datadir}/iaxcomm/
%{_libdir}/libiaxclient.so.*

%files devel
%defattr(-,root,root,-)
%{_bindir}/stresstest
%{_bindir}/testcall
%{_bindir}/vtestcall
%{_includedir}/iaxclient.h
%{_libdir}/libiaxclient.so
%{_libdir}/pkgconfig/iaxclient.pc

%files -n tcl-iaxclient
%defattr(-,root,root,-)
%doc contrib/tcl/README.txt
%{tcl_sitearch}/tcliaxclient0.2/

%files -n tkiaxphone
%defattr(-,root,root,-)
%{_bindir}/run-tkiaxphone.sh
%{_bindir}/tkiaxphone
%{tcl_sitearch}/iaxclient/
%{_datadir}/applications/tkiaxphone.desktop
%{_datadir}/pixmaps/tkiaxphone.png

%files -n wxiax
%defattr(-,root,root,-)
%{_bindir}/wxiax
%{_datadir}/applications/wxiax.desktop
%{_datadir}/pixmaps/wxiax.png

%changelog
* Thu Mar 12 2009 Tom "spot" Callaway <tcallawa at redhat.com> 2.1-0.3.beta3
- fix lib/libiax2/iax-config.in to not use wrong /usr/lib

* Mon Nov  3 2008 Tom "spot" Callaway <tcallawa at redhat.com> 2.1-0.2.beta3
- fix theora detection

* Tue Jun 10 2008 Tom "spot" Callaway <tcallawa at redhat.com> 2.1-0.1.beta3
- Initial package for Fedora



--- NEW FILE run-tkiaxphone.sh ---
#!/bin/bash
export IAXPHONEHOME=/usr/lib64/tcl8.5/iaxclient/tkphone 
exec /usr/bin/tkiaxphone


--- NEW FILE tkiaxphone.desktop ---

[Desktop Entry]
Encoding=UTF-8
Name=Tkphone
GenericName=Tk IAX Phone Client
Exec=/usr/bin/run-tkiaxphone.sh
Icon=tkiaxphone
Terminal=false
Type=Application
Categories=GNOME;GTK;Network;Telephony;


--- NEW FILE wxiax.desktop ---

[Desktop Entry]
Encoding=UTF-8
Name=wxiax
GenericName=wx IAX Phone Client
Exec=/usr/bin/wxiax
Icon=wxiax
Terminal=false
Type=Application
Categories=GNOME;GTK;Network;Telephony;


Index: sources
===================================================================
RCS file: /cvs/pkgs/rpms/iaxclient/F-10/sources,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- sources	6 Apr 2009 21:07:03 -0000	1.1
+++ sources	6 Apr 2009 21:17:29 -0000	1.2
@@ -0,0 +1 @@
+47d54b9d5d48dc6aa1f6d7e506c72ba7  iaxclient-2.1beta3.tar.gz




More information about the fedora-extras-commits mailing list