I found it difficult to set up a Mac environment suitable for making changes to the Task Coach source code, mostly because of the old version of wxPython required. Also, I am aware that support for Python 2 ends at the end of this year. Would you accept some patches that upgrade the older dependencies to the newer releases of wxPython (and the other bundled dependencies) and Python 3?
Thanks,
Brian
While I can't really speak for Jerome, I know that there's long been a wish to get away from the old frameworks. I think his dream is to eventually move Task Coach to some updated qt framework PyQt or whatever if it's updated for qt5 etc. But an update to much more recent wxPython and Python 3 would be SUPERB!!
Task Coach still has tons of potential and just needs development support (bandwidth, hours) to help it push forward. I'm still around helping where I can on all the supplementary stuff (support, docs, bug reporting, grooming of issues etc.) and would be happy to push it up higher in my own priorities the more development energy there is to keep up that side of the equation.
So, yes, besides making development easier, moving to updated dependencies is likely to solve some outstanding bugs that we inherit from the old frameworks. It would be most welcome, and I'd be grateful.
While I’m personally a GTK person, not a Qt person, I’m definitely a fan of switching to Python 3. Brian, are you working on this? I don’t see any messages on this ticket for the last year, nor any Python-3-related patches in the Patches tab, but perhaps it happened elsewhere?
Didn't happen no. I have an enormous backlog of tickets/mails and no time to handle it. To answer the OP, yes Python3-related patches are welcome, but I have myself worked on the py3 migration for a sizeable project and it's no small feat.
Incidentally, Jerome, how much are you able to potentially assist others who want to work on this? Could we make a coordinated effort to more widely announce that help is welcome here and that you could assist?
So, I could present briefly to my nearby Python group and we could post various places online telling people that Task Coach is really useful software with nothing else quite the same, and yet it needs help with this porting (and continuing updates/maintenance/development). I'd like to do whatever we can to get things back on track. There's still nothing else superior that covers the whole Task Coach scope otherwise.
Not much I can do but if someone has problems setting up the dev environment (it can be daunting, except on Linux) I can probably help. The HACKING.txt is a good place to start for anyone interested. Aside from that it's been so long since I last actually got into the code I'd probably need a refresher myself.
Okay, but if we get some interested people, you'll welcome questions and try to help if you can, yes?
Of course :)
I’m happy to help out; I imagined an incremental approach where we could all submit patches for little bits and pieces of code that don’t work in Py3, replacing them with code that works in both? E.g. if there are any non-parenthesized prints, add parens? That way people can do as much or as little as they have time for, and eventually we’ll be Py3 ready.
Let's go for it! Once you get started at all, feel free to mention it to anyone else you think might like to help. I'm not a programmer, but let me know any help you need from the wider project-management / documentation / outreach side. I have limited time but I really want to see Task Coach revitalized!
Patches 18, 19, 20, and 21 posted for review are some preliminary work.
All applied. I'm not sure which branch you're working in, I applied the patches to Release1_4_Branch and merged to default. I think it would be better to work directly in default if it's not the case already, though there shouldn't be much differences between the two right now.
What email address do you want to be associated to (if any) in the contributors list ?
As you might have seen in the patch files (they were generated by
hg export
so it should have been possible to justhg import --exact
and then they would end up in the same branch I originally wrote them, if I understand correctly), I was working on Release1_4 because I looked at recent history and saw lots of work happening in there and only merges in the default branch. But I can work in default instead from now on if that makes more sense.Please put chead@chead.ca in the contributors list. Thanks!
Ah, it's been so long I haven't used hg import, I forgot about it :)
Oh, and I should probably mention that I’m not running the unit tests on any of these patches. I tried, but even before I started changing anything, they just ran for a while, printed a lot of GTK+ assertion failures, and eventually segfaulted, so I guess I don’t have whatever is needed to run them properly.
Yeah unfortunately the unit tests started crashing with wx 3.x I think. They still work on Linux I think, I'll restart the buildbot next week-end and we'll see.
Just checking in, is it likely that the next two patches can be merged sometime soon? I don’t want to get too far ahead of the upstream repo; I’m not very familiar with Mercurial so I’m not very confident in my ability to deal with divergences. So for now I have been just doing a little bit at a time.
Dunno what happens with SF, I didn't get any notification. Looking at this now.
Here, sorry for the delay. Next time feel free to ping us at developers@taskcoach.org
Sorry, I don’t think I can do this. I came in thinking it would be a simple matter of taking a fairly small, fairly modern Python 2 codebase and porting it to Python 3. Having done some work, I now see that the codebase is a lot larger and a lot older-style than I expected, and I don’t think I have the resources to offer. I’m glad to have contributed what little I did, but someone else will need to do the rest.
Thanks for what you did. Please consider mentioning Task Coach to anyone you know who might have the qualifications and bandwidth to help out. Indeed, it's a large and complex and dated codebase.
As a non-programmer helping on the project-management side, I have little to say directly, but I imagine that rewriting Task Coach with modern language styles might be the way to go even. We just need there to be a FLO (free/libre/open) tool that has anything close to the feature set, and right now I know of nothing like it.
If someone can overhaul the existing codebase, that would be amazing and wonderful.