The attached patch (an updated version of my previous patch) gets me a build of barry using wxwidgets3.0, and "barrybackup" at least starts up OK, though it seems to need some hardware attached which I don't have. The dialogs I could open seem OK at least.
I'd appreciate some more thorough testing from people who actually use the package though. I also added a small patch to fix a bad use of sizeof() which GCC issued a warning about. Let me know if you'd like me to NMU these changes. Cheers, Olly
diff -Nru barry-0.18.5/debian/changelog barry-0.18.5/debian/changelog --- barry-0.18.5/debian/changelog 2013-11-19 07:32:59.000000000 +1300 +++ barry-0.18.5/debian/changelog 2014-08-14 12:49:12.000000000 +1200 @@ -1,3 +1,13 @@ +barry (0.18.5-1.1) unstable; urgency=medium + + * Non-maintainer upload. + * Update to build with wxWidgets 3.0 (Closes: #751262): + - New patch: wx3.0-compat.patch + * Fix bad use of sizeof(): + - New patch: fix-sizeof-use.patch + + -- Olly Betts <o...@survex.com> Thu, 14 Aug 2014 12:48:39 +1200 + barry (0.18.5-1) unstable; urgency=low * New upstream version 0.18.5 diff -Nru barry-0.18.5/debian/control barry-0.18.5/debian/control --- barry-0.18.5/debian/control 2013-11-19 07:32:59.000000000 +1300 +++ barry-0.18.5/debian/control 2014-03-14 14:48:15.000000000 +1300 @@ -32,7 +32,7 @@ Section: misc Priority: optional Maintainer: Chris Frey <cdf...@foursquare.net> -Build-Depends: debhelper (>= 7.0.0), g++ (>= 4.1), cdbs, autoconf, autoconf-archive, automake, libtool, pkg-config, libusb-dev, libboost-serialization-dev, libxml++2.6-dev, libfuse-dev (>= 2.5), zlib1g-dev, libtar-dev, libglibmm-2.4-dev, libgtkmm-2.4-dev, libglademm-2.4-dev, autopoint | gettext (<< 0.18), libgcal-dev, wx-common, libwxgtk2.8-dev, libsdl-dev, php5-cli +Build-Depends: debhelper (>= 7.0.0), g++ (>= 4.1), cdbs, autoconf, autoconf-archive, automake, libtool, pkg-config, libusb-dev, libboost-serialization-dev, libxml++2.6-dev, libfuse-dev (>= 2.5), zlib1g-dev, libtar-dev, libglibmm-2.4-dev, libgtkmm-2.4-dev, libglademm-2.4-dev, autopoint | gettext (<< 0.18), libgcal-dev, wx-common, libwxgtk3.0-dev, libsdl-dev, php5-cli Standards-Version: 3.9.4 Homepage: http://netdirect.ca/barry Vcs-Git: git://repo.or.cz/barry.git -b v0.18.x diff -Nru barry-0.18.5/debian/patches/fix-sizeof-use.patch barry-0.18.5/debian/patches/fix-sizeof-use.patch --- barry-0.18.5/debian/patches/fix-sizeof-use.patch 1970-01-01 12:00:00.000000000 +1200 +++ barry-0.18.5/debian/patches/fix-sizeof-use.patch 2014-08-14 12:48:01.000000000 +1200 @@ -0,0 +1,30 @@ +Description: Fix sizeof(pointer) to be sizeof(buffer_pointed_to) +Author: Olly Betts <o...@survex.com> +Forwarded: no +Last-Update: 2014-08-14 + +--- a/src/vformat.c ++++ b/src/vformat.c +@@ -1881,11 +1881,11 @@ + + //static unsigned char _evc_base64_rank[256]; + +-static void base64_init(char *rank) ++static void base64_init(char *rank, size_t len) + { + int i; + +- memset(rank, 0xff, sizeof(rank)); ++ memset(rank, 0xff, len); + for (i=0;i<64;i++) { + rank[(unsigned int)base64_alphabet[i]] = i; + } +@@ -2011,7 +2011,7 @@ + static size_t base64_decode_step(const unsigned char *in, size_t len, unsigned char *out, int *state, unsigned int *save) + { + unsigned char base64_rank[256]; +- base64_init((char*)base64_rank); ++ base64_init((char*)base64_rank, sizeof(base64_rank)); + + register const unsigned char *inptr; + register unsigned char *outptr; diff -Nru barry-0.18.5/debian/patches/series barry-0.18.5/debian/patches/series --- barry-0.18.5/debian/patches/series 1970-01-01 12:00:00.000000000 +1200 +++ barry-0.18.5/debian/patches/series 2014-08-14 12:48:34.000000000 +1200 @@ -0,0 +1,2 @@ +wx3.0-compat.patch +fix-sizeof-use.patch diff -Nru barry-0.18.5/debian/patches/wx3.0-compat.patch barry-0.18.5/debian/patches/wx3.0-compat.patch --- barry-0.18.5/debian/patches/wx3.0-compat.patch 1970-01-01 12:00:00.000000000 +1200 +++ barry-0.18.5/debian/patches/wx3.0-compat.patch 2014-08-14 12:46:23.000000000 +1200 @@ -0,0 +1,58 @@ +Description: Fix to build with wxWidgets 3.0 +Author: Olly Betts <o...@survex.com> +Last-Update: 2014-08-14 + +--- a/desktop/src/Mode.h ++++ b/desktop/src/Mode.h +@@ -23,6 +23,7 @@ + #define __BARRYDESKTOP_MODE_H__ + + #include <wx/wx.h> ++#include <wx/listctrl.h> + + class Mode + { +--- a/desktop/src/bsyncjail.cc ++++ b/desktop/src/bsyncjail.cc +@@ -177,8 +177,8 @@ + void BarrySyncJail::HandleConflict(OpenSync::SyncConflict &conflict) + { + OpenSync::SyncConflict::iterator i; +- int size = 0; +- wxChar *buf = 0; ++ size_t size = 0; ++ const wxChar *buf = 0; + + // start with a new sequence ID + m_sequenceID++; +@@ -218,7 +218,7 @@ + } + + // then wait on the server to tell us what choice was made +- buf = m_conflict_con->Request(CONFLICT_ITEM_ANSWER, &size); ++ buf = (const wxChar *)m_conflict_con->Request(CONFLICT_ITEM_ANSWER, &size); + if( buf ) { + wxString msg(buf); + istringstream iss(string(msg.utf8_str())); +--- a/desktop/src/MigrateDlg.cc ++++ b/desktop/src/MigrateDlg.cc +@@ -81,7 +81,7 @@ + wxCommandEvent event(MET_PROMPT_PASSWORD, wxID_ANY); + event.SetEventObject(m_dlg); + event.SetInt(bp.remaining_tries()); +- m_dlg->AddPendingEvent(event); ++ m_dlg->GetEventHandler()->ProcessEvent(event); + m_dlg->WaitForEvent(); + + password_result = m_dlg->GetPassword().utf8_str(); +--- a/src/probe.cc ++++ b/src/probe.cc +@@ -170,7 +170,7 @@ + // now dump all logged error messages + if( auto_dump_log && m_fail_msgs.size() ) { + eout(string_vprintf(_("Probe logged %u exception messages:"), +- m_fail_msgs.size())); ++ (unsigned)m_fail_msgs.size())); + for( std::vector<std::string>::const_iterator b = m_fail_msgs.begin(); + b != m_fail_msgs.end(); + ++b )