Amiga.org

Amiga computer related discussion => Amiga Software Issues and Discussion => Topic started by: Van_M on April 04, 2004, 01:19:10 AM

Title: GTK+ port to AmigaOS
Post by: Van_M on April 04, 2004, 01:19:10 AM
How hard would be, to port the GTK+ toolkit to AmigaOS? It would make the porting of Linux applications to the AmigaOS, really easy.
BeOS already has an implementation, so I guess, it shouldn't be next to impossible...  
Title: Re: GTK+ port to AmigaOS
Post by: x56h34 on April 04, 2004, 01:30:41 AM
Sorry to be off-topic, but feel that I should mention that I am a big Predator fan. ;-)
Title: Re: GTK+ port to AmigaOS
Post by: CodeSmith on April 04, 2004, 01:34:05 AM
It's already in progress - look here (http://sourceforge.net/projects/gtk-amiga/).

Take a peek at the list of developers, there are a couple of familiar names in there :-)
Title: Re: GTK+ port to AmigaOS
Post by: Van_M on April 04, 2004, 01:40:30 AM
great! I really wish it's gonna go well. Which popular linux apps are based on GTK+? OpenOffice and Mozilla or I am wrong?
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 02:26:21 AM
OpenOffice and Mozilla use GTK+ for the interface, but they're not specifically based on it. Windows Mozilla and OpenOffice ports don't use GTK+.

For examples of regular popular apps on Linux that are actually GTK+ based look no further than The Gimp, xchat and the Anjuta IDE. There are also GTK wrappers for most popular languages, including Python and Perl, which are used extensively to provide front ends to many command line applications.

GTK would also allow for the porting of wxGTK, the GTK port of wxWidgets (formerly known as wxWindows), allowing for truly portable applications. Audacity is one example of such an application.

I wish the team all the best, and hope they get further than the last attempt to port GTK to the Amiga. (yes, it was attempted before)

P.S. I trust the work being done is concentrating on porting GTK2, not the obsolete older version. Most GTK applications have now moved to GTK2, so this is required if current apps are to be ported.
Title: Re: GTK+ port to AmigaOS
Post by: evilrich on April 04, 2004, 05:11:29 AM
Quote
BeOS already has an implementation

The BeOS version requires X. The native BeOS port was never finsihed, AFAIK.
Title: Re: GTK+ port to AmigaOS
Post by: evilrich on April 04, 2004, 05:12:26 AM
Quote
OpenOffice and Mozilla use GTK+ for the interface

OpenOffice doesn't.
Title: Re: GTK+ port to AmigaOS
Post by: Kronos on April 04, 2004, 07:06:16 AM
Quote

evilrich wrote:
Quote
OpenOffice and Mozilla use GTK+ for the interface

OpenOffice doesn't.


I've tried to get that into the heads of this community for the last 2 years .....
no success :-o So expect to have to say thing over an over again  :-P
Title: Re: GTK+ port to AmigaOS
Post by: Kronos on April 04, 2004, 07:54:40 AM
@bhogget

AFAIK it will only be GTK1.x due to the fact that it only relies on GDK and clib, while
GTK2 has much longer list of demands (and some of them would be really hard to port).
Title: Re: GTK+ port to AmigaOS
Post by: Rogue on April 04, 2004, 09:39:14 AM
@Kronos
Quote
some of them would be really hard to port


Anything specific in mind? I had a quick glance over the requirements, and there isn't much that would be overly complicated to port...
Title: Re: GTK+ port to AmigaOS
Post by: Crumb on April 04, 2004, 11:21:58 AM
Quote
The BeOS version requires X. The native BeOS port was never finsihed, AFAIK.


I think that on AmigaOS we should have a rootless X-Window server (with a window manager more or less integrated with AmigaOS) before GTK because I guess that it may be easier to port GTK and other stuff later and the maintenance of the GTK port (that would require X-Windows) would be easier.

Take it as a constructive criticism and just as an idea to reduce the amount of work required to port GTK... Porting GTK is a brave effort, but a rootless XWindow server like the MacOS X one would help us a lot and may be easier.

Good luck with the project, I hope that it succeeds, but please think about the X-Window server idea... (maybe for the next project? ;-)
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 11:59:24 AM
@evilrich

Quote
OpenOffice doesn't.


Mea culpa. You are right of course. I was thinking of AbiWord for some reason. :oops:
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 12:15:12 PM
@Kronos

Quote
AFAIK it will only be GTK1.x


