diff options
author | grant <grant@pkgsrc.org> | 2004-01-04 05:01:02 +0000 |
---|---|---|
committer | grant <grant@pkgsrc.org> | 2004-01-04 05:01:02 +0000 |
commit | 63b22017162778f62f6138de8bcac69f99a7ec83 (patch) | |
tree | cfcf8e3154cdd5e78de6f7a83ac8503420baeeaa /www/mozilla-bin/Makefile.common | |
parent | d72588da8b2bcf99bd1b0c4080de55f608e2ff20 (diff) | |
download | pkgsrc-63b22017162778f62f6138de8bcac69f99a7ec83.tar.gz |
factor out the common bits of the various mozilla binary packages into
mozilla-bin/Makefile.common and mozilla-bin-nightly/Makefile.common.
the result is much less duplication and more consistent installations.
tested on NetBSD-current only (for now).
Diffstat (limited to 'www/mozilla-bin/Makefile.common')
-rw-r--r-- | www/mozilla-bin/Makefile.common | 169 |
1 files changed, 169 insertions, 0 deletions
diff --git a/www/mozilla-bin/Makefile.common b/www/mozilla-bin/Makefile.common new file mode 100644 index 00000000000..907915ad006 --- /dev/null +++ b/www/mozilla-bin/Makefile.common @@ -0,0 +1,169 @@ +# $NetBSD: Makefile.common,v 1.1 2004/01/04 05:01:02 grant Exp $ +# + +DISTNAME= # see Makefile.${OPSYS}.${ARCH} +PKGNAME= ${MOZILLA}${MOZ_EXTRA}-bin-${MOZ_VER} +WRKSRC= ${WRKDIR}/${MOZILLA} +CATEGORIES= www + +.if ${MOZILLA} == "MozillaFirebird" +MOZILLA_SHORT= firebird +.else +MOZILLA_SHORT= ${MOZILLA} +.endif + +MASTER_SITES?= http://ftp.mozilla.org/pub/${MOZILLA_SHORT}/releases/${MOZ_VER}/${MOZ_CONTRIB} \ + ftp://ftp.mozilla.org/pub/${MOZILLA_SHORT}/releases/${MOZ_VER}/${MOZ_CONTRIB} \ + http://public.planetmirror.com.au/pub/${MOZILLA_SHORT}/releases/${MOZ_VER}/${MOZ_CONTRIB} \ + ftp://public.planetmirror.com.au/pub/${MOZILLA_SHORT}/releases/${MOZ_VER}/${MOZ_CONTRIB} + +MAINTAINER= grant@NetBSD.org +HOMEPAGE?= http://www.mozilla.org/ + +NO_CONFIGURE= # defined + +FILESDIR= ${.CURDIR}/../../www/mozilla-bin/files + +USE_PKGINSTALL= YES + +.include "../../mk/bsd.prefs.mk" + +# everything specific to your OS/Arch goes into it's own Makefile +# group together i386, i486, i586 and i686 (for Linux) +ARCH=${MACHINE_ARCH:C/i[3-6]86/i386/g} + +.if exists(${.CURDIR}/Makefile.${OPSYS}.${ARCH}) +. include "${.CURDIR}/Makefile.${OPSYS}.${ARCH}" +.endif + +# suffix gtk2 builds with -gtk2 +MOZ_EXTRA= # empty +.if defined(MOZ_GTK2) && ${MOZ_GTK2} == "YES" +MOZ_EXTRA= -gtk2 +.endif + +MOZILLA_LIB= ${PREFIX}/lib/${MOZILLA}${MOZ_EXTRA}-${MOZ_PLATFORM} + +FILES_SUBST+= MOZILLA=${MOZILLA} +FILES_SUBST+= MOZ_EXTRA=${MOZ_EXTRA} +FILES_SUBST+= MOZ_PLATFORM=${MOZ_PLATFORM} +PLIST_SRC= ${WRKDIR}/PLIST_DYNAMIC + +# protect against MOZ_PLATFORM being undefined so we don't bomb, but +# instead use the result of ONLY_FOR_PLATFORM. +.if defined(MOZ_PLATFORM) + +. if ${OPSYS} == "NetBSD" && ${MOZ_PLATFORM} == "linux" +MESSAGE_SRC+= ${.CURDIR}/../../www/mozilla-bin/MESSAGE.compat_linux +. endif + +# non-linux builds are "unofficial" and in contrib/ +MOZ_CONTRIB= # empty +. if defined(MOZ_PLATFORM) && ${MOZ_PLATFORM} != "linux" +MOZ_CONTRIB= contrib/ +. endif + +# Linux builds on NetBSD +. if ${OPSYS} == "NetBSD" && ${MOZ_PLATFORM} == "linux" +. include "../../emulators/suse_linux/Makefile.application" +DEPENDS+= suse_compat>=7.3:../../emulators/${SUSE_DIR_PREFIX}_compat +DEPENDS+= suse_x11>=7.3:../../emulators/${SUSE_DIR_PREFIX}_x11 +DEPENDS+= suse_gtk>=7.3:../../emulators/${SUSE_DIR_PREFIX}_gtk +CONFLICTS+= suse_libc5-[0-9]* + +# NetBSD native builds are built with gtk-1.2.10nb5. +. elif ${OPSYS} == "NetBSD" && ${MOZ_PLATFORM} == "netbsd" +DEPENDS+= gtk+>=1.2.10nb5:../../x11/gtk + +# we need libstdc++.so.4 on -current. +. if !exists(/usr/lib/libstdc++.so.4) +DEPENDS+= compat16>=1.6.0:../../emulators/compat16 +_COMPAT16_LIBSTDCXX= YES +. endif +. else + +# gtk2 builds. +. if defined(MOZ_GTK2) && ${MOZ_GTK2} == "YES" +DEPENDS+= gtk+>=2.2:../../x11/gtk2 +. else + +# default to at least gtk-1.2. +DEPENDS+= gtk+>=1.2:../../x11/gtk +. endif +. endif + +.endif # defined(MOZ_PLATFORM) + +# we don't want libnullplugin. +post-extract: + @${RM} -f ${WRKSRC}/plugins/libnullplugin.so + +do-build: + +post-build: + @${SED} ${FILES_SUBST_SED} ${FILESDIR}/mozilla.sh > ${WRKDIR}/${MOZILLA}.sh + +do-install: + ${INSTALL_DATA_DIR} ${MOZILLA_LIB} + cd ${WRKSRC} && ${PAX} -rw -pm . ${MOZILLA_LIB} + ${INSTALL_SCRIPT} ${WRKDIR}/${MOZILLA}.sh ${PREFIX}/bin/${MOZILLA}${MOZ_EXTRA}-${MOZ_PLATFORM} + @${FIND} ${MOZILLA_LIB} -type f -print \ + | ${XARGS} ${CHMOD} a+r + @${FIND} ${MOZILLA_LIB} \( -type f -o -perm -u+x \) -print \ + | ${XARGS} ${CHMOD} a+rx + @${FIND} ${MOZILLA_LIB} -type d -print \ + | ${XARGS} ${CHMOD} a+rx + +# builds typically want exactly 'libgtk-1.2.so.0', etc. symlink them +# into the mozilla directory. +post-install: +.if ${OPSYS} != "NetBSD" +. if defined(MOZ_GTK2) && ${MOZ_GTK2} == "YES" + @cd ${MOZILLA_LIB} && \ + ${LN} -s ${PREFIX}/lib/libatk-1.0.*so* .; \ + ${LN} -s ${X11PREFIX}/lib/libgdk-x11-2.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libgdk_pixbuf-2.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libglib-2.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libgmodule-2.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libgobject-2.0.*so* .; \ + ${LN} -s ${X11PREFIX}/lib/libgtk-x11-2.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libpango-1.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libpangox-1.0.*so* .; \ + ${LN} -s ${PREFIX}/lib/libpangoxft-1.0.*so* .; \ + \ + ${LN} -s libatk-1.0.so libatk-1.0.so.0; \ + ${LN} -s libgdk-x11-2.0.so libgdk-x11-2.0.so.0; \ + ${LN} -s libgdk_pixbuf-2.0.so libgdk_pixbuf-2.0.so.0; \ + ${LN} -s libglib-2.0.so libglib-2.0.so.0; \ + ${LN} -s libgmodule-2.0.so libgmodule-2.0.so.0; \ + ${LN} -s libgobject-2.0.so libgobject-2.0.so.0; \ + ${LN} -s libgtk-x11-2.0.so libgtk-x11-2.0.so.0; \ + ${LN} -s libpango-1.0.so libpango-1.0.so.0; \ + ${LN} -s libpangox-1.0.so libpangox-1.0.so.0; \ + ${LN} -s libpangoxft-1.0.so libpangoxft-1.0.so.0 +. else + @cd ${MOZILLA_LIB} && \ + ${LN} -s ${PREFIX}/lib/libglib.*so* .; \ + ${LN} -s ${PREFIX}/lib/libgmodule.*so* .; \ + ${LN} -s ${X11PREFIX}/lib/libgdk.*so* .; \ + ${LN} -s ${X11PREFIX}/lib/libgtk.*so* .; \ + ${LN} -s libgtk.so libgtk-1.2.so.0; \ + ${LN} -s libgdk.so libgdk-1.2.so.0; \ + ${LN} -s libglib.so libglib-1.2.so.0; \ + ${LN} -s libgmodule.so libgmodule-1.2.so.0 +. endif +.endif +.if defined(_COMPAT16_LIBSTDCXX) && ${_COMPAT16_LIBSTDCXX} == "YES" + @cd ${MOZILLA_LIB} && \ + ${LN} -s ${PREFIX}/emul/netbsd16/usr/lib/libstdc++.so* . +.endif + @${CP} -f ${PKGDIR}/PLIST ${PLIST_SRC} + @${ECHO} bin/${MOZILLA}-${MOZ_PLATFORM} >> ${PLIST_SRC} + @${FIND} ${MOZILLA_LIB} \( -type f -o -type l \) -print \ + | ${SORT} | ${SED} -e "s,${PREFIX}/,,g" \ + >> ${PLIST_SRC} + @${FIND} ${MOZILLA_LIB} -type d -print \ + | ${SORT} -r | ${SED} -e "s,${PREFIX}/,@dirrm ,g" \ + >> ${PLIST_SRC} + +.include "../../mk/bsd.pkg.mk" |