diff options
Diffstat (limited to 'mail/thunderbird/Makefile')
-rw-r--r-- | mail/thunderbird/Makefile | 212 |
1 files changed, 212 insertions, 0 deletions
diff --git a/mail/thunderbird/Makefile b/mail/thunderbird/Makefile new file mode 100644 index 000000000..d159eb2b9 --- /dev/null +++ b/mail/thunderbird/Makefile @@ -0,0 +1,212 @@ +# New ports collection makefile for: mozilla-thunderbird +# Date created: 4 September 2003 +# Whom: Joe Marcus Clarke <marcus@FreeBSD.org> +# +# $FreeBSD$ +# + +PORTNAME= thunderbird +PORTVERSION= 1.1.a1 +CATEGORIES= mail +MASTER_SITES= ${MASTER_SITE_MOZILLA} +MASTER_SITE_SUBDIR= thunderbird/releases/1.1a1/source +DISTNAME= ${PORTNAME}-1.1a1-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 \ + Xft.2:${PORTSDIR}/x11-fonts/libXft +BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip + +USE_X_PREFIX= yes + +USE_GCC= 3.4 +USE_BZIP2= yes +USE_GMAKE= yes +USE_ICONV= yes +USE_PERL5= yes +USE_REINPLACE= yes +HAS_CONFIGURE= yes +NO_MTREE= yes +PLIST= ${WRKDIR}/plist +ALL_TARGET= default +USE_GNOME= gtk20 libidl +CONFIGURE_ENV= LOCALBASE=${LOCALBASE} +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_SRC= ${LOCAL_PREFIX}/lib/thunderbird-1.0+/icons/default.xpm +THUNDERBIRD_ICON= ${PORTNAME}.xpm +MOZ_PIS_SCRIPTS= S50cleanhome +SCRIPTS_DIR= ${FAKEDIR}/${LOCAL_SUBDIR}/lib/${PORTNAME}-${PORTVERSION} +MOZ_PIS_DIR= ${SCRIPTS_DIR}/init.d + +OPTIONS= DEBUG "Build a debugging image" off \ + LOGGING "Enable additional log messages" off \ + OPTIMIZED_CFLAGS "Enable some additional optimizations" 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 +.endif # defined(WITH_DEBUG) + +.if defined(WITH_OPTIMIZED_CFLAGS) +CFLAGS:= -O2 -fno-strict-aliasing ${CFLAGS:N-O*} +.else +CFLAGS:= -O ${CFLAGS:N-O*:N-m*} +CONFIGURE_ENV+= WITH_OPTIMIZE=-O +.endif # defined(WITH_OPTIMIZED_CFLAGS) + +.if defined(WITH_LOGGING) +CONFIGURE_ENV+= WITH_LOGGING=yes +.endif # defined(WITH_LOGGING) + +CPPFLAGS+= -I${X11BASE}/include +CFLAGS+= ${PTHREAD_CFLAGS} +LDFLAGS+= -L${X11BASE}/lib +LIBS+= ${PTHREAD_LIBS} + +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}|' \ + <${FILESDIR}/mozconfig.in >${WRKSRC}/.mozconfig + +post-patch: + @${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 + @${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' \ + ${WRKSRC}/widget/src/gtk2/nsSound.cpp + @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.no|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}-1.0+|g ; \ + s|%%X11BASE%%|${X11BASE}|g' \ + < ${MASTERDIR}/pkg-install.in > ${PKGINSTALL} + @${SED} -e 's|%%MOZDIR%%|${LOCAL_PREFIX}/lib/${PORTNAME}-1.0+|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 + +pre-configure: + @if [ -n "`${PKG_INFO} -xI '^bind[0-9]*-base-[0-9]'`" ]; then \ + ${ECHO_CMD} "${PKGNAME}: bind installed with PORT_REPLACES_BASE_BIND causes build problems."; \ + ${FALSE}; \ + fi + +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 + @${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 +.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 + @${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} 'share/pixmaps/${THUNDERBIRD_ICON}' >> ${PLIST} + ${ECHO_CMD} '@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}' >> ${PLIST} + ${ECHO_CMD} '@unexec ${RMDIR} %D/share/pixmaps 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} + +post-install: + @${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' + ${MKDIR} ${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKDIR}/thunderbird.desktop ${PREFIX}/share/applications + ${INSTALL_DATA} ${WRKSRC}/other-licenses/branding/thunderbird/default.xpm ${THUNDERBIRD_ICON_SRC} + ${LN} -sf ${THUNDERBIRD_ICON_SRC} ${PREFIX}/share/pixmaps/${THUNDERBIRD_ICON} + +.include <bsd.port.post.mk> |