That would be utterly pointless and a waste of time and resources. Hardly any of the major apps still use GTK1.x, unless you count Gimp 1.2 which is still the staple release on most Linux distros. VICE, the Gentoo file manager and ActiveState Komodo are the other apps that spring to mind which still use GTK1.

However, Gimp2 is well on the way and will probably arrive before GTK on AmigaOS, and that uses GTK2. VICE is like Mozilla in that it uses GTK but is not dependent on it (the Windows port of VICE uses a native interface). Gentoo is hardly a killer app given AmigaOS has the inspiration for it. ActiveState Komodo is commercial and probably wouldn't be ported anyway. There is no point in porting GTK1.

I'm also thinking this would be an AmigaOS4 only project judging by the list of developers, so the incentive to port actual applications will be that much less gicen the reduced audience, not to mention the reduced developer base.
Title: Re: GTK+ port to AmigaOS
Post by: on April 04, 2004, 12:20:04 PM
Hello,

I just subscribed here on Amiga.org only to throw in some sentences into this Thread.

I've been following this post since yesterday and also saw similar posts showing up even on other sites. I think that we should ask ourselves first for what we actually need GTK+ ? As we saw in the first post the person asked for GTK+ but don't had a particular idea what apps use GTK+ only. He named Mozilla and Open Office here as bad examples, since Mozilla uses XUL for Widgets stuff but uses GTK+ for some lowlevel stuff and Open Office is mainly SFC but Ximian took it and start GNOME'ifiying it. They are basicly changing some visible aspects over to GNOME and changed the filehandling to GNOME-VFS - I call it totally breaking a working application. I say this because I know that most of the work these people do are mostly done half. They take good applications, change it over to whatever they think but do it only half. That is while they change some visible aspects over to GNOME the rest stays in the old code it's a mismatch of old and new stuff and probably remains so for the upcoming years.

