Hi ports@,

Below is a diff that makes Tor Browser work on aarch64. Tested on
aarch64 and amd64.

Comments or OKs?

If you're interested in the details you can read on; otherwise, just
skip the part below and go right to the diff.

A user previously proposed this already, but I assumed that
Tor Browser was carrying some local patches for NSPR and thus we needed
the version of NSPR bundled with Tor Browser. However, that turns out
not to be the case:

$ git clone https://gitlab.torproject.org/tpo/applications/tor-browser.git
$ cd tor-browser
$ git diff FIREFOX_102_15_0esr_BUILD1..tor-browser-102.15.0esr-12.5-1-build2 
nsprpub/

I checked for a few older releases as well, and I didn't see any patches
there either. So we don't need the bundled NSPR there. Which is great
because the bundled NSPR does not compile on aarch64, even with the
patches from devel/nspr integrated.

Note that we can't do the same for e.g. NSS, because if you run this
you'll see that Tor Browser does indeed have some patches for NSS:
$ git diff FIREFOX_102_15_0esr_BUILD1..tor-browser-102.15.0esr-12.5-1-build2 
security/nss

Caspar


Index: meta/tor-browser/Makefile
===================================================================
RCS file: /cvs/ports/meta/tor-browser/Makefile,v
retrieving revision 1.73
diff -u -p -r1.73 Makefile
--- meta/tor-browser/Makefile   6 Sep 2023 09:42:28 -0000       1.73
+++ meta/tor-browser/Makefile   7 Sep 2023 09:33:46 -0000
@@ -3,7 +3,7 @@ COMMENT=        Tor Browser meta package
 MAINTAINER=    Caspar Schutijser <cas...@schutijser.com>
 
 PKGNAME=       tor-browser-12.5.3
-ONLY_FOR_ARCHS =       amd64
+ONLY_FOR_ARCHS =       aarch64 amd64
 
 RUN_DEPENDS=   www/tor-browser/browser>=12.5.3 \
                www/tor-browser/noscript>=11.4.26 \
Index: www/tor-browser/Makefile.inc
===================================================================
RCS file: /cvs/ports/www/tor-browser/Makefile.inc,v
retrieving revision 1.70
diff -u -p -r1.70 Makefile.inc
--- www/tor-browser/Makefile.inc        6 Sep 2023 09:42:28 -0000       1.70
+++ www/tor-browser/Makefile.inc        7 Sep 2023 09:33:46 -0000
@@ -7,7 +7,7 @@ TB_VERSION =            12.5.3
 TB_PREFIX =            tb
 
 # keep meta/tor-browser in sync
-ONLY_FOR_ARCHS ?=      amd64
+ONLY_FOR_ARCHS ?=      aarch64 amd64
 
 SUBST_VARS +=          BROWSER_NAME TB_VERSION
 
Index: www/tor-browser/browser/Makefile
===================================================================
RCS file: /cvs/ports/www/tor-browser/browser/Makefile,v
retrieving revision 1.116
diff -u -p -r1.116 Makefile
--- www/tor-browser/browser/Makefile    6 Sep 2023 09:42:28 -0000       1.116
+++ www/tor-browser/browser/Makefile    7 Sep 2023 09:33:46 -0000
@@ -12,6 +12,7 @@ EXTRACT_SUFX =                .tar.xz
 
 PKGNAME =              ${TB_PREFIX}-browser-${TB_VERSION:S/a/alpha/}
 DISTNAME =             src-firefox-tor-browser-102.15.0esr-12.5-1-build2
+REVISION =             0
 
 FIX_EXTRACT_PERMISSIONS        = Yes
 DISTFILES +=           ${DISTNAME}.tar.xz \
@@ -22,7 +23,7 @@ SO_VERSION =          8.0
 MOZILLA_LIBS =         xul clearkey lgpllibs mozavcodec mozavutil mozgtk
 MOZILLA_LIBS +=                freebl3 nss3 nssckbi
 MOZILLA_LIBS +=                nssutil3 smime3 softokn3 ssl3
-MOZILLA_LIBS +=                nspr4 mozsqlite3 plc4 plds4 ipcclientcerts
+MOZILLA_LIBS +=                mozsqlite3 ipcclientcerts
 
 # mozilla public license for the browser
 PERMIT_PACKAGE=        Yes
@@ -36,8 +37,7 @@ MODPY_RUNDEP =                No
 
 COMPILER =             ports-clang
 
-# tor-browser needs built-in nss, sqlite
-MOZILLA_USE_BUNDLED_NSPR =     Yes
+# tor-browser needs built-in nss
 MOZILLA_USE_BUNDLED_NSS =      Yes
 # 63 requires node because why not #1483595
 BUILD_DEPENDS +=       lang/node
Index: www/tor-browser/browser/pkg/PLIST
===================================================================
RCS file: /cvs/ports/www/tor-browser/browser/pkg/PLIST,v
retrieving revision 1.18
diff -u -p -r1.18 PLIST
--- www/tor-browser/browser/pkg/PLIST   6 Sep 2023 09:42:29 -0000       1.18
+++ www/tor-browser/browser/pkg/PLIST   7 Sep 2023 09:33:46 -0000
@@ -203,12 +203,9 @@ lib/${BROWSER_NAME}/fonts/TwemojiMozilla
 @lib lib/${BROWSER_NAME}/libmozavutil.so.${LIBmozavutil_VERSION}
 @lib lib/${BROWSER_NAME}/libmozgtk.so.${LIBmozgtk_VERSION}
 @lib lib/${BROWSER_NAME}/libmozsqlite3.so.${LIBmozsqlite3_VERSION}
-@lib lib/${BROWSER_NAME}/libnspr4.so.${LIBnspr4_VERSION}
 @lib lib/${BROWSER_NAME}/libnss3.so.${LIBnss3_VERSION}
 @lib lib/${BROWSER_NAME}/libnssckbi.so.${LIBnssckbi_VERSION}
 @lib lib/${BROWSER_NAME}/libnssutil3.so.${LIBnssutil3_VERSION}
-@lib lib/${BROWSER_NAME}/libplc4.so.${LIBplc4_VERSION}
-@lib lib/${BROWSER_NAME}/libplds4.so.${LIBplds4_VERSION}
 @lib lib/${BROWSER_NAME}/libsmime3.so.${LIBsmime3_VERSION}
 @lib lib/${BROWSER_NAME}/libsoftokn3.so.${LIBsoftokn3_VERSION}
 @lib lib/${BROWSER_NAME}/libssl3.so.${LIBssl3_VERSION}

Reply via email to