[Scribus] Success: compile Mac/Aqua from CVS without patches
Andreas Vox
avox
Tue Mar 22 17:56:08 CET 2005
Craig Ringer wrote:
> There shouldn't be *too* much involved to do that now. You'd need to
> build with --enable-bundle to get the executable to do runtime lookups
> for resource locations (note: still not really tested). The rest of the
> bundle stuff is still on the TODO list so you'd need to make install,
> then copy the required resources into where Scribus expected to find
> them in the bundle. See scpaths.cpp for search paths (recently
> reworked;
> needs some testing I haven't had time for.).
What if we included the .app skeleton in CVS, eg. parallel to
scribus.desktop
and scribus.lsm?
Also we could just ./configure --prefix=$DIR/Scripus.app/Contents ...
and include a symbolic link from Scribus.app/Contents/MacOS/scribus to
Scribus.ap/Contents/bin/scribus
>
> You'd then need to collect up all library dependencies and drop them in
> the bundle's Frameworks (or lib, or whatever you prefer) directory, and
> use install_name_tool on the Scribus binary to make sure it looks for
> them relative to its own location. I have a script to do this bit; I'll
> tidy it up a little and post it later. Once the --enable-bundle stuff
> is
> complete this should not be necessary.
>
> Once all that's done, fingers crossed, it should work. It'll be an
> ENORMOUS .app bundle (a Debug scribus build, a large bunch of libs,
> etc)
> but it should work.
$ ls -l scribus/scribus
-rwxr-xr-x 1 vox vox 70,292,740 22 Mar 02:02 scribus/scribus
$ du -sk /usr/local/lib/scribus/
30092 /usr/local/lib/scribus/
$ du -sk /usr/local/share/scribus/
4628 /usr/local/share/scribus/
$ otool -L scribus/scribus
scribus/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/libfontconfig.1.dylib (compatibility version
2.0.0, current version 2.4.0)
/usr/local/lib/libfreetype6.dylib (compatibility version 6.2.0,
current version 6.3.4)
/sw/lib/libexpat.0.dylib (compatibility version 6.0.0, current
version 6.0.0)
/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.14.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)
$ ls -l /sw/lib/libjpeg.62.0.0.dylib
-rwxr-xr-x 1 root admin 134968 18 Sep 2004
/sw/lib/libjpeg.62.0.0.dylib
$ ls -l /sw/lib/libart_lgpl_2.2.3.16.dylib
-rwxr-xr-x 1 root admin 116712 7 Feb 19:22
/sw/lib/libart_lgpl_2.2.3.16.dylib
$ ls -l /usr/local/lib/libfontconfig.1.0.4.dylib
-rwxr-xr-x 1 root staff 532448 16 Mar 22:31
/usr/local/lib/libfontconfig.1.0.4.dylib
$ ls -l /usr/local/lib/libfreetype6.3.4.dylib
-rwxr-xr-x 1 root admin 1608544 4 Jan 2004
/usr/local/lib/libfreetype6.3.4.dylib
$ ls -l /sw/lib/libexpat.0.5.0.dylib
-rwxr-xr-x 1 root admin 328820 14 Mar 18:58
/sw/lib/libexpat.0.5.0.dylib
$ ls -l /sw/lib/liblcms.1.0.14.dylib
-rwxr-xr-x 1 root admin 526424 13 Mar 21:25
/sw/lib/liblcms.1.0.14.dylib
$ ls -l /sw/lib/libtiff.3.6.1.dylib
-r-xr-xr-x 1 root admin 882864 13 Mar 20:40
/sw/lib/libtiff.3.6.1.dylib
$ ls -l /sw/lib/libpng.3.1.2.8.dylib
-rwxr-xr-x 1 root admin 191244 13 Mar 20:37
/sw/lib/libpng.3.1.2.8.dylib
$ ls -l /Developer/qt/lib/libqt-mt.3.3.3.dylib
-rwxr-xr-x 1 vox vox 9935180 12 Feb 00:21
/Developer/qt/lib/libqt-mt.3.3.3.dylib
$ echo 134968 + 116712 + 532448 + 1608544 + 328820 + 526424 + 882864 +
191244 + 9935180| bc
14,257,204
So 70MB + 30MB + 4,5 MB + 14 MB makes 118,5 MB.
Stripping scribus reduces it to 4.4 MB (-65 MB) but then the plugins
don't work any more.
Similar effects could be achieved with stripping the plugins in
/usr/local/lib/scribus (- 20MB)
Probably linking Qt statically would also reduce the size since I don't
think Scribus uses
all functions of Qt.
So we should try to achieve a bundle size near 20-30 MB.
Ciao
/Andreas
More information about the scribus
mailing list