Package: seamonkey Version: 1.0.5 Revision: 4 Source-MD5: a1b98cd4d2d0f71d50406f8cd3885a5e Source: mirror:custom:mozilla.org/%n/releases/%v/%n-%v.source.tar.bz2 CustomMirror: << Primary: http://ftp.mozilla.org/pub/ nam-US: ftp://ftp.tux.org/pub/net/mozilla/ eur-DE: ftp://ftp.fh-wolfenbuettel.de/pub/www/mozilla/ asi-JP: http://www.t.ring.gr.jp/pub/net/www/mozilla/ << SourceDirectory: mozilla Depends: << %N-shlibs (= %v-%r), atk1-shlibs (>=1.12.2-1), glib2-shlibs (>= 2.12.0-1), gtk+2-shlibs (>= 2.6.10-1), libgettext3-shlibs, libiconv, pango1-xft2-shlibs (>= 1.8.0-1), x11 << BuildDepends: << atk1 (>=1.12.2-1), glib2-dev (>= 2.12.0-1), gtk+2-dev (>= 2.6.10-1), libgettext3-dev, libiconv-dev, libidl2 (>= 0.8.7-1), libjpeg, libpng3 (>= 1.2.8-1), orbit2, pango1-xft2-dev (>= 1.8.0-1), xft2-dev, x11-dev, pkgconfig << GCC: 4.0 NoSetLDFLAGS: true SetLIBRARY_PATH: %p/lib NoSetCPPFLAGS: true SetCPPFLAGS: -I%p/include/cairo PatchScript: << #!/bin/sh -ev sed 's|@PREFIX@|%p|g' <%a/%n.patch | patch -p1 perl -pi -e 's,\@executable_path,%p/lib/%N,' security/coreconf/Darwin.mk ### fix for automake1.9 stricter parsing. Remove when moving to gecko1.8.1 (seamonkey1.1) or higher perl -pi -e 's/(AC_DEFUN\()([^[,]+)(,)/\1\[\2]\3/' {{build,directory/c-sdk/config}/autoconf,nsprpub/config}/nspr.m4 ### Needed by programs linking against gecko (eg yelp) using pkg-config perl -pi -e 's,lxpcom,$& -lxpcom_core,' build/unix/mozilla-{config,xpcom.pc}.in #### MISSING INCLUDES perl -pi -e 's,NSSP,P,; s,nss,,' security/nss/lib/pki1/oiddata.h ## The following is "for safety" : to avoid "implicit declaration" warnings : perl -pi -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 #### MISC ## 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 ??) ## 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 -e 's,^MODULE\s,OS_LIBS += -lresolv\n$&,' netwerk/build/Makefile.in #### ### Finally, ad-hoc correction of some install_names : perl -pi -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 -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 ### New with 1.0.1 : # 1) till this version, the zapping of '-DXP_MACCOSX' in the patch file (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 -e 's,endif \# WINNT,$&\nEXTRA_DSO_LDOPTS += -F/System/Library/Frameworks -framework CoreFoundation,' xpcom/build/Makefile.in # 2) Non-portable use of sed (not even useable with GNU sed !) perl -pi -e 's,sed \-E,/usr/bin/$&,' xpcom/typelib/xpidl/Makefile.in ## To fix EXC_BAD_INSTRUCTION on macintel (XP_MACOSX is zapped in the patch file): perl -pi -e 's,XP_MACOSX,__APPLE__,' xpcom/reflect/xptcall/src/md/unix/xptc{stubs_unixish_x86.cpp,_platforms_unixish_x86.h} ## linking nspr with g++ when using --enable-cplus perl -pi -e 's,cplus$,$&\n\tMKSHLIB = \$(CCC) \$(DSO_LDOPTS) -o \$@,' nsprpub/pr/src/Makefile.in ## Uncomment to check builddeps: # perl -pi -e 's,CPPFLAGS%%,CPPFLAGS -H%%,' configure << CompileScript: << #!/bin/sh -ev export CPATH=%p/include env ac_cv_func_res_ninit=yes MOZ_ENABLE_COREXFONTS=1 ./configure %c ## 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 above comment "--enable-javaxpcom (needs xulrunner ?)") #ln -s ../../../../toolkit/xre/nsXULAppAPI.h extensions/java/xpcom/src make -w << InstallScript: << #!/bin/sh -ev make install DESTDIR=%d # 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 # Install NSS headers. /bin/cp -R -L dist/public/nss %i/include/%n/nss # 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 # 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 # 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-donottouch # in order not to conflict with mozilla, to compare with the original %i/bin/%N install -c -m 755 fink/mozilla %i/bin/moz-donottouch install -c -m 755 fink/update-%n-chrome %i/sbin install -c -m 644 fink/chrome.d/* %i/var/lib/%n/chrome.d/ # Move config file into %p/etc. 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 # Install gnome .desktop files. install -d -m 755 %i/share/applications install -c -m 644 fink/applications/* %i/share/applications/ # Install desktop pixmaps 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 ### And all others remain in ??? # ls -l %p/bld/mozilla-1.7.11-5/mozilla/dist/bin/chrome/icons/default # total 140 # Install a symlink to the docfiles mkdir -p %i/share/doc; ln -s %n-shlibs %i/share/doc/%n # rename nspr.m4 to avoid clashes with other gecko installs /bin/mv %i/share/aclocal/nspr.m4 %i/share/aclocal/nspr-%n.m4 << ConfFiles: %p/etc/%n/prefs.js PostInstScript: << # Empty files are now handled fine by dpkg, so remove the touches when certain it is safe --Hanspeter 2006-09-19 # touch %p/lib/%n/chrome/user-skins.rdf # touch %p/lib/%n/chrome/user-locales.rdf # if [ configure = "$1" ]; then update-%n-chrome || true fi << PreRmScript: << # always remove these files (not just on purge) since they're # recreated by PostInstScript anyway and are not used for anything else. # plus change it from PostRmScript to PreRmSscript to match w/ Firefox /bin/rm -f %p/lib/%n/chrome/*.rdf /bin/rm -f %p/lib/%n/components/*.dat << SplitOff: << Package: %N-shlibs Depends: << atk1-shlibs (>=1.12.2-1), gconf2-shlibs, glib2-shlibs (>= 2.12.0-1), gnome-vfs2-unified-shlibs, gtk+2-shlibs (>= 2.6.10-1), libbonobo2-shlibs, libgettext3-shlibs, libiconv, libjpeg-shlibs, libpng3-shlibs (>= 1.2.8-1), orbit2-shlibs, pango1-xft2-shlibs, x11-shlibs << DocFiles: LEGAL 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 ## 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... ## not really necessary to add dylibs with a script They're stable from minor ver to minor rev as long as %c is not changed, so no need to have a script for installing the dylibs. Remove all the commented out InstallScript above for %N-shlibs when moving to seamonkey1.1 or higher. --Hanspeter 2006-09-18 Files: << lib/%N/lib*.dylib lib/%N/chrome lib/%N/components lib/%N/greprefs lib/%N/ipc lib/%N/plugins lib/%N/res << # 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 omit them. Shlibs: << %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/libnspr4.dylib 1.0.0 %n (>= 1.0-1) %p/lib/%N/libnss3.dylib 1.0.0 %n (>= 1.0-1) %p/lib/%N/libplc4.dylib 1.0.0 %n (>= 1.0-1) %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/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) << ### list of dylibs that have disappeared at some point because of changes in %c. # %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) seems to have disappeared .. ? Yes, after the switch from Gecko-1.7 to Gecko-1.8, so it never existed in seamonkey. # %p/lib/%N/ipc/modules/libtestmodule.dylib 1.0.0 %n (>= 1.0-1) << SplitOff2: << Package: %N-dev Depends: << %N-shlibs (= %v-%r), glib2-shlibs (>= 2.12.0-1), libgettext3-shlibs, libiconv, libidl2-shlibs (>= 0.8.7-1) << ## Removed Conflicts/Replaces because nspr.m4 is now nspr-%n.m4 BuildDependsOnly: true Description: SeaMonkey - development headers and libraries InstallScript: mkdir -p %i/share/doc; ln -s %N-shlibs %i/share/doc/%n Files: << bin/%N-config include lib/pkgconfig lib/%N/xp* share/aclocal share/idl << << Description: WWW, chat, mail, news, calendar, a-book, etc DescDetail: << %N is an open-source web browser, designed for standards compliance, performance and portability. << 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. ORBit (orbit2, not just libidl2) is required to support the GNOME system. Can probably remove dep on libidl2. The whole shlibs stuff is gratuitous: anyway the src doesn' version shared libs for darwin... Have no time now to patch that (it is not a single place to fix...) Adding (in patch) %p/lib/%N/components to DYLD_LIBRARY_PATH _ else links with qt3's libeditor... (then added also plugins and ipc/modules, by analogy). And then %p/lib, to make sure eg libcrypto comes from %p and not from /usr. And then /usr/X11R6/lib between the latter 2, to make sure libfreetype.6.dylib comes from there.. Changed PostRmScript that removes registration (regxpcom and regchrome) files to PreRmScript since those files are not used by anything outside %N-browser. Furthermore, they're always erased now, not just on 'purge', which is the more proper method. --Hanspeter 2006-09-15 ## A bunch of warnings still to look at: warning: invalid access to non-static data member '...' of NULL object << DescPackaging: << After original packaging and porting of mozilla by msek Simpler _ even for user _ to have just %N, %N-dev and %N-shlibs << License: OSI-Approved Maintainer: The Gnome Core Team Homepage: http://www.mozilla.org/projects/seamonkey