It's high time we actually got rid of wxwidgets2.8, so I took another
look at this bug.

Upstream have yet to make a release from trunk, so I tried to make
minimal changes to get 13.12 working rather than packaging a VCS
snapshot.

Olly Betts wrote:
> On Thu, Apr 10, 2014 at 04:59:25AM -0700, Vincent Cheng wrote:
> > My understanding is that upstream is working towards porting
> > codeblocks for wx 3.0, but it's currently not fully stable yet (e.g.
> > #736368).
> 
> The issue there is most likely because wx 3.0 enables "WXDEBUG" mode
> by default which includes checks for incorrect API usage, whereas with
> wx 2.8 you had to specify it explicitly when you built the library.  In
> other words, codeblocks is misusing the wx API, but with 2.8 this gets
> quietly ignored by default, whereas 3.0 reports it by default.
> 
> I bet if you rebuilt codeblocks using the WXDEBUG build of 2.8
> (available in Debian in package libwxgtk2.8-dbg - despite the name, this
> isn't debug symbols, but a separate build of the library) you'd see this
> assertion too.
> 
> The simplest way to address this is to build codeblocks with -DNDEBUG
> (pass it in CPPFLAGS usually), which makes wx 3.0 behave as a default
> build of 2.8 would.

I tested this workaround and I can't reproduce #736368 in a build with
-DNDEBUG defined.  It's a shame we didn't actually test that before
jessie - sorry about that.

Running cleanly without disabling the WXDEBUG checks would be better,
but these checks are off by default in wx2.8, so it's no worse than the
current situation, and it doesn't seem worth investing time trying to
track down the relevant fixes from trunk.

Vincent Cheng <vch...@debian.org> writes:
> In case I haven't made it clear previously, you're more than welcome
> to NMU codeblocks; I doubt David and/or Michael would object.

Thanks, I've prepared an NMU for codeblocks (versioned as 13.12-3.1) and
uploaded it.

Cheers,
    Olly
diff -Nru codeblocks-13.12/debian/changelog codeblocks-13.12/debian/changelog
--- codeblocks-13.12/debian/changelog	2014-01-27 17:31:25.000000000 +1300
+++ codeblocks-13.12/debian/changelog	2015-05-13 16:09:48.000000000 +1200
@@ -1,3 +1,10 @@
+codeblocks (13.12-3.1) unstable; urgency=low
+
+  * Non-maintainer upload.
+  * Update to use wxWidgets 3.0. (Closes: #744115)
+
+ -- Olly Betts <o...@survex.com>  Wed, 13 May 2015 16:06:43 +1200
+
 codeblocks (13.12-3) unstable; urgency=medium
 
   * Add depends on libgamin0 to codeblocks-contrib. (Closes: #726761)
diff -Nru codeblocks-13.12/debian/control codeblocks-13.12/debian/control
--- codeblocks-13.12/debian/control	2014-01-27 17:33:03.000000000 +1300
+++ codeblocks-13.12/debian/control	2014-03-21 18:23:30.000000000 +1300
@@ -6,8 +6,7 @@
            Vincent Cheng <vch...@debian.org>
 Build-Depends: debhelper (>= 8~)
  , dh-autoreconf
- , libwxgtk2.8-dev
- , wx-common
+ , libwxgtk3.0-dev
  , zip
  , libbz2-dev
  , zlib1g-dev
@@ -32,8 +31,7 @@
  , gdb
  , xterm
 Suggests:
- libwxgtk2.8-dev
- , wx-common
+ libwxgtk3.0-dev
  , codeblocks-contrib
 Description: Code::Blocks integrated development environment (IDE)
  Code::Blocks is a cross-platform Integrated Development Environment (IDE).
diff -Nru codeblocks-13.12/debian/rules codeblocks-13.12/debian/rules
--- codeblocks-13.12/debian/rules	2014-01-27 17:39:09.000000000 +1300
+++ codeblocks-13.12/debian/rules	2015-05-13 16:09:46.000000000 +1200
@@ -10,6 +10,9 @@
 endif
 
 export DEB_LDFLAGS_MAINT_APPEND=-Wl,--as-needed
+# Disable WXDEBUG checks, which wx3.0 defaults to enabling but were off by
+# default in wx2.8, to address issues such as #736368.
+export DEB_CPPFLAGS_MAINT_APPEND=-DNDEBUG
 DPKG_EXPORT_BUILDFLAGS = 1
 include /usr/share/dpkg/buildflags.mk
 

Attachment: signature.asc
Description: Digital signature

Reply via email to