Thursday, December 24, 2015

MATE for 14.2 Will be Based on GTK+2

After testing the GTK+3 build of MATE 1.12 in Slackware-Current for few weeks and discussed many things with upstream developers, i decided to cancel the migration to GTK+3 build for next Slackware release and switch back to GTK+2 build. The reason is simple: we don't want users to have bad user experience when they upgraded to the new version. While GTK+3 build is pretty solid, it still have many major blocker such as glitches theme preview, color change problem, panel freeze after adding shortcut, no python plugin support in pluma and eom, and many others. You can see all the GTK+3 issues in Github. I think it's enough reason to postpone the idea until it's stable enough.

Even though the MATE developers wanted to kill GTK+2 code someday, it will not happen soon as GTK+3 build is still so buggy and with every GTK+3 releases, they have to adapt changes made by upstream project. For that reason, in the next major release (1.14), MATE developers will set a minimum GTK version that they support to minimize the load of maintaining several GTK releases. See the roadmap for more information.

So, what happened to MSB repository? Since all the good changes happening on GTK3 branch, i cherry-picked them to master branch already and push it to github. There were some conflict but i managed to fix them locally before it gets pushed, so you will get a clean history in master branch. Just run git pull on master branch and you will get the latest changes in MATE 1.12.x tested for slackware-current.

Unfortunately for those who have been using GTK3 branch, you will have to make some extra steps since GTK3 branch is rebased from master after the big changes and there were some conflicts and i had to fix them and used force option. So here's what you need to do if you want to grab the latest GTK3 branch:
git checkout master
git pull
git branch -D GTK3
git checkout GTK3
If you noticed in the commit logs, i have removed the NUMJOBS parameter. For those who have many CPUs, you can override your MAKEFLAGS environment variable to compile using more than 1 CPU.

At the moment, i'm rebuilding latest MATE 1.12.x on top of latest -current update (Dec 23) and will upload it to usual testing location (GTK+3 build will be removed) but probably only for x86_64. This will be used as a base packages for the next Slackware Live Beta 3 from AlienBOB.

Update: The repository is now updated with GTK+2 build for x86 and x86_64 packages.

WARNING: The testing repository will contain GTK+2 build. If you happened to install GTK+3 build already, you need to remove all MATE packages first before installing/upgrading the new packages.