Author Topic: RFC: Dropping support for old wxWidgets releases (2.8 in particular)  (Read 16207 times)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
wx3.0.0 has been released: November 11, 2013
wx2.8.x somewhere around 2007.

Probably it is time to drop 2.8.x for all platforms?
Anyone still not able to migrate to 3.x? Reasons?
Most linuxes are on wx3.0.x something at the moment. The only exception in CentOS7, but there are workarounds, so it is not a big deal.

I'd also be happy if we could drop wx3.0 support for Windows. There is no particular reason to support it. I don't test it and we don't intend to ship a version with it because it doesn't support HiDPI. It only clutters our project files with another set of them.

I'm currently porting the popup changes from wxSTC to wxScintilla and they are really hard to port to wx2.8. I'm not sure it is worth the time to do it. It will mean that I'd have to copy a lot of wxWidget internals or probably leave the old code and mod it a bit.

Anyone interested in this should speak soon, because I think I'll take action in the next couple of weeks. :)  8)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #1 on: August 01, 2019, 03:45:18 pm »
I totally support the drop of wx 2.8, and wx 3.0 on windows too.
I even think many linuxes already provide out of the bow more recent then 3.0.x too.


Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #2 on: August 01, 2019, 03:48:57 pm »
I don't think, so. A quick check at pkgs.org showed that most linux distros are at 3.0.x and only OpenSuSe is shipping 3.1.2 (which is broken for cb:))
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline LETARTARE

  • Lives here!
  • ****
  • Posts: 531
  • L'ami de l'homme.The friend of man.
    • LETARTARE
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #3 on: August 01, 2019, 04:41:15 pm »
I am five machines with my configuration. I build 'CB' without problems with wx-2.8.12 and gcc-510.

For 'OpenSuse-Leap-42.3' :  always with native 2.8.12,
- I have not been able to install 3.0.2 next to 2.8.12, but I'm working on it (the native compiler is 4.8.5 !!),
- I'm also trying to install gcc530, gcc730 and use 'update-alternatives' I can not use for 'wx-config'
( these difficulties probably come from my inexperience with LINUX !)
I am also working on the installation of 'openSUSE Tumbleweed' ;  wx-3.0.4,  3.1.3 (wxGTK3-3_2) come with 'openSUSE Tumbleweed', but again the coexistence is difficult.

For Windows : for a week I'm trying to install versions 2.8.12, 3.0.1, 3.12 with the gcc-530, gcc-730, gcc-810 compilers as well as build CB from the sdk143 (cb-11793 .. .) : it seems more accessible ...

If the decision is made towards the beginning of September, I think I have made serious progress in all these problems.

CB-13483, plugins-sdk-2.25.0 : Collector-2.0.0, AddOnForQt-3.9.1
1-Win7 Business Pack1 64bits : wx-3.2.4, gcc-8.1.0,
2-OpenSuse::Leap-15.4-64bits : wx-3.2.4;gtk3, gcc-8.2.1,
=> !! The messages are translated by Deepl

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7576
    • My Best Post
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #4 on: August 01, 2019, 04:50:48 pm »
I think dropping the Windows wx 2.8 projects make sense.
I do suggest keeping the core windows wx 3.0 projects;  CodeBlocks_wx30.cbp and CodeBlocks_wx30_64.cbp.
The windows wx 3.0 plugins projects make sense to delete.

This way it will be easier for the few remaining Windows wx 3.0 self building to still build core CB.
And, we can always delete them later.

Tim S.


C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline Pecan

  • Plugin developer
  • Lives here!
  • ****
  • Posts: 2743
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #5 on: August 01, 2019, 06:45:07 pm »
I support the drop of wx 2.8, and wx 3.0 .

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #6 on: August 01, 2019, 06:47:42 pm »
I do suggest keeping the core windows wx 3.0 projects;  CodeBlocks_wx30.cbp and CodeBlocks_wx30_64.cbp.
The windows wx 3.0 plugins projects make sense to delete.
This doesn't make sense.

This way it will be easier for the few remaining Windows wx 3.0 self building to still build core CB.
And, we can always delete them later.
Building another wx is not a rocket science it is just a download, unpack and run of a copy-pasted command from the wiki.

This doesn't seem like a valid reason to preserve the wx30 builds. A valid reason would be that something is broken with wx31 and only works in wx30. If this is the case then we can postpone the deletion. But I've not seen any indication that this is the case. We're shipping wx31 night builds for quite a while.

(I know that the pile of bug reports would start happening after we ship a wx31 release :))
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline sodev

  • Regular
  • ***
  • Posts: 496
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #7 on: August 01, 2019, 08:04:58 pm »
I am using wx-master for many years for all our (windows only) applications and this works quite well, nothing broke badly, sometimes i picked a commit that broke something, but usually this got fixed after a short time so i simply picked the fixed commit. On windows there is no such thing like a package repository, building wxWidgets from source is not that kind of big deal (it is self contained, no external dependencies), so you can easily use the source.

