diff options
author | ahze <ahze@FreeBSD.org> | 2005-11-30 05:12:28 +0800 |
---|---|---|
committer | ahze <ahze@FreeBSD.org> | 2005-11-30 05:12:28 +0800 |
commit | cf3e3c4ca85b04aa2fd05adbbbb61c279ecd8e52 (patch) | |
tree | 636be11a2256fce8fc7906e936b8c0b6270b2f86 /www/firefox/Makefile | |
parent | e749e2199ee9f293c55bd59924f3870e0d15efdf (diff) | |
download | freebsd-ports-gnome-cf3e3c4ca85b04aa2fd05adbbbb61c279ecd8e52.tar.gz freebsd-ports-gnome-cf3e3c4ca85b04aa2fd05adbbbb61c279ecd8e52.tar.zst freebsd-ports-gnome-cf3e3c4ca85b04aa2fd05adbbbb61c279ecd8e52.zip |
- Update firefox to 1.5
- Add Makefile.common
o A new build/install system for gecko ports, Makefile.common
includes many generic routines and common tasks.
o Fix ld-run-path in all gecko's by using -Wl,-rpath,${moz_libdir}
thus removing the need to have a startup script for ports that
depend on gecko. [2]
o Use system libm, nss, nspr in all gecko ports
- Add bsd.gecko.mk
o This is the predecessor to WITH_MOZILLA=[mozilla|firefox|...]
with a more robust way of detecting a gecko a end user wishs to
use.
o bsd.gecko.mk abstracts the selection of gecko-based backends. It
allows users and porters to support any available gecko backend
without needing to build many conditional tests. ${USE_GECKO} is the
list of backends that your port can handle, and ${GECKO} is set by
bsd.gecko.mk to be the chosen backend. Users set ${WITH_GECKO} to the
list of gecko backends they want on their system.
Port Makefile example:
USE_GECKO=firefox mozilla seamonkey thunderbird
.include <bsd.port.pre.mk>
.include "${.CURDIR}/../../www/mozilla/bsd.gecko.mk"
End user example:
WITH_GECKO=seamonkey firefox
We highly recommend moving away from using WITH_MOZILLA and switching to
USE/WITH_GECKO.
PR: 89052 [2]
Submitted by: vs [2]
Obtained from: www/firefox
Thanks to: adamw, marcus, and mezz for ideas, bug squashing, and more
sajd from irc.freenode.org/#FreeBSD-Gnome for
pointing out many bugs
Diffstat (limited to 'www/firefox/Makefile')
-rw-r--r-- | www/firefox/Makefile | 281 |
1 files changed, 40 insertions, 241 deletions
diff --git a/www/firefox/Makefile b/www/firefox/Makefile index 98f662a80a43..7d0c9a0ece3b 100644 --- a/www/firefox/Makefile +++ b/www/firefox/Makefile @@ -3,126 +3,46 @@ # Whom: Alan Eldridge <alane@FreeBSD.org> # # $FreeBSD$ -# $MCom: ports-stable/www/firefox/Makefile,v 1.18 2005/08/20 21:53:54 mezz Exp $ +# $MCom: ports/www/firefox/Makefile,v 1.27 2005/11/28 19:28:49 ahze Exp $ # PORTNAME= firefox -PORTVERSION= 1.0.7 -PORTREVISION= 4 +DISTVERSION= 1.5 PORTEPOCH= 1 CATEGORIES= www MASTER_SITES= ${MASTER_SITE_MOZILLA} -MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTVERSION}/source -DISTNAME= ${PORTNAME}-${PORTVERSION}-source +MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${DISTVERSION}/source +DISTNAME= ${PORTNAME}-${DISTVERSION}-source MAINTAINER= gnome@FreeBSD.org COMMENT= Web browser based on the browser portion of Mozilla -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 +WANT_GNOME= yes ALL_TARGET= default CONFIGURE_ENV= LOCALBASE=${LOCALBASE} -FAKEDIR= ${WRKDIR}/fake USE_REINPLACE= yes HAS_CONFIGURE= yes -PLIST= ${WRKDIR}/plist -PLUGINSDIR= ${PREFIX}/lib/browser_plugins USE_BZIP2= yes USE_GMAKE= yes -USE_GNOME= gtk20 libidl gnomehier desktopfileutils -USE_ICONV= yes -USE_PERL5_BUILD=yes -USE_X_PREFIX= yes -WRKSRC= ${WRKDIR}/mozilla -PKGINSTALL= ${WRKDIR}/pkg-install -PKGDEINSTALL= ${WRKDIR}/pkg-deinstall -KRB5_HOME?= /usr - -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 +USE_GCC= 3.4+ -JPI_LIST?=\ - ${LOCALBASE}/jdk1.5.0/jre/plugin/${ARCH}/ns7/libjavaplugin_oji.so \ - ${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so +FIREFOX_ICON= ${MOZILLA}.xpm +FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/icons/default.xpm +MOZ_OPTIONS= --enable-application=browser \ + --enable-svg-renderer=cairo \ + --enable-system-cairo \ + --enable-official-branding \ + --enable-canvas -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 +SYSTEM_PREFS= ${FAKEDIR}/lib/${MOZILLA}/defaults/pref/firefox.js +MOZ_PIS_SCRIPTS= moz_pis_S50cleanhome -OPTIONS= DEBUG "Build a debugging image" off \ - LOGGING "Enable additional log messages" off \ - OPTIMIZED_CFLAGS "Enable some additional optimizations" off \ - XFT "Enable support for anti-aliased fonts" on \ - SMB "Enable smb:// URI support using gnomevfs" off \ - NEWTAB "Open external links in a new tab" on -# CJK "Enable CJK font family support" off +OPTIONS= NEWTAB "Open external links in a new tab" on \ + SMB "Enable smb:// URI support using gnomevfs" off .include <bsd.port.pre.mk> - -# Enable CJK Font Familyname support -#.if defined(WITH_CJK) -#PATCH_SITES+= http://bbs.ilc.edu.tw/~chinsan/ \ -# http://bsdchat.com/dist/firefly-cjk-patchset/ \ -# ftp://local-distfiles.freebsd.org.cn/pub/china-ports/hamigua/ -#PATCHFILES+= mozilla-1.7.10-cjkfamilyname-20050731.patch.gz -#PATCH_DIST_STRIP+= -p1 -#.endif - -.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) - -.if defined(WITHOUT_XFT) -CONFIGURE_ENV+= WITHOUT_XFT=yes -.else -LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/libXft -.endif # !defined(WITHOUT_XFT) - -.if defined(WITH_SMB) -USE_GNOME+= gnomevfs2 -CONFIGURE_ENV+= WITH_SMB=yes -.endif # defined(WITH_SMB) - -CPPFLAGS+= -I${X11BASE}/include -I${LOCALBASE}/include -CFLAGS+= ${PTHREAD_CFLAGS} -LDFLAGS+= -L${X11BASE}/lib -LIBS+= ${PTHREAD_LIBS} - -EXTRA_SCRIPTS= ${PORTNAME}.rb +.include "${.CURDIR}/../mozilla/Makefile.common" .if ${ARCH} == "alpha" && ${OSVERSION} < 500035 IGNORE= core dumps on alpha during post-build @@ -132,137 +52,36 @@ IGNORE= core dumps on alpha during post-build EXTRA_PATCHES+= ${FILESDIR}/extra-patch-config_make-jars.pl .endif -pre-extract:: - @${ECHO_MSG} - @${ECHO_MSG} "Extracting source (this takes a while) ..." - @${ECHO_MSG} - post-extract:: - @${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}|' \ - -e 's|@KRB5_HOME@|${KRB5_HOME}|' \ - <${FILESDIR}/mozconfig.in >${WRKSRC}/.mozconfig - @${SED} -e 's|@PORTNAME_ICON@|${PORTNAME_ICON}|' \ - <${FILESDIR}/${PORTNAME}.desktop.in >${WRKDIR}/${PORTNAME}.desktop + @${SED} -e 's|@FIREFOX_ICON@|${FIREFOX_ICON}|' \ + <${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.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 ${EXTRA_SCRIPTS} - @${SED} -e 's|%%MOZILLA%%|${PORTNAME}|g ; \ - s|%%PREFIX%%|${PREFIX}|g ; \ - s|%%X11BASE%%|${X11BASE}|g' \ - < ${FILESDIR}/${ii} > ${WRKDIR}/${ii} -.endfor -.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} +.for ii in modules/libpref/src/init extensions/sroaming/resources/content/prefs \ + embedding/minimo + @${REINPLACE_CMD} -e '/accessibility.typeaheadfind.enablesound/s/true/false/ ; \ + /dom.disable_window_open_feature.toolbar/s/false/true/' \ + ${WRKSRC}/${ii}/all.js .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 - @${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \ - ${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]+|libesd.so|g' \ - ${WRKSRC}/widget/src/gtk2/nsSound.cpp - @${REINPLACE_CMD} -E -e 's|libcups\.so\.[0-9]+|libcups.so|g' \ - ${WRKSRC}/gfx/src/gtk/nsDeviceContextSpecG.cpp - @${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 \ - ${ECHO_CMD} "${PKGNAME}: bind installed with PORT_REPLACES_BASE_BIND causes build problems."; \ - ${FALSE}; \ - fi pre-install: - @${RM} -rf ${FAKEDIR} ${PLIST} - @cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \ - Makefile ${MAKE_ARGS} ${INSTALL_TARGET} - @${MKDIR} ${SCRIPTS_DIR} - @${MKDIR} ${MOZ_PIS_DIR} - ${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 - for i in ${EXTRA_SCRIPTS}; do \ - ${ECHO_CMD} bin/$${i} >> ${PLIST}; \ - done - ${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 + ${ECHO_CMD} 'share/applications/${MOZILLA}.desktop' >> ${PLIST} + ${ECHO_CMD} 'share/pixmaps/${FIREFOX_ICON}' >> ${PLIST} .if !defined(WITHOUT_NEWTAB) ${ECHO_CMD} >> ${SYSTEM_PREFS} ${ECHO_CMD} "// Open external links in new tab" >> ${SYSTEM_PREFS} ${ECHO_CMD} "pref(\"browser.link.open_external\", 3);" \ >> ${SYSTEM_PREFS} .endif # !defined(WITHOUT_NEWTAB) - 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} - ${ECHO_CMD} lib/browser_plugins/.${PORTNAME}.keep >> ${PLIST} - ${ECHO_CMD} "@unexec ${RMDIR} %D/lib/browser_plugins 2>/dev/null || ${TRUE}" >> ${PLIST} - ${ECHO_CMD} "@exec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${PLIST} - ${ECHO_CMD} "@unexec ${LOCALBASE}/bin/update-desktop-database > /dev/null || ${TRUE}" >> ${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} + ${ECHO_CMD} "@unexec ${RMDIR} %D/share/applications 2>/dev/null || ${TRUE}" >> ${PLIST} + ${ECHO_CMD} "lib/${MOZILLA}/chrome/icons/default/default.xpm" >> ${PLIST} + ${ECHO_CMD} "@dirrm lib/${MOZILLA}/chrome/icons/default" >> ${PLIST} + ${ECHO_CMD} "@dirrm lib/${MOZILLA}/chrome/icons" >> ${PLIST} +# Dirty hack to make sure stuff gets removed right. + ${SORT} -r ${PLIST} > ${PLIST}.tmp + ${MV} -f ${PLIST}.tmp ${PLIST} do-install: - ${MKDIR} ${PREFIX}/lib/${PORTNAME} - ${CHMOD} 755 ${PREFIX}/lib/${PORTNAME} - ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME} ${PREFIX}/bin - ${INSTALL_SCRIPT} ${FAKEDIR}/bin/${PORTNAME}-config ${PREFIX}/bin - if [ ! -d ${PREFIX}/lib/browser_plugins ]; then \ - ${MKDIR} ${PREFIX}/lib/browser_plugins ; \ - fi - ${TOUCH} -f ${PREFIX}/lib/browser_plugins/.${PORTNAME}.keep if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \ for jpi in ${JPI_LIST}; do \ if [ -f $${jpi} ]; then \ @@ -272,32 +91,12 @@ do-install: fi; \ done; \ fi - 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 -.endif -.for i in ${EXTRA_SCRIPTS} - ${INSTALL_SCRIPT} ${FILESDIR}/${i} ${PREFIX}/bin -.endfor - ${MKDIR} ${PREFIX}/share/applications - ${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 - @-update-desktop-database + ${MKDIR} ${PREFIX}/share/applications ${PREFIX}/share/pixmaps + ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop ${PREFIX}/share/applications/ + ${MKDIR} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default + ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/lib/${MOZILLA}/chrome/icons/default/default.xpm + ${LN} -sf ${FIREFOX_ICON_SRC} ${PREFIX}/share/pixmaps/${FIREFOX_ICON} .include <bsd.port.post.mk> |