freebsd-ports/www/firefox36/Makefile
Joe Marcus Clarke afa9784c6e * Add ${LOCALBASE} to the list of include and lib search paths so we can
properly detect libiconv support [1]
* Take care of a few more pthread substitutions
* Bump PORTREVISION

Reported by:	Andrew Muhametshin <andrew@trifon.ru>
2004-02-12 09:06:57 +00:00

186 lines
5.8 KiB
Makefile

# New ports collection makefile for: phoenix
# Date created: 2002/10/21
# Whom: Alan Eldridge <alane@FreeBSD.org>
#
# $FreeBSD$
#
PORTNAME= firefox
PORTVERSION= 0.8
PORTREVISION= 3
CATEGORIES= www
MASTER_SITES= ${MASTER_SITE_MOZILLA}
MASTER_SITE_SUBDIR= ${PORTNAME}/releases/${PORTVERSION}
DISTNAME= ${PORTNAME}-source-${PORTVERSION}
MAINTAINER= gnome@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
png.5:${PORTSDIR}/graphics/png \
mng.1:${PORTSDIR}/graphics/libmng \
freetype.9:${PORTSDIR}/print/freetype2 \
nspr4.1:${PORTSDIR}/devel/nspr
BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \
freetype-config:${PORTSDIR}/print/freetype2
ALL_TARGET= default
CONFIGURE_ENV= WITH_GTK2=yes
FAKEDIR= ${WRKDIR}/fake
FAKESUBDIR= ${FAKEDIR}/lib/${PORTNAME}
HAS_CONFIGURE= yes
ESD_LIB= libesd.so.2
LOCAL_PREFIX= ${PREFIX}/lib/${PORTNAME}
NO_MTREE= yes
PLIST= ${WRKDIR}/plist
PLUGINSDIR= ${PREFIX}/lib/browser_plugins
USE_BZIP2= yes
USE_GMAKE= yes
USE_GNOME= gtk20 libidl
USE_ICONV= yes
USE_PERL5= yes
USE_X_PREFIX= yes
WRKSRC= ${WRKDIR}/mozilla
JPI_LIST?=\
${LOCALBASE}/jdk1.4.2/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
${LOCALBASE}/jdk1.4.1/jre/plugin/${ARCH}/ns610/libjavaplugin_oji.so \
${LOCALBASE}/diablo-jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so \
${LOCALBASE}/jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so
OPTIONS= DEBUG "Build a debugging image" off \
HEADERS "Install headers and IDL files" off \
LOGGING "Enable additional log messages" off \
OPTIMIZED_CFLAGS "Enable some additional optimizations" off \
XFT "Enable support for anti-aliased fonts" on
.include <bsd.port.pre.mk>
.if defined(WITH_DEBUG)
WITH_LOGGING= yes
CONFIGURE_ENV+= WITH_DEBUG=yes
.endif # defined(WITH_DEBUG)
.if defined(WITH_OPTIMIZED_CFLAGS)
CFLAGS+= -O2
.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/Xft
.endif # !defined(WITHOUT_XFT)
CPPFLAGS+= -I${X11BASE}/include -I${LOCALBASE}/include
CFLAGS+= ${PTHREAD_CFLAGS}
LDFLAGS+= -L${X11BASE}/lib -L${LOCALBASE}/lib
LIBS+= ${PTHREAD_LIBS}
EXTRA_SCRIPTS= ${PORTNAME}.rb
.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
IGNORE= "core dumps on alpha during post-build"
.endif
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/firefox|' \
-e 's|@PERL@|${PERL5}|' \
<${FILESDIR}/mozconfig.in >${WRKSRC}/.mozconfig
post-patch:
@${PERL} -pi -e 's|%%PREFIX%%|${PREFIX}|g' \
${WRKSRC}/build/unix/run-mozilla.sh
@${PERL} -pi -e 's|-lc_r|${PTHREAD_LIBS}|g ; \
s|-lpthread|${PTHREAD_LIBS}|g' \
${WRKSRC}/configure \
${WRKSRC}/nsprpub/configure
@${PERL} -pi -e 's|-pthread|${PTHREAD_LIBS}|g' \
${WRKSRC}/nsprpub/config/config.mk \
${WRKSRC}/security/coreconf/FreeBSD.mk \
${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
${WRKSRC}/js/src/Makefile.in
@${PERL} -pi -e 's|libesd\.so\.0|${ESD_LIB}|g' \
${WRKSRC}/widget/src/gtk2/nsSound.cpp
.for ii in modules/libpref/src/init browser/app/profile \
calendar/sunbird/app/profile
${MV} ${WRKSRC}/${ii}/all.js ${WRKSRC}/${ii}/all.js.bak
${SED} -e '/accessibility.typeaheadfind.enablesound/s/true/false/' \
< ${WRKSRC}/${ii}/all.js.bak > ${WRKSRC}/${ii}/all.js
.endfor
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}
@${MKDIR} ${FAKEDIR}/lib/browser_plugins
@cd ${WRKSRC} && ${SETENV} ${MAKE_ENV} ${GMAKE} ${MAKE_FLAGS} \
Makefile ${MAKE_ARGS} install
.for ii in mac win
.for jj in / .jar
@${RM} -rf ${FAKEDIR}/lib/mozilla-1.6/chrome/en-${ii}${jj}
.endfor
.endfor
.if !defined (WITH_HEADERS)
@${RM} -fr ${FAKEDIR}/share/idl ${FAKEDIR}/include
.endif
.for ii in firefox Firefox firefox-config ${EXTRA_SCRIPTS}
@${ECHO_CMD} bin/${ii} >> ${PLIST}
.endfor
@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}
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:
.for i in ${EXTRA_SCRIPTS}
${INSTALL_SCRIPT} ${FILESDIR}/${i} ${PREFIX}/bin
.endfor
.for ii in f F
${RM} -f ${PREFIX}/bin/${ii}irefox
${LN} -sf ${LOCAL_PREFIX}/bin/firefox ${PREFIX}/bin/${ii}irefox
${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g' ${LOCAL_PREFIX}/bin/${ii}irefox
.endfor
${RM} -f ${PREFIX}/bin/firefox-config
${LN} -sf ${LOCAL_PREFIX}/bin/mozilla-config \
${PREFIX}/bin/firefox-config
${PERL} -pi -e 's|${FAKEDIR}|${PREFIX}|g' ${LOCAL_PREFIX}/bin/firefox-config
${FIND} ${LOCAL_PREFIX}/lib/pkgconfig -type f | ${XARGS} ${PERL} -pi -e \
's|${FAKEDIR}|${PREFIX}|g'
-if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
for jpi in ${JPI_LIST}; do \
if [ -f $${jpi} ]; then \
${LN} -sf $${jpi} \
${PLUGINSDIR}/libjavaplugin_oji.so ; \
break; \
fi; \
done; \
fi
.include <bsd.port.post.mk>