Opened 5 years ago

Last modified 2 years ago

#5502 new task

[ATLASUI] Drop support for wxWidgets 2.8

Reported by: historic_bruno Owned by:
Priority: Should Have Milestone: Backlog
Component: Build & Packages Keywords:
Cc: Patch: Phab:D2076

Description

For a long time, we've been supporting wxWidgets 2.8, missing out on the latest features and improvements from 3.x. In some cases, we've implemented our own custom controls to support both. I know trompetin17 has a major Atlas UI remake that relies on 3.x, and we could fix a few bugs.

Since we choose 3.0 for macOS and win32, the only question concerns Linux distros and BSD, so I did a survey of supported Linux distros. It seems that >= 3.0.2 is standard now.

Feel free to chime in if your distro isn't listed, or your system is older than these and you want to keep Atlas support (I'd also be curious as to why you don't upgrade :)

Debian: 8 (Jessie) until 2020-06-30
	libwxgtk3.0-0 (3.0.2-1+b1)
	
Ubuntu: 16.04 LTS (Xenial) until 2021-04
	libwxgtk3.0-0v5 (3.0.2+dfsg-1.3) [universe]
	
Fedora: 29 until 2019-05-28
	wxGTK3 (3.0.4-4.fc29)

ArchLinux: n/a
	wxgtk3 3.0.4-2

OpenSUSE: 42.3 until 2019-06-30
	3.1.3~g673 (unofficial)
	
Slackware: 14.0 (from 2012, technically no EOL)
	wxGTK (2.8.12)
14.2 (from 2016)
	wxGTK3 (3.0.4)
	
CentOS: 6 until 2020-11-30
	wxGTK3 3.0.2-14.el6 (EPEL)

Solus: n/a
	wxwidgets-devel-3.0.4

FreeBSD: 11 until 2021-09-30
	wx30-gtk3-3.0.4_7

OpenBSD: 6.3 until 2019-05-03
	wxWidgets-gtk2-2.8.12p17 (*NOTE: according to wiki, Atlas can't be built on OpenBSD)

Change History (9)

comment:1 by elexis, 5 years ago

Component: Atlas editorBuild & Packages

As mentioned few days ago on IRC, I think this was dropped two years ago already:

https://wildfiregames.com/forum/index.php?/topic/22863-library-versions/

I'll start with wxWidgets. A patch from Vladislav broke support for 2.8 again (Phab:rP20021) and A23 is as good a release as any to drop support for 2.8.x. It is likely that sticking with 2.8 compatible code would hinder development of Atlas, now that we have an active contributor in that area. I don't see any distribution that we support that doesn't provide at least 3.0.0, but maybe I missed one. 

So if there is anything left for this task, it seems it's the communication which version is supported.

wiki:BuildInstructions has some references to 2.8 remaining.

Last edited 5 years ago by elexis (previous) (diff)

comment:2 by historic_bruno, 5 years ago

Oh nice! Yeah, it needs to be explicit on BuildInstructions since some distros do package both 2.8 and 3.x, while some ancient ones (aforementined Slackware 14.0) have only 2.8. Also the build needs to check the version and throw an error if it's less than 3.0. Like we do with SDL2. The clearer we can be about this, the better :)

comment:3 by historic_bruno, 5 years ago

And as a side note, I don't know if anyone other than leper ever checked the BSD builds, that may need testing. And Mandriva doesn't exist since 2011, I found a few successors (Rosa, OpenMandriva), but couldn't find anything about which wxGTK packages they offer.

comment:4 by historic_bruno, 5 years ago

Patch: Phab:D2076

comment:5 by historic_bruno, 5 years ago

Related: #2891

comment:6 by historic_bruno, 5 years ago

In 22508:

Makes wxWidgets 3.0 dependency explicit in the game build.
Removes a few non-behavioral workarounds for older versions.

Refs #5502, #2891.
Accepted By: asterix
Comments by: vladislavbelov
Differential Revision: https://code.wildfiregames.com/D2076

comment:7 by bb, 4 years ago

Milestone: BacklogAlpha 24
Priority: Should HaveRelease Blocker

We might need to actually perform this ticket, since from fedora 30 wxWidgets 2.8 is not in the fedora repo anymore...

We actually still require wxWidgets 2.8 in the build process: the file wx-config is used, which is not present in 3.0.

comment:8 by bb, 4 years ago

Milestone: Alpha 24Backlog
Priority: Release BlockerShould Have

Appeared to be an issue in fedora, which got fixed on their part...

comment:9 by Brent Johnson, 2 years ago

We actually still require wxWidgets 2.8 in the build process: the file wx-config is used, which is not present in 3.0.

I'm on Manjaro 21.2rc1. It is true that wx-config is not present, but wx-config-gtk3 is present. I get a successful build if I set:

export WX_CONFIG=/usr/bin/wx-config-gtk3

before running update-workspaces.sh.

It would be nice if update-workspace.sh could detect this and not need the workaround. I will submit a patch for this.

Note: See TracTickets for help on using tickets.