1 # $NetBSD: Makefile,v 1.19 2009/01/21 21:12:24 reed Exp $
3 MOZILLA= firefox3 # allow coexisting with firefox2
4 COMMENT= Lightweight gecko-based web browser
6 USE_DESTDIR = full # FIXME: remove this after
8 PKG_DESTDIR_SUPPORT= user-destdir
10 MOZILLA_USE_GTK2= # yes
13 INSTALLATION_DIRS= lib/pkgconfig share/applications share/pixmaps
15 CHECK_PORTABILITY_SKIP= security/nss/tests/libpkix/libpkix.sh
17 BUILDLINK_API_DEPENDS.cairo+= cairo>=1.6.4
19 # Pull in standard firefox build framework, and override some things below.
20 # This include must appear first, to ensure that USE_LANGUAGES is set
21 # correctly before mk/compiler.mk may be loaded.
22 .include "../../www/firefox/Makefile-firefox.common"
24 MAINTAINER= tnn@NetBSD.org
28 XPTCFILES+= xptcinvoke_asm_ppc_rhapsody.s
30 #XPTCFILES:= ${XPTCFILES:C,^,../../../www/firefox3/files/,}
31 XPTCFILES:= ${XPTCFILES:C,^,../../../local/firefox3/files/,} # FIXME
32 DESCR_SRC= ${.CURDIR}/../../www/firefox/DESCR
34 #DISTINFO_FILE= ${.CURDIR}/../../www/firefox3/distinfo
35 #PATCHDIR= ${.CURDIR}/../../www/firefox3/patches
36 DISTINFO_FILE= ${.CURDIR}/../../local/firefox3/distinfo # FIXME
37 PATCHDIR= ${.CURDIR}/../../local/firefox3/patches # FIXME
39 .PHONY: copy-pkgconfig
40 post-extract: copy-pkgconfig
42 cp ${.CURDIR}/../../www/firefox3/files/*.pc ${WRKSRC:Q}/build/unix
44 SUBST_CLASSES+= fix-pc
45 SUBST_STAGE.fix-pc= pre-configure
46 SUBST_MESSAGE.fix-pc= Substituting prefix in pkg-config files.
47 SUBST_FILES.fix-pc+= build/unix/*.pc
48 SUBST_SED.fix-pc= -e 's,@PREFIX@,${PREFIX},g'
50 # Need this to be able to reuse existing firefox pkgsrc infrastructure
51 .PHONY: create-dummy-c-sdk
52 pre-configure: create-dummy-c-sdk
54 mkdir -p ${WRKSRC:Q}/directory/c-sdk
55 touch ${WRKSRC:Q}/directory/c-sdk/configure.in
57 # Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
58 .PHONY: create-rm-wrapper
59 pre-configure: create-rm-wrapper
61 printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
63 chmod +x ${WRAPPER_DIR}/bin/rm
67 post-build: stage-package
69 cd ${WRKSRC}/browser/installer && \
70 ${SETENV} ${MAKE_ENV} ${MAKE_PROGRAM} stage-package
71 cp ${WRKSRC}/dist/firefox/components/browser.xpt \
72 ${WRKSRC}/dist/bin/components/browser.xpt
74 .if !empty(PKG_OPTIONS:Mmozilla-jemalloc)
75 PLIST_SUBST+= JEMALLOC=
76 SCRIPTS_ENV+= JEMALLOC=
77 .PHONY: install-libjemalloc
78 post-install: install-libjemalloc
80 ${INSTALL_LIB} ${WRKSRC}/dist/lib/libjemalloc.${SO_SUFFIX} \
81 ${DESTDIR}${PREFIX}/lib/${MOZILLA}/libjemalloc.${SO_SUFFIX}
83 PLIST_SUBST+= JEMALLOC="@comment "
84 SCRIPTS_ENV+= JEMALLOC="@comment "
87 .if !empty(PKG_OPTIONS:Mofficial-mozilla-branding)
88 MOZILLA_NAME= Firefox 3
89 MOZILLA_ICON= ${WRKSRC}/other-licenses/branding/firefox/default48.png
91 MOZILLA_NAME= Minefield 3
92 MOZILLA_ICON= ${WRKSRC}/browser/branding/unofficial/default48.png
95 .PHONY: install-desktop
96 post-install: install-desktop
99 -e 's|@MOZILLA@|${MOZILLA}|g' \
100 -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
101 -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
102 <${.CURDIR}/../../www/firefox3/files/${MOZILLA}.desktop.in \
103 >${WRKDIR}/${MOZILLA}.desktop
104 ${INSTALL_DATA} ${WRKDIR}/${MOZILLA}.desktop \
105 ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
106 ${INSTALL_DATA} ${MOZILLA_ICON} \
107 ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
109 INSTALLATION_DIRS+= lib/${MOZILLA}/modules
111 # configure says: "Can't use system PNG because it doesn't have APNG support"
112 CONFIGURE_ARGS+= --without-system-png
113 # Override www/firefox's idea of toolkit
114 CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk2
115 # Is dbus support useful for anything?
116 CONFIGURE_ARGS+= --disable-dbus
117 # Avoids needing curl on Linux
118 CONFIGURE_ARGS+= --disable-crashreporter
120 PYTHON_FOR_BUILD_ONLY= yes
121 .include "../../lang/python/application.mk"
122 CONFIGURE_ENV+= PYTHON=${PYTHONBIN:Q}
124 CONFIGURE_ARGS+= --enable-system-sqlite
125 BUILDLINK_API_DEPENDS.sqlite3+= sqlite3>=3.5.9
126 .include "../../databases/sqlite3/buildlink3.mk"
128 .include "../../mk/bsd.pkg.mk"