[Scribus] MacOS native version

Craig Ringer craig
Sat Mar 5 13:10:43 CET 2005


On Sat, 2005-03-05 at 02:22 +0100, Andreas Vox wrote:
> Hi!
> 
> I noticed that you still require X11 for the MacOSX version of Scribus.
> 
> I managed to compile Scribus 1.2.1 with Qt/Mac native and I wondered
> if you'd like to get some hints how it is done. In fact it was quite 
> easy once I solved my libtool problems (screenshot attached :-) )

This does seem extremely interesting. I've been meaning to try an Aqua-
native port of 1.3cvs for a while, but I just don't have the mac
development experience, and there was the gdk-pixbuf issue to consider.

Like Craig Bradney, I'd be very interested in knowing how you handled
fonts and how you worked around the gdk dependencies.

>From what I see in your library list below, I see that you still link to
quite a few fink-supplied libraries. I imagine we'd have to ship
prebuilt copies of those, or statically link them, with any
"installable" Aqua Scribus build. Sound about right?

> 9. Created a rudimentary Scribus.app/ bundle (thanks to Ronald Florence 
> who did the same for LyX so I just had to replace a few strings)

That's very, very useful to know.

Did you end up using Xcode for all this, or just tweaked the existing
build to use Qt/Aqua?

>          /sw/lib/libjpeg.62.dylib (compatibility version 63.0.0, current 
> version 63.0.0)

Does MacOS X not provide libjpeg? That's from fink by the looks...

>          /sw/lib/libart_lgpl_2.2.dylib (compatibility version 6.0.0, 
> current version 6.16.0)

I imagine we'd have to bundle or statically link libart.

>          /usr/local/lib/libfreetype6.dylib (compatibility version 6.2.0, 
> current version 6.3.4)

/usr/local/lib . Interesting. Did you compile a Mac-native version of
freetype yourself, or use an installer package or something?

>          /usr/lib/libcups.2.dylib (compatibility version 2.0.0, current 
> version 2.5.0)

Glad to see we can rely on MacOS/X for CUPS libraries.

>          /usr/lib/libssl.0.9.7.dylib (compatibility version 0.9.7, 
> current version 0.9.7)
>          /usr/lib/libcrypto.0.9.7.dylib (compatibility version 0.9.7, 
> current version 0.9.7)

>          /sw/lib/liblcms.1.dylib (compatibility version 2.0.0, current 
> version 2.12.0)

Fink again. I guess that'd be another static linking candidate.

>          /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, 
> current version 71.1.1)

Is this MacOS/X's libc equivalent? Or does it provide the core Aqua
routines etc?

>          /sw/lib/libtiff.3.dylib (compatibility version 3.6.0, current 
> version 3.6.1)

Hmm, you got libtiff from fink too. Again, I'm rather surprised OS/X
doesn't include that.

>          libqt-mt.3.dylib (compatibility version 3.3.0, current version 
> 3.3.3)

>          /sw/lib/libpng.3.dylib (compatibility version 3.0.0, current 
> version 3.0.0)

libpng from fink too :-(

>          /usr/lib/libz.1.dylib (compatibility version 1.0.0, current 
> version 1.0.0)
> 
> I still have problems with some plugins and some icons don't show, but 
> otherwise
> it's usable.
> Anyone who want's to test and help finishing it to a proper MacOSX 
> application?

Me!

Especially if you can give some more detailed info, especially about how
you did the build and where the various libraries are from.

One thing I'm curious about... I know MacOS/X has five different major
APIs:

	Carbon         (Cleaned up OS/9)
	Classic        (Virtual OS/9 for unchanged apps)
	Cocoa          (Native MacOS/X Objective C/Aqua)
	Java           (duh!)
	POSIX/BSD/X11  (unix-style apps, usually console or X11 based)

but I was always under the impression they were rather separate, and one
couldn't for example write a POSIX/BSD app that used Cocoa (Aqua)
graphics. I also thought Cocoa apps had to link to 'Libraries' and
'Frameworks' that were different from the POSIX/BSD style shared
libraries.

Do you know if this distinction is less strict than I thought, and one
can mix and match to an extent? Or is Qt doing some magic to protect us
from these issues? Can we do things like use the MacOS/X font APIs? Have
you built Scribus as a Cocoa application, a POSIX/BSD app, or some
hybrid of the two?

If you know where I can go to find out more about MacOS/X development
and porting from UNIX, that'd be really handy too...

(It's funny - I don't actually like macs. But I still want to help port
Scribus across.)

-- 
Craig Ringer





More information about the scribus mailing list