[voidlinux/void-packages] Firefox 60.0 (#14275)

Enno Boland at Wed, 09 May 2018 18:42:51 -0700
Updates Firefox to the latest release. Build tested on musl, @Duncaen had some issues with sandboxing and sndio while testing. You can view, comment on, or merge this pull request online at: https://github.com/voidlinux/void-packages/pull/14275 -- Commit Summary -- * nss: update to 3.37. * firefox: update to 60.0. * firefox-i18n: update to 60.0. -- File Changes -- M srcpkgs/firefox-i18n/template (190) A srcpkgs/firefox/patches/fix-webrtc-glibcisms.patch (13) A srcpkgs/firefox/patches/rust-unitialized-field.patch (19) M srcpkgs/firefox/template (7) M srcpkgs/nss/patches/ssl-renegotiate-transitional.patch (24) M srcpkgs/nss/template (6) -- Patch Links -- https://github.com/voidlinux/void-packages/pull/14275.patch https://github.com/voidlinux/void-packages/pull/14275.diff
Enno Boland at Fri, 11 May 2018 15:20:18 -0700
nss crossbuild is broken.
Alessio Sergi at Sat, 12 May 2018 07:05:26 -0700
There is no need to update to nss `3.37`. Firefox 60 requires at least `nss>=3.36.1`. Just update nss to `3.36.1`. Please enforce dependency on `nss>=3.36.1` in firefox template. https://github.com/voidlinux/void-packages/blob/master/srcpkgs/firefox/files/mozconfig#L5-L8 You can remove those lines. Upstream dropped the support for building against system cairo: https://bugzilla.mozilla.org/show_bug.cgi?id=1432751.
Enno Boland at Sat, 12 May 2018 07:10:47 -0700
I experienced similiar issues with 3.36 and 3.36.1
Alessio Sergi at Sat, 12 May 2018 07:22:43 -0700
nss `3.36.1` crossbuilds and works fine for me locally.
Enno Boland at Sat, 12 May 2018 07:32:31 -0700
3.36.1 is failing for aarch64 with a similiar error as in 3.37. armv7 seems to build.
newbluemoon at Sat, 12 May 2018 08:22:54 -0700
The problem seems to be in `nss-3.37/nss/lib/freebl/chacha20poly1305.c`, = line 27, where the wrong branch is selected because `HAVE_INT128_SUPPORT`= isn=E2=80=99t set: ``` #if defined(HAVE_INT128_SUPPORT) && (defined(NSS_X86_OR_X64) || defined(_= _aarch64__)) = = /* Use HACL* Poly1305 on 64-bit Intel and ARM */ #include "verified/Hacl_Poly1305_64.h" #define NSS_POLY1305_64 1 #define Hacl_Poly1305_update Hacl_Poly1305_64_update #define Hacl_Poly1305_mk_state Hacl_Poly1305_64_mk_state #define Hacl_Poly1305_init Hacl_Poly1305_64_init #define Hacl_Poly1305_finish Hacl_Poly1305_64_finish typedef Hacl_Impl_Poly1305_64_State_poly1305_state Hacl_Impl_Poly1305_Sta= te_poly1305_state; #else /* All other platforms get the 32-bit poly1305 HACL* implementation. */ #include "verified/Hacl_Poly1305_32.h" #define NSS_POLY1305_32 1 #define Hacl_Poly1305_update Hacl_Poly1305_32_update #define Hacl_Poly1305_mk_state Hacl_Poly1305_32_mk_state #define Hacl_Poly1305_init Hacl_Poly1305_32_init #define Hacl_Poly1305_finish Hacl_Poly1305_32_finish typedef Hacl_Impl_Poly1305_32_State_poly1305_state Hacl_Impl_Poly1305_Sta= te_poly1305_state; #endif /* HAVE_INT128_SUPPORT */ ``` When I modify line 40 in nss=E2=80=99s template to aarch64*) _ARCH=3D"aarch64"; CFLAGS+=3D" -DNS_PTR_GT_32 -DHAVE_INT128= _SUPPORT";; the build succeeds. Haven=E2=80=99t checked for 32-bit ARM, yet. -- = You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/voidlinux/void-packages/pull/14275#issuecomment-388562= 342=
Enno Boland at Sat, 12 May 2018 08:40:12 -0700
Hmm... I guess something is wrong with `nss/lib/freebl/Makefile` then. ``` 495 ifdef USE_64 496 ifdef CC_IS_CLANG 497 HAVE_INT128_SUPPORT = 1 498 DEFINES += -DHAVE_INT128_SUPPORT 499 else ifeq (1,$(CC_IS_GCC)) 500 ifneq (,$(filter 4.6 4.7 4.8 4.9,$(word 1,$(GCC_VERSION)).$(word 2,$(GCC_VERSION)))) 501 HAVE_INT128_SUPPORT = 1 502 DEFINES += -DHAVE_INT128_SUPPORT 503 endif 504 ifeq (,$(filter 0 1 2 3 4,$(word 1,$(GCC_VERSION)))) 505 HAVE_INT128_SUPPORT = 1 506 DEFINES += -DHAVE_INT128_SUPPORT 507 endif 508 endif 509 endif ``` they explicitly disable `HAVE_INT128_SUPPORT` for any gcc > 4.9.x. Is there a reason?
newbluemoon at Sat, 12 May 2018 08:58:58 -0700
Or is it because `$_use64` isn=E2=80=99t used in the template=E2=80=99s c= ross-build branch? -- = You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/voidlinux/void-packages/pull/14275#issuecomment-388564= 641=
Alessio Sergi at Sat, 12 May 2018 09:38:00 -0700
The same goes for `nss<=3.35` on aarch64. This upstream [commit](https://hg.mozilla.org/projects/nss/rev/1668fafc1db4) exposes the issue to us.
Alessio Sergi at Sat, 12 May 2018 09:49:17 -0700
@newbluemoon lgtm
Alessio Sergi at Mon, 14 May 2018 09:57:56 -0700
Fix nss `>=3.36.1` on aarch64: https://gist.github.com/asergi/1048db72e70a4a187bafa17e3e06fde5 Fix nss `3.37` on arm*: https://gist.github.com/asergi/fd42de4a103a638cff5589a2f2c80dd0
Enno Boland at Mon, 14 May 2018 10:55:27 -0700
Hm. applying the second patch to all platform shouldn't make a difference due to `-Wl,--as-needed`.
Enno Boland at Mon, 14 May 2018 11:05:36 -0700
@asergi Thanks a lot!
Enno Boland at Mon, 14 May 2018 12:48:45 -0700
@Gottox pushed 1 commit. 1daeaa0 nss: remove transitional patches
Enno Boland at Mon, 14 May 2018 14:17:19 -0700
Closed #14275.
Enno Boland at Mon, 14 May 2018 14:17:20 -0700
08d5f1fc59f439aab0d2d8a5f46cc69f9f5e1383