Wed Jan 26 12:00:18 2022 UTC ()
tor-browser: use python 3.9 or older for building

the next version will support 3.10

(Only relevant if you set your default to python 3.10)


(wiz)
diff -r1.101 -r1.102 pkgsrc/security/tor-browser/Makefile
diff -r1.13 -r1.14 pkgsrc/www/firefox78/mozilla-common.mk

cvs diff -r1.101 -r1.102 pkgsrc/security/tor-browser/Makefile (switch to unified diff)

--- pkgsrc/security/tor-browser/Makefile 2021/12/08 16:06:24 1.101
+++ pkgsrc/security/tor-browser/Makefile 2022/01/26 12:00:18 1.102
@@ -1,169 +1,172 @@ @@ -1,169 +1,172 @@
1# $NetBSD: Makefile,v 1.101 2021/12/08 16:06:24 adam Exp $ 1# $NetBSD: Makefile,v 1.102 2022/01/26 12:00:18 wiz Exp $
2# 2#
3# How to update this package: 3# How to update this package:
4# 4#
5# replace all patches with the one from the correspoding www/firefox${ESR_RELEASE} 5# replace all patches with the one from the correspoding www/firefox${ESR_RELEASE}
6# compare e.g. the output of 6# compare e.g. the output of
7# diff -r -I NetBSD . ../../www/firefox78 7# diff -r -I NetBSD . ../../www/firefox78
8# BUT keep: 8# BUT keep:
9# patch-.mozconfig (if still necessary) 9# patch-.mozconfig (if still necessary)
10# patch-browser_app_profile_000-tor-browser.js 10# patch-browser_app_profile_000-tor-browser.js
11# patch-toolkit_moz.configure (second chunk) 11# patch-toolkit_moz.configure (second chunk)
12# patch-xpcom_io_TorFileUtils.cpp 12# patch-xpcom_io_TorFileUtils.cpp
13# make the patches apply 13# make the patches apply
14# 14#
15# when packaged up, read MESSAGE and test by visiting https://check.torproject.org 15# when packaged up, read MESSAGE and test by visiting https://check.torproject.org
16# and https://panopticlick.eff.org 16# and https://panopticlick.eff.org
17 17
18DISTNAME= src-firefox-tor-browser-78.15.0esr-10.5-1-build3 18DISTNAME= src-firefox-tor-browser-78.15.0esr-10.5-1-build3
19PKGNAME= tor-browser-10.5.10 19PKGNAME= tor-browser-10.5.10
20PKGREVISION= 1 20PKGREVISION= 1
21CATEGORIES= security www 21CATEGORIES= security www
22MASTER_SITES= https://dist.torproject.org/torbrowser/${PKGVERSION_NOREV}/ 22MASTER_SITES= https://dist.torproject.org/torbrowser/${PKGVERSION_NOREV}/
23EXTRACT_SUFX= .tar.xz 23EXTRACT_SUFX= .tar.xz
24DISTFILES= ${DISTNAME}${EXTRACT_SUFX} 24DISTFILES= ${DISTNAME}${EXTRACT_SUFX}
25DISTFILES+= tor-browser-linux64-${PKGVERSION_NOREV}_en-US${EXTRACT_SUFX} 25DISTFILES+= tor-browser-linux64-${PKGVERSION_NOREV}_en-US${EXTRACT_SUFX}
26#DISTFILES+= src-tor-launcher-0.2.30${EXTRACT_SUFX} 26#DISTFILES+= src-tor-launcher-0.2.30${EXTRACT_SUFX}
27 27
28MAINTAINER= wiz@NetBSD.org 28MAINTAINER= wiz@NetBSD.org
29HOMEPAGE= https://www.torproject.org/projects/torbrowser.html.en 29HOMEPAGE= https://www.torproject.org/projects/torbrowser.html.en
30COMMENT= Tor Browser based on Firefox 30COMMENT= Tor Browser based on Firefox
31LICENSE= mpl-1.1 31LICENSE= mpl-1.1
32 32
33UNLIMIT_RESOURCES+= datasize virtualsize 33UNLIMIT_RESOURCES+= datasize virtualsize
34 34
35WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//} 35WRKSRC= ${WRKDIR}/${DISTNAME:S/src-//}
36 36
 37# as of 10.5.10, 11.x is fine with python 3.10
 38PYTHON_VERSIONS_INCOMPATIBLE= 310
 39
