taskFreeciv - Tasks: task #7334, Make copy of gtk2-client as base...

 
 
Show feedback again

You are not allowed to post comments on this tracker with your current authentification level.

task #7334: Make copy of gtk2-client as base for gtk3-client development

Submitted by:  Marko Lindqvist <cazfi>
Submitted on:  Tue 15 Feb 2011 01:52:48 AM UTC  
 
Should Start On: Mon 14 Feb 2011 10:00:00 PM UTCShould be Finished on: Mon 14 Feb 2011 10:00:00 PM UTC
Category: NonePriority: 5 - Normal
Status: DonePrivacy: Public
Percent Complete: 100%Assigned to: Marko Lindqvist <cazfi>
Open/Closed: ClosedEffort: 0.00
Planned Release: 2.4.0

(Jump to the original submission Jump to the original submission)

Sat 10 Dec 2011 08:55:22 PM UTC, comment #12:

We also need to decide which Gtk our official Windows packages will use... I guess that's partly up to cproc.
Making it Gtk3 will get that version lots of testing :)

Jacob Nevins <jtn>
Project Administrator
Sat 10 Dec 2011 08:37:27 PM UTC, comment #11:

The Gtk3 client is still classified as "In-development [...] not yet ready for general use" by configure. However, patch #3042 made it selectable by default. Do we want to change its labelling for 2.4.0?

I still haven't built it myself, but the main remaining issue I noticed from tickets going by is the lack of a theme (cf patch #3050).

Jacob Nevins <jtn>
Project Administrator
Mon 13 Jun 2011 09:19:21 PM UTC, comment #10:

> after patch #2704, I can no longer build gui-gtk3 on Lucid.


It was that new change in gtk? Failed to find any reference from ChangeLogs, but gtk+ sourcetree grepping shows that new key values were not present in gtk+ 2.20, but are in 2.22.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Mon 13 Jun 2011 08:58:31 PM UTC, comment #9:

>> In the beginning so-called gtk3-client tree will be actually
>> gtk2-client prepared to switch to gtk3.
> That may make things easier, but I may still have problems on
> Lucid, since that only has 2.20 and this code will target
> 2.24-ish.

For the record, this came sooner than I thought: after patch #2704, I can no longer build gui-gtk3 on Lucid.
(Not a complaint, just an observation.)

Jacob Nevins <jtn>
Project Administrator
Mon 06 Jun 2011 09:27:27 PM UTC, comment #8:

On another subject: Cairo was mentioned. There are a couple of very old Cairo patches in RT: RT#15055, RT#16431 (2005-6). Dunno if anything can be rescued from them.

(At least one of them was about making Cairo an option for all clients, not just Gtk. I don't know if that's still worth pursuing.)

Jacob Nevins <jtn>
Project Administrator
Mon 06 Jun 2011 09:22:25 PM UTC, comment #7:

> Debian unstable seems to have package named libgtk-3-0 now.

As does Ubuntu from natty (11.04) onwards.

> I assume that building instructions for gtk3 itself are not
> needed now?