On linux it's a bit different, so if you want to provide packages, at least there stick to some release that is available in the repositories.

I don't use wx 2.8 since CodeBlocks got useable with wx 3.x, maybe soon i don't have to apply my patches to be able to use CodeBlocks with wx-master ;D

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #8 on: August 01, 2019, 10:34:05 pm »
...maybe soon i don't have to apply my patches to be able to use CodeBlocks with wx-master ;D
Patches? To cb or wx? Anyway wx-master is only for testing...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline sodev

  • Regular
  • ***
  • Posts: 496
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #9 on: August 02, 2019, 12:35:55 am »
Patches for CB. Only two, around a month ago you and BlueHazzard looked at them again, you didn't like one of them because of the code duplication required to work with wx 2.8, and the other one... well, i guess no one was in the mood to try to understand the affected CodeBlocks parts to maybe agree with me that CodeBlocks does it wrong and wxWidgets refuses to compile with that for good reason :). And since then... silence again :-X.

My 5 years+ test run is quite successful so far, i get the latest and greatest stuff and don't have to work around bugs because i can simply upgrade 8)

Offline ollydbg

  • Developer
  • Lives here!
  • *****
  • Posts: 5907
  • OpenCV and Robotics
    • Chinese OpenCV forum moderator
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #10 on: August 02, 2019, 05:53:33 am »
My option: drop wx2.8 on Windows, and I suggest using wx3.1.2 and above under Windows.
If some piece of memory should be reused, turn them to variables (or const variables).
If some piece of operations should be reused, turn them to functions.
If they happened together, then turn them to classes.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #11 on: August 02, 2019, 09:10:03 am »
3.1.2 is broken and needs patching.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #12 on: August 02, 2019, 10:45:42 am »
Oh no, come on.... Now where i have nearly finished my build setup to build every version of codeblocks with every version of wxWidgets and compiler on windows and linux automatically, you want to kill 90% of the work...

joke aside: I am totally for dropping old wx versions!

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #13 on: August 02, 2019, 11:44:54 am »
There would be 3.2 in some years time. :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1549
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #14 on: August 02, 2019, 12:02:34 pm »
wxWidgets' roadmap says 3.1.3 will come out in september and 3.2.0 in early 2020. These dates are estimations, of course.

IMHO wx2.8 can be removed in all platforms, 3.0 in MSW and the nightlies changed to 3.1.3 as soon as it is released.

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #15 on: August 02, 2019, 01:58:17 pm »
We talked about that for quite some time now. For me, I understood we do that step by step:
1. Provide wx28 and wx30 nightlies for testing
2. Provide only wx30 nightly builds to enforce testing once we don't get serious errors
3. Switch with release

We did step 1. We can do step 2 now, if you like.
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #16 on: August 02, 2019, 02:43:47 pm »
Morten: We're already at step 2? Or by step 2 you mean remove project files for wx2.8?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #17 on: August 02, 2019, 04:42:58 pm »
Morten: We're already at step 2? Or by step 2 you mean remove project files for wx2.8?
We provide wx31 but not wx30. If you intend to switch to wx30 then this should be tested. Maybe I don't get the point?
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #18 on: August 02, 2019, 05:33:49 pm »
The plan is:
- use wx30 for linux,
- use wx31 for windows and macos.
- delete wx28 projects for linux/macos
- delete wx30 projects for windows.

We cannot use wx30 on windows, because it doesn't have enough hidpi features, as far as I know.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline MortenMacFly

  • Administrator
  • Lives here!
  • *****
  • Posts: 9694
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #19 on: August 03, 2019, 11:19:33 am »
The plan is:
- use wx30 for linux,
- use wx31 for windows and macos.
- delete wx28 projects for linux/macos
- delete wx30 projects for windows.

We cannot use wx30 on windows, because it doesn't have enough hidpi features, as far as I know.
OK, go ahead!
Compiler logging: Settings->Compiler & Debugger->tab "Other"->Compiler logging="Full command line"
C::B Manual: https://www.codeblocks.org/docs/main_codeblocks_en.html
C::B FAQ: https://wiki.codeblocks.org/index.php?title=FAQ

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #20 on: August 03, 2019, 11:51:55 am »
Quote
We cannot use wx30 on windows, because it doesn't have enough hidpi features, as far as I know.
but hasn't wx3.1.2 a fatal crash bug if you use code completion pop up?
found the report by Miguel Gimenez and i am hitting this too
http://forums.codeblocks.org/index.php/topic,23291.msg158701.html#msg158701

