Re: Tor Browser for aarch64

2023-09-13 Thread Peter Hessler
On 2023 Sep 13 (Wed) at 23:06:51 +0200 (+0200), Caspar Schutijser wrote:
:On Thu, Sep 07, 2023 at 11:35:12AM +0200, Caspar Schutijser wrote:
:> Hi ports@,
:> 
:> Below is a diff that makes Tor Browser work on aarch64. Tested on
:> aarch64 and amd64.
:> 
:> Comments or OKs?
:
:Ping. New diff (rebased on recent changes by landry@) below.
:

I'm cool with adding tor-browser to aarch64, and ports-wise this looks
fine to me.

I've not tested the diff or spent actual thought on it, though :).


:> 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 -   1.73
:+++ meta/tor-browser/Makefile  13 Sep 2023 15:58:15 -
:@@ -3,7 +3,7 @@ COMMENT=   Tor Browser meta package
: MAINTAINER=   Caspar Schutijser 
: 
: 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 -   1.70
:+++ www/tor-browser/Makefile.inc   13 Sep 2023 15:58:15 -
:@@ -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.117
:diff -u -p -r1.117 Makefile
:--- www/tor-browser/browser/Makefile   13 Sep 2023 06:15:48 -  1.117
:+++ www/tor-browser/browser/Makefile   13 Sep 2023 15:58:15 -
:@@ -7,7 +7,7 @@ COMMENT =  modified version of Firefox E
: MOZILLA_VERSION = ${TB_VERSION}
: MOZILLA_PROJECT = ${BROWSER_NAME}
: MOZILLA_CODENAME =browser
:-REVISION =0
:+REVISION =1
: 
: EXTRACT_SUFX =.tar.xz
: 
:@@ -23,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
:@@ -37,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 -   1.18
:+++ www/tor-browser/browser/pkg/PLIST  13 Sep 2023 15:58:15 -
:@@ -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 

Re: Tor Browser for aarch64

2023-09-13 Thread Caspar Schutijser
On Thu, Sep 07, 2023 at 11:35:12AM +0200, Caspar Schutijser wrote:
> Hi ports@,
> 
> Below is a diff that makes Tor Browser work on aarch64. Tested on
> aarch64 and amd64.
> 
> Comments or OKs?

Ping. New diff (rebased on recent changes by landry@) below.

> 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 -   1.73
+++ meta/tor-browser/Makefile   13 Sep 2023 15:58:15 -
@@ -3,7 +3,7 @@ COMMENT=Tor Browser meta package
 MAINTAINER=Caspar Schutijser 
 
 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.inc6 Sep 2023 09:42:28 -   1.70
+++ www/tor-browser/Makefile.inc13 Sep 2023 15:58:15 -
@@ -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.117
diff -u -p -r1.117 Makefile
--- www/tor-browser/browser/Makefile13 Sep 2023 06:15:48 -  1.117
+++ www/tor-browser/browser/Makefile13 Sep 2023 15:58:15 -
@@ -7,7 +7,7 @@ COMMENT =   modified version of Firefox E
 MOZILLA_VERSION =  ${TB_VERSION}
 MOZILLA_PROJECT =  ${BROWSER_NAME}
 MOZILLA_CODENAME = browser
-REVISION = 0
+REVISION = 1
 
 EXTRACT_SUFX = .tar.xz
 
@@ -23,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
@@ -37,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 -   1.18
+++ www/tor-browser/browser/pkg/PLIST   13 Sep 2023 15:58:15 -
@@ -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}
 @li

Tor Browser for aarch64

2023-09-07 Thread Caspar Schutijser
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 -   1.73
+++ meta/tor-browser/Makefile   7 Sep 2023 09:33:46 -
@@ -3,7 +3,7 @@ COMMENT=Tor Browser meta package
 MAINTAINER=Caspar Schutijser 
 
 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.inc6 Sep 2023 09:42:28 -   1.70
+++ www/tor-browser/Makefile.inc7 Sep 2023 09:33:46 -
@@ -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/Makefile6 Sep 2023 09:42:28 -   1.116
+++ www/tor-browser/browser/Makefile7 Sep 2023 09:33:46 -
@@ -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 -   1.18
+++ www/tor-browser/browser/pkg/PLIST   7 Sep 2023 09:33:46 -
@@ -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}