aboutsummaryrefslogtreecommitdiffstats
path: root/www/firefox/Makefile
diff options
context:
space:
mode:
authorahze <ahze@FreeBSD.org>2005-11-30 05:12:28 +0800
committerahze <ahze@FreeBSD.org>2005-11-30 05:12:28 +0800
commitcf3e3c4ca85b04aa2fd05adbbbb61c279ecd8e52 (patch)
tree636be11a2256fce8fc7906e936b8c0b6270b2f86 /www/firefox/Makefile
parente749e2199ee9f293c55bd59924f3870e0d15efdf (diff)
downloadfreebsd-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/Makefile281
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>