I do come from the GTK+/GNOME world and spent the past 5 years with them (that is I know the majority of the core developers working on GTK+ and even GNOME (to extend it) and I use to write own stuff using GTK+ and fix around in the GNOME world etc.

We should really ask ourselves if it's worth the trouble with GTK+ and what exact benefits it will give us or if there are native apps we can use. Right now I only have a few in my mind. The GIMP, XChat, GAIM maybe the one or other app as well. Most other apps available using GTK+ are usually also using GNOME libraries these days and porting all that stuff over to Amiga (be it AmigaOS, MorphOS or AROS) is more than a pain in my opinion.

If we get GTK+ ported then what ? A million apps that can easily be compiled ? I don't think so, since many of these programms usually depend on again other libraries and other libraries depend again on others.

Application <-> Library dependency
Library <-> Library dependency

Satisfying all these dependencies will be a hard work to do.

Porting GTK+ itself shouldn't be a big problem (theoretically) and you don't even need X11 for it or any XServer solutions.

GTK+ architecture is divided in the widgets library and the GDK backend. One of these GDK backends is for X11, one for Win32, one for DirectFB and in my understanding it could be easy to write an AmigaOS backend for GDK and the rest should more or less compile.

The current dependency of GTK+ 2.4 is as follows:

PKG-Config (probably optional or removable), Glib, Atk+, Fontconfig, Freetype2, Pango, GTK+

Although a bunch of GTK+ only applications already are written in a way where the Toolkit is just optional. That is you can easily switch between true Windows MFC or GTK+ or QNX Photon etc. And it should be no problem (only work is required) to write an MUI or Reaction frontend for it as well.

So it's questionable whether it makes sense porting the entire GTK+ widgetset including all its dependencies over to Amiga only for a few apps. It would be better to port these apps directly instead.

If someone had in mind to get stuff like Evolution running (only one example) since it is a GTK+ app then I must disappoint you since Evolution is not a GTK+ app it's more or less a GNOME app which requires around a good dozen other libraries to be ported (libraries that depend on other libraries as well). Honestly it would be easier to use Linux in this case.

We should also look at the philosophical aspects here (I know Mr. Frieden already replied to me that there isn't room for this). I for my own think that Open Source and Free Software does give us a good push getting new software to our systems and this imo is a nice thing. But we should clearly differ between core stuff such as compilers, debuggers etc. and GUI stuff. There are no benefits turning the entire Desktop experience from once AmigaOS look and feel over to a GNOME or GTK+ look and feel.

You should also think about that. A lot of people simply dislike or don't agree (anymore) in the way how GTK+ or GNOME apps use to work and they are searching for alternatives with it's own philosophical spirit. Not to mention that there isn't anything special around GTK+ either.

We should clearly concentrate writing either own software solutions or port the good bits from Open Source and the Free Software world over to our systems but then we should do it in a way that makes the app fit entirely into the Desktop look and feel experience. We already have to many toolkits on Amiga and we should seriously concentrate on MUI or Reaction these days. No need for another toolkit.

Sorry if I as only one sound contra GTK+ here but I am a signed person here. It's not just GTK+ itself it's also the entire community of these people that I dealt with the past 5 years. It was clearly enough.

greetings,

oGALAXYo
Title: Re: GTK+ port to AmigaOS
Post by: on April 04, 2004, 12:21:56 PM
Quote
Mea culpa. You are right of course. I was thinking of AbiWord for some reason. :oops:


AbiWord has different toolkit backends. The engine is split away from the GUI. Write a wrapper for MUI or Reaction and done.

greetings,

oGALAXYo
Title: Re: GTK+ port to AmigaOS
Post by: chris on April 04, 2004, 12:23:05 PM
No, it's GTK2.  It will probably end up as OS4 only.  If you want to help out contact hnl_dk.

Chris
Title: Re: GTK+ port to AmigaOS
Post by: Kronos on April 04, 2004, 12:27:32 PM
@chris

Well hnl_dk told me some weeks ago (in PMs) it would only be 1.x, due to
2.0 being to hard to port. Would be good news if that has changed AND if
it doesn't follow the advices layed out in my sig  :-o  :-P  :-D

"OS4-only" doesn't really mean anything when we aretalking bout GPLed SW.
Title: Re: GTK+ port to AmigaOS
Post by: hnl_dk on April 04, 2004, 12:45:27 PM
Quote

Kronos wrote:
@chris

Well hnl_dk told me some weeks ago (in PMs) it would only be 1.x, due to
2.0 being to hard to port. Would be good news if that has changed AND if
it doesn't follow the advices layed out in my sig  :-o  :-P  :-D

"OS4-only" doesn't really mean anything when we aretalking bout GPLed SW.


Hi' Kronos

our PM was some weeks before I got member of the team (Emmanuel began the project in december - I was member number two joining in february).
We are working on glib-2.4.0 leading towards gtk+.

Right now am I updating GG so I/we could compile on AmigaOS 3.x - about pkgconfig do I have pkgconfig-0.15.0 running on my computer, am going to upload it ASAP.
Title: Re: GTK+ port to AmigaOS
Post by: hnl_dk on April 04, 2004, 12:51:02 PM
Quote

Kronos wrote:
...

"OS4-only" doesn't really mean anything when we aretalking bout GPLed SW.


You are right - this means only that we are going to work on the Amiga OS 4 version, there would be no block for someone else to use our port to port it for other OS, but as it will use Amiga OS 4.0 specific API, it will not only be ./configure && make && make install :juggler:
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 01:11:41 PM
@Kronos

Quote
"OS4-only" doesn't really mean anything when we aretalking bout GPLed SW.


It does if you wrap it round Reaction, for instance. GTK+ has always been GPLed, but we haven't had any ports yet. With the one in progress confirmed as AOS4 only, it follows that it is only of interest to committed Red users and developers.

Anyone interested in cross-platform development will have to look elsewhere, as this will not be of any use to them.
Title: Re: GTK+ port to AmigaOS
Post by: asian1 on April 04, 2004, 01:12:05 PM
>GTK Apps.

Hello
What about Dillo, lightweight GTK graphic browser? (300 Kbytes).

Is it better to abandon the AmigaOS kernel and use modern BSD / Linux 64 bit kernel?
Perhaps Workbench and various major Amiga apps can be ported to BSD / Linux 64 bit.
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 01:14:59 PM
Quote

oGALAXYo wrote:
Quote
Mea culpa. You are right of course. I was thinking of AbiWord for some reason. :oops:


AbiWord has different Toolkit backends. The engine is split away from the GUI. Write a wrapper for MUI or Reaction and done.

I know. But AbiWord uses GTK on Linux, which is what I meant. Otherwise, what I said is pretty much the same as what you did, except you did it better.  :-D
Title: Re: GTK+ port to AmigaOS
Post by: Rogue on April 04, 2004, 01:30:32 PM
@bhogget:
Quote
With the one in progress confirmed as AOS4 only, it follows that it is only of interest to committed Red users and developers.


That's such a nice way to put things. "commited Red users". Why the need to make a "red vs. blue" thing out of this again?

Quote
Anyone interested in cross-platform development will have to look elsewhere, as this will not be of any use to them.


As you pointed out yourself, GTK has been GPL for ages and has been around for anyone to port. If there where someone doing e.g. an AROS port, would you equally slander the effort?
Title: Re: GTK+ port to AmigaOS
Post by: Kronos on April 04, 2004, 01:38:47 PM
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 01:40:35 PM
Quote

Rogue wrote:
@bhogget:
That's such a nice way to put things. "commited Red users". Why the need to make a "red vs. blue" thing out of this again?

You are reading too much into it. I simply use "Red" as shorthand for those who are committed only to AmigaOS4/AmigaOne.

Quote
As you pointed out yourself, GTK has been GPL for ages and has been around for anyone to port. If there where someone doing e.g. an AROS port, would you equally slander the effort?

Slander?  :-?

What slander? I am simply saying that it will be of no interest to those whose primary interest is cross-platform development, as opposed to those whose interest is porting applications to AmigaOS4.

Why so oversensitive about everything?  :-(

EDIT: If someone would be doing an AROS port, they'd (presumably) wrap it around Zune, which would (presumably) make it MUI compatible. Theoretically, such a project would be easy to make available across the entire Amiga community. The AmigaOS4 port will only be of use to AmigaOS4/AmigaOne users and developers. Period.

That's not to say the team have any obligations to anyone outside the Red community, but it's a factor that will be taken into account when discussed on neutral forums like Amiga.org.
Title: Re: GTK+ port to AmigaOS
Post by: Karlos on April 04, 2004, 02:34:20 PM
@bhogget

I think Rogue meant that phrases like "commited red users" are inflamatory, no matter what your intended meaning. Someone will invariably start another red v blue flamefest.

And seriously, who can be ars*d with another one of those?

If an AOS4 port was made, based on reaction, sure it would be AOS4 only. If a port was made to MUI it would be MOS (and probably with some tweaks AROS) compatible. If a zune port were made then it could be made cross platform.

People will argue each way about the best route to take, missing the point that it doesn't actually matter. If someone did an AOS4/Reaction based one, you can bet someone else would soon get to work a Zune/MUI version so as not to be left behind.

For all their technical differences, MUI/Zune and Reaction fundamentally similar enough for a code rework from one port to the other, as long as the initial port doesn't go totally out of it's way to be badly written and keep dependencies where they belong.

As long as these ports support a common set of the GTK standard, what difference does it actually make? A GTK app recompiled for AOS4 ends up using reaction, the same source recompiled for AROS or MOS uses Zune. Do we care, as long as the ability to port that software exists?
Title: Re: GTK+ port to AmigaOS
Post by: bhoggett on April 04, 2004, 02:59:31 PM
Quote

Karlos wrote:
I think Rogue meant that phrases like "commited red users" are inflamatory, no matter what your intended meaning. Someone will invariably start another red v blue flamefest.

Someone like that will start one no matter what is said, or the meaning behind it. If we moderate everything we say for the sake of not offending anyone or not offering any remote opportunity for the trolls to pick up on, then there will be nothing to discuss at all.

Quote
And seriously, who can be ars*d with another one of those?

Not me. I'd have to point out that flamefests are not only started by trolls, but also by those who seek to take offense at every opportunity. I know certain people will always take offense at something I say, because they choose to interpret it that way no matter how I intend it.

Quote
If an AOS4 port was made, based on reaction, sure it would be AOS4 only. If a port was made to MUI it would be MOS (and probably with some tweaks AROS) compatible. If a zune port were made then it could be made cross platform.

People will argue each way about the best route to take, missing the point that it doesn't actually matter. If someone did an AOS4/Reaction based one, you can bet someone else would soon get to work a Zune/MUI version so as not to be left behind.

Possibly, but that's pure speculation.

Quote
For all their technical differences, MUI/Zune and Reaction fundamentally similar enough for a code rework from one port to the other, as long as the initial port doesn't go totally out of it's way to be badly written and keep dependencies where they belong.

Well, if you port something purely for the benefit of one platform, there is no reason to expect host API dependencies to be kept to a minimum.

Quote
As long as these ports support a common set of the GTK standard, what difference does it actually make? A GTK app recompiled for AOS4 ends up using reaction, the same source recompiled for AROS or MOS uses Zune. Do we care, as long as the ability to port that software exists?

Yes, except that those ports don't exist, and only one is even being planned. Until that changes, there is no way GTK can be viewed as a cross-platform option for Amiga developers (using "Amiga developers" in the generic sense).

(You see, I prefer to use "Red" and "Blue" as shorthand for AmigaOS4/AmigaOne and MorphOS/Pegasos, and "Amiga" as a generic term applicable to all Amiga-like platforms, including the "Classic". Otherwise, I'd have to specify every time I say "Amiga", lest people think I'm referring to the branded solution only)
Title: Re: GTK+ port to AmigaOS
Post by: on April 04, 2004, 03:02:11 PM
Quote
As long as these ports support a common set of the GTK standard, what difference does it actually make? A GTK app recompiled for AOS4 ends up using reaction, the same source recompiled for AROS or MOS uses Zune. Do we care, as long as the ability to port that software exists?


Aeh excuse me.....

.......did I understand you right ? When porting GTK+ to AOS4 it then will use Reaction as interface. E.g. when compiling an GTK+ app then it will use Reaction ?

Sorry but assuming myself to have understand exactly this then you are wrong. You can't port GTK+ to use Reaction as widgets. This would be plain stupid and probably will not work satisfying enough. GTK+ already is a widgetset of it's own with own style, own layout own adjustment and internal concepts. GTK+ as port will exactly look and operate as GTK+ and not as Reaction or something else. This is more for wxWindows who tries to offer native solutions for each individual system.

You may try to write a GTK+ -> Reaction or GTK+ -> MUI wrapper for each functioncall that GTK+ offers but then compiling a GTK+ app using these wrappers will most likely look like crap because of different layout rules or maybe because the widgets inside native GTK+ will behave differently than the MUI or Reaction alternatives. Not to mention that you most likely won't find matching widgets on either MUI or Reaction as they are being offered in GTK+

Not to speak about Drag & Drop here, the GtkTree Model, things like GtkExpander and much more even hard complex stuff.

No, a probably port will look as follows:

a) porting glib, atk, pango, freetype2, fontconfig
b) keeping GTK+ as is and only port GDK to the Amiga architecture and then compile GTK+ ontop of that GDK changes.

Everything else is overkill and a matter of being canceled before even started. Instead wasting resources for exactly doing this you'd better head off porting the few GTK+ apps as such to use native toolkits on Amiga MUI or Reaction or even better re-write the application from scratch or search for an Amiga solution that you can continue hacking on.

greetings,

oGALAXYo
Title: Re: GTK+ port to AmigaOS
Post by: Karlos on April 04, 2004, 03:44:19 PM
Relax dude, you will live longer :lol:

I was merely speculating on the points already made. It has been said by various other people that an AOS4 port would *only* be useful for OS4 and that a MUI/Zune port would run on all amigaos implememntations.

Correct me if I am wrong, but mentioning MUI/Zune and OS4 (and by inference Reaction), this carries the automatic implication of wrapping the GTK+ API around these GUI systems. Don't shoot me for pointing out that were one existing gui system wrapped, the others would be feasable :-P

If, as you suggest, the port would completely keep GTK+'s own object set without any wrapping around the native amiga GUIs, then the entire existing discussion about a MUI/Zune/Reaction GTK port and their cross-amiga portability is already totally irrelavent.
Title: Re: GTK+ port to AmigaOS
Post by: falemagn on April 04, 2004, 03:50:21 PM
Quote

If, as you suggest, the port would completely keep GTK+'s own object set without any wrapping around the native amiga GUIs, then the entire existing discussion about a MUI/Zune/Reaction GTK port and their cross-amiga portability is already totally irrelavent.


It is quite irrelevant, indeed. The specificity of the AOS4 port has got nothing to do with MUI/Zune/Reaction, it's got to do with the new way libraries are handled in AOS4, and perhaps some 2d gfx API for compositing, plus some other AOS4 specific stuff that might come handy along the way.
 
Title: Re: GTK+ port to AmigaOS
Post by: Karlos on April 04, 2004, 04:01:06 PM
Indeed. However, even if a pure OS4 port appeared that made maximal use of its Interfaces mechanism (and new Interfaces also), this doesn't preclude parallel GTK ports to either AROS or MOS and in fact would likely encourage developers to get a move on with it.

Regarding this issue, I much prefer the notion of portable APIs that are implemented in the most optimal way for any specific platform than "totally generic" code that makes minimal use of the intersection between several of them. But regardless of which route it takes, someone needs to make the first move.