blob: a48af83ec0cb8373517c31e0a7c6bdc91e15f1ab (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
|
PORTNAME= firefox
DISTVERSION= 104.0
PORTREVISION= 3
PORTEPOCH= 2
CATEGORIES= www wayland
MASTER_SITES= MOZILLA/${PORTNAME}/releases/${DISTVERSION}${DISTVERSIONSUFFIX}/source \
MOZILLA/${PORTNAME}/candidates/${DISTVERSION}${DISTVERSIONSUFFIX}-candidates/build3/source
DISTFILES= ${DISTNAME}.source${EXTRACT_SUFX}
MAINTAINER= gecko@FreeBSD.org
COMMENT= Web browser based on the browser portion of Mozilla
BUILD_DEPENDS= nspr>=4.32:devel/nspr \
nss>=3.81:security/nss \
icu>=71.1:devel/icu \
libevent>=2.1.8:devel/libevent \
harfbuzz>=4.4.1:print/harfbuzz \
graphite2>=1.3.14:graphics/graphite2 \
png>=1.6.37:graphics/png \
dav1d>=1.0.0:multimedia/dav1d \
libvpx>=1.12.0:multimedia/libvpx \
${PYTHON_PKGNAMEPREFIX}sqlite3>0:databases/py-sqlite3@${PY_FLAVOR} \
v4l_compat>0:multimedia/v4l_compat \
autoconf2.13:devel/autoconf2.13 \
nasm:devel/nasm \
yasm:devel/yasm \
zip:archivers/zip
USE_GECKO= gecko
CONFLICTS_INSTALL= firefox-esr
USE_MOZILLA= -sqlite
CFLAGS_powerpc64le= -DSQLITE_BYTEORDER=1234
# work around bindgen not finding ICU, e.g.
# dist/include/mozilla/intl/ICU4CGlue.h:8:10: fatal error: 'unicode/uenum.h' file not found, err: true
CONFIGURE_ENV+= BINDGEN_CFLAGS="-I${LOCALBASE}/include"
USES= tar:xz
# helpful when testing beta
WRKSRC= ${WRKDIR}/${PORTNAME}-${DISTVERSION}
FIREFOX_ICON= ${MOZILLA}.png
FIREFOX_ICON_SRC= ${PREFIX}/lib/${MOZILLA}/browser/chrome/icons/default/default48.png
FIREFOX_DESKTOP= ${MOZSRC}/taskcluster/docker/${MOZILLA}-snap/${MOZILLA}.desktop
MOZ_OPTIONS= --enable-application=browser \
--enable-official-branding
.include "${.CURDIR}/../../www/firefox/Makefile.options"
.include <bsd.port.options.mk>
.if ${ARCH} == powerpc64
MOZ_OPTIONS+= --disable-webrtc --without-wasm-sandboxed-libraries
.else
BUILD_DEPENDS+= ${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc++abi.a:devel/wasi-libcxx \
${LOCALBASE}/share/wasi-sysroot/lib/wasm32-wasi/libc.a:devel/wasi-libc \
${LOCALBASE}/llvm${LLVM_DEFAULT}/lib/clang/${LLVM_VERSION}/lib/wasi/libclang_rt.builtins-wasm32.a:devel/wasi-compiler-rt${LLVM_DEFAULT}
MOZ_OPTIONS+= --with-wasi-sysroot=${LOCALBASE}/share/wasi-sysroot
.endif
post-patch:
@${REINPLACE_CMD} -e 's/%u/%U/' -e '/X-MultipleArgs/d' \
-e '/^Icon/s/=.*/=${FIREFOX_ICON:R}/' \
${FIREFOX_DESKTOP}
@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
${WRKSRC}/browser/app/nsBrowserApp.cpp
pre-configure:
(cd ${WRKSRC} && ${LOCALBASE}/bin/autoconf2.13)
(cd ${WRKSRC}/js/src/ && ${LOCALBASE}/bin/autoconf2.13)
post-install:
${INSTALL_DATA} ${FIREFOX_DESKTOP} ${STAGEDIR}${PREFIX}/share/applications/
${MKDIR} ${STAGEDIR}${PREFIX}/share/pixmaps
${LN} -sf ${FIREFOX_ICON_SRC} ${STAGEDIR}${PREFIX}/share/pixmaps/${FIREFOX_ICON}
.include <bsd.port.mk>
|