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 <[email protected]> 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 <[email protected]>
-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 <[email protected]>
+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 <[email protected]>
+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 )