I don't think they'll be necessary -- just your reassurance that I'm not likely to end up in dependency hell is probably sufficient. Although to be honest, I'd probably just go for installing a more modern distro in a virtual machine for any Gtk3 work I have to do (since I don't intend to move my main machine on from Ubuntu Lucid any time soon).

> In the beginning so-called gtk3-client tree will be actually
> gtk2-client prepared to switch to gtk3.

(per patch #2689)
That may make things easier, but I may still have problems on Lucid, since that only has 2.20 and this code will target 2.24-ish.

(This is all about my personal circumstances, but I think it's worth leaving these breadcrumbs in case any other developer finds themself in a similar situation.)

Jacob Nevins <jtn>
Project Administrator
Mon 06 Jun 2011 10:11:15 AM UTC, SVN revision 19694:

Copied gui-gtk-2.0 as base for gui-gtk-3.0 development

See gna task #7334

(Browse SVN revision 19694)

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Fri 03 Jun 2011 11:31:15 AM UTC, comment #5:

Just a reminder about this task now it's getting current again (if everything goes ok, just two patches to commit before I branch gtk3-client)

>> building Gtk3 (and related dependencies) from source (maybe
>> that isn't as scary as I fear).


> All the related packages adhere very well to building standards, > so this is not scary at all (minor disclaimer: I'm the guy
> developing crosser ( http://www.cazfi.net/crosser/ ) so my view
> of what is 'trivial' to build might be a bit distorted). I can
> write some sort of quick instructions, maybe in form of shell
> script.


Debian unstable seems to have package named libgtk-3-0 now. I assume that building instructions for gtk3 itself are not needed now?

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Wed 09 Mar 2011 08:26:19 PM UTC, comment #4:

> if I want to add/change some feature in the Gtk client(s)
> (likely), then I'm out of luck.


In the beginning so-called gtk3-client tree will be actually gtk2-client prepared to switch to gtk3. Difference to gtk2-client itself would be that gtk2-client is more backward compatible (all the way to 2.12.0).
I also anticipate that you would get your patches almost certainly right just by testing gtk2-client when making similar changes to both clients. Someone else (I?) can then make final gtk3-testing.

> building Gtk3 (and related dependencies) from source (maybe that > isn't as scary as I fear).


All the related packages adhere very well to building standards, so this is not scary at all (minor disclaimer: I'm the guy developing crosser ( http://www.cazfi.net/crosser/ ) so my view of what is 'trivial' to build might be a bit distorted). I can write some sort of quick instructions, maybe in form of shell script.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Wed 09 Mar 2011 07:05:36 PM UTC, comment #3:

> So, one more patch to commit to gtk2-client and then we are
> ready for branching. Any objections, or can I do it in a couple
> of days?

I'm mainly worried that I'm not going to be able to build this new client myself, as I don't think my current Linux distro has any Gtk3 dev packages. So if I want to check I haven't broken it, or especially if I want to add/change some feature in the Gtk client(s) (likely), then I'm out of luck.

However, that situation is probably not going to be different tomorrow or two months from now, so it probably shouldn't inform the timing of the fork. Whenever it happens I'll have to find some way to build for Gtk3, either by finding backported Gtk3 packages for Ubuntu Lucid (I didn't find any on a cursory look just now), or by upgrading my distro when one containing Gtk3 is available, or by building Gtk3 (and related dependencies) from source (maybe that isn't as scary as I fear).

Jacob Nevins <jtn>
Project Administrator
Mon 07 Mar 2011 02:24:20 AM UTC, comment #2:

After investigating the issue it seems that there would be no benefit from switching to cairo drawing in gtk2-client before branching gtk3-client. Even if gtk2-client would use cairo based drawing code, it would be very different from what gtk3-client will use. Gtk2-client needs to be backward compatible to earlier cairo and gtk2 versions, but gtk3-client requires that non-deprecated ways are used.

So, one more patch to commit to gtk2-client and then we are ready for branching. Any objections, or can I do it in a couple of days?

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Sat 26 Feb 2011 09:59:22 PM UTC, comment #1:

Now all patches required to get rid of code deprecated in gtk 2.12 have been written and are dependencies of this ticket.

Maybe we should postpone branching gtk3 client a bit further than committing just these patches. I assume that gtk2 client would also benefit from having cairo based drawing system, so implementing that before branching would make sense.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.
Tue 15 Feb 2011 01:52:48 AM UTC, original submission:

Our current gtk3 migration plan is:

1. Make current gtk2 client not to use any constructs that were deprecated already in 2.12. Do this in a way that keeps code compatible with 2.12.
2. Copy gtk2-client as starting point of gtk3-client development
3. Make "gtk3-client" actually gtk2 2.24.0 (latest gtk2 release)
client that uses no deprecated constructs
4. Make switch to actual gtk3 with gtk3-client

This task is point 2 in the list. This ticket should depend on all patches for step 1.

Marko Lindqvist <cazfi>
Project AdministratorIn charge of this item.

 

No files currently attached

 

Digest:
   patch dependencies.

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by jtn (Posted a comment)
  • -unavailable- added by cazfi (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 15 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 06 Jun 2011 11:00:27 AM UTCcazfiStatusNone=>Done
      Percent Complete0%=>100%
      Open/ClosedOpen=>Closed
    Fri 03 Jun 2011 11:35:40 AM UTCcazfiDependencies-=>Depends on patch #2591
    Sat 26 Feb 2011 09:59:22 PM UTCcazfiDependencies-=>Depends on patch #2573
    Sat 26 Feb 2011 07:17:35 PM UTCcazfiDependencies-=>Depends on patch #2572
    Sat 26 Feb 2011 12:46:15 PM UTCcazfiDependencies-=>Depends on patch #2569
    Thu 24 Feb 2011 11:48:10 PM UTCcazfiDependencies-=>Depends on patch #2563
    Thu 24 Feb 2011 12:32:12 AM UTCcazfiDependencies-=>Depends on patch #2559
    Wed 23 Feb 2011 11:48:43 PM UTCcazfiDependencies-=>Depends on patch #2558
    Wed 23 Feb 2011 10:42:27 PM UTCcazfiDependencies-=>Depends on patch #2557
    Wed 23 Feb 2011 10:34:09 PM UTCcazfiDependencies-=>Depends on patch #2556
    Tue 15 Feb 2011 01:53:59 AM UTCcazfiDependencies-=>Depends on patch #2535
    Tue 15 Feb 2011 01:53:41 AM UTCcazfiDependencies-=>Depends on patch #2534
    Tue 15 Feb 2011 01:53:17 AM UTCcazfiDependencies-=>Depends on patch #2533
    Show feedback again

    Back to the top


    Powered by Savane 3.1-cleanup