diff options
author | Jeremy Messenger <mezz@FreeBSD.org> | 2005-08-28 08:00:00 +0000 |
---|---|---|
committer | Jeremy Messenger <mezz@FreeBSD.org> | 2005-08-28 08:00:00 +0000 |
commit | 48c35e710c5685316d03dd9afd6b31e4702f77ae (patch) | |
tree | 866a3644ad8f1c9c169c26a70429d24bfa741c37 /mail/thunderbird-esr/Makefile | |
parent | f0cde5f1b60cfb065088c1f0915b2b6de4264968 (diff) |
- Repo copy a lot of changes from www/firefox/Makefile. The best part is that
before it would install in the strange place like this.
${X11BASE}/lib/thunderbird/include/thunderbird-1.0.6
Now it will install in the correct place like firefox:
${X11BASE}/include/thunderbird
Also, get *.pc and idl files install.
- Didn't copy following from www/firefox/Makefile:
* plugins stuff, because it's known cause the stability problem like
crash.
* EXTRA_SCRIPTS=${PORTNAME}.rb, thunderbird doesn't need it.
- Make portlint happier.
- Add Java 5 plugins support. [1]
- Use system's libm (/usr/src/lib/msun), nss, nspr and etc. Also, do
not extract those. Better explain, use external dependencies. [1]
- Teach firefox-config and *.pc files for nspr that will making other
third apps to buildable like epiphany, vlc-devel's mozilla plugins
and etc. Have been tested with full GNOME 2.11.x build too.
- Add four patches: [1]
patch-bugzilla243151:
https://bugzilla.mozilla.org/show_bug.cgi?id=243151
patch-jsosdep:
Fix the FreeBSD define
patch-oji-threads:
64-bit wide pthread_t
patch-xptcinvoke_x86_64_linux:
Setting a possibly uninitialized variable (value).
- Fix a crash that can occur using gtk+-2.7 and possibly 2.6.10 when closing
windows. https://bugzilla.mozilla.org/show_bug.cgi?id=3002 [2]
- Get rid of FIREFOX and FF_VER, best to use PORTNAME and PORTVERSION
varibles that are arleady exist and lesser complicate.
- Change all hardcore of 'thunderbird' to PORTNAME.
- Change a manual loop for patch all.js to find(1), so we can sleep
on it.
Submitted by: mi [1], marcus [2]
Reviewed by: my team, FreeBSD GNOME Team.
Notes
Notes:
svn path=/head/; revision=141037
Diffstat (limited to 'mail/thunderbird-esr/Makefile')
-rw-r--r-- | mail/thunderbird-esr/Makefile | 257 |
1 files changed, 141 insertions, 116 deletions
diff --git a/mail/thunderbird-esr/Makefile b/mail/thunderbird-esr/Makefile index 6ad4933af5f7..22d733ce1a10 100644 --- a/mail/thunderbird-esr/Makefile +++ b/mail/thunderbird-esr/Makefile @@ -3,50 +3,67 @@ # Whom: Joe Marcus Clarke <marcus@FreeBSD.org> # # $FreeBSD$ +# $MCom: ports-stable/mail/thunderbird/Makefile,v 1.11 2005/08/20 20:56:53 mezz Exp $ # PORTNAME= thunderbird PORTVERSION= 1.0.6 +PORTREVISION= 1 CATEGORIES= mail MASTER_SITES= ${MASTER_SITE_MOZILLA} -MASTER_SITE_SUBDIR= thunderbird/releases/${PORTVERSION}/source +MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTVERSION}/source DISTNAME= ${PORTNAME}-${PORTVERSION}-source MAINTAINER= gnome@FreeBSD.org COMMENT= Mozilla Thunderbird is standalone mail and news that stands above -LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \ - png.5:${PORTSDIR}/graphics/png +LIB_DEPENDS= jpeg:${PORTSDIR}/graphics/jpeg \ + nspr4:${PORTSDIR}/devel/nspr \ + png:${PORTSDIR}/graphics/png \ + nss3:${PORTSDIR}/security/nss BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip -USE_X_PREFIX= yes - -USE_BZIP2= yes -USE_GMAKE= yes -USE_ICONV= yes -USE_PERL5= yes +ALL_TARGET= default +CONFIGURE_ENV= LOCALBASE=${LOCALBASE} +FAKEDIR= ${WRKDIR}/fake USE_REINPLACE= yes HAS_CONFIGURE= yes -NO_MTREE= yes +ESD_LIB= libesd.so.2 PLIST= ${WRKDIR}/plist -ALL_TARGET= default +USE_BZIP2= yes +USE_GMAKE= yes USE_GNOME= gtk20 libidl -CONFIGURE_ENV= LOCALBASE=${LOCALBASE} +USE_ICONV= yes +USE_PERL5_BUILD=yes +USE_X_PREFIX= yes +WRKSRC= ${WRKDIR}/mozilla PKGINSTALL= ${WRKDIR}/pkg-install PKGDEINSTALL= ${WRKDIR}/pkg-deinstall -FAKEDIR= ${WRKDIR}/fake -NO_MTREE= yes -WRKSRC= ${WRKDIR}/mozilla -LOCAL_SUBDIR= lib/${PORTNAME} -LOCAL_PREFIX= ${PREFIX}/${LOCAL_SUBDIR} -ESD_LIB= libesd.so.2 - -THUNDERBIRD= ${PORTNAME} -THUNDERBIRD_ICON= ${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}/chrome/icons/default/default.xpm -MOZ_PIS_SCRIPTS= S50cleanhome -SCRIPTS_DIR= ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION} -MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d +EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude */CVS/* \ + --exclude */macbuild/*\ + --exclude */nsprpub/*\ + --exclude */package/* \ + --exclude */zlib/ \ + --exclude mozilla/modules/libimg/png \ + --exclude mozilla/jpeg \ + --exclude mozilla/dbm \ + --exclude mozilla/js/src/fdlibm \ + --exclude mozilla/security/nss \ + --exclude mozilla/gc/boehm \ + --exclude .cvsignore \ + --exclude makefile.win \ + --exclude MANIFEST + +PORTNAME_ICON= ${PREFIX}/lib/${PORTNAME}/chrome/icons/default/default.xpm + +PKGCONFIG_FILES=${PORTNAME}-gtkmozembed ${PORTNAME}-js ${PORTNAME}-xpcom \ + ${PORTNAME}-plugin + +SYSTEM_PREFS= ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults/pref/${PORTNAME}.js +SCRIPTS_DIR= ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION} +MOZ_PIS_SCRIPTS=S50cleanhome +MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d OPTIONS= DEBUG "Build a debugging image" off \ LOGGING "Enable additional log messages" off \ @@ -55,14 +72,6 @@ OPTIONS= DEBUG "Build a debugging image" off \ .include <bsd.port.pre.mk> -.if ${ARCH} == "alpha" && ${OSVERSION} < 500035 -IGNORE= "core dumps at runtime" -.endif # ${ARCH} == "alpha" && ${OSVERSION} < 500035 - -.if ${PERL_LEVEL} < 500600 -EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl -.endif # ${PERL_LEVEL} < 500600 - .if defined(WITH_DEBUG) WITH_LOGGING= yes CONFIGURE_ENV+= WITH_DEBUG=yes @@ -90,62 +99,68 @@ CFLAGS+= ${PTHREAD_CFLAGS} LDFLAGS+= -L${X11BASE}/lib LIBS+= ${PTHREAD_LIBS} +.if ${ARCH} == "alpha" && ${OSVERSION} < 500035 +IGNORE= core dumps at runtime +.endif # ${ARCH} == "alpha" && ${OSVERSION} < 500035 + +.if ${PERL_LEVEL} < 500600 +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl +.endif # ${PERL_LEVEL} < 500600 + pre-extract:: @${ECHO_MSG} @${ECHO_MSG} "Extracting source (this takes a while) ..." @${ECHO_MSG} post-extract:: -# FAKEDIR is here so that nsinstall will install under FAKEDIR, not -# under PREFIX. See pre-install and do-install for details. - @${SED} -e 's|@CPPFLAGS@|${CPPFLAGS}|' \ - -e 's|@CFLAGS@|${CFLAGS}|' \ - -e 's|@LDFLAGS@|${LDFLAGS}|' \ - -e 's|@LIBS@|${LIBS}|' \ - -e 's|@X11BASE@|${X11BASE}|' \ - -e 's|@LOCALBASE@|${LOCALBASE}|' \ - -e 's|@PREFIX@|${FAKEDIR}/lib/thunderbird|' \ - -e 's|@PERL@|${PERL5}|' \ + @${SED} -e 's|@CPPFLAGS@|${CPPFLAGS}|' \ + -e 's|@CFLAGS@|${CFLAGS}|' \ + -e 's|@LDFLAGS@|${LDFLAGS}|' \ + -e 's|@LIBS@|${LIBS}|' \ + -e 's|@X11BASE@|${X11BASE}|' \ + -e 's|@LOCALBASE@|${LOCALBASE}|' \ + -e 's|@FAKEDIR@|${FAKEDIR}|' \ + -e 's|@PERL@|${PERL5}|' \ <${FILESDIR}/mozconfig.in >${WRKSRC}/.mozconfig + @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|' \ + <${FILESDIR}/${PORTNAME}.desktop.in >${WRKDIR}/${PORTNAME}.desktop post-patch: + @${REINPLACE_CMD} -e 's/%{idldir}/%idldir%/g ; \ + s|"%FULL_NSPR_CFLAGS%"|`nspr-config --cflags`|g ; \ + s|"%FULL_NSPR_LIBS%"|`nspr-config --libs`|g' \ + ${WRKSRC}/build/unix/mozilla-config.in + @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${PORTNAME}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} + @${SED} -e 's|%%MOZDIR%%|${PREFIX}/lib/${PORTNAME}|g' \ + < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL} +.for ii in ${MOZ_PIS_SCRIPTS} + @${SED} -e 's|%%MOZILLA%%|${PORTNAME}|g ; \ + s|%%PREFIX%%|${PREFIX}|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${FILESDIR}/moz_pis_${ii} > ${WRKDIR}/moz_pis_${ii} +.endfor @${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \ ${WRKSRC}/build/unix/run-mozilla.sh @${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g ; \ s|-lpthread|${PTHREAD_LIBS}|g' \ - ${WRKSRC}/configure \ - ${WRKSRC}/nsprpub/configure + ${WRKSRC}/configure @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \ - ${WRKSRC}/nsprpub/configure \ ${WRKSRC}/security/coreconf/FreeBSD.mk \ ${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \ ${WRKSRC}/js/src/Makefile.in - @${REINPLACE_CMD} -E -e 's|libesd\.so\.[0-9]+|${ESD_LIB}|g' \ + @${REINPLACE_CMD} -e 's|libesd\.so\.\d+|${ESD_LIB}|g' \ ${WRKSRC}/widget/src/gtk2/nsSound.cpp - @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.no|g' \ + @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.so|g' \ ${WRKSRC}/gfx/src/gtk/nsDeviceContextSpecG.cpp - @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \ - /dom.disable_window_open_feature.toolbar/s/false/true/' \ - ${WRKSRC}/modules/libpref/src/init/all.js \ - ${WRKSRC}/extensions/sroaming/resources/content/prefs/all.js \ - ${WRKSRC}/modules/libpref/src/init/all.js - @${REINPLACE_CMD} -e 's|<iconv.h>|\"${LOCALBASE}/include/iconv.h\"|g' \ - ${WRKSRC}/configure \ - ${WRKSRC}/intl/uconv/native/nsNativeUConvService.cpp \ - ${WRKSRC}/xpcom/io/nsNativeCharsetUtils.cpp - @${SED} -e 's|%%MOZDIR%%|${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}|g ; \ - s|%%X11BASE%%|${X11BASE}|g' \ - < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} - @${SED} -e 's|%%MOZDIR%%|${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}|g' \ - < ${MASTERDIR}/pkg-deinstall.in > ${PKGDEINSTALL} - @${SED} -e 's|@THUNDERBIRD_ICON@|${THUNDERBIRD_ICON}|' \ - < ${FILESDIR}/thunderbird.desktop.in > ${WRKDIR}/thunderbird.desktop -.for ii in ${MOZ_PIS_SCRIPTS} - @${SED} -e 's|%%MOZILLA%%|${THUNDERBIRD}|g ; \ - s|%%PREFIX%%|${PREFIX}|g ; \ - s|%%X11BASE%%|${X11BASE}|g' \ - < ${FILESDIR}/moz_pis_${ii} > ${WRKDIR}/moz_pis_${ii} -.endfor + @${REINPLACE_CMD} -e 's|/usr/local/netscape|${LOCALBASE}|g' \ + -e 's|/usr/local/lib/netscape|${LOCALBASE}/lib|g' \ + ${WRKSRC}/xpcom/*/SpecialSystemDirectory.cpp + @${FIND} ${WRKSRC} -name all.js | ${XARGS} ${REINPLACE_CMD} -e \ + '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \ + /dom.disable_window_open_feature.toolbar/s/false/true/' pre-configure: @if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \ @@ -153,67 +168,77 @@ pre-configure: ${FALSE}; \ fi -post-build: -# XXX This works around an install problem that is triggered when -# toolkit/profile/src is built after profile/src. - @${TOUCH} -f ${WRKSRC}/profile/build/libprofile.so - pre-install: -# Overview: the program installs itself in FAKEDIR, then a list is made of the -# files and directories in there. This is the PLIST (packing list) for the -# package, replacing the traditional pkg-plist file. @${RM} -rf ${FAKEDIR} ${PLIST} @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \ - Makefile ${MAKE_ARGS} install + Makefile ${MAKE_ARGS} ${INSTALL_TARGET} @${MKDIR} ${SCRIPTS_DIR} @${MKDIR} ${MOZ_PIS_DIR} -.for ii in mac win -.for jj in / .jar - @${RM} -rf ${FAKEDIR}/lib/${PORTNAME}/lib/${PORTNAME}-${PORTVERSION}/chrome/en-${ii}${jj} -.endfor -.endfor - @${RM} -fr ${FAKEDIR}/share/idl ${FAKEDIR}/include -.for ii in thunderbird thunderbird-config - @${ECHO_CMD} bin/${ii} >> ${PLIST} -.endfor + ${ECHO_CMD} 'share/applications/${PORTNAME}.desktop' >> ${PLIST} + ${REINPLACE_CMD} -e 's|${FAKEDIR}|${PREFIX}|g; \ + s|${PORTNAME}-${PORTVERSION}|${PORTNAME}|' \ + ${FAKEDIR}/bin/${PORTNAME} \ + ${FAKEDIR}/bin/${PORTNAME}-config + ${ECHO_CMD} bin/${PORTNAME} >> ${PLIST} + ${ECHO_CMD} bin/${PORTNAME}-config >> ${PLIST} .for ii in ${MOZ_PIS_SCRIPTS} ${INSTALL_SCRIPT} ${WRKDIR}/moz_pis_${ii} ${MOZ_PIS_DIR}/${ii} .endfor - @${MKDIR} ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults + @${MKDIR} ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults @${CP} -RL ${WRKSRC}/dist/bin/defaults/isp \ - ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults - @cd ${FAKEDIR} && ${FIND} * ! -type d | ${SORT} >> ${PLIST}; \ - ${FIND} * -type d -empty | ${SORT} | ${SED} -e \ - "s:^:@exec ${MKDIR} %D/:" -e "s:$$: || true:" >> ${PLIST}; \ - ${FIND} * -type d -empty | ${SORT} -r | ${SED} -e \ - "s:^:@unexec ${RMDIR} %D/:" -e "s:$$: || true:" >> ${PLIST}; \ - ${FIND} * -type d ! -empty | ${SORT} -r | ${SED} -e "s:^:@dirrm :" | \ - ${GREP} / >> ${PLIST} - ${ECHO_CMD} 'share/applications/thunderbird.desktop' >> ${PLIST} - ${ECHO_CMD} '@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}' >> ${PLIST} + ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION}/defaults + cd ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION} && ${FIND} -s * -type f -o -type l | \ + ${SED} -e 's|^|lib/${PORTNAME}/|' >> ${PLIST} \ + && ${FIND} -d * -type d | \ + ${SED} -e 's|^|@dirrm lib/${PORTNAME}/|' >> ${PLIST} + ${ECHO_CMD} @dirrm lib/${PORTNAME} >> ${PLIST} + for pcfile in ${PKGCONFIG_FILES}; do \ + ${REINPLACE_CMD} -e 's|${PORTNAME}-${PORTVERSION}|${PORTNAME}|g; \ + s|${FAKEDIR}|${PREFIX}|g ; \ + s|${PORTNAME}-nspr = ${PORTVERSION}|nspr >= 4.6.0|g' \ + ${FAKEDIR}/lib/pkgconfig/$${pcfile}.pc ; \ + ${ECHO_CMD} libdata/pkgconfig/$${pcfile}.pc >> ${PLIST} ; \ + done + cd ${FAKEDIR}/include/${PORTNAME}-${PORTVERSION} && ${FIND} -s * -type f -o -type l | \ + ${SED} -e 's|^|include/${PORTNAME}/|' >> ${PLIST} \ + && ${FIND} -d * -type d | \ + ${SED} -e 's|^|@dirrm include/${PORTNAME}/|' >> ${PLIST} + ${ECHO_CMD} @dirrm include/${PORTNAME} >> ${PLIST} + cd ${FAKEDIR}/share/idl/${PORTNAME}-${PORTVERSION} \ + && ${FIND} -s * -type f -o -type l | \ + ${SED} -e 's:^:share/idl/${PORTNAME}/:' >> ${PLIST} \ + && ${FIND} -d * -type d | \ + ${SED} -e 's:^:@dirrm share/idl/${PORTNAME}/:' >> ${PLIST} + ${ECHO_CMD} "@dirrm share/idl/${PORTNAME}" >> ${PLIST} + ${ECHO_CMD} "@unexec ${RMDIR} %D/share/idl 2>/dev/null || true" >> ${PLIST} do-install: -# This is the actual installation. First, the contents of FAKEDIR are -# just copied to PREFIX. - cd ${FAKEDIR} && ${FIND} * | ${CPIO} -dmp --quiet ${PREFIX} + ${MKDIR} ${PREFIX}/lib/${PORTNAME} + ${CHMOD} 755 ${PREFIX}/lib/${PORTNAME} + ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME} ${PREFIX}/bin + ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME}-config ${PREFIX}/bin + for pcfile in ${PKGCONFIG_FILES}; do \ + ${INSTALL_DATA} ${FAKEDIR}/lib/pkgconfig/$${pcfile}.pc \ + ${PREFIX}/libdata/pkgconfig/$${pcfile}.pc ; \ + done + -${RM} -fr ${PREFIX}/include/${PORTNAME} + ${MKDIR} ${PREFIX}/include/${PORTNAME} + ${CHMOD} 755 ${PREFIX}/include/${PORTNAME} + cd ${FAKEDIR}/include/${PORTNAME}-${PORTVERSION} && ${FIND} . | \ + ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/include/${PORTNAME} + cd ${FAKEDIR}/lib/${PORTNAME}-${PORTVERSION} && ${FIND} . | \ + ${CPIO} -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib/${PORTNAME} + ${MKDIR} ${PREFIX}/share/idl/${PORTNAME} + cd ${FAKEDIR}/share/idl/${PORTNAME}-${PORTVERSION} && ${FIND} . | \ + ${CPIO} -pdm -L -R ${SHAREOWN}:${SHAREGRP} ${PREFIX}/share/idl/${PORTNAME} post-install: +.if !defined(PACKAGE_BUILDING) @${SETENV} PKG_PREFIX=${PREFIX} ${SH} ${PKGINSTALL} ${PKGNAME} POST-INSTALL - ${MKDIR} ${PREFIX}/bin - ${RM} -f ${PREFIX}/bin/thunderbird - ${LN} -s ${LOCAL_PREFIX}/bin/thunderbird \ - ${PREFIX}/bin/thunderbird - ${RM} -f ${PREFIX}/bin/thunderbird-config - ${LN} -s ${LOCAL_PREFIX}/bin/thunderbird-config \ - ${PREFIX}/bin/thunderbird-config - ${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g' \ - ${LOCAL_PREFIX}/bin/thunderbird \ - ${LOCAL_PREFIX}/bin/thunderbird-config - ${FIND} ${LOCAL_PREFIX}/lib/pkgconfig -type f | ${XARGS} \ - ${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g' +.endif ${MKDIR} ${PREFIX}/share/applications - ${INSTALL_DATA} ${WRKDIR}/thunderbird.desktop ${PREFIX}/share/applications - ${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/thunderbird/default.xpm \ - ${LOCAL_PREFIX}/lib/${PORTNAME}-${PORTVERSION}/chrome/icons/default/default.xpm + ${INSTALL_DATA} ${WRKDIR}/${PORTNAME}.desktop ${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/${PORTNAME}/default.xpm \ + ${PREFIX}/lib/${PORTNAME}/chrome/icons/default/default.xpm .include <bsd.port.post.mk> |