[Scribus] [Patch] MacOSX native

Craig Ringer craig
Mon Mar 14 03:51:20 CET 2005


On Sun, 2005-03-13 at 20:51 +0100, Andreas Vox wrote:
> Hi Martin!
> 
> > What took me the longest was to beat Qt/Mac into submission. In
> > particular it was not quite obvious how to find a suitable set of
> > configure options and how to convince it to install things the Fink 
> > way.
> > For a definite Fink package, this will probably have to change again
> > considerably. But as a tool for building Scribus, it seems to be OK.
> 
> Ah, good, I couldn't have done this.

Given that the Qt library can be included in the .app bundle or
statically linked, I'm not sure it'll matter much for Qt/Mac native
builds.

> I noticed that also: using the scrollbar to scroll down line by line 
> messes
> up completely, scrolling up is ok. I'll look into that.
> 
> I also fond out that you have to change
> 
> -        bitBlt(m_target, 0, 0, &qimg);
> +        bitBlt(m_target, m_x, m_y, &qimg);
> 
> in ScPainter::end(), otherwise you will get garbage in the top left 
> corner
> when you select some object and change its properties.

That's been in CVS since last night ;-)

> > Tackling these
> > problems is far outside of my domain of knowledge. Someone with insight
> > in Mac programming, in particular also with Qt/Mac, is probably needed
> > here.
> 
> I'll try. Right now I'm trying to get the Navigation bar in scribusview 
> to look good, Aqua buttons just will not do there :-)

Sounds good. I'm still working on build issues and getting plug-ins to
work properly.

Martin, do you patch Scribus in any way to make plug-ins work in fink?
If so, how? I can get the first plugin or gettext plugin to load by
using QLibrary, but if I try to pull in the same symbol again from the
next lib it fails. I'm assuming this is related to the
twolevel_namespace thing, and the way Mach-O dylibs work (can't unload
them using dlcompat/QLibrary?), but I'm not sure why yet. If someone
else has already solved it, I'm all ears.

> > But I hope that the situation is
> > now such that the real problems can be attacked.
> 
> Yes.
> Should we try to get all these changes into CVS head? Right now
> it's all quite localized with #ifdef QT_MAC, so it shouldn't be a 
> problem.

Many of the required changes are already in 1.3 CVS - I think Scribus
should build against Qt/Mac out of the box now (you may need a 
--with-extra-includes for libjpeg and to tweak the libqt-mt.la file to
remove the -framework lines in the dependency list, though). Of course,
first you'll need all the required libs (and I haven't tested against
fink yet, only locally built libs).

I'm interested in looking at integrating any fink patches or other
porting work that can be integrated without major changes to the rest of
the app or neatly #ifdef'd out.

> > A final remark: The Scribus.app produced by the scribus-aqua package 
> > is,
> > of course, not a standalone application that can be distributed
> > independently. For running, it needs a lot of libraries from Fink. But
> > repackaging this differently, once it is working correctly, is a minor
> > difficulty, IMHO.
> 
> I'll look into what has to be done in order to make Scribus find the 
> packaged libraries / plugins.

I have it all working fine here, bar plugins. It's pretty simple to do -
essentially just copy all the libs into the .app bundle in a folder
called Frameworks, and use the MacOS/X link editor too (I forget its
name now, I have it scripted) to fix the search paths in the Scribus
binary.

IIRC if the libs are built correctly the last step can be omitted,
but ... one step at a time.

-- 
Craig Ringer





More information about the scribus mailing list