mirror of
https://git.FreeBSD.org/ports.git
synced 2024-11-26 00:55:14 +00:00
6ebf3e3446
* Install pkg-config files for both the GTK1 and GTK2 versions of Mozilla * Update dependent browsers accordingly
276 lines
8.4 KiB
Makefile
276 lines
8.4 KiB
Makefile
# New ports collection makefile for: mozilla
|
|
# Date created: 31 Mar 1998
|
|
# Whom: eivind/dima/jseger
|
|
#
|
|
# $FreeBSD$
|
|
#
|
|
|
|
PORTNAME?= mozilla
|
|
PORTVERSION= 1.5
|
|
PORTREVISION?= 1
|
|
PORTEPOCH?= 2
|
|
CATEGORIES?= www
|
|
MASTER_SITES= ${MASTER_SITE_MOZILLA} \
|
|
${MASTER_SITE_LOCAL:S/$/:local/}
|
|
MASTER_SITE_SUBDIR= mozilla/releases/${PORTNAME}${PORTVERSION}/src \
|
|
marcus/:local
|
|
DISTFILES= ${PORTNAME}-source-${PORTVERSION}${EXTRACT_SUFX} \
|
|
libart_lgpl${EXTRACT_SUFX}:local
|
|
|
|
MAINTAINER= gnome@FreeBSD.org
|
|
COMMENT= The open source, standards compliant web browser
|
|
|
|
BUILD_DEPENDS= zip:${PORTSDIR}/archivers/zip \
|
|
freetype-config:${PORTSDIR}/print/freetype2
|
|
LIB_DEPENDS= jpeg.9:${PORTSDIR}/graphics/jpeg \
|
|
png.5:${PORTSDIR}/graphics/png \
|
|
mng.1:${PORTSDIR}/graphics/libmng \
|
|
freetype.9:${PORTSDIR}/print/freetype2
|
|
|
|
WRKSRC= ${WRKDIR}/${PORTNAME}
|
|
|
|
MOZILLA?= mozilla
|
|
|
|
.if defined(WITH_GTK2)
|
|
PKGNAMESUFFIX= -gtk2
|
|
USE_GNOME= gtk20 libidl
|
|
.else
|
|
USE_GNOME= gtk12 orbit
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_XFT)
|
|
LIB_DEPENDS+= Xft.2:${PORTSDIR}/x11-fonts/Xft
|
|
.if exists(${X11BASE}/lib/X11/fonts/mozilla/fonts.dir)
|
|
BROKEN= Mozilla and Xft2 render the mozilla-fonts \
|
|
illegibly. Please remove the mozilla-fonts package.
|
|
.endif
|
|
.endif
|
|
|
|
.if defined(WITH_CALENDAR) && (defined(WITHOUT_MAILNEWS) || \
|
|
defined(WITHOUT_COMPOSER))
|
|
BROKEN= "Calendar requires Composer and Mailnews support."
|
|
.endif
|
|
|
|
.if defined(WITH_CALENDAR)
|
|
LIB_DEPENDS+= ical.0:${PORTSDIR}/devel/libical
|
|
.endif
|
|
|
|
LATEST_LINK= ${MOZILLA}
|
|
USE_BZIP2= yes
|
|
EXTRACT_AFTER_ARGS= | ${TAR} -xf - --exclude */CVS/* \
|
|
--exclude */macbuild/*\
|
|
--exclude */package/* \
|
|
--exclude .cvsignore \
|
|
--exclude makefile.win \
|
|
--exclude MANIFEST
|
|
USE_BZIP2= yes
|
|
USE_X_PREFIX= yes
|
|
USE_PERL5= yes
|
|
USE_GMAKE= yes
|
|
USE_REINPLACE= yes
|
|
GNU_CONFIGURE= yes
|
|
CONFIGURE_ARGS= \
|
|
--disable-auto-deps \
|
|
--enable-chrome-format=jar \
|
|
--disable-cpp-exceptions \
|
|
--disable-cpp-rtti \
|
|
--enable-crypto \
|
|
--disable-debug \
|
|
--disable-gtktest \
|
|
--disable-freetypetest \
|
|
--disable-installer \
|
|
--disable-glibtest \
|
|
--enable-double-buffer \
|
|
--enable-mathml \
|
|
--disable-md \
|
|
--disable-pedantic \
|
|
--disable-bidi \
|
|
--disable-plaintext-editor-only \
|
|
--enable-strip \
|
|
--enable-svg \
|
|
--disable-tests \
|
|
--disable-xterm-updates \
|
|
--enable-xinerama \
|
|
--with-system-zlib \
|
|
--with-system-jpeg=${LOCALBASE} \
|
|
--with-system-mng=${LOCALBASE} \
|
|
--with-system-png=${LOCALBASE} \
|
|
--with-pthreads
|
|
|
|
PLIST= ${WRKDIR}/pkg-plist
|
|
# LDAP is only used by mail and news so disable both together
|
|
.if defined(WITHOUT_MAILNEWS)
|
|
CONFIGURE_ARGS+= --disable-ldap --disable-mailnews
|
|
.else
|
|
# mail and news desired, but not LDAP
|
|
.if defined(WITHOUT_LDAP)
|
|
CONFIGURE_ARGS+= --disable-ldap --enable-mailnews
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-ldap --enable-mailnews
|
|
.endif
|
|
.endif
|
|
|
|
MOZ_EXTENSIONS= default
|
|
.if !defined(WITHOUT_CHATZILLA)
|
|
MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},irc
|
|
.endif
|
|
.if !defined(WITHOUT_XMLTERM)
|
|
MOZ_EXTENSIONS:= ${MOZ_EXTENSIONS},xmlterm
|
|
.endif
|
|
CONFIGURE_ARGS+= --enable-extensions=${MOZ_EXTENSIONS}
|
|
CONFIGURE_ENV= MOZ_INTERNAL_LIBART_LGPL=1
|
|
|
|
.if defined(WITH_JAVASCRIPT_DEBUGGER)
|
|
CONFIGURE_ARGS+= --enable-jsd \
|
|
--enable-dtd-debug
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-jsd \
|
|
--disable-dtd-debug
|
|
.endif
|
|
|
|
.if defined(WITH_CALENDAR)
|
|
CONFIGURE_ENV+= LIBS="-L${LOCALBASE}/lib"
|
|
CONFIGURE_ARGS+= --enable-calendar
|
|
.endif
|
|
|
|
.if defined(WITHOUT_COMPOSER)
|
|
CONFIGURE_ARGS+= --disable-composer
|
|
.endif
|
|
|
|
.if defined(WITH_GTK2)
|
|
CONFIGURE_ARGS+= --enable-default-toolkit=gtk2
|
|
.else
|
|
CONFIGURE_ARGS+= --enable-default-toolkit=gtk
|
|
.endif
|
|
|
|
.if !defined(WITHOUT_XFT)
|
|
CONFIGURE_ARGS+= --enable-xft
|
|
.else
|
|
CONFIGURE_ARGS+= --disable-xft
|
|
.endif
|
|
|
|
PKGCONFIG_FILES= mozilla-gtkmozembed mozilla-js mozilla-xpcom \
|
|
mozilla-nspr mozilla-nss mozilla-plugin
|
|
|
|
.include <bsd.port.pre.mk>
|
|
|
|
MAKE_ENV= LD_LIBRARY_PATH=${WRKSRC}/dist/bin \
|
|
MOZ_INTERNAL_LIBART_LGPL=1
|
|
ALL_TARGET= default
|
|
|
|
.if ${ARCH} == "i386"
|
|
CONFIGURE_ARGS+= --enable-reorder
|
|
.endif
|
|
|
|
.if defined(WITH_OPTIMIZED_CFLAGS)
|
|
CFLAGS+= -O2
|
|
CONFIGURE_ARGS+= --enable-optimize=-O2
|
|
.endif
|
|
|
|
.if ${ARCH} == "alpha" && ${OSVERSION} < 500035
|
|
IGNORE= "core dumps on alpha during post-build"
|
|
.endif
|
|
|
|
.if exists(${LOCALBASE}/include/freetype/freetype.h)
|
|
BROKEN="You must upgrade your freetype port to 1.3.1_2 or higher before installing Mozilla. If you have 1.3.1_2 installed, please remove ${LOCALBASE}/include/freetype, then build Mozilla"
|
|
.endif
|
|
|
|
pre-everything::
|
|
@${ECHO_MSG} ""
|
|
@${ECHO_MSG} "Mozilla has the following tunable option(s):"
|
|
@${ECHO_MSG} " WITHOUT_XFT=yes Disables Xft anti-aliasing support"
|
|
@${ECHO_MSG} " WITH_CALENDAR=yes Enables the Calendar module (requires Mailnews and Composer modules)"
|
|
@${ECHO_MSG} " WITHOUT_MAILNEWS=yes Disables the Mail and News modules"
|
|
@${ECHO_MSG} " WITHOUT_COMPOSER=yes Disables the HTML Composer module"
|
|
@${ECHO_MSG} " WITHOUT_LDAP=yes Disables LDAP support within the Mailnews module"
|
|
@${ECHO_MSG} " WITHOUT_CHATZILLA=yes Disable the Chatzilla IRC module"
|
|
@${ECHO_MSG} " WITHOUT_XMLTERM=yes Disable the XMLTerm module"
|
|
@${ECHO_MSG} " WITH_JAVASCRIPT_DEBUGGER=yes Enable the DTD and JavaScript debuggers"
|
|
@${ECHO_MSG} " WITH_OPTIMIZED_CFLAGS=yes Enable -O2 optimization"
|
|
@${ECHO_MSG} ""
|
|
.if defined(WITH_CALENDAR)
|
|
@${ECHO_MSG} "Calendar is still beta software."
|
|
@${ECHO_MSG} "Use at your own risk."
|
|
@${ECHO_MSG} "http://mozilla.org/projects/calendar/"
|
|
.endif
|
|
|
|
post-patch:
|
|
@${REINPLACE_CMD} -e 's|%%PREFIX%%|${PREFIX}|g' \
|
|
${WRKSRC}/build/unix/run-mozilla.sh
|
|
@${REINPLACE_CMD} -e 's|%%MOZILLA%%|${MOZILLA}|g' \
|
|
-e 's|%%HEADERS_SUFX%%||g' \
|
|
${WRKSRC}/config/autoconf.mk.in
|
|
@${FIND} ${WRKSRC}/other-licenses/libical -name "*.c" | ${XARGS} \
|
|
${REINPLACE_CMD} 's|<malloc.h>|<stdlib.h>|g'
|
|
@${REINPLACE_CMD} -e 's|-lc_r|${PTHREAD_LIBS}|g' \
|
|
${WRKSRC}/configure
|
|
@${REINPLACE_CMD} -e 's|-pthread|${PTHREAD_LIBS}|g' \
|
|
${WRKSRC}/nsprpub/config/FreeBSD.mk \
|
|
${WRKSRC}/security/coreconf/FreeBSD.mk \
|
|
${WRKSRC}/directory/c-sdk/config/FreeBSD.mk \
|
|
${WRKSRC}/js/src/Makefile.in
|
|
@for pcfile in ${PKGCONFIG_FILES}; do \
|
|
${REINPLACE_CMD} -e 's|mozilla-xpcom|mozilla-xpcom${PKGNAMESUFFIX}|g ; \
|
|
s|mozilla-nspr|mozilla-nspr${MOZ_SUFX}${PKGNAMESUFFIX}|g' \
|
|
${WRKSRC}/build/unix/$${pcfile}.pc.in; \
|
|
done
|
|
|
|
post-build:
|
|
${SED} -e "s|%%PREFIX%%|${PREFIX}|g" -e "s|%%MOZILLA%%|${MOZILLA}|g" \
|
|
${FILESDIR}/mozilla.sh >${WRKSRC}/${MOZILLA}
|
|
(cd ${WRKSRC}/dist/bin; \
|
|
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regxpcom; \
|
|
${SETENV} LD_LIBRARY_PATH=. MOZILLA_FIVE_HOME=. ./regchrome; \
|
|
${TOUCH} ./chrome/user-skins.rdf ./chrome/user-locales.rdf)
|
|
${FIND} ${WRKSRC}/dist/bin -type d | /usr/bin/sort -r | \
|
|
${XARGS} ${RMDIR} 2> /dev/null || ${TRUE}
|
|
|
|
pre-install:
|
|
${RM} -f ${PLIST}
|
|
${TOUCH} -f ${PLIST}
|
|
if [ ! -x ${PREFIX}/bin/mozilla -a ! -L ${PREFIX}/bin/mozilla ]; then \
|
|
${ECHO_CMD} bin/mozilla >> ${PLIST} ; \
|
|
fi
|
|
if [ "${MOZILLA}" != "mozilla" ]; then \
|
|
${ECHO_CMD} bin/${MOZILLA} >> ${PLIST} ; \
|
|
fi
|
|
if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
|
|
${ECHO_CMD} lib/browser_plugins/libjavaplugin_oji.so >> ${PLIST} ; \
|
|
${ECHO_CMD} @dirrm lib/browser_plugins >> ${PLIST} ; \
|
|
fi
|
|
cd ${WRKSRC}/dist/bin && ${FIND} -s * -type f -o -type l | \
|
|
${SED} -e 's:^:lib/${MOZILLA}/:' >> ${PLIST} \
|
|
&& ${FIND} -d * -type d | \
|
|
${SED} -e 's:^:@dirrm lib/${MOZILLA}/:' >> ${PLIST}
|
|
${ECHO_CMD} @dirrm lib/${MOZILLA} >> ${PLIST}
|
|
for pcfile in ${PKGCONFIG_FILES}; do \
|
|
${ECHO_CMD} libdata/pkgconfig/$${pcfile}${PKGNAMESUFFIX}.pc >> ${PLIST} ; \
|
|
done
|
|
|
|
do-install:
|
|
${MKDIR} ${PREFIX}/lib/${MOZILLA}
|
|
${CHMOD} 755 ${PREFIX}/lib/${MOZILLA}
|
|
cd ${WRKSRC}/dist/bin && ${FIND} . | \
|
|
cpio -pdm -L -R ${LIBOWN}:${LIBGRP} ${PREFIX}/lib/${MOZILLA}
|
|
${INSTALL_SCRIPT} ${WRKSRC}/${MOZILLA} ${PREFIX}/bin
|
|
if [ ! -x ${PREFIX}/bin/mozilla -a ! -L ${PREFIX}/bin/mozilla ]; then \
|
|
${LN} -sf ${PREFIX}/bin/${MOZILLA} ${PREFIX}/bin/mozilla ; \
|
|
fi
|
|
if [ ! -d ${PREFIX}/lib/browser_plugins ]; then \
|
|
${MKDIR} ${PREFIX}/lib/browser_plugins ; \
|
|
fi
|
|
if [ ! -L ${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ]; then \
|
|
${LN} -sf ${LOCALBASE}/jdk1.3.1/jre/plugin/${ARCH}/ns600/libjavaplugin_oji.so \
|
|
${PREFIX}/lib/browser_plugins/libjavaplugin_oji.so ; \
|
|
fi
|
|
for pcfile in ${PKGCONFIG_FILES}; do \
|
|
${INSTALL_DATA} ${WRKSRC}/build/unix/$${pcfile}.pc \
|
|
${PREFIX}/libdata/pkgconfig/$${pcfile}${PKGNAMESUFFIX}.pc ; \
|
|
done
|
|
|
|
post-install:
|
|
@${CHMOD} -R u-w ${PREFIX}/lib/${MOZILLA}/components
|
|
@${CAT} ${PKGMESSAGE}
|
|
|
|
.include <bsd.port.post.mk>
|