diff --git a/wxGTK-2.4.2-gcc4.patch b/wxGTK-2.4.2-gcc4.patch new file mode 100644 index 0000000..6c6b530 --- /dev/null +++ b/wxGTK-2.4.2-gcc4.patch @@ -0,0 +1,235 @@ +--- wxGTK-2.4.2/contrib/src/xrc/xml.cpp.gcc4 2003-09-21 07:32:56.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/xrc/xml.cpp 2005-04-15 06:59:47.000000000 -0400 +@@ -354,8 +354,8 @@ + #else + if ( conv ) + { +- size_t nLen = (len != wxSTRING_MAXLEN) ? len : +- nLen = wxConvUTF8.MB2WC((wchar_t*) NULL, s, 0); ++ size_t nLen = ((len != wxSTRING_MAXLEN) ? len : ++ wxConvUTF8.MB2WC((wchar_t*) NULL, s, 0)); + + wchar_t *buf = new wchar_t[nLen+1]; + wxConvUTF8.MB2WC(buf, s, nLen); +--- wxGTK-2.4.2/contrib/src/xrc/expat/xmlparse/xmlparse.c.gcc4 2003-09-21 07:32:54.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/xrc/expat/xmlparse/xmlparse.c 2005-04-15 06:59:47.000000000 -0400 +@@ -203,8 +203,10 @@ + static enum XML_Error + doProlog(XML_Parser parser, const ENCODING *enc, const char *s, + const char *end, int tok, const char *next, const char **nextPtr); ++#ifdef XML_DTD + static enum XML_Error + processInternalParamEntity(XML_Parser parser, ENTITY *entity); ++#endif /* XML_DTD */ + static enum XML_Error + doContent(XML_Parser parser, int startTagLevel, const ENCODING *enc, + const char *start, const char *end, const char **endPtr); +--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/Document.cxx.gcc4 2003-09-21 07:32:47.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/Document.cxx 2005-04-15 06:59:47.000000000 -0400 +@@ -850,6 +850,7 @@ + DocumentIndexer(Document *pdoc_, int end_) : + pdoc(pdoc_), end(end_) { + } ++ virtual ~DocumentIndexer() {}; + + virtual char CharAt(int index) { + if (index < 0 || index >= end) +--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/ExternalLexer.h.gcc4 2003-09-21 07:32:50.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/ExternalLexer.h 2005-04-15 06:59:47.000000000 -0400 +@@ -38,6 +38,7 @@ + strncpy(name, languageName_, sizeof(name)); + languageName = name; + }; ++ virtual ~ExternalLexerModule() {}; + virtual void Lex(unsigned int startPos, int lengthDoc, int initStyle, + WordList *keywordlists[], Accessor &styler) const; + virtual void Fold(unsigned int startPos, int lengthDoc, int initStyle, +--- wxGTK-2.4.2/contrib/src/stc/scintilla/src/RESearch.h.gcc4 2003-09-21 07:32:50.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/stc/scintilla/src/RESearch.h 2005-04-15 06:59:47.000000000 -0400 +@@ -20,6 +20,7 @@ + class CharacterIndexer { + public: + virtual char CharAt(int index)=0; ++ virtual ~CharacterIndexer() {}; + }; + + class RESearch { +--- wxGTK-2.4.2/contrib/src/stc/scintilla/include/KeyWords.h.gcc4 2003-09-21 07:32:47.000000000 -0400 ++++ wxGTK-2.4.2/contrib/src/stc/scintilla/include/KeyWords.h 2005-04-15 06:59:47.000000000 -0400 +@@ -29,6 +29,7 @@ + LexerModule(int language_, LexerFunction fnLexer_, + const char *languageName_=0, LexerFunction fnFolder_=0, + const char * const wordListDescriptions_[] = NULL); ++ virtual ~LexerModule() {}; + int GetLanguage() const { return language; } + + // -1 is returned if no WordList information is available +--- wxGTK-2.4.2/src/common/dircmn.cpp.gcc4 2003-09-21 07:31:39.000000000 -0400 ++++ wxGTK-2.4.2/src/common/dircmn.cpp 2005-04-15 06:59:47.000000000 -0400 +@@ -147,6 +147,7 @@ + { + public: + wxDirTraverserSimple(wxArrayString& files) : m_files(files) { } ++ virtual ~wxDirTraverserSimple() {}; + + virtual wxDirTraverseResult OnFile(const wxString& filename) + { +--- wxGTK-2.4.2/src/common/xpmdecod.cpp.gcc4 2003-09-21 07:31:39.000000000 -0400 ++++ wxGTK-2.4.2/src/common/xpmdecod.cpp 2005-04-15 14:06:53.000000000 -0400 +@@ -669,7 +669,7 @@ + wxChar key[64]; + const char *clr_def; + bool hasMask; +- wxXPMColourMapData clr_data; ++ wxXPMColourMapData clr_data = {0, 0, 0}; + wxXPMColourMap clr_tbl; + + /* +@@ -712,7 +712,7 @@ + } + else + { +- bool isNone; ++ bool isNone = false; + if ( !GetRGBFromName(clr_def, &isNone, + &clr_data.R, &clr_data.G, &clr_data.B) ) + { +--- wxGTK-2.4.2/src/unix/mimetype.cpp.gcc4 2003-09-21 07:31:40.000000000 -0400 ++++ wxGTK-2.4.2/src/unix/mimetype.cpp 2005-04-15 06:59:47.000000000 -0400 +@@ -1580,7 +1580,7 @@ + { + // now got a file we can write to .... + wxMimeTypeCommands * entries = m_aEntries[index]; +- size_t iOpen; ++ size_t iOpen = 0; + wxString sCmd = entries->GetCommandForVerb(_T("open"), &iOpen); + wxString sTmp; + +--- wxGTK-2.4.2/include/wx/statline.h.gcc4 2003-09-21 07:31:35.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/statline.h 2005-04-15 06:59:47.000000000 -0400 +@@ -39,6 +39,7 @@ + public: + // constructor + wxStaticLineBase() { } ++ virtual ~wxStaticLineBase() {}; + + // is the line vertical? + bool IsVertical() const { return (GetWindowStyle() & wxLI_VERTICAL) != 0; } +--- wxGTK-2.4.2/include/wx/datetime.h.gcc4 2003-09-21 07:31:30.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/datetime.h 2005-04-15 06:59:47.000000000 -0400 +@@ -1300,6 +1300,7 @@ + { + friend class wxDateTimeHolidaysModule; + public: ++ virtual ~wxDateTimeHolidayAuthority() {}; + // returns TRUE if the given date is a holiday + static bool IsHoliday(const wxDateTime& dt); + +@@ -1340,6 +1341,8 @@ + // the holidays for this class are all Saturdays and Sundays + class WXDLLEXPORT wxDateTimeWorkDays : public wxDateTimeHolidayAuthority + { ++public: ++ virtual ~wxDateTimeWorkDays() {}; + protected: + virtual bool DoIsHoliday(const wxDateTime& dt) const; + virtual size_t DoGetHolidaysInRange(const wxDateTime& dtStart, +--- wxGTK-2.4.2/include/wx/notebook.h.gcc4 2003-09-21 07:31:34.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/notebook.h 2005-04-15 06:59:47.000000000 -0400 +@@ -193,6 +193,7 @@ + m_nSel = nSel; + m_nOldSel = nOldSel; + } ++ virtual ~wxNotebookEvent() {}; + + // accessors + // the currently selected page (-1 if none) +--- wxGTK-2.4.2/include/wx/event.h.gcc4 2003-09-21 07:31:33.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/event.h 2005-04-15 06:59:47.000000000 -0400 +@@ -1952,6 +1952,7 @@ + : wxEventTableEntryBase(id, idLast, fn, data), + m_eventType(evType) + { } ++ virtual ~wxEventTableEntry() {}; + + // the reference to event type: this allows us to not care about the + // (undefined) order in which the event table entries and the event types +--- wxGTK-2.4.2/include/wx/geometry.h.gcc4 2003-09-21 07:31:34.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/geometry.h 2005-04-15 06:59:47.000000000 -0400 +@@ -785,6 +785,7 @@ + class wxTransform2D + { + public : ++ virtual ~wxTransform2D() {}; + virtual void Transform( wxPoint2DInt* pt )const = 0; + virtual void Transform( wxRect2DInt* r ) const; + virtual wxPoint2DInt Transform( const wxPoint2DInt &pt ) const; +--- wxGTK-2.4.2/include/wx/list.h.gcc4 2003-09-21 07:31:34.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/list.h 2005-04-15 14:05:22.000000000 -0400 +@@ -384,6 +384,7 @@ + T *data = (T *)NULL, \ + const wxListKey& key = wxDefaultListKey) \ + : wxNodeBase(list, previous, next, data, key) { } \ ++ virtual ~nodetype() {}; \ + \ + nodetype *GetNext() const \ + { return (nodetype *)wxNodeBase::GetNext(); } \ +@@ -410,6 +411,7 @@ + \ + name& operator=(const name& list) \ + { (void) wxListBase::operator=(list); return *this; } \ ++ virtual ~name() {}; \ + \ + nodetype *GetFirst() const \ + { return (nodetype *)wxListBase::GetFirst(); } \ +--- wxGTK-2.4.2/include/wx/radiobox.h.gcc4 2003-09-21 07:31:35.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/radiobox.h 2005-04-15 06:59:47.000000000 -0400 +@@ -35,6 +35,7 @@ + class WXDLLEXPORT wxRadioBoxBase + { + public: ++ virtual ~wxRadioBoxBase() {}; + // selection + virtual void SetSelection(int n) = 0; + virtual int GetSelection() const = 0; +--- wxGTK-2.4.2/include/wx/caret.h.gcc4 2003-09-21 07:31:30.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/caret.h 2005-04-15 06:59:47.000000000 -0400 +@@ -60,6 +60,7 @@ + + (void)Create(window, size); + } ++ virtual ~wxCaretBase() {}; + + // Create() functions - same as ctor but returns the success code + // -------------------------------------------------------------- +--- wxGTK-2.4.2/include/wx/dir.h.gcc4 2003-09-21 07:31:32.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/dir.h 2005-04-15 06:59:47.000000000 -0400 +@@ -52,6 +52,7 @@ + class WXDLLEXPORT wxDirTraverser + { + public: ++ virtual ~wxDirTraverser() {}; + // called for each file found by wxDir::Traverse() + // + // return wxDIR_STOP or wxDIR_CONTINUE from here +--- wxGTK-2.4.2/include/wx/clipbrd.h.gcc4 2003-09-21 07:31:30.000000000 -0400 ++++ wxGTK-2.4.2/include/wx/clipbrd.h 2005-04-15 06:59:47.000000000 -0400 +@@ -39,6 +39,7 @@ + { + public: + wxClipboardBase(); ++ virtual ~wxClipboardBase() {}; + + // open the clipboard before Add/SetData() and GetData() + virtual bool Open() = 0; +--- wxGTK-2.4.2/src/common/sckfile.cpp.orig 2005-04-16 16:50:11.000000000 -0700 ++++ wxGTK-2.4.2/src/common/sckfile.cpp 2005-04-16 16:50:14.000000000 -0700 +@@ -9,7 +9,7 @@ + // Licence: wxWindows license + ///////////////////////////////////////////////////////////////////////////// + #ifdef __GNUG__ +-#pragma implementation "sckfile.h" ++#pragma implementation "file.h" + #endif + + // For compilers that support precompilation, includes "wx.h". diff --git a/wxGTK.spec b/wxGTK.spec index 073c3d7..89e854b 100644 --- a/wxGTK.spec +++ b/wxGTK.spec @@ -2,15 +2,16 @@ Name: wxGTK Version: 2.4.2 -Release: 9 +Release: 10 Summary: GTK+ port of the wxWidgets GUI library License: BSD Group: System Environment/Libraries URL: http://www.wxwidgets.org/ Source0: http://dl.sf.net/wxwindows/%{name}-%{version}.tar.bz2 -Patch0: %{name}-2.4.2-privates.patch -Patch1: %{name}-2.4.2-aclocal18.patch +Patch0: wxGTK-2.4.2-privates.patch +Patch1: wxGTK-2.4.2-aclocal18.patch +Patch2: wxGTK-2.4.2-gcc4.patch BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n) BuildRequires: gtk+-devel gtk2-devel zlib-devel >= 1.1.4 @@ -135,6 +136,8 @@ This package is for the GTK2 backend. %setup -q -n %{name}-%{version} %patch0 -p1 -b .privates %patch1 -b .aclocal18 +%patch2 -p1 -b .gcc4 + sed -i -e 's|/usr/lib\b|%{_libdir}|' wx-config.in @@ -293,6 +296,9 @@ ln -sf $(basename %{_bindir}/wxgtk2*-config) %{_bindir}/wx-config %changelog +* Fri Apr 22 2005 Dams - 2.4.2-10 +- Added patch from Ignacio and Denis to fix build with gcc4 + * Fri Apr 7 2005 Michael Schwendt - rebuilt