From ec3bc87fa2fcdf1cf62f118a4704e1ea0201e63f Mon Sep 17 00:00:00 2001 From: Tom Callaway Date: Apr 06 2009 21:15:05 +0000 Subject: initial commit --- diff --git a/.cvsignore b/.cvsignore index e69de29..f449a4e 100644 --- a/.cvsignore +++ b/.cvsignore @@ -0,0 +1 @@ +iaxclient-2.1beta3.tar.gz diff --git a/iaxclient-2.1beta3-tcl-libdir.patch b/iaxclient-2.1beta3-tcl-libdir.patch new file mode 100644 index 0000000..da4c6fe --- /dev/null +++ b/iaxclient-2.1beta3-tcl-libdir.patch @@ -0,0 +1,12 @@ +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@ diff --git a/iaxclient-2.1beta3-tcl-nodoc.patch b/iaxclient-2.1beta3-tcl-nodoc.patch new file mode 100644 index 0000000..f7e327c --- /dev/null +++ b/iaxclient-2.1beta3-tcl-nodoc.patch @@ -0,0 +1,12 @@ +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 + diff --git a/iaxclient-2.1beta3-theora-detection.patch b/iaxclient-2.1beta3-theora-detection.patch new file mode 100644 index 0000000..2fb8a50 --- /dev/null +++ b/iaxclient-2.1beta3-theora-detection.patch @@ -0,0 +1,59 @@ +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 diff --git a/iaxclient-2.1beta3-tkphone-cleanups.patch b/iaxclient-2.1beta3-tkphone-cleanups.patch new file mode 100644 index 0000000..435c378 --- /dev/null +++ b/iaxclient-2.1beta3-tkphone-cleanups.patch @@ -0,0 +1,46 @@ +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 + #endif +-#include ++#include + #include + #include + #include "tones.h" diff --git a/iaxclient-2.1beta3-wxGTK28.patch b/iaxclient-2.1beta3-wxGTK28.patch new file mode 100644 index 0000000..f24743d --- /dev/null +++ b/iaxclient-2.1beta3-wxGTK28.patch @@ -0,0 +1,674 @@ +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;iAppendCheckItem(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; icapabilities; +- 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; icapabilities & 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); diff --git a/iaxclient.spec b/iaxclient.spec new file mode 100644 index 0000000..e856554 --- /dev/null +++ b/iaxclient.spec @@ -0,0 +1,191 @@ +%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 2.1-0.3.beta3 +- fix lib/libiax2/iax-config.in to not use wrong /usr/lib + +* Mon Nov 3 2008 Tom "spot" Callaway 2.1-0.2.beta3 +- fix theora detection + +* Tue Jun 10 2008 Tom "spot" Callaway 2.1-0.1.beta3 +- Initial package for Fedora + diff --git a/import.log b/import.log new file mode 100644 index 0000000..d69da11 --- /dev/null +++ b/import.log @@ -0,0 +1 @@ +iaxclient-2_1-0_3_beta3_fc11:HEAD:iaxclient-2.1-0.3.beta3.fc11.src.rpm:1239052352 diff --git a/phone.png b/phone.png new file mode 100644 index 0000000..5c97949 Binary files /dev/null and b/phone.png differ diff --git a/run-tkiaxphone.sh b/run-tkiaxphone.sh new file mode 100755 index 0000000..56904d6 --- /dev/null +++ b/run-tkiaxphone.sh @@ -0,0 +1,3 @@ +#!/bin/bash +export IAXPHONEHOME=/usr/lib64/tcl8.5/iaxclient/tkphone +exec /usr/bin/tkiaxphone diff --git a/sources b/sources index e69de29..2089164 100644 --- a/sources +++ b/sources @@ -0,0 +1 @@ +47d54b9d5d48dc6aa1f6d7e506c72ba7 iaxclient-2.1beta3.tar.gz diff --git a/tkiaxphone.desktop b/tkiaxphone.desktop new file mode 100644 index 0000000..4dfa0fc --- /dev/null +++ b/tkiaxphone.desktop @@ -0,0 +1,10 @@ + +[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; diff --git a/wxiax.desktop b/wxiax.desktop new file mode 100644 index 0000000..f6a2090 --- /dev/null +++ b/wxiax.desktop @@ -0,0 +1,10 @@ + +[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;