[Edit: specify wxWidgets version]
« Last Edit: August 03, 2019, 11:58:34 am by BlueHazzard »

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #21 on: August 03, 2019, 06:29:36 pm »
Yes, 3.1.2 is broken for cb. We need 3.1.3 or wx-master ;( This is why night builds are still on 3.1.1.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #22 on: August 03, 2019, 10:27:34 pm »
no idea when wx 3.1.3 might arrive, but maybe we could switch for the nightlies to wx master till 3.1.3 arrives ?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #23 on: August 04, 2019, 12:01:35 am »
Yes, but which master? It is really bad situation. :(
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #24 on: August 04, 2019, 08:32:39 am »
oh, I assumed their would be 1 master ?

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #25 on: August 04, 2019, 09:37:09 am »
There is only one master, but which point/commit should we choose?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1549
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #26 on: August 04, 2019, 11:21:29 am »
The wx3.1.3 release is estimated for september, so there is no real need to use wx-master now.

The only advantage would be prerelease bug detection in wx (like the wxPopup issue that invalidated 3.1.2)

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #27 on: August 04, 2019, 01:12:28 pm »
There are several fixes for toolbars in wx-master, which are useful to us. :(
Also relying on wx's schedule isn't a good idea.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline killerbot

  • Administrator
  • Lives here!
  • *****
  • Posts: 5489
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #28 on: August 05, 2019, 05:54:17 pm »
The wx3.1.3 release is estimated for september, so there is no real need to use wx-master now.

The only advantage would be prerelease bug detection in wx (like the wxPopup issue that invalidated 3.1.2)

ok let's wait on this one, and if that one still have to many bugs, then we can think of wx-master ...

Offline sodev

  • Regular
  • ***
  • Posts: 496
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #29 on: August 05, 2019, 10:04:17 pm »
There is only one master, but which point/commit should we choose?

My usual approach is to check the log messages to not pick a commit that is in the middle of a series, but usually they don't merge these commits individually but only as whole branch from a PR. Then i try to estimate how dangerous the recent commits are and depending on that i wait a little to see if follow ups get commited. And then i usually take what git fetch gives :).

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #30 on: April 04, 2020, 09:56:30 pm »
The ball is rolling https://github.com/obfuscated/codeblocks_sf/commits/experiments/wx-cleanup
The removal of support for wx28 would be committed sometime next week. I'm testing linux and macOS. No time to check if windows is working, so I'll need help if you want the builds to be working for sure on windows.

Removal plans include:
1. remove all wx28 projects
2. remove all wx30 projects on windows (32 and 64 bit)
3. remove wxpropgrid we use in wx28
4. remove wxTreeList we ship in wx28
5. fix autotools build
6. make it an error if using older versions of wx.

After this is committed to trunk there are two more steps:
step2: remove all conditionals for wx2.8/2.9
step3: remove all wxT uses

Reporting problems now is better then after I commit. :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7576
    • My Best Post
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #31 on: April 04, 2020, 10:19:02 pm »
Would it be possible to remove all the 2.8/2.6 wxWidgets template files at this time.

Under these paths

src/templates/common
src/templates/unix
src/templates/win32

Tim S.


C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #32 on: April 04, 2020, 11:18:58 pm »
It was not in my plans. Someone would have to contribute these. Especially the changes to the windows' templates.
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #33 on: April 07, 2020, 08:15:38 pm »
Any feedback on the windows builds? Is everything working?
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline BlueHazzard

  • Developer
  • Lives here!
  • *****
  • Posts: 3353
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #34 on: April 08, 2020, 09:36:29 am »
Looks good to me

Offline Hyena

  • Multiple posting newcomer
  • *
  • Posts: 20
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #35 on: April 10, 2020, 11:12:53 am »
I had a crash yesterday with the 20.03 running on Linux Mint. I didn't lose any important work because I save often :D. Unfortunately there was no error message or anything specific about the crash. I was just starting to define a new struct in one header file and it crashed. Could not reproduce.

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #36 on: April 10, 2020, 06:59:26 pm »
Great report... in the correct topic... thank you  8)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #37 on: April 17, 2020, 05:00:32 pm »
wx28 support is removed from trunk/master. The code would build if you restore the project files and remove the protections, but this would soon change...
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]

Offline Miguel Gimenez

  • Developer
  • Lives here!
  • *****
  • Posts: 1549
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #38 on: April 17, 2020, 05:50:45 pm »
Should batch_build_all_30.bat and the like be removed too?

Offline stahta01

  • Lives here!
  • ****
  • Posts: 7576
    • My Best Post
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #39 on: April 17, 2020, 05:54:11 pm »
Did not know that you were changing prep.h to require wxWidgets 3.1.3 or higher under windows?

This was on purpose, correct?

Tim S.
C Programmer working to learn more about C++ and Git.
On Windows 7 64 bit and Windows 10 64 bit.
--
When in doubt, read the CB WiKi FAQ. http://wiki.codeblocks.org

Offline oBFusCATed

  • Developer
  • Lives here!
  • *****
  • Posts: 13413
    • Travis build status
Re: RFC: Dropping support for old wxWidgets releases (2.8 in particular)
« Reply #40 on: April 17, 2020, 05:57:36 pm »
@Miguel: Yes, they have to be removed. I'll do so soon.

@stahta01: Of course. You could remove it, but don't expect to get any kind of support. :)
(most of the time I ignore long posts)
[strangers don't send me private messages, I'll ignore them; post a topic in the forum, but first read the rules!]