37MOZILLA_DIR= # empty 40MOZILLA_DIR= # empty
38 41
39DEPENDS+= tor-[0-9]*:../../net/tor 42DEPENDS+= tor-[0-9]*:../../net/tor
40DEPENDS+= tor-browser-https-everywhere>=2020.5.20:../../security/tor-browser-https-everywhere 43DEPENDS+= tor-browser-https-everywhere>=2020.5.20:../../security/tor-browser-https-everywhere
41DEPENDS+= tor-browser-noscript>=11.0.32:../../security/tor-browser-noscript 44DEPENDS+= tor-browser-noscript>=11.0.32:../../security/tor-browser-noscript
42 45
43.include "../../mk/bsd.prefs.mk" 46.include "../../mk/bsd.prefs.mk"
44 47
45CONFIGURE_ARGS+= --enable-tor-browser-data-outside-app-dir 48CONFIGURE_ARGS+= --enable-tor-browser-data-outside-app-dir
46CONFIGURE_ARGS+= --with-tor-browser-version=${PKGVERSION_NOREV} 49CONFIGURE_ARGS+= --with-tor-browser-version=${PKGVERSION_NOREV}
47CFLAGS+= -DTOR_BROWSER_DATA_IN_HOME_DIR=1 50CFLAGS+= -DTOR_BROWSER_DATA_IN_HOME_DIR=1
48CFLAGS+= -DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1 51CFLAGS+= -DTOR_BROWSER_DATA_OUTSIDE_APP_DIR=1
49CFLAGS+= -fPIC 52CFLAGS+= -fPIC
50 53
51# workaround for link of libxul.so etc. 54# workaround for link of libxul.so etc.
52LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE} 55LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib/${PKGBASE}
53LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib 56LDFLAGS+= ${COMPILER_RPATH_FLAG}${PREFIX}/lib
54LDFLAGS.DragonFly+= -lplc4 -lnspr4 57LDFLAGS.DragonFly+= -lplc4 -lnspr4
55LDFLAGS.FreeBSD+= -lplc4 -lnspr4 58LDFLAGS.FreeBSD+= -lplc4 -lnspr4
56LDFLAGS.Linux+= -lnspr4 59LDFLAGS.Linux+= -lnspr4
57LDFLAGS.SunOS+= -lm 60LDFLAGS.SunOS+= -lm
58 61
59ALL_ENV+= MOZ_APP_NAME=${PKGBASE} 62ALL_ENV+= MOZ_APP_NAME=${PKGBASE}
60 63
61# Avoid ld "invalid section index" errors. 64# Avoid ld "invalid section index" errors.
62BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections 65BUILDLINK_TRANSFORM.SunOS+= rm:-fdata-sections
63BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections 66BUILDLINK_TRANSFORM.SunOS+= rm:-ffunction-sections
64BUILDLINK_TRANSFORM.SunOS+= rm:-pie 67BUILDLINK_TRANSFORM.SunOS+= rm:-pie
65 68
66# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366 69# Workaround for https://bugs.llvm.org/show_bug.cgi?id=46366
67BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager 70BUILDLINK_TRANSFORM.NetBSD+= rm:-fexperimental-new-pass-manager
68 71
69# Remove hardcoded build directory. 72# Remove hardcoded build directory.
70SUBST_CLASSES+= fix-build-dir 73SUBST_CLASSES+= fix-build-dir
71SUBST_STAGE.fix-build-dir= pre-configure 74SUBST_STAGE.fix-build-dir= pre-configure
72SUBST_FILES.fix-build-dir+= .mozconfig 75SUBST_FILES.fix-build-dir+= .mozconfig
73SUBST_SED.fix-build-dir+= -e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,' 76SUBST_SED.fix-build-dir+= -e 's,mk_add_options MOZ_OBJDIR=@TOPSRCDIR@/obj-@CONFIG_GUESS@,,'
74 77
75SUBST_CLASSES+= fonts 78SUBST_CLASSES+= fonts
76SUBST_STAGE.fonts= pre-configure 79SUBST_STAGE.fonts= pre-configure
77SUBST_FILES.fonts+= tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf 80SUBST_FILES.fonts+= tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf
78SUBST_SED.fonts+= -e 's,<dir>fonts</dir>,<dir>${PREFIX}/lib/tor-browser/browser/fonts</dir>,' 81SUBST_SED.fonts+= -e 's,<dir>fonts</dir>,<dir>${PREFIX}/lib/tor-browser/browser/fonts</dir>,'
79SUBST_MESSAGE.fonts= Fixing path to bundled fonts directory. 82SUBST_MESSAGE.fonts= Fixing path to bundled fonts directory.
80 83
81.include "../../www/firefox78/mozilla-common.mk" 84.include "../../www/firefox78/mozilla-common.mk"
82.include "options.mk" 85.include "options.mk"
83 86
84CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py 87CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/header.py
85CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py 88CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/typelib.py
86CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py 89CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpidl.py
87CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py 90CHECK_INTERPRETER_SKIP+= lib/firefox-sdk/sdk/bin/xpt.py
88 91
89CHECK_WRKREF_SKIP+= lib/${PKGBASE}/chrome/toolkit/content/global/buildconfig.html 92CHECK_WRKREF_SKIP+= lib/${PKGBASE}/chrome/toolkit/content/global/buildconfig.html
90 93
91# 94#
92# Generate list of subst entries for various .cargo-checksum.json files. These 95# Generate list of subst entries for various .cargo-checksum.json files. These
93# are all handled together in one big substitution to simplify things rather 96# are all handled together in one big substitution to simplify things rather
94# than one substitution entry per file, but are kept separate below to ease 97# than one substitution entry per file, but are kept separate below to ease
95# updating and verification. 98# updating and verification.
96# 99#
97 100
98CKSUM_CRATES+= third_party/rust/libc 101CKSUM_CRATES+= third_party/rust/libc
99 102
100# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs 103# patch-third__party_rust_libc_src_unix_bsd_netbsdlike_netbsd_mod.rs
101CKSUMS+= a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532 104CKSUMS+= a3540eab4dbc52e006e84e288bad17e1dae3865fea49020e0ed8b5a7724a9532
102CKSUMS+= 5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a 105CKSUMS+= 5e58a2109f5eff0f497dfac150c161c1d517a2227b49e086da96c3d66522ac3a
103 106
104CKSUM_CRATES+= third_party/rust/getrandom 107CKSUM_CRATES+= third_party/rust/getrandom
105 108
106# patch-third__party_rust_getrandom_src_lib.rs 109# patch-third__party_rust_getrandom_src_lib.rs
107CKSUMS+= 0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2 110CKSUMS+= 0e52f6bde42d7bb05c297ce1c25b9879d61b28caba98f6226a152bff538db6c2
108CKSUMS+= 394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac 111CKSUMS+= 394425b4ba03c21c494e64d993678f7014575b1e3d590b9ee452b5c2d83ec4ac
109 112
110CKSUM_CRATES+= third_party/rust/packed_simd 113CKSUM_CRATES+= third_party/rust/packed_simd
111 114
112# patch-third__party_rust_packed__simd_src_lib.rs 115# patch-third__party_rust_packed__simd_src_lib.rs
113CKSUMS+= 2924d414fe7d32bb5f0bb92596a5af654f934d92f81dc1fd9b1a6c580388e5bd 116CKSUMS+= 2924d414fe7d32bb5f0bb92596a5af654f934d92f81dc1fd9b1a6c580388e5bd
114CKSUMS+= 99e70e436baa1d2080a46b38a146522fa6a8f2c60e1fa0a4d3aa125dc425734b 117CKSUMS+= 99e70e436baa1d2080a46b38a146522fa6a8f2c60e1fa0a4d3aa125dc425734b
115 118
116SUBST_CLASSES+= cksum 119SUBST_CLASSES+= cksum
117SUBST_STAGE.cksum= pre-configure 120SUBST_STAGE.cksum= pre-configure
118.for crate in ${CKSUM_CRATES} 121.for crate in ${CKSUM_CRATES}
119SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json 122SUBST_FILES.cksum+= ${crate}/.cargo-checksum.json
120.endfor 123.endfor
121.for from to in ${CKSUMS} 124.for from to in ${CKSUMS}
122SUBST_SED.cksum+= -e 's,${from},${to},g' 125SUBST_SED.cksum+= -e 's,${from},${to},g'
123.endfor 126.endfor
124 127
125MOZILLA= ${PKGBASE} 128MOZILLA= ${PKGBASE}
126MOZILLA_ICON= ${WRKSRC}/browser/branding/official/default48.png 129MOZILLA_ICON= ${WRKSRC}/browser/branding/official/default48.png
127MOZILLA_NAME= TorBrowser 130MOZILLA_NAME= TorBrowser
128 131
129post-extract: 132post-extract:
130 mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S 133 mv ${WRKSRC}/gfx/ycbcr/yuv_row_arm.s ${WRKSRC}/gfx/ycbcr/yuv_row_arm.S
131 mv ${WRKDIR}/tor-browser_en-US ${WRKSRC} 134 mv ${WRKDIR}/tor-browser_en-US ${WRKSRC}
132# mv ${WRKDIR}/tor-launcher* ${WRKSRC}/browser/extensions/tor-launcher 135# mv ${WRKDIR}/tor-launcher* ${WRKSRC}/browser/extensions/tor-launcher
133 136
134pre-configure: 137pre-configure:
135 cd ${WRKSRC} && autoconf 138 cd ${WRKSRC} && autoconf
136 cd ${WRKSRC}/js/src && autoconf 139 cd ${WRKSRC}/js/src && autoconf
137 cd ${WRKSRC} && mkdir ${OBJDIR} 140 cd ${WRKSRC} && mkdir ${OBJDIR}
138 cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars 141 cd ${WRKSRC}/${OBJDIR} && touch old-configure.vars
139 # Do not fetch Rust Cargo file via network during build 142 # Do not fetch Rust Cargo file via network during build
140 143
141post-build: 144post-build:
142 ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \ 145 ${SED} -e 's|@MOZILLA@|${MOZILLA}|g' \
143 -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \ 146 -e 's|@MOZILLA_NAME@|${MOZILLA_NAME}|g' \
144 -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \ 147 -e 's|@FIREFOX_ICON@|${MOZILLA}.png|g' \
145 < ${FILESDIR}/desktop.in \ 148 < ${FILESDIR}/desktop.in \
146 > ${WRKDIR}/desktop 149 > ${WRKDIR}/desktop
147 ${SED} -e 's|@PREFIX@|${PREFIX}|g' \ 150 ${SED} -e 's|@PREFIX@|${PREFIX}|g' \
148 < ${FILESDIR}/tor-browser.sh \ 151 < ${FILESDIR}/tor-browser.sh \
149 > ${WRKDIR}/tor-browser.sh 152 > ${WRKDIR}/tor-browser.sh
150 153
151INSTALLATION_DIRS+= share/applications 154INSTALLATION_DIRS+= share/applications
152INSTALLATION_DIRS+= share/pixmaps 155INSTALLATION_DIRS+= share/pixmaps
153INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fontconfig 156INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fontconfig
154INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fonts 157INSTALLATION_DIRS+= ${PREFIX}/lib/tor-browser/browser/fonts
155 158
156post-install: 159post-install:
157 ${INSTALL_SCRIPT} ${WRKDIR}/tor-browser.sh \ 160 ${INSTALL_SCRIPT} ${WRKDIR}/tor-browser.sh \
158 ${DESTDIR}${PREFIX}/bin/tor-browser 161 ${DESTDIR}${PREFIX}/bin/tor-browser
159 ${INSTALL_DATA} ${WRKDIR}/desktop \ 162 ${INSTALL_DATA} ${WRKDIR}/desktop \
160 ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop 163 ${DESTDIR}${PREFIX}/share/applications/${MOZILLA}.desktop
161 ${INSTALL_DATA} ${MOZILLA_ICON} \ 164 ${INSTALL_DATA} ${MOZILLA_ICON} \
162 ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png 165 ${DESTDIR}${PREFIX}/share/pixmaps/${MOZILLA}.png
163 ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \ 166 ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/TorBrowser/Data/fontconfig/fonts.conf \
164 ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fontconfig 167 ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fontconfig
165 ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \ 168 ${INSTALL_DATA} ${WRKSRC}/tor-browser_en-US/Browser/fonts/* \
166 ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fonts 169 ${DESTDIR}${PREFIX}/lib/tor-browser/browser/fonts
167 170
168.include "../../sysutils/desktop-file-utils/desktopdb.mk" 171.include "../../sysutils/desktop-file-utils/desktopdb.mk"
169.include "../../mk/bsd.pkg.mk" 172.include "../../mk/bsd.pkg.mk"

cvs diff -r1.13 -r1.14 pkgsrc/www/firefox78/Attic/mozilla-common.mk (switch to unified diff)

--- pkgsrc/www/firefox78/Attic/mozilla-common.mk 2021/11/13 23:51:01 1.13
+++ pkgsrc/www/firefox78/Attic/mozilla-common.mk 2022/01/26 12:00:18 1.14
@@ -1,211 +1,211 @@ @@ -1,211 +1,211 @@
1# $NetBSD: mozilla-common.mk,v 1.13 2021/11/13 23:51:01 nia Exp $ 1# $NetBSD: mozilla-common.mk,v 1.14 2022/01/26 12:00:18 wiz Exp $
2# 2#
3# common Makefile fragment for mozilla packages based on gecko 2.0. 3# common Makefile fragment for mozilla packages based on gecko 2.0.
4# 4#
5# used by mail/thunderbird/Makefile 5# used by mail/thunderbird/Makefile
6 6
7.include "../../mk/bsd.prefs.mk" 7.include "../../mk/bsd.prefs.mk"
8 8
9PYTHON_VERSIONS_INCOMPATIBLE= 27 9PYTHON_VERSIONS_INCOMPATIBLE+= 27
10PYTHON_FOR_BUILD_ONLY= tool 10PYTHON_FOR_BUILD_ONLY= tool
11ALL_ENV+= PYTHON3=${PYTHONBIN} 11ALL_ENV+= PYTHON3=${PYTHONBIN}
12 12
13HAS_CONFIGURE= yes 13HAS_CONFIGURE= yes
14CONFIGURE_ARGS+= --prefix=${PREFIX} 14CONFIGURE_ARGS+= --prefix=${PREFIX}
15USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip 15USE_TOOLS+= pkg-config perl gmake autoconf213 unzip zip
16UNLIMIT_RESOURCES+= datasize virtualsize 16UNLIMIT_RESOURCES+= datasize virtualsize
17 17
18USE_LANGUAGES+= c c++ 18USE_LANGUAGES+= c c++
19 19
20# ERROR: Only GCC 7.1 or newer is supported (found version 5.5.0). 20# ERROR: Only GCC 7.1 or newer is supported (found version 5.5.0).
21GCC_REQD+= 7 21GCC_REQD+= 7
22 22
23TOOL_DEPENDS+= cbindgen>=0.14.2:../../devel/cbindgen 23TOOL_DEPENDS+= cbindgen>=0.14.2:../../devel/cbindgen
24.if ${MACHINE_ARCH} == "sparc64" 24.if ${MACHINE_ARCH} == "sparc64"
25CONFIGURE_ARGS+= --disable-nodejs 25CONFIGURE_ARGS+= --disable-nodejs
26.else 26.else
27TOOL_DEPENDS+= nodejs-[0-9]*:../../lang/nodejs 27TOOL_DEPENDS+= nodejs-[0-9]*:../../lang/nodejs
28.endif 28.endif
29 29
30TOOL_DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3 30TOOL_DEPENDS+= ${PYPKGPREFIX}-sqlite3-[0-9]*:../../databases/py-sqlite3
31TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat 31TOOL_DEPENDS+= ${PYPKGPREFIX}-expat-[0-9]*:../../textproc/py-expat
32 32
33.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64" 33.if ${MACHINE_ARCH} == "i386" || ${MACHINE_ARCH} == "x86_64"
34TOOL_DEPENDS+= nasm>=2.14:../../devel/nasm 34TOOL_DEPENDS+= nasm>=2.14:../../devel/nasm
35TOOL_DEPENDS+= yasm>=1.1:../../devel/yasm 35TOOL_DEPENDS+= yasm>=1.1:../../devel/yasm
36.endif 36.endif
37 37
38# This is to work around build failures where an upstream configuration script 38# This is to work around build failures where an upstream configuration script
39# is confused by having more than one approximate match to MACHINE_GNU_PLATFORM 39# is confused by having more than one approximate match to MACHINE_GNU_PLATFORM
40# "i486" when attempting to select the Rust compiler target. 40# "i486" when attempting to select the Rust compiler target.
41.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386) 41.if !empty(MACHINE_PLATFORM:MNetBSD-*-i386)
42CONFIGURE_ARGS+= --target=i586-unknown-netbsd 42CONFIGURE_ARGS+= --target=i586-unknown-netbsd
43CONFIGURE_ARGS+= --host=i586-unknown-netbsd 43CONFIGURE_ARGS+= --host=i586-unknown-netbsd
44.else 44.else
45CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM} 45CONFIGURE_ARGS+= --target=${MACHINE_GNU_PLATFORM}
46CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM} 46CONFIGURE_ARGS+= --host=${MACHINE_GNU_PLATFORM}
47.endif 47.endif
48 48
49CONFIGURE_ENV+= BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \ 49CONFIGURE_ENV+= BINDGEN_CFLAGS="-isystem${PREFIX}/include/nspr \
50 -isystem${X11BASE}/include/pixman-1" 50 -isystem${X11BASE}/include/pixman-1"
51 51
52test: 52test:
53 cd ${WRKSRC}/${OBJDIR}/dist/bin && \ 53 cd ${WRKSRC}/${OBJDIR}/dist/bin && \
54 ./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey 54 ./run-mozilla.sh ${WRKSRC}/mach check-spidermonkey
55 55
56# tar(1) of OpenBSD 5.5 has no --exclude command line option. 56# tar(1) of OpenBSD 5.5 has no --exclude command line option.
57.if ${OPSYS} == "OpenBSD" 57.if ${OPSYS} == "OpenBSD"
58TOOLS_PLATFORM.tar= ${TOOLS_PATH.bsdtar} 58TOOLS_PLATFORM.tar= ${TOOLS_PATH.bsdtar}
59USE_TOOLS+= bsdtar 59USE_TOOLS+= bsdtar
60.endif 60.endif
61.if ${MACHINE_ARCH} == "i386" 61.if ${MACHINE_ARCH} == "i386"
62# This is required for SSE2 code under i386. 62# This is required for SSE2 code under i386.
63CXXFLAGS+= -mstackrealign 63CXXFLAGS+= -mstackrealign
64.endif 64.endif
65 65
66CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}third_party/python/glean_parser/Makefile 66CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}third_party/python/glean_parser/Makefile
67CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh 67CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}security/nss/tests/libpkix/libpkix.sh
68CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh 68CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}security/nss/tests/multinit/multinit.sh
69CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}js/src/tests/update-test262.sh 69CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}js/src/tests/update-test262.sh
70CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}intl/icu/source/configure 70CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}intl/icu/source/configure
71CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}browser/components/loop/run-all-loop-tests.sh 71CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}browser/components/loop/run-all-loop-tests.sh
72CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}browser/extensions/loop/run-all-loop-tests.sh 72CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}browser/extensions/loop/run-all-loop-tests.sh
73#CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}modules/pdfium/update.sh 73#CHECK_PORTABILITY_SKIP+= ${MOZILLA_DIR}modules/pdfium/update.sh
74 74
75CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk3 75CONFIGURE_ARGS+= --enable-default-toolkit=cairo-gtk3
76CONFIGURE_ARGS+= --enable-release 76CONFIGURE_ARGS+= --enable-release
77# Disable Rust SIMD option to fix build with lang/rust-1.33.0 77# Disable Rust SIMD option to fix build with lang/rust-1.33.0
78# This should be enabled later again. 78# This should be enabled later again.
79#CONFIGURE_ARGS+= --enable-rust-simd 79#CONFIGURE_ARGS+= --enable-rust-simd
80CONFIGURE_ARGS+= --disable-tests 80CONFIGURE_ARGS+= --disable-tests
81# Mozilla Bug 1432751 81# Mozilla Bug 1432751
82#CONFIGURE_ARGS+= --enable-system-cairo 82#CONFIGURE_ARGS+= --enable-system-cairo
83CONFIGURE_ARGS+= --enable-system-pixman 83CONFIGURE_ARGS+= --enable-system-pixman
84# webrtc option requires internal libvpx 84# webrtc option requires internal libvpx
85#CONFIGURE_ARGS+= --with-system-libvpx 85#CONFIGURE_ARGS+= --with-system-libvpx
86CONFIGURE_ARGS+= --enable-system-ffi 86CONFIGURE_ARGS+= --enable-system-ffi
87CONFIGURE_ARGS+= --with-system-icu 87CONFIGURE_ARGS+= --with-system-icu
88CONFIGURE_ARGS+= --with-system-nss 88CONFIGURE_ARGS+= --with-system-nss
89CONFIGURE_ARGS+= --with-system-nspr 89CONFIGURE_ARGS+= --with-system-nspr
90#CONFIGURE_ARGS+= --with-system-jpeg 90#CONFIGURE_ARGS+= --with-system-jpeg
91CONFIGURE_ARGS+= --with-system-zlib 91CONFIGURE_ARGS+= --with-system-zlib
92CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent} 92CONFIGURE_ARGS+= --with-system-libevent=${BUILDLINK_PREFIX.libevent}
93CONFIGURE_ARGS+= --disable-crashreporter 93CONFIGURE_ARGS+= --disable-crashreporter
94CONFIGURE_ARGS+= --disable-necko-wifi 94CONFIGURE_ARGS+= --disable-necko-wifi
95CONFIGURE_ARGS+= --enable-chrome-format=flat 95CONFIGURE_ARGS+= --enable-chrome-format=flat
96CONFIGURE_ARGS+= --with-system-webp 96CONFIGURE_ARGS+= --with-system-webp
97 97
98#CONFIGURE_ARGS+= --enable-readline 98#CONFIGURE_ARGS+= --enable-readline
99CONFIGURE_ARGS+= --disable-icf 99CONFIGURE_ARGS+= --disable-icf
100CONFIGURE_ARGS+= --disable-updater 100CONFIGURE_ARGS+= --disable-updater
101 101
102#CONFIGURE_ARGS+= --with-libclang-path=${PREFIX}/lib 102#CONFIGURE_ARGS+= --with-libclang-path=${PREFIX}/lib
103 103
104SUBST_CLASSES+= fix-paths 104SUBST_CLASSES+= fix-paths
105SUBST_STAGE.fix-paths= pre-configure 105SUBST_STAGE.fix-paths= pre-configure
106SUBST_MESSAGE.fix-paths= Fixing absolute paths. 106SUBST_MESSAGE.fix-paths= Fixing absolute paths.
107SUBST_FILES.fix-paths+= ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp 107SUBST_FILES.fix-paths+= ${MOZILLA_DIR}xpcom/io/nsAppFileLocationProvider.cpp
108SUBST_SED.fix-paths+= -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g' 108SUBST_SED.fix-paths+= -e 's,/usr/lib/mozilla/plugins,${PREFIX}/lib/netscape/plugins,g'
109 109
110CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.guess 110CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.guess
111CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.guess 111CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.guess
112CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess 112CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.guess
113CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.guess 113CONFIG_GUESS_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.guess
114CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.sub 114CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}build/autoconf/config.sub
115CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.sub 115CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}js/src/build/autoconf/config.sub
116CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub 116CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}nsprpub/build/autoconf/config.sub
117CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.sub 117CONFIG_SUB_OVERRIDE+= ${MOZILLA_DIR}/js/ctypes/libffi/config.sub
118 118
119CONFIGURE_ENV+= CPP=${CPP:Q} 119CONFIGURE_ENV+= CPP=${CPP:Q}
120ALL_ENV+= SHELL=${CONFIG_SHELL:Q} 120ALL_ENV+= SHELL=${CONFIG_SHELL:Q}
121 121
122# Build outside ${WRKSRC} 122# Build outside ${WRKSRC}
123# Try to avoid conflict with config/makefiles/xpidl/Makefile.in 123# Try to avoid conflict with config/makefiles/xpidl/Makefile.in
124OBJDIR= ../build 124OBJDIR= ../build
125CONFIGURE_DIRS= ${OBJDIR} 125CONFIGURE_DIRS= ${OBJDIR}
126CONFIGURE_SCRIPT= ${WRKSRC}/configure 126CONFIGURE_SCRIPT= ${WRKSRC}/configure
127 127
128PLIST_VARS+= ffvpx 128PLIST_VARS+= ffvpx
129 129
130.if ${MACHINE_ARCH} == "aarch64" || \ 130.if ${MACHINE_ARCH} == "aarch64" || \
131 !empty(MACHINE_ARCH:M*arm*) || \ 131 !empty(MACHINE_ARCH:M*arm*) || \
132 ${MACHINE_ARCH} == "i386" || \ 132 ${MACHINE_ARCH} == "i386" || \
133 ${MACHINE_ARCH} == "x86_64" 133 ${MACHINE_ARCH} == "x86_64"
134PLIST.ffvpx= yes # see media/ffvpx/ffvpxcommon.mozbuild 134PLIST.ffvpx= yes # see media/ffvpx/ffvpxcommon.mozbuild
135.endif 135.endif
136 136
137# See ${WRKSRC}/security/sandbox/mac/Sandbox.mm: On Darwin, sandboxing 137# See ${WRKSRC}/security/sandbox/mac/Sandbox.mm: On Darwin, sandboxing
138# support is only available when the toolkit is cairo-cocoa. 138# support is only available when the toolkit is cairo-cocoa.
139CONFIGURE_ARGS.Darwin+= --disable-sandbox 139CONFIGURE_ARGS.Darwin+= --disable-sandbox
140 140
141# See ${WRKSRC}/configure.in: It tries to use MacOS X 10.6 SDK by 141# See ${WRKSRC}/configure.in: It tries to use MacOS X 10.6 SDK by
142# default, which is not always possible. 142# default, which is not always possible.
143.if !empty(MACHINE_PLATFORM:MDarwin-8.*-*) 143.if !empty(MACHINE_PLATFORM:MDarwin-8.*-*)
144CONFIGURE_ARGS+= --enable-macos-target=10.4 144CONFIGURE_ARGS+= --enable-macos-target=10.4
145.elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*) 145.elif !empty(MACHINE_PLATFORM:MDarwin-9.*-*)
146CONFIGURE_ARGS+= --enable-macos-target=10.5 146CONFIGURE_ARGS+= --enable-macos-target=10.5
147.endif 147.endif
148 148
149# Makefiles sometimes call "rm -f" without more arguments. Kludge around ... 149# Makefiles sometimes call "rm -f" without more arguments. Kludge around ...
150.PHONY: create-rm-wrapper 150.PHONY: create-rm-wrapper
151pre-configure: create-rm-wrapper 151pre-configure: create-rm-wrapper
152create-rm-wrapper: 152create-rm-wrapper:
153 printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \ 153 printf '#!/bin/sh\n[ "$$*" = "-f" ] && exit 0\nexec /bin/rm $$@\n' > \
154 ${WRAPPER_DIR}/bin/rm 154 ${WRAPPER_DIR}/bin/rm
155 chmod +x ${WRAPPER_DIR}/bin/rm 155 chmod +x ${WRAPPER_DIR}/bin/rm
156 156
157.PHONY: fix-clang-wrapper 157.PHONY: fix-clang-wrapper
158pre-configure: fix-clang-wrapper 158pre-configure: fix-clang-wrapper
159fix-clang-wrapper: 159fix-clang-wrapper:
160.if empty(PKGSRC_COMPILER:M*clang*) 160.if empty(PKGSRC_COMPILER:M*clang*)
161# Firefox requires Clang during the build, even when building with GCC. 161# Firefox requires Clang during the build, even when building with GCC.
162# XXX: When using GCC, pkgsrc provides 'clang' wrappers that are actually gcc. 162# XXX: When using GCC, pkgsrc provides 'clang' wrappers that are actually gcc.
163# This breaks the build. 163# This breaks the build.
164 ${LN} -sf ${PREFIX}/bin/clang ${WRKDIR}/.cwrapper/bin/clang 164 ${LN} -sf ${PREFIX}/bin/clang ${WRKDIR}/.cwrapper/bin/clang
165 ${LN} -sf ${PREFIX}/bin/clang++ ${WRKDIR}/.cwrapper/bin/clang++ 165 ${LN} -sf ${PREFIX}/bin/clang++ ${WRKDIR}/.cwrapper/bin/clang++
166 ${LN} -sf ${PREFIX}/bin/clang-cpp ${WRKDIR}/.cwrapper/bin/clang-cpp 166 ${LN} -sf ${PREFIX}/bin/clang-cpp ${WRKDIR}/.cwrapper/bin/clang-cpp
167.endif 167.endif
168 168
169# The configure test for __thread succeeds, but later we end up with: 169# The configure test for __thread succeeds, but later we end up with:
170# dist/bin/libxul.so: undefined reference to `__tls_get_addr' 170# dist/bin/libxul.so: undefined reference to `__tls_get_addr'
171CONFIGURE_ENV.NetBSD+= ac_cv_thread_keyword=no 171CONFIGURE_ENV.NetBSD+= ac_cv_thread_keyword=no
172# In unspecified case, clock_gettime(CLOCK_MONOTONIC, ...) fails. 172# In unspecified case, clock_gettime(CLOCK_MONOTONIC, ...) fails.
173CONFIGURE_ENV.NetBSD+= ac_cv_clock_monotonic= 173CONFIGURE_ENV.NetBSD+= ac_cv_clock_monotonic=
174 174
175.include "../../mk/atomic64.mk" 175.include "../../mk/atomic64.mk"
176BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1 176BUILDLINK_API_DEPENDS.libevent+= libevent>=1.1
177.include "../../devel/libevent/buildlink3.mk" 177.include "../../devel/libevent/buildlink3.mk"
178.include "../../devel/libffi/buildlink3.mk" 178.include "../../devel/libffi/buildlink3.mk"
179BUILDLINK_API_DEPENDS.nspr+= nspr>=4.25 179BUILDLINK_API_DEPENDS.nspr+= nspr>=4.25
180.include "../../devel/nspr/buildlink3.mk" 180.include "../../devel/nspr/buildlink3.mk"
181.include "../../textproc/icu/buildlink3.mk" 181.include "../../textproc/icu/buildlink3.mk"
182BUILDLINK_API_DEPENDS.nss+= nss>=3.53 182BUILDLINK_API_DEPENDS.nss+= nss>=3.53
183.include "../../devel/nss/buildlink3.mk" 183.include "../../devel/nss/buildlink3.mk"
184.include "../../devel/zlib/buildlink3.mk" 184.include "../../devel/zlib/buildlink3.mk"
185#.include "../../mk/jpeg.buildlink3.mk" 185#.include "../../mk/jpeg.buildlink3.mk"
186.include "../../graphics/MesaLib/buildlink3.mk" 186.include "../../graphics/MesaLib/buildlink3.mk"
187#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4 187#BUILDLINK_API_DEPENDS.cairo+= cairo>=1.10.2nb4
188#.include "../../graphics/cairo/buildlink3.mk" 188#.include "../../graphics/cairo/buildlink3.mk"
189BUILDLINK_API_DEPENDS.libwebp+= libwebp>=1.0.2 189BUILDLINK_API_DEPENDS.libwebp+= libwebp>=1.0.2
190.include "../../graphics/libwebp/buildlink3.mk" 190.include "../../graphics/libwebp/buildlink3.mk"
191BUILDLINK_DEPMETHOD.clang= build 191BUILDLINK_DEPMETHOD.clang= build
192.include "../../lang/clang/buildlink3.mk" 192.include "../../lang/clang/buildlink3.mk"
193RUST_REQ= 1.41.0 193RUST_REQ= 1.41.0
194.include "../../lang/rust/rust.mk" 194.include "../../lang/rust/rust.mk"
195# webrtc option requires internal libvpx 195# webrtc option requires internal libvpx
196#BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0 196#BUILDLINK_API_DEPENDS.libvpx+= libvpx>=1.3.0
197#.include "../../multimedia/libvpx/buildlink3.mk" 197#.include "../../multimedia/libvpx/buildlink3.mk"
198.include "../../net/libIDL/buildlink3.mk" 198.include "../../net/libIDL/buildlink3.mk"
199# textproc/hunspell 1.3 is too old 199# textproc/hunspell 1.3 is too old
200#.include "../../textproc/hunspell/buildlink3.mk" 200#.include "../../textproc/hunspell/buildlink3.mk"
201.include "../../multimedia/ffmpeg4/buildlink3.mk" 201.include "../../multimedia/ffmpeg4/buildlink3.mk"
202.include "../../x11/libXt/buildlink3.mk" 202.include "../../x11/libXt/buildlink3.mk"
203BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2 203BUILDLINK_API_DEPENDS.pixman+= pixman>=0.25.2
204.include "../../x11/pixman/buildlink3.mk" 204.include "../../x11/pixman/buildlink3.mk"
205.include "../../x11/gtk2/buildlink3.mk" 205.include "../../x11/gtk2/buildlink3.mk"
206.include "../../x11/gtk3/buildlink3.mk" 206.include "../../x11/gtk3/buildlink3.mk"
207PLIST_VARS+= wayland 207PLIST_VARS+= wayland
208.if ${PKG_BUILD_OPTIONS.gtk3:Mwayland} 208.if ${PKG_BUILD_OPTIONS.gtk3:Mwayland}
209PLIST.wayland= yes 209PLIST.wayland= yes
210.endif 210.endif
211.include "../../lang/python/tool.mk" 211.include "../../lang/python/tool.mk"