MacOSX version of Scribus: Difference between revisions

From Scribus Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 1: Line 1:
{{Discussion Index}}
{{Discussion Index}}
On the Scribus mailing list, Andreas Vox have started an interesting discussion on bringing Scribus natively to Mac OSX. Join in with your opinion!




http://nashi.altmuehlnet.de/pipermail/scribus/2005-March/009442.html
http://nashi.altmuehlnet.de/pipermail/scribus/2005-March/009442.html
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 :-) )
So this is what I did:
0. Started with the Scribus 1.2.1 sources
1. configured Scribus to use Qt/Mac inbstead of the fink Qt version
2. replaced all gdk-* sourcefiles with empty files
3. commented out all #include <X11.h> etc.
4. Removed GC from scpainter
5. Rewrote scpainter::end():
void ScPainter::end()
{
        QImage qimg(m_width, m_height, 32, QImage::BigEndian);
        QRgb * bits = (QRgb *) qimg.bits();
        int words = qimg.numBytes() / 4;
        art_u8 * p = m_buffer;;
        for (int i=0; i < words; ++i) {
                art_u8 r = *p++;
                art_u8 g = *p++;
                art_u8 b = *p++;
                art_u8 a = *p++;
                *bits++ = qRgba(r,g,b,a);
        }
        bitBlt(m_target, 0, 0, &qimg);
}
6. libtool nuisances:
6a)  Apply fink patch to use correct -bundle for libtool
6b)  Remove -s option (stripping is no good idea if you want to link
plugins)
7. Make Scribus ignore any "-psn_*" commandline options passed by Qt
8. Adjust a few #includes to MacOSX
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)
The application still uses the files (plugins etc.) which Scribus
installs to /usr/local.
The following libraries get linked:
/Applications/local/Scribus.app/Contents/MacOS/scribus:
/sw/lib/libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)
/sw/lib/libart_lgpl_2.2.dylib (compatibility version 6.0.0, current version 6.16.0)
/usr/local/lib/libfreetype6.dylib (compatibility version 6.2.0, current version 6.3.4)
/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.5.0)
/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)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 71.1.1)
/sw/lib/libtiff.3.dylib (compatibility version 3.6.0, current version 3.6.1)
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)
/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?
Regards
Andreas
Ah, yes, the screenshot:
http://nashi.altmuehlnet.de/pipermail/scribus/attachments/20050305/a9711066/scribus-screen-shot-small-0001.jpg

Revision as of 20:18, 5 March 2005

This article is part of the Ongoing Discussions series.
Installation Usability MacOS Fonts Other

On the Scribus mailing list, Andreas Vox have started an interesting discussion on bringing Scribus natively to Mac OSX. Join in with your opinion!


http://nashi.altmuehlnet.de/pipermail/scribus/2005-March/009442.html

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 :-) )

So this is what I did:

0. Started with the Scribus 1.2.1 sources

1. configured Scribus to use Qt/Mac inbstead of the fink Qt version

2. replaced all gdk-* sourcefiles with empty files

3. commented out all #include <X11.h> etc.

4. Removed GC from scpainter

5. Rewrote scpainter::end():

void ScPainter::end()
{
        QImage qimg(m_width, m_height, 32, QImage::BigEndian);
        QRgb * bits = (QRgb *) qimg.bits();
        int words = qimg.numBytes() / 4;
        art_u8 * p = m_buffer;;
        for (int i=0; i < words; ++i) {
                art_u8 r = *p++;
               art_u8 g = *p++;
               art_u8 b = *p++;
               art_u8 a = *p++;
               *bits++ = qRgba(r,g,b,a);
        }
        bitBlt(m_target, 0, 0, &qimg);
}


6. libtool nuisances:

6a) Apply fink patch to use correct -bundle for libtool

6b) Remove -s option (stripping is no good idea if you want to link plugins)

7. Make Scribus ignore any "-psn_*" commandline options passed by Qt

8. Adjust a few #includes to MacOSX

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)

The application still uses the files (plugins etc.) which Scribus installs to /usr/local. The following libraries get linked:

/Applications/local/Scribus.app/Contents/MacOS/scribus:
/sw/lib/libjpeg.62.dylib (compatibility version 63.0.0, current version 63.0.0)
/sw/lib/libart_lgpl_2.2.dylib (compatibility version 6.0.0, current version 6.16.0)
/usr/local/lib/libfreetype6.dylib (compatibility version 6.2.0, current version 6.3.4)
/usr/lib/libcups.2.dylib (compatibility version 2.0.0, current version 2.5.0)
/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)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 71.1.1)
/sw/lib/libtiff.3.dylib (compatibility version 3.6.0, current version 3.6.1)
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)
/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?

Regards Andreas

Ah, yes, the screenshot: scribus-screen-shot-small-0001.jpg