Update of /cvsroot/fink/dists/10.4/unstable/crypto/finkinfo In directory sfp-cvsdas-3.v30.ch3.sourceforge.com:/tmp/cvs-serv31545
Modified Files: seamonkey.info Added Files: seamonkey.tbz Removed Files: seamonkey.patch Log Message: updating very reluctantly _ would have needed many more testers, but none showed up Index: seamonkey.info =================================================================== RCS file: /cvsroot/fink/dists/10.4/unstable/crypto/finkinfo/seamonkey.info,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- seamonkey.info 23 Aug 2009 23:08:30 -0000 1.47 +++ seamonkey.info 23 Apr 2010 00:38:14 -0000 1.48 @@ -1,427 +1,573 @@ Info2: << Package: seamonkey -Version: 1.1.17 +# For alpha or beta versions : +# Version according to mozilla/config/milestone.txt ("mozilla-version"), +# rather than suite/config/version.txt ("seamonkey-version", =%type_raw[ver]), to leave room for growth till 2.0 +# For releases: ver=%v = 'release version' ; i.e. from suite/config/version-*.txt +Version: 2.0.4 Revision: 1 -Architecture: powerpc, i386 ## parameters needed at several places : -Type: sys_nspr (no) -Depends: << - %N-shlibs (= %v-%r), - atk1-shlibs (>= 1.26.0-1), - cairo-shlibs (>= 1.8-1), - fontconfig2-shlibs (>= 2.4.1-1), - freetype219-shlibs (>= 2.3.8-2), - glib2-shlibs (>= 2.20.0-1), - gtk+2-shlibs (>= 2.16.0-1), - libgettext3-shlibs, - libidl2-shlibs (>= 0.8.13-1), - pango1-xft2-ft219-shlibs (>= 1.24.0-1), - x11-shlibs -<< +Type: sys_nspr (no), ver (%v) + +#Architecture: i386, powerpc +Depends: %N2-shlibs (= %v-%r), bzip2-shlibs BuildDepends: << - atk1 (>= 1.26.0-1), - cairo (>= 1.8-1), - expat1, + atk1 (>= 1.28.0-2), + bzip2-dev, + cairo (>= 1.8.8-4), + cyrus-sasl2-dev (>= 2.1.23-2), + dbus1.3-dev (>= 1.2.16-101), + dbus-glib1.2-dev (>= 0.84-1), fink (>= 0.27.2-1), - fontconfig2-dev (>= 2.4.1-1), - freetype219 (>= 2.3.8-2), - gconf2-dev (>= 2.26.0-1), - glib2-dev (>= 2.20.0-1), - glitz, - gnome-vfs2-unified-dev (>= 1:2.24.1-1), - gtk+2-dev (>= 2.16.0-1), + fontconfig2-dev (>= 2.8.0-3), + freetype219 (>= 2.3.12-1), + gconf2-dev (>= 2.28.0-3), + glib2-dev (>= 2.22.4-2), + gnome-vfs2-unified-dev (>= 1:2.24.2-1), + gtk+2-dev (>= 2.18.9-3), libart2 (>= 2.3.20-1), - libbonobo2-dev (>= 2.24.1-1), - libbonoboui2-dev (>= 2.24.1-1), - libgettext3-dev, - libgnome2-dev (>= 2.26.0-1), - libgnomecanvas2-dev (>= 2.26.0-1), - libgnomeui2-dev (>= 2.24.1-1), - libiconv-dev, - libidl2 (>= 0.8.13-1), - libjpeg, - libpng3, - (%type_raw[sys_nspr] = .) nspr, - orbit2-dev (>= 2.14.17-1), - pango1-xft2-ft219-dev (>= 1.24.0-1), - pixman (>= 0.14.0-1), - pkgconfig (>= 0.23), - popt (>= 1.10.4-1), - pth2-dev, + libbonobo2-dev (>= 2.24.2-2), + libbonoboui2-dev (>= 2.24.2-2), + libgettext8-dev, + libgnome2-dev (>= 2.28.0-1), + libgnomecanvas2-dev (>= 2.26.0-3), + libgnomeui2-dev (>= 2.24.2-2), + libhunspell (>= 1.2.8-1005), + libidl2 (>= 0.8.13-2), + libjpeg8, + (%type_raw[sys_nspr] = .) nspr.0d, + openssl098-dev (>= 0.9.8l-1), + orbit2-dev (>= 2.14.17-2), + pango1-xft2-ft219-dev (>= 1.24.5-6), + pkgconfig (>= 0.23-2), + popt (>= 1.14-1), sed, - x11-dev, - xft2-dev + sqlite3 (>= 3.6.21-1), + sqlite3-dev (>= 3.6.21-1), + startup-notification-dev (>= 0.9-2), + x11-dev << +## esound and libcanberra0 : probably not needed in the build... +# for sqlite3 dep, must wait that upgrade currently in tracker gets committed to unstable .. +## +# Tentatively deleting expat1, glitz, libiconv-dev, pixman, pth2-dev, xft2-dev : leftovers from previous versions, +# no evidence of need from otool, nor by analyzing headers used +# [ uncommment last line of PatchScript, then : +## egrep '^\.+ /' /sw/var/logs/seamonkey.log|sed -r -e 's,^\.+ ,,'|sort -u|egrep -v -e '^/usr/' -e '^/System/' -e '/bld/seamonkey'|xargs dpkg -S|cut -f1 -d:|sort -u|xargs +# atk1 bzip2-dev cairo dbus-glib1.2-dev dbus1.3-dev fontconfig2-dev freetype219 gconf2-dev glib2-dev gnome-vfs2-unified-dev +# gtk+2-dev libbonobo2-dev libgettext8-dev libgnome2-dev libgnomeui2-dev libidl2 libjpeg8 pango1-xft2-ft219-dev popt +# sqlite3-dev startup-notification-dev +# ] +## +# Also still left to run it once with DYLD_BIND_AT_LAUNCH, DYLD_PRINT_LIBRARIES and DYLD_PRINT_LIBRARIES_POST_LAUNCH +# to check no runtime-deps are omitted.. DONE + +# build uses yacc; mine is from fink's bison ..; hope system's is OK. Similarly for python, perl, most of coreutils, etc + GCC: 4.0 -Source-MD5: 9eba600ba6ca522b8eada9a0a8e890e2 -Source: mirror:custom:mozilla.org/%N/releases/%v/%N-%v.source.tar.bz2 +Source-MD5: 1a7f94a46890a60e0fb3340e567000c0 +Source: mirror:custom:mozilla.org/%N/releases/%type_raw[ver]/source/%N-%type_raw[ver].source.tar.bz2 +SourceDirectory: comm-1.9.1 CustomMirror: << Primary: http://ftp.mozilla.org/pub/ # nam-US: ftp://ftp.tux.org/pub/net/mozilla/ # asi-JP: http://www.t.ring.gr.jp/pub/net/www/mozilla/ << -SourceDirectory: mozilla +#SourceDirectory: mozilla -PatchFile: %n.patch -PatchFile-MD5: 1efa9565e796c703da5c49348eda196a +#### PATCHING + +## The patchfile just imports a "fink" subdir. +PatchFile: %n.tbz +PatchFile-MD5: 1d3b67c85a12edbbfe6b928deeb20a23 PatchScript: << #!/bin/sh -ev - find . -name CVS -o -name .cvsignore | xargs rm -fR - if [ -e /usr/X11R6/include/X11/X.h ]; then - Xdir="/usr/X11R6" - elif [ -e /usr/X11/include/X11/X.h ]; then +### Make list of files patched (too difficult to track otherwise which ones have already been patched, +### hence where a .bak is needed and where not..) + find . -name CVS -o -name .cvsignore -o -name '*.bak' | xargs rm -fR +# Try to keep next list +/- in order of the sed commands here, to make it easier to keep it up to date.. + patchlst=`echo \ + mozilla/modules/libpref/src/nsPrefService.cpp \ + mozilla/gfx/thebes/public/gfxQuartzSurface.h \ + mozilla/gfx/thebes/src/gfxQuartzFontCache.mm \ + mozilla/gfx/thebes/src/gfxASurface.cpp \ + mailnews/addrbook/build/Makefile.in \ + mozilla/toolkit/library/Makefile.in \ + mozilla/toolkit/mozapps/installer/packager.mk \ + {,mozilla/{,js/src/}}configure{.in,} \ + {,mozilla/{,js/src/}}config/{config,rules}.mk {directory/c-sdk,mozilla/nsprpub}/configure{.in,} \ + mozilla/security/{coreconf/Darwin,nss/lib/freebl/config}.mk \ + mozilla/modules/plugin/sdk/samples/unixprinting/Makefile.in \ + {,mozilla/}configure{.in,} \ + mozilla/nsprpub/configure{.in,} \ + mozilla/config/add-chrome.pl \ + directory/c-sdk/config/config.mk \ + mozilla/nsprpub/pr/src/Makefile.in \ + mozilla/nsprpub/pr/include/md/_darwin.h \ + mozilla/nsprpub/configure{,.in} \ + mozilla/modules/libpr0n/decoders/icon/Makefile.in\ + mozilla/toolkit/crashreporter/nsExceptionHandler.cpp \ + mozilla/xpcom/base/nsStackWalk.cpp mailnews/addrbook/public/nsAbBaseCID.h \ + mozilla/{configure.in,security/coreconf/Darwin.mk} \ + mozilla/build/unix/mozilla-config.in \ + directory/c-sdk/ldap/libraries/liblber/lber-int.h \ + mozilla/netwerk/build/Makefile.in \ + mozilla/extensions/auth/Makefile.in \ + mozilla/gfx/thebes/src/Makefile.in \ + mozilla/Makefile.in \ + {,mozilla/}configure{.in,} \ + mozilla/js/src/xpconnect/shell/Makefile.in \ + mozilla/xpcom/typelib/xpidl/Makefile.in \ + mozilla/nsprpub/pr/src/Makefile.in \ + mozilla/gfx/src/psshared/nsCUPSShim.cpp \ + mozilla/{toolkit/xre/nsNativeAppSupportUnix,modules/libpr0n/decoders/icon/gtk/nsIconChannel}.cpp \ + mozilla/widget/src/gtk2/nsBidiKeyboard.cpp \ + mozilla/widget/src/{gtk2/nsIdleServiceGTK,qt/nsIdleServiceQt}.cpp \ + mozilla/widget/src/gtk2/nsScreenManagerGtk.cpp \ + mozilla/widget/src/gtk2/nsSound.cpp \ + |tr ' ' '\n'|sort -u|xargs` + for f in $patchlst; do cp -p $f $f.bak; done + + if [ -e /usr/X11/include/X11/X.h ]; then Xdir="/usr/X11" + elif [ -e /usr/X11/include/X11R6/X.h ]; then + Xdir="/usr/X11R6" else echo "Could not determine X11 prefix" exit 1 fi - sed -e 's,@PREFIX@,%p,g' -e "s,/usr/X11R6,$Xdir," <%{PatchFile} | patch -p1 -### formerly passed along by gtk's .pc : - sed -i.bak -e '/MOZ_GTK2_LIBS=.*PKG_CONFIG/s,"$, -L/usr/X11R6/lib -lXrender -lX11",' configure -### The bulk of gnome deps (save for gnome-vfs and gtk2) would disappear w/o the following 10 lines; it is just in libimgicon.dylib -### get around specific setting for darwin - sed -i'' -e '/MOZ_IMG_DECODERS_DEFAULT icon/,/esac/s,MOZ_WIDGET_TOOLKIT" = "cocoa",& -o "$MOZ_ENABLE_GNOMEUI",' configure - sed -i.bak -e 's,PLATFORM = mac,ifndef PLATFORM\n&\nendif,' modules/libpr0n/decoders/icon/Makefile.in -# And, in same Makefile, get flag-ordering right, to avoid linking with nspr-shlibs. - sed -i'' -e '/MOZ_GNOMEUI_LIBS/d' -e 's,EXTRA_DSO_LDOPTS [+]=,EXTRA_DSO_LDOPTS =,' \ + +### import "fink" directory : + tar -oxjf %{PatchFile} + sed -i'' -e 's,Pr,%p,g' -e "s,Xd,$Xdir," `find fink -type f` + sed -ri'' -e '/XP_BEOS/,+3s;endif;&\t, "fink.js";' mozilla/modules/libpref/src/nsPrefService.cpp + +#### Next is for alpha or beta versions : + # for documentation; prefer to see explicitly everything in %c +# mv .mozconfig .mozconfig.bak + +### CAIRO and gfx + # Including Carbon.h brings in so many headers that there are several name clashes with the X11 headers also brought in. + # And CGContext.h suffices + sed -i'' -e \ + 's,Carbon/Carbon.h,/System/Library/Frameworks/ApplicationServices.framework/Frameworks/CoreGraphics.framework/Headers/CGContext.h,' \ + mozilla/gfx/thebes/public/gfxQuartzSurface.h + sed -i'' -e 's,Carbon\.h,Carbon/&,' mozilla/gfx/thebes/src/gfxQuartzFontCache.mm + +## Either of the 2 following attempts should be viable. +#### FIRST ATTEMPT FOR CAIRO_QUARTZ (ends up with needing to add --enable-quartz-image to cairo.info) + ## we have to delete a number of targets because fink's cairo has --disable-quartz-image + ## better to disable any quartz support altogether? What could be its use? + #### we need this time the quartz cpp srcs _ but don't include twice nsUnicodeRange.cpp +#sed -i.bak -e '/cocoa/,/endif/{ +# /cocoa/d +# /nsUnicodeRange.cpp/d +# /endif/d }' \ +# mozilla/gfx/thebes/src/Makefile.in + # fink's cairo-features.h gets included in gfx/thebes/src, and defines CAIRO_HAS_QUARTZ_FONT and CAIRO_HAS_QUARTZ_SURFACE + # w/o next, we get missing headers for gfxQuartzSurface.h and gfxQuartzImageSurface.h (to begin with ?) +# sed -ri.bak -e 's,mac cocoa,& gtk2,' mozilla/gfx/thebes/public/Makefile.in + # Use a non-existing macro to exclude the CAIRO_SURFACE_TYPE_QUARTZ_IMAGE case (still --disable-quartz-image ...) +# sed -i.bak -e '/ gfxQuartzSurface/,/else if/s,[}],&\n#endif\n#ifdef CAIRO_HAS_QUARTZ_IMAGE_SURFACE,' \ +# mozilla/gfx/thebes/src/gfxASurface.cpp + +#### OTHER ATTEMPT FOR CAIRO_QUARTZ : disable any quartz support altogether... + sed -i'' -e 's,CAIRO_HAS_QUARTZ_SURFACE,&NO,' -e 's,XP_MACOSX,&NO,' mozilla/gfx/thebes/src/gfxASurface.cpp + + sed -i'' -e 's,Cocoa,AddressBook,' mailnews/addrbook/build/Makefile.in + +#### + # the need for -lcrypto comes from the symbols MD5_Init and MD5_Final, used in + # toolkit/crashreporter/google-breakpad/src/common/mac/{file,macho}_id.cc, and defined nowhere in the builddir... + # --> since it is only for that, SWITCH to system-openssl ! (next not needed as long as crashreporter has to be disabled) + sed -i'' -e 's,EXTRA_DSO_LIBS),& -lcrypto,' mozilla/toolkit/library/Makefile.in + # allow to do a "make install" even on Darwin ! + sed -i'' -e 's, Darwin,,' mozilla/toolkit/mozapps/installer/packager.mk +#### + +### Getting "reasonable" install_names (libs are not versioned! and their "install_name" would else just be +### "@executable_path/libname" ...) . To be able to get minimal "shlibs-policy" compliance, +### we'll replace all '@executable_path's in install_names by a 'real path' that includes a symlink containing "%N-%V" + V=`cut -f1 -d. <<<"%type_raw[ver]"` + # for consistency, remove the : "-Wl,-executable_path,$(LIBXUL_DIST)/bin" from the link commands + sed -ri'' -e "s,.*executable_path.*, MOZ_FIX_LINK_PATHS=''," {,mozilla/{,js/src/}}configure{.in,} + sed -ri'' -e "s,(install_name|dylib_file) +...@executable_path,\1 %p/lib/%N-$V,g" \ + {,mozilla/{,js/src/}}config/{config,rules}.mk {directory/c-sdk,mozilla/nsprpub}/configure{.in,} \ + mozilla/security/{coreconf/Darwin,nss/lib/freebl/config}.mk + sed -ri'' -e \ + "s;rules.mk;&\nEXTRA_DSO_LDOPTS := \$\(subst install_name \$\(mozappdir\)/,install_name %p/lib/%N-$V/plugins/,\$\(EXTRA_DSO_LDOPTS\)\);" \ + mozilla/modules/plugin/sdk/samples/unixprinting/Makefile.in + +#### we want a gtk2 build: + sed -i'' -e 's, -DXP_MACOSX -DNO_X11, -DX11,' {,mozilla/}configure{.in,} + sed -i'' -e '/XP_MACOSX/d' mozilla/nsprpub/configure{.in,} + sed -i'' -e 's,\(my \$macos = \).*,\1= 0;,' mozilla/config/add-chrome.pl + sed -ri'' -e '/^C(|CC)FLAGS/s, \$\(OS_CFLAGS\),,' -e '/^C(|CC)FLAGS/,+1s,XCFLAGS\),& $(OS_CFLAGS),' \ + directory/c-sdk/config/config.mk + sed -ri'' -e '/OS_TARGET\),MacOSX/,/endif/d' mozilla/nsprpub/pr/src/Makefile.in + sed -ri'' 's,USE_MACH_DYLD,USE_DLFCN,' mozilla/nsprpub/pr/include/md/_darwin.h + sed -ri'' -e '/CFBundle/,+5{ /EOF/,/EOF/d }' -e '/\*-darwin\*\|\*-beos/,/;;/d' mozilla/nsprpub/configure{,.in} +### The bulk of gnome deps (save for gnome-vfs and gtk2) would disappear w/o the following 8 lines; they appear just in libimgicon +### get around specific setting for darwin _ and, in same Makefile, get flag-ordering right, to avoid linking with nspr-shlibs. + sed -i'' -e 's,PLATFORM = mac,ifndef PLATFORM\n&\nendif,' \ + -e '/MOZ_GNOMEUI_LIBS/d' -e 's,EXTRA_DSO_LDOPTS [+]=,EXTRA_DSO_LDOPTS =,' \ -e '/rules.mk/,$s;OS_ARCH),Darwin;PLATFORM),mac;' -e '/LOCAL_INCLUDES/i\ ifdef MOZ_ENABLE_GNOMEUI\ EXTRA_DSO_LDOPTS += $(MOZ_GNOMEUI_LIBS) $(NULL)\ endif\ -' modules/libpr0n/decoders/icon/Makefile.in -### fix for 10.5 - perl -pi -e 's,argument missing, -exported_symbols_list,' configure{,.in} -### next 4 points substitute a.o. for things from msek's old patchfile _ trying slowly to move to more 'literate programmimg' :): - # we want a gtk2 build: - perl -pi -e 's, -DXP_MACOSX -DNO_X11,,' configure{,.in} - # there should be a better way to make @executable_path work correctly, but didn't look at it yet... - perl -pi.bak -e 's,(install_name|dylib_file) +...@executable_path,\1 %p/lib/%N,' \ - config/{config,rules}.mk {directory/c-sdk,nsprpub}/configure{,.in} \ - security/coreconf/Darwin.mk security/nss/{cmd/platlibs,lib/s{mime,sl}/config}.mk - # remove obsolete flags: - perl -pi -e 's, -fpascal-strings,,; s, -no-cpp-precomp,,' \ - {,directory/c-sdk/,nsprpub/}configure{,.in} security/coreconf/Darwin.mk - # if we were to use --enable-prebinding, then: - perl -pi -e 's,LD_SEG_ADDR_TABLE=.*,LD_PREBIND_ALLOW_OVERLAP=1,' config/config.mk -### fix for automake1.9 stricter parsing. Remove when moving to gecko1.9 (seamonkey1.5) or higher - perl -pi.bak -e 's/(AC_DEFUN\()([^[,]+)(,)/\1\[\2]\3/' {{build,directory/c-sdk/config}/autoconf,nsprpub/config}/nspr.m4 -### The next appears needed eg when building yelp... - perl -pi.bak -e 's,lxpcom,$& -lxpcom_core,' build/unix/mozilla-{config,xpcom.pc}.in -### MISSING INCLUDES - perl -pi.bak -e 's,NSSP,P,; s,nss,,' security/nss/lib/pki1/oiddata.h - # The following are "for safety" : to avoid "implicit declaration" warnings : - perl -pi.bak -e 's:string\.h>:$&\nint sqlite3pager_get2(Pager *pPager, Pgno pgno, void **ppPage, unsigned char* pDataToFill);:' \ - db/sqlite3/src/pager.c - perl -pi.bak -e 's,\(XP_OS2\) \&\& \!defined\(DARWIN\)$,\(XP_OS2\),' directory/c-sdk/ldap/libraries/liblber/lber-int.h - sed -i.bak -e '/sqliteInt\.h/a \ -#include "os.h"' db/sqlite3/src/experimental.c +' mozilla/modules/libpr0n/decoders/icon/Makefile.in + ### since upstream subverted at many places XP_MACOSX to mean a toolkit to be used ("cocoa" rather than eg gtk or qt), + ### (instead of an OS), we zapped it, and so even in places where it is used properly we have to replace it .. + sed -i'' -e 's,XP_MACOSX,__APPLE__,' mozilla/toolkit/crashreporter/nsExceptionHandler.cpp \ + mozilla/xpcom/base/nsStackWalk.cpp mailnews/addrbook/public/nsAbBaseCID.h + +### remove obsolete flags: + sed -i'' -e 's, -fpascal-strings,,' -e 's, -no-cpp-precomp,,' mozilla/{configure.in,security/coreconf/Darwin.mk} +### The next appears (-ed??) needed eg when building yelp... +### maybe also in mozilla/xulrunner/installer/libxul{-unstable,}.pc.in ? + sed -i'' -e 's,lxpcom,& -lxpcom_core,' mozilla/build/unix/mozilla-config.in +### The following is "for safety", to avoid "implicit declaration" warnings : + sed -ri'' -e 's,\(XP_OS2\) \&\& \!defined\(DARWIN\)$,\(XP_OS2\),' directory/c-sdk/ldap/libraries/liblber/lber-int.h + #### MISC ### libresolv # configure fails to detect libresolv (hence the 'env' before ./configure), - # and even if it would detect it, it forgets to add -lresolv to LIBS (Still true with seamonkey ??) + # and even if it would detect it, it forgets to add -lresolv to LIBS # We put it as far as possible in the link line _ and just for the link that needs it, in order not to get # libresolv in the LOAD_COMMANDS everywhere : - perl -pi.bak -e 's,^MODULE\s,OS_LIBS += -lresolv\n$&,' netwerk/build/Makefile.in -### ad-hoc correction of some install_names : - perl -pi.bak -e \ - "s;rules.mk;$&\nEXTRA_DSO_LDOPTS := \\\$\(subst install_name \\\$\(mozappdir\)/,install_name \\\$\(mozappdir\)/ipc/modules/,\\\$\(EXTRA_DSO_LDOPTS\)\);" \ - ipc/ipcd/{extensions/{lock/src,transmngr},test}/module/Makefile.in - perl -pi.bak -e \ - "s;rules.mk;$&\nEXTRA_DSO_LDOPTS := \\\$\(subst install_name \\\$\(mozappdir\)/,install_name \\\$\(mozappdir\)/plugins/,\\\$\(EXTRA_DSO_LDOPTS\)\);" \ - modules/plugin/samples/{default/unix,unixprinting}/Makefile.in -### Non-portable use of sed (not even usable with GNU sed !) - perl -pi.bak -e 's,sed -E,/usr/bin/$&,' xpcom/typelib/xpidl/Makefile.in -### To fix EXC_BAD_INSTRUCTION on macintel (XP_MACOSX is zapped in the beginning of the patchscript): - perl -pi.bak -e 's,XP_MACOSX,__APPLE__,' xpcom/reflect/xptcall/src/md/unix/xptc{stubs_unixish_x86.cpp,_platforms_unixish_x86.h} + sed -ri'' -e 's,^MODULE[[:space:]],OS_LIBS += -lresolv\n&,' mozilla/netwerk/build/Makefile.in + sed -ri'' -e '/MOZ_COMPONENT_LIBS/a \\t\t-lresolv \\' mozilla/extensions/auth/Makefile.in +### lXrender + sed -ri'' -e '$a EXTRA_DSO_LDOPTS += -lXrender' mozilla/gfx/thebes/src/Makefile.in +### allow enable-xul : + sed -ri'' -e '/alldep all::/a \\tmkdir -p dist/bin/XUL' mozilla/Makefile.in + sed -ri'' -e 's, [^ ]*/bin/XUL,,' {,mozilla/}configure{.in,} +# for XRE_GetFileFromPath and XRE_GetBinaryFromPath in xpcshell.cpp (why is libxul not in LIBXUL_LIBS ??) : + sed -ri'' -e '/NSPR_LIBS/a \\t\t-lxul \\' mozilla/js/src/xpconnect/shell/Makefile.in +### Non-portable use of sed (not even usable with GNU sed) + sed -i'' -e 's,sed -E,sed -r,' mozilla/xpcom/typelib/xpidl/Makefile.in ### link nspr with g++ when using --enable-cplus - perl -pi.bak -e 's,cplus$,$&\n\tMKSHLIB = \$(CCC) \$(DSO_LDOPTS) -o \$@,' nsprpub/pr/src/Makefile.in -### next is needed for extensions/java/xpcom/nsJavaInterfaces.cpp, when using "--enable-javaxpcom" - # not sufficient : trouble at link time then (for same symbols) _ make should be run in toolkit/xre - # (cf comment below on "--enable-javaxpcom") - #ln -s ../../../../toolkit/xre/nsXULAppAPI.h extensions/java/xpcom/src -### New with 1.0.1 : - # till 1.0.1, the zapping of '-DXP_MACCOSX' in the beginning of the patchscript (this goes back to the first versions of mozilla!) - # ensured that no frameworks were needed on the link line... What is going on ? - perl -pi.bak -e 's,endif \# WINNT,$&\nEXTRA_DSO_LDOPTS += -F/System/Library/Frameworks -framework CoreFoundation,' xpcom/build/Makefile.in -### With 1.1a : - # else will try linking libgfx_gtk.dylib against X11's libxprintutil, given the order of the -L flags, - # with resulting undefined symbols (https://bugzilla.mozilla.org/show_bug.cgi?id=355031): - perl -pi.bak -e 's,-lxprintutil,\$(DIST)/lib/\$(LIB_PREFIX)xprintutil.\$(LIB_SUFFIX),' gfx/src/gtk/Makefile.in -### With 1.1.7, under pangocairo: gfx/src/gtk/nsDeviceContextGTK.cpp uses symbols from -lpangox; so, cheapest: - perl -pi -e 's,pangoft2,pangoxft,g' configure{,.in} -### Don't put the flags to /usr/X11 first in compile and link commands (CPATH and LIBRARY_PATH below put them anyway at the end): - perl -pi -e 's,(MOZ_XFT_CFLAGS=)`.*,\1"",; s,`\$PKG_CONFIG --libs-only-L \\"xft\\"` ,,' configure -### Uncomment to check builddeps: - # perl -pi -e 's,CPPFLAGS%%,CPPFLAGS -H%%,' configure + sed -ri'' -e 's,cplus$,&\n\tMKSHLIB = \$(CCC) \$(DSO_LDOPTS) -o \$@,' mozilla/nsprpub/pr/src/Makefile.in + +### Fixing SOME calls to PR_LoadLibrary ... (using proper install_names..) _ just looked at those with a hard-coded string. +### Possibly this would make the use of -dead_strip_dylibs safe ? (cf CompileScript) +### Would need to check all binaries where PR_LoadLibrary appears.. +### Use of otool -D below is legal, since names of deps must change if install_names do. And this avoids hard-coding things here. + sed -ri'' -e 's,libcups\.so\.2,/usr/lib/libcups.dylib,' mozilla/gfx/src/psshared/nsCUPSShim.cpp + sed -ri'' -e 's,libgnomeui-2\.so\.0,%p/lib/libgnomeui-2.0.dylib,' -e 's,libgnome-2.so.0,%p/lib/libgnome-2.0.dylib,' \ + -e "s,libgnomevfs-2\.so\.0,`otool -D %p/lib/libgnomevfs-2.dylib|fgrep -v :`," \ + mozilla/{toolkit/xre/nsNativeAppSupportUnix,modules/libpr0n/decoders/icon/gtk/nsIconChannel}.cpp + sed -ri'' -e "s,libgtk-x11-2\.0\.so\.0,`otool -D %p/lib/libgtk-x11-2.0.dylib|fgrep -v :`," \ + mozilla/widget/src/gtk2/nsBidiKeyboard.cpp + sed -ri'' -e "s,libXss\.so\.1,`otool -D $Xdir/lib/libXss.1.dylib|fgrep -v :`," \ + mozilla/widget/src/{gtk2/nsIdleServiceGTK,qt/nsIdleServiceQt}.cpp + sed -ri'' -e "s,libXinerama\.so\.1,`otool -D $Xdir/lib/libXinerama.1.dylib|fgrep -v :`," \ + mozilla/widget/src/gtk2/nsScreenManagerGtk.cpp + sed -ri'' -e 's,libesd\.so\.0,%p/lib/libesd.0.dylib,' -e 's,libcanberra\.so\.0,%p/lib/libcanberra.0.dylib,' \ + mozilla/widget/src/gtk2/nsSound.cpp + +### For alpha or beta versions : need to create configure scripts +### autoconf2.13 (!) needed, and fink has no corresponding automake, so autoreconf can't be used.. +# for f in `find . -name configure.in`; do cd `sed -e 's,/[^/]*$,,'<<<"$f$"`; autoconf; cd -; done + +### Uncomment to check builddeps (.deps dirs and .pp files are created only in the mozilla subdir): +# sed -ri'' -e 's,CPPFLAGS%%,CPPFLAGS -H%%,' `find . -name configure` + +## Finally, for who prefers to see a unfied patch _ this creates "patch" in the build-dir : + for g in $patchlst; do \ + if test ! -f $g ; then echo "ERROR: file $g does not exist" >&2 + else f="$g.bak" + if test ! -f $f ; then echo "ERROR: file $f does not exist" >&2 + elif cmp -s $g $f; then echo "WARNING: patching $g yielded nothing" >&2 + else diff -au $f $g || : + fi + fi + done > patch << -# --enable-calendar no longer supported in 1.1a (http://www.mozilla.org/projects/calendar) -# also --enable-places ... (https://bugzilla.mozilla.org/show_bug.cgi?id=355040) -# --enable-default-toolkit=cairo-gtk2 not usable (also w/o --enable-system-cairo) : -# "nsCairoRenderingContext.cpp:99: error: 'cairo_set_target_surface_DEPRECATED_BY_cairo_create' was not declared in this scope" -# : files in src refer (not always!) to a deprecated version of cairo... -# https://bugzilla.mozilla.org/show_bug.cgi?id=334250 +#### CONFIGURE + ## can't enable static : "configure: error: Only one of --enable-shared or --enable-static must be specified." -## and fink best-practices seems to be headed towards omitting static libs unless compelling need for them -# Adding --enable-javaxpcom doesn't work _ https://bugzilla.mozilla.org/show_bug.cgi?id=354004 +## (and reluctant to impose 2 full builds on the user...) # Also "--enable-boehm" leads to trouble...; probably not important (for a 'production' pkg): according to # http://www.hpl.hp.com/personal/Hans_Boehm/gc/ , it is only used as a leak detector. -# --enable-libxul is only compatible with toolkit XUL applications +# --enable-libxul leads to "/bld/seamonkey-1.9.1b3pre-1/mozilla/dist/bin/XUL: No such file or directory" in linking +# mozilla/xpfe/components/autocomplete/src/nsAutoComplete.o ConfigureParams: << - --disable-dependency-tracking \ --enable-macos-target=${MACOSX_DEPLOYMENT_TARGET} --enable-optimize=-Os --disable-debug --enable-strip --enable-tests --with-pthreads \ - --with-default-mozilla-five-home=%p/lib/%N --mandir=%p/share/man --with-qtdir=%p --x-includes='' --x-libraries='' \ - --enable-application=suite --enable-default-toolkit=gtk2 --enable-cplus --enable-xul \ - --enable-extensions=all --enable-image-decoders=all --enable-image-encoders=all --enable-necko-protocols=all \ - --enable-ctl --enable-canvas --enable-update-packaging --enable-storage --enable-profilesharing \ - --enable-xpctools --enable-url-classifier --enable-ipv6 --enable-ldap-experimental \ + --with-default-mozilla-five-home=%p/lib/%N-2 --mandir=%p/share/man --with-qtdir=%p --x-includes='' --x-libraries='' \ + --enable-application=suite --enable-calendar --enable-default-toolkit=cairo-gtk2 --enable-xul --enable-places \ + --enable-image-decoders=all --enable-image-encoders=all --enable-necko-protocols=all \ + --enable-ctl --enable-canvas --enable-update-packaging --enable-storage --enable-profilesharing --enable-startup-notification \ + --enable-xpctools --enable-url-classifier --enable-ipv6 --enable-ldap-experimental --with-sasl \ --with-x --enable-xinerama --enable-xprint --enable-pango --enable-xft --enable-postscript \ - --enable-svg --enable-svg-renderer=cairo --enable-system-cairo \ - --with-system-mng --with-system-jpeg --with-system-png --with-system-zlib (%type_raw[sys_nspr] = .) --with-system-nspr + --enable-svg --enable-svg-renderer=cairo --enable-system-cairo --enable-system-lcms --enable-glitz --enable-system-sqlite \ + --with-system-mng --with-system-jpeg --with-system-zlib --with-system-bz2 (%type_raw[sys_nspr] = .) --with-system-nspr \ + --enable-auto-deps --enable-md --disable-necko-wifi --disable-crashreporter --enable-safe-browsing --enable-system-hunspell \ + --enable-help-viewer --enable-ipcd --enable-oji --enable-javaxpcom --enable-single-profile --disable-static-mail \ + --build=%m-apple-darwin`uname -r|cut -f1 -d.` --host=%m-apple-darwin`uname -r|cut -f1 -d.` \ + --enable-update-packaging --enable-update-channel=beta << +###### Last line is for private use ! +## disable-necko-wifi : mozilla/configure has 'elif test "$OS_ARCH" = "Darwin"; then NECKO_WIFI=1' +## but mozilla/netwerk/wifi/src/nsWifiScannerUnix.cpp fails to find iwlib.h (new in 2.03) +# +# "--with-system-png" : "configure: error: --with-system-png won't work because the system's libpng doesn't have APNG support" # no -fstrict-aliasing in '--enable-optimize', else "dereferencing type-punned pointer will break strict-aliasing rules" warnings -# --enable-single-profile : causes trouble: launch aborts (right after loading libXt and before loading components/libprofile) -# without any error msgs anywhere, nor crash log or anything... ## # --with-system-nss ? -SetLDFLAGS: -L%p/lib/fontconfig2/lib -SetCPPFLAGS: -I%p/lib/fontconfig2/include +## +# Remove the --enable-tests when putting in unstable ? + +#### BUILD + +# Possibly remove next 2 settings for a release _ one role is to test how this might fare under 10.6 .. +SetCC: gcc-4.2 +SetCXX: c++-4.2 +NoSetLDFLAGS: true +SetLDFLAGS: -L%b/mozilla/dist/lib -L%b/mozilla/dist/bin -L%p/lib/fontconfig2/lib +NoSetCPPFLAGS: true +SetCPPFLAGS: -I%p/include/pango-1.0 -I%p/include/freetype2 -I%p/lib/fontconfig2/include + CompileScript: << #!/bin/sh -ev - if [ -e /usr/X11R6/include/X11/X.h ]; then - Xdir="/usr/X11R6" - elif [ -e /usr/X11/include/X11/X.h ]; then + if [ -e /usr/X11/include/X11/X.h ]; then Xdir="/usr/X11" + elif [ -e /usr/X11R6/include/X11/X.h ]; then + Xdir="/usr/X11R6" else echo "Could not determine X11 prefix" exit 1 fi export PATH="%p/lib/fontconfig2/bin:$PATH" export PKG_CONFIG_PATH="%p/lib/fontconfig2/lib/pkgconfig:$PKG_CONFIG_PATH" - export CPATH="%p/lib/fontconfig2/include:%p/include:$Xdir/include" - export LIBRARY_PATH="%p/lib/fontconfig2/lib:%p/lib:$Xdir/lib" - env ac_cv_func_res_ninit=yes MOZ_ENABLE_COREXFONTS=1 MOZ_EXTRA_X11CONVERTERS=1 ./configure %c + export CPATH="%p/include/pango-1.0/pango:%p/include/pango-1.0:%p/include/freetype2:%p/lib/fontconfig2/include:%p/include:$Xdir/include" + export LIBRARY_PATH="%b/mozilla/dist/lib:%b/mozilla/dist/bin:%p/lib/fontconfig2/lib:%p/lib:$Xdir/lib" +# next can't be used, though all undefined symbols have a ' (from ...)'; apparently dynamic linking is hidden via use of PRLibrary +# v=`uname -r|cut -f1 -d.`; if [ $v -ge 9 ]; then export LDFLAGS="$LDFLAGS -Wl,-dead_strip_dylibs" ; fi +### possibly some redundancy in the next _ but most of it seems needed : + if grep -q 64 %p/var/lib/fink/path-prefix-10.6/compiler_wrapper + then export USE_64=1; enable64="--enable-64bit" + else enable64="--disable-64bit" + fi +# next is for trouble with rcthrread.h:190 with c++ >= 4.2 (better to fix the problem!) +# [ Trying to get this +/- right, independently of the presence or no of "SetCC" or "SetCXX" and of sw_vers .. ] + ctst=$CXX; if test -z $ctst; then ctst=$CC; if test -z $ctst; then ctst="/usr/bin/c++"; fi; fi + cxvers=`$ctst --dumpversion 2>&1|cut -f1 -d:|sed -e 's,.*-,,' -e 's,\.,,' -e 's,\..*,,'` + if [ $cxvers -le 41 ]; then cplus="--enable-cplus"; else cplus=''; fi + + env ac_cv_func_res_ninit=yes ./configure %c $enable64 $cplus make -w << +#### INSTALL + InstallScript: << #!/bin/sh -ev - if [ -e /usr/X11R6/include/X11/X.h ]; then - Xdir="/usr/X11R6" - elif [ -e /usr/X11/include/X11/X.h ]; then - Xdir="/usr/X11" - else - echo "Could not determine X11 prefix" - exit 1 - fi -export CPATH="%p/lib/fontconfig2/include:%p/include:$Xdir/include" -export LIBRARY_PATH="%p/lib/fontconfig2/lib:%p/lib:$Xdir/lib" +## No exports needed at this stage : apparently, now (2.0.4), I see no more compile's or links in the install phase... +make -j1 install DESTDIR=%d INSTALL_SDK=1 -make -j1 install DESTDIR=%d +# rm or link duplicate files +pushd %i > /dev/null +rm -fR lib/%N-%type_raw[ver]/extensions/inspec...@mozilla.org/platform/{OS2,WINNT} +cd share/idl/%N-%type_raw[ver]/stable; for f in *; do ln -fs ../unstable/$f; done; cd - +pushd include/%N-%type_raw[ver]/stable > /dev/null; for f in *.{h,api}; do ln -fs ../unstable/$f; done +for d in obsolete private; do cd $d; for f in *.h; do ln -fs ../../unstable/$f; done; cd -; done +cd md; for f in *.cfg; do ln -fs ../../unstable/$f; done; cd - +popd > /dev/null +ln -fs ../../include/%N-%type_raw[ver]/unstable/xpcom-config.h lib/%N-devel-%type_raw[ver] +ln -fs en-US/mailViews.dat lib/%N-%type_raw[ver]/defaults/messenger/mailViews.dat +# to be uncommented again when re-enabling crashreporter (in principle next time) +#ln -fs ../MainMenu.nib/classes.nib lib/%N-%type_raw[ver]/crashreporter.app/Contents/Resources/English.lproj/MainMenuRTL.nib +popd > /dev/null -# The following gets installed twice. To hedge our bets, put a symlink in one of the 2 places : -if test -f %i/lib/%N/ipc/modules/libtestmodule.dylib - then if test -f %i/lib/%N/libtestmodule.dylib - then rm -f %i/lib/%N/libtestmodule.dylib ; ln -s ipc/modules/libtestmodule.dylib %i/lib/%N - fi -fi +## Fix install_names of plugins (were completely baroque, all in different ways) +V=`cut -f1 -d. <<<"%type_raw[ver]"` +cd %i/lib/%N-%type_raw[ver]/plugins +for f in *.dylib; do + install_name_tool -id %p/lib/%N-$V/plugins/$f $f +done +cd - -# Install NSS headers. -/bin/cp -R -L dist/public/nss %i/include/%N/nss +## Make unversioned symlinks (more in dev splitoff): +ln -fs %N-%type_raw[ver] %i/lib/%N-$V +# Fix symlink in bin to main excutable (target was %N instead of %N-bin) +ln -fs ../lib/%N-$V/%N-bin %i/bin/%N + +### FIXME : .pc files don't get built! (.pc.in are in mozilla/xulrunner/installer, + directory/c-sdk/mozldap.pc.in) # Link .pc file (the other .pc files Require the name 'nspr', # when using --with-system-nspr _ and nspr itself installs no .pc file -if test "%type_raw[sys_nspr]" == "." - then ln -s %N-nspr.pc %i/lib/pkgconfig/nspr.pc -fi - -# These files are redundant. -# comment out to see.. -#for f in %i/lib/%N/chrome/*.jar; do -# rm -rf ${f/.jar/} -#done - -# These files are created dynamically. -rm -f %i/lib/%N/chrome/*.rdf -rm -f %i/lib/%N/components/*.dat - -# Multi user setting. -touch %i/lib/%N/chrome/user-skins.rdf -touch %i/lib/%N/chrome/user-locales.rdf +#if test "%type_raw[sys_nspr]" == "." +# then ln -s %N-nspr.pc %i/lib/pkgconfig/nspr.pc +#fi +# (=/- only) config-file, put there to avoid 'update-alternatives' with nspr; pkgs wanting this must prepend to their PATH.. +#cp -p mozilla/nsprpub/config/nspr-config %i/lib/%N-%type_raw[ver] +## commented out too ! _ mozilla/nsprpub/config/nspr-config.in would need patching -# Empty installed-chrome.txt. -mkdir -p %i/var/lib/%N/chrome.d -mv %i/lib/%N/chrome/installed-chrome.txt %i/var/lib/%N/chrome.d -touch %i/lib/%N/chrome/installed-chrome.txt +# Multi user setting ; needed ??? +touch %i/lib/%N-%type_raw[ver]/chrome/user-skins.rdf +touch %i/lib/%N-%type_raw[ver]/chrome/user-locales.rdf -# Install fink specific files. -install -d -m 755 %i/bin %i/sbin %i/var/lib/%N/chrome.d -# keep for the moment the file, but under the name moz -# in order not to conflict with mozilla, to compare with the original %i/bin/%N -install -c -m 755 fink/mozilla %i/bin/moz -install -c -m 755 fink/update-%N-chrome %i/sbin -install -c -m 644 fink/chrome.d/* %i/var/lib/%N/chrome.d/ +## Install fink specific files. +# keep for the moment the file (is still functional!), as documentation, +# to compare with the original %i/bin/%N (and with run-mozilla.sh ?) +install -c -m 755 fink/mozilla %i/bin -# Move config file into %p/etc. +# Move config file into %p/etc. (any use ?? or harm ?) install -d -m 755 %i/etc/%N install -c -m 644 fink/prefs.js %i/etc/%N -ln -sf %p/etc/%N/prefs.js %i/lib/%N/defaults/pref/fink.js +ln -sf %p/etc/%N/prefs.js %i/lib/%N-%type_raw[ver]/defaults/pref/fink.js # Install gnome .desktop files. install -d -m 755 %i/share/applications install -c -m 644 fink/applications/* %i/share/applications/ -# Install desktop pixmaps +# Install desktop pixmaps (rather link now... There are probably a couple of others to be linked..) +# Still only the main icon seems to show up in KDE's menus ... Check... install -d -m 755 %i/share/pixmaps -install -c -m 644 dist/bin/chrome/icons/default/main-window.xpm %i/share/pixmaps/%N.xpm -install -c -m 644 dist/bin/chrome/icons/default/addressbookWindow.xpm %i/share/pixmaps/%N-addressbook.xpm -install -c -m 644 dist/bin/chrome/icons/default/chatzilla-window.xpm %i/share/pixmaps/%N-chatzilla.xpm -install -c -m 644 dist/bin/chrome/icons/default/editorWindow.xpm %i/share/pixmaps/%N-editor.xpm -install -c -m 644 dist/bin/chrome/icons/default/msgcomposeWindow.xpm %i/share/pixmaps/%N-mail-composer.xpm -install -c -m 644 dist/bin/chrome/icons/default/messengerWindow.xpm %i/share/pixmaps/%N-mailnews.xpm -#install -c -m 644 dist/bin/chrome/icons/default/calendar-window.xpm %i/share/pixmaps/%N-calendar.xpm +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/%N.png %i/share/pixmaps/%N.png +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/main-window.png %i/share/pixmaps/%N_main-window.png +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/addressbookWindow.png %i/share/pixmaps/%N_addressbookWindow.png +#ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/chatzilla this disappeared... +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/editorWindow.png %i/share/pixmaps/%N_editorWindow.png +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/msgcomposeWindow.png %i/share/pixmaps/%N_msgcomposeWindow.png +ln -fs %p/lib/%N-%type_raw[ver]/chrome/icons/default/messengerWindow.png %i/share/pixmaps/%N_mailnews.png +# find something ad-hoc for the rest ... +cp -p calendar/base/themes/pinstripe/cal-icon32.png %i/share/pixmaps/%N_calendar.png +cp -p suite/branding/icons/gtk/chatzilla-window.xpm %i/share/pixmaps/%N_chatzilla.xpm +cp -p mail/themes/qute/mail/newsblog/rss-feed.png %i/share/pixmaps/%N_news.png ### And all others remain in ??? # ls -l %p/bld/mozilla-1.7.11-5/mozilla/dist/bin/chrome/icons/default # total 140 # for compatiblity with firefox etc (if "--system-nspr" is enabled, file doesn't exist, -# and it is ugly to program by "cases"...) +# and it is ugly to program by "cases"...) _ anyway is no longer istalled in 2.0alpha : FIX... (some other too ?) if test -f %i/share/aclocal/nspr.m4 then mv %i/share/aclocal/nspr.m4 %i/share/aclocal/nspr-%N.m4 fi # Install a symlink to the docfiles -mkdir -p %i/share/doc; ln -s %N-shlibs %i/share/doc/%n +mkdir -p %i/share/doc/%N2-shlibs +ln -s %N2-shlibs %i/share/doc/%n +mv %i/lib/%N-%type_raw[ver]/README %i/share/doc/%N2-shlibs +ln -fs %p/share/doc/%N2-shlibs/README %i/lib/%N-%type_raw[ver] << ConfFiles: %p/etc/%N/prefs.js -PostInstScript: << -# Those 2 empty files are not installed by dpkg (H. N. says current dpkg handles empty files correctly; check (in particular on UFS) - touch %p/lib/%N/chrome/user-skins.rdf - touch %p/lib/%N/chrome/user-locales.rdf - - if [ configure = "$1" ]; then - update-%N-chrome - fi -<< -PreRmScript: << - rm -f %p/lib/%N/chrome/*.rdf - rm -f %p/lib/%N/components/*.dat -<< - SplitOff: << - Package: %N-shlibs + Package: %N2-shlibs + # in deps, all 'otool_deps' are listed, and those that are not recursive deps of some other are versioned + # With dead_strip_dylibs, atk1-shlibs, libart2-shlibs, libbonobo2-shlibs, libbonoboui2-shlibs, libgettext8-shlibs, + # libgnomecanvas2-shlibs, libgnomeui2-shlibs, openssl098-shlibs, orbit2-shlibs, popt-shlibs disappear from otool_deps Depends: << - atk1-shlibs (>= 1.26.0-1), - cairo-shlibs (>= 1.8-1), - fontconfig2-shlibs (>= 2.4.1-1), - freetype219-shlibs (>= 2.3.8-2), - gconf2-shlibs (>= 2.26.0-1), - glib2-shlibs (>= 2.20.0-1), - gnome-vfs2-unified-shlibs (>= 1:2.24.1-1), - gtk+2-shlibs (>= 2.16.0-1), - libart2-shlibs (>= 2.3.20-1), - libbonobo2-shlibs (>= 2.24.1-1), - libbonoboui2-shlibs (>= 2.24.1-1), - libgettext3-shlibs, - libgnome2-shlibs (>= 2.26.0-1), - libgnomecanvas2-shlibs (>= 2.26.0-1), - libgnomeui2-shlibs (>= 2.24.1-1), - libjpeg-shlibs, - libpng3-shlibs, - (%type_raw[sys_nspr] = .) nspr-shlibs, - orbit2-shlibs (>= 2.14.16-1), - pango1-xft2-ft219-shlibs (>= 1.24.0-1), - popt-shlibs, - x11-shlibs + atk1-shlibs, cairo-shlibs, cyrus-sasl2-shlibs, dbus-glib1.2-shlibs, dbus1.3-shlibs, esound-shlibs, + fontconfig2-shlibs, freetype219-shlibs, gconf2-shlibs, glib2-shlibs, gnome-vfs2-unified-shlibs, + gtk+2-shlibs, libart2-shlibs, libbonobo2-shlibs, libbonoboui2-shlibs, libcanberra0-shlibs (>= 0.23-202), + libgettext8-shlibs, libgnome2-shlibs, libgnomecanvas2-shlibs, libgnomeui2-shlibs (>= 2.24.2-2), + libhunspell-shlibs (>= 1.2.8-1005), libjpeg8-shlibs, (%type_raw[sys_nspr] = .) nspr.0d-shlibs, + openssl098-shlibs (>= 0.9.8l-1), orbit2-shlibs, pango1-xft2-ft219-shlibs, popt-shlibs, + sqlite3-shlibs(>= 3.6.16.1), startup-notification-shlibs (>= 0.9-2), x11-shlibs << - DocFiles: LEGAL LICENSE + DocFiles: mozilla/LEGAL mozilla/LICENSE Description: Seamonkey - shared libraries -# Many "dylib"'s under lib/%N are in fact bundles, hence don't belong here. -# Further the exact sets, both dylibs and of bundles, vary with %c _ and from %v to %v, -# so we don't want to hardcode them. -# InstallScript: << -# #!/bin/sh -ev -# mkdir -p %i/lib/%N/plugins -# for dir in lib/%N lib/%N/plugins -# do -# cd %I/$dir -# for f in `ls -1 *.dylib|xargs file|grep dynamically|cut -f1 -d:` -# do mv $f %i/$dir -# done -# cd - -# done -# mv %I/lib/%N/ipc %i/lib/%N -# << -## but I see currently no reasonable way to list the bundles that can be linked from shlibs _ and those +## I see currently no reasonable way to list the bundles that can be linked from shlibs _ and those ## should probably for sanity be added here. Have some evidence that many of them in fact can... ## So, for the moment, put all of them here too... -## And let us add, for files, the subdirs lib/%N/chrome, lib/%N/greprefs and lib/%N/res _ trusting Hanspeter on this... - Files: lib/%N/lib*.dylib lib/%N/chrome lib/%N/components lib/%N/greprefs lib/%N/ipc lib/%N/plugins lib/%N/res +## And let us add, for files, the subdirs lib/%N/chrome, lib/%N/greprefs and lib/%N/res _ trusting Hanspeter ... + Files: << + lib/%N-%type_raw[ver]/lib*.dylib + lib/%N-%type_raw[ver]/chrome + lib/%N-%type_raw[ver]/components + lib/%N-%type_raw[ver]/greprefs + lib/%N-%type_raw[ver]/plugins + lib/%N-%type_raw[ver]/res + lib/%N-? + share/doc/%N2-shlibs + << # The following depends strongly on %c. Adjust at the last minute. -# Here all shared libs are listed. One could probably consider those in plugins and ipc as meant to be internal, -# and mark them as private-shlibs +# Here all shared libs are listed. One could probably consider those in plugins as meant to be internal +# (or even all those not in %p/lib/%N-2/sdk/lib ?), and omit them. Shlibs: << - %p/lib/%N/libDebugRobot.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libfreebl3.dylib 1.0.0 %n (>= 1.1.2-1) - %p/lib/%N/libgfxpsshar.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libgkgfx.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libgtkembedmoz.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libgtkxtbin.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libjsj.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libldap50.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libmozjs.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libmozpango-dvngx.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libmozpango-thaix.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libmozpango.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libmsgbaseutil.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libnpsimple.dylib 1.0.0 %n (>= 1.0-1) - (%type_raw[sys_nspr] = no) %p/lib/%N/libnspr4.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libnss3.dylib 1.0.0 %n (>= 1.0-1) - (%type_raw[sys_nspr] = no) %p/lib/%N/libplc4.dylib 1.0.0 %n (>= 1.0-1) - (%type_raw[sys_nspr] = no) %p/lib/%N/libplds4.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libprldap50.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libsmime3.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libsoftokn3.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libssl3.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libxlibrgb.dylib 1.0.0 %n (>= 1.0.6-1) - %p/lib/%N/libxpcom.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libxpcom_compat.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libxpcom_core.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/libxpistub.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/plugins/libnullplugin.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/plugins/libunixprintplugin.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/ipc/modules/liblockmodule.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/ipc/modules/libtransmgr.dylib 1.0.0 %n (>= 1.0-1) - %p/lib/%N/ipc/modules/libtestmodule.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libfreebl3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libgfxpsshar.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libgkgfx.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libgtkxtbin.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libjsj.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libldap60.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libldif60.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libmozjs.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libmsgbaseutil.dylib 1.0.0 %n (>= 2.0.3-1) + (%type_raw[sys_nspr] = no) %p/lib/%N-2/libnspr4.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libnss3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libnssdbm3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/seamonkey-2/libnssutil3.dylib 1.0.0 %n (>= 1.0-1) + (%type_raw[sys_nspr] = no) %p/lib/%N-2/libplc4.dylib 1.0.0 %n (>= 1.0-1) + (%type_raw[sys_nspr] = no) %p/lib/%N-2/libplds4.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libprldap60.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libsmime3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libsoftokn3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libssl3.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libthebes.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libxpcom.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libxpcom_core.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/libxul.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/plugins/libnptest.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/plugins/libnullplugin.dylib 1.0.0 %n (>= 1.0-1) + %p/lib/%N-2/plugins/libunixprintplugin.dylib 1.0.0 %n (>= 1.0-1) << -### list of dylibs that have disappeared at some point because of changes in %c 0r %v -# %p/lib/%N/libDebugRobot.dylib 1.0.0 %n (>= 1.0-1) -# %p/lib/%N/libnpsimple.dylib 1.0.0 %n (>= 1.0-1) -# %p/lib/%N/libxlibrgb.dylib 1.0.0 %n (>= 1.7.11-1) -# %p/lib/%N/ipc/modules/libtestmodule.dylib 1.0.0 %n (>= 1.0-1) << SplitOff2: << - Package: %N-dev - Depends: %N-shlibs (= %v-%r), pkgconfig (>= 0.21-1) - Conflicts: %N2-dev - Replaces: %N2-dev + Package: %N2-dev +## Currently the symlink %p/lib/%N in this pkg would cause conflict with existing seamonkey. +## Intend as an upgrade strategy to first put this out w/o this symlink, +## and then, as soon as dependent pkgs have switched their deps, introduce the symlink +## at the next new version. +# Conflicts: %N-dev, %N-shlibs, librsvg2-%N, librsvg2-%N-dev, %N (<< 1.9.0-1) + Conflicts: %N-dev + Replaces: %N-dev + Depends: %N2-shlibs (= %v-%r), pkgconfig (>= 0.23-2) BuildDependsOnly: true Description: Seamonkey - development headers and libraries InstallScript: << #!/bin/sh -ev - mkdir -p %i/share/doc; ln -s %N-shlibs %i/share/doc/%n -## Put this here instead of the "Files", since the existence or not of the files -## depends on whether "--system-nspr" is enabled _ and the bulk of the info file -## should not have to change with variations in %c ! + mkdir -p %i/lib %i/share/doc ; ln -s %N2-shlibs %i/share/doc/%n if test -d %I/share/aclocal then mv %I/share/aclocal %i/share - fi + fi + V=`cut -f1 -d. <<<"%type_raw[ver]"` + # bring the whole %N-devel dir here, folding it into the main on _ and keep its name as a symlink + mv %I/lib/%N-devel-%type_raw[ver] %i/lib/%N-%type_raw[ver] + ln -fs %N-%type_raw[ver] %i/lib/%N-devel-%type_raw[ver] + mv %I/include %i + mv %I/share/idl %i/share + # make some symlinks for gfxtypes.h + ln -fs unstable/gfx_types.h %i/include/%N-%type_raw[ver]/gfxtypes.h + ln -fs ../../unstable/gfx_types.h %i/include/%N-%type_raw[ver]/stable/obsolete/gfxtypes.h + ln -fs gfx_types.idl %i/share/idl/%N-%type_raw[ver]/unstable/gfxtypes.idl + # fold the contents of the sdk subdir back into the main one + cd %i/lib/%N-%type_raw[ver]/sdk/lib + for f in *.dylib; do ln -fs ../../$f; done + for f in *.a; do mv $f ../..; ln -fs ../../$f; done + # make non-versioned symlinks +# ln -fs %N-$V %i/lib/%N # This one only later, when current seamonkey is phased out + ln -fs %N-%type_raw[ver]/unstable %i/share/idl/%N-$V + ln -fs %N-$V %i/share/idl/%N + ln -fs %N-%type_raw[ver]/unstable %i/include/%N-$V + ln -fs %N-$V %i/include/%N + # the following symlinks correspond to ones in the %N-devel dir, which got folded in the main one + cd %i/lib/%N-%type_raw[ver] + rm -fR bin idl include lib + ln -fs . bin + ln -fs %p/share/idl/%N idl + ln -fs %p/include/%N include + ln -fs sdk/lib lib + cd - << - Files: bin/%N-config include lib/pkgconfig share/idl +# no -config and no .pc files << Description: WWW, chat, mail, news, calendar, a-book, etc @@ -429,6 +575,21 @@ %N is an open-source web browser, designed for standards compliance, performance and portability. << +DescUsage: << +Dependent pkgs are probably assured of more stability w.r.t. +versions of %N if using only the subset in %p/lib/%N/sdk . + +No man or info pages; just launch seamonkey (or any component +_ the other components can be opened through its menus), +and use the help menus in its different windows. +Components be launched via their icons in KDE or GNOME, +or via the command "seamonkey [ -option ]" in any terminal window. +Use "seamonkey --help" to see the list of options. + +The calendar must be opened via "Events and Tasks" in Mail; +"seamonkey -calendar" doesn't work at the moment. +<< + DescPort: << GTK+2 build of the SeaMonkey browser for Mac OS X/X11. Compiled with built-in support for GNOME VFS2, including app launcher buttons. @@ -450,6 +611,11 @@ A bunch of warnings still to look at: warning: invalid access to non-static data member '...' of NULL object +Also: %p/lib/lib/seamonkey/pango.modules is probably not properly installed _ + and anyway, what do those 2 modules add to the existing pango ones? + If not (which I presume), is there a way to get seamonkey to use the existing ones, + and to omit this part of build (related to --enable-ctl?), w/o losing any functionality ?? + A couple of details: --enable-macos-target=10.4 (or: whatever tree it is put in) is needed because else it set to 10.4 on intel and to some old value on powerpc. --- seamonkey.patch DELETED --- --- NEW FILE: seamonkey.tbz --- (This appears to be a binary file; contents omitted.) ------------------------------------------------------------------------------ _______________________________________________ Fink-commits mailing list Fink-commits@lists.sourceforge.net http://news.gmane.org/gmane.os.apple.fink.cvs