Commit graph

82 commits

Author SHA1 Message Date
ajs124 785cdcddd7 nss: 3.52 -> 3.52.1 2020-06-04 13:30:40 +02:00
aszlig 8fb49973ce
firefox: Add patch to fix AES GCM IV bit size
Regression introduced by bce5268a21.

The bit size of the initialisation vector for AES GCM has been
introduced in NSS version 3.52 in the CK_GCM_PARMS struct via the
ulIvBits field.

Unfortunately, Firefox 68.8.0 and 76.0 do not set this field and thus it
gets initialised to zero, which in turn causes IV generation to fail.

I found out about this because WebRTC stopped working after updating to
NSS 3.52 and so I started bisecting.

Since there wasn't an obvious error in Firefox hinting towards NSS but
instead just the video stream ended up as a "null" stream, I didn't
suspect the NSS update to be the culprit at first. So I verified a few
times and then also started bisecting the actual commit in NSS that
caused the issue.

This turned out to be the problematic change:

https://phabricator.services.mozilla.com/D63241

> One notable change was caused by an inconsistancy between the spec and
> the released headers in PKCS#11 v2.40. CK_GCM_PARAMS had an extra
> field in the header that was not in the spec. OASIS considers the
> header file to be normative, so PKCS#11 v3.0 resolved the issue in
> favor of the header file definition.

Since the test I've used[1] was a bit flaky, I still didn't believe the
result of the bisect to be accurate, but after running the test several
times leading same results I dug through the above change line by line
to get more clues.

It fortunately didn't take that long to stumble upon the ulIvBits change
(which is actually documented in the NSS 3.52 release notes[4], but I
managed to blatantly ignore it for some reason) and started checking the
Firefox source tree for changes regarding that field.

Initialisation of that new field has been introduced[2] in preparation
for the 76 release, but subsequently got reverted[3] prior to the
release, because Firefox 76 is expected to be shipped with NSS 3.51,
which didn't have the ulIvBits field.

The patch I'm adding here is just a reintroduction of that change,
because we're using NSS 3.52. Not initialising that field will break
WebRTC and WebCrypto, which I think the former seems to gain in
popularity these days ;-)

Tested the change against the mentioned VM test[1] and also by testing
manually using Jitsi Meet and Nextcloud Talk.

[1]: https://github.com/aszlig/avonc/tree/884315838b6f0ebb32b/tests/talk
[2]: https://hg.mozilla.org/mozilla-central/rev/3ed30e6b6de1
[3]: https://hg.mozilla.org/mozilla-central/rev/665137da70ee
[4]: https://developer.mozilla.org/en-US/docs/Mozilla/Projects/NSS/NSS_3.52_release_notes

Signed-off-by: aszlig <aszlig@nix.build>
2020-05-13 02:23:12 +02:00
John Ericson 204d710405 treewide: Get rid of -dumpmachine in favor of static info 2020-04-13 19:26:19 -04:00
Andreas Rammhold 9de3c9749c
firefox: prepare for version 75 2020-04-07 13:27:27 +02:00
Andreas Rammhold ea8362e315
firefox: 73.0.1 -> 74.0 (#82276)
https://www.mozilla.org/en-US/firefox/74.0/releasenotes/

Co-authored-by: Daniel Frank <git@danielfrank.net>
2020-03-12 14:47:56 +01:00
Samuel Dionne-Riel d4446c563d firefox: Fix AArch64 build
* The 'arm.patch' patch doesn't apply anymore.
 * The 'build-arm-libopus.patch' patch isn't required anymore.
 * See the mozilla phabricator link for the added patch.

Additionally, we are now *always* undconditionally applying all patches
to all architectures. That is, unless they have undesirable
side-effects, but those might not be fit for inclusion.

By applying all patches all the time, they'll be removed or replaced
when they stop applying.
2020-03-09 13:37:30 -04:00
Andreas Rammhold 187d6912a8 firefox: prepare for 73.0 2020-02-11 01:19:26 +01:00
Florian Klink 94b2596540 firefox: simplify derivation
with firefox 64 being the latest version, and the removal of
"tor-browser/icecat-like" variants, we can greatly simplify the common
firefox derivation.
2020-02-09 22:33:33 +01:00
Andreas Rammhold b4983fe20b
firefox: fix build of >=72 on aarch64 2020-01-08 23:39:26 +01:00
Andreas Rammhold 6d8208e373 firefox: prepare for firefox 72 2020-01-08 14:48:30 +01:00
Maximilian Bosch 5ed6a9c70d
firefox: fix for structured attrs 2019-12-31 00:59:00 +01:00
Robin Gloster ab0cfd9e03
treewide: NIX_*_COMPILE -> string 2019-12-31 00:10:18 +01:00
Franz Pletz 77b6c3cd06
Merge remote-tracking branch 'origin/master' into gcc-9 2019-12-26 14:17:36 +01:00
Franz Pletz a1e4ee6d4f
firefox: fix indexedDB for 71.0
Adapted original patch[0] to also fix dom localstorage.

[0]: https://bugzilla.mozilla.org/show_bug.cgi?id=1601707#c6
2019-12-07 19:28:47 +01:00
Andreas Rammhold 1993a8bb45
firefox-esr-68: 68.2.0esr -> 68.3.0esr 2019-12-03 14:52:06 +01:00
adisbladis c9d8624ccd
treewide: Get rid of libGLU_combined 2019-11-18 20:10:43 +00:00
Franz Pletz 5ba6f78efa
firefox-esr-68: fix build with gcc9 2019-11-04 19:17:55 +01:00
Andreas Rammhold f3d3377477 firefox: support building firefox 69 2019-09-02 16:13:19 +02:00
Vladimír Čunát bc238b8df5
firefoxPackages: fix builds based on ESR 60
Attributes: firefox-esr-60, tor-browser(-8-5), icecat
Thanks to Symphorien: #67426
2019-08-25 14:54:46 +02:00
taku0 0c436f8ca1
firefox: 67.0.4 -> 68.0 2019-07-14 22:46:03 +02:00
Vladimír Čunát df1d27ac31
firefox: fix highly parallel make by upstream patch 2019-07-01 14:37:30 +02:00
Andreas Rammhold 7f65d06c4f firefox: prepare for firefox 67.0 release
Firefox now requires `llvm-objdump` during the build phase. The aarch64
patches do no longer apply. So far I am guessing that they have been
merged. We should verify that.
2019-05-20 18:29:25 +02:00
Matthew Bauer 0fe315c9b6 treewide: remove old patches for macOS
These shouldn’t be needed now that we are on macOS 10.12.
2019-04-26 21:54:32 -04:00
Andreas Rammhold 4b00df4305
Merge pull request #58630 from volth/patch-312
firefox-esr-52: fix build
2019-04-09 13:08:58 +00:00
Andrew Childs c6ef39927c firefox: fix aarch64 build 2019-04-07 02:31:27 +09:00
Andrew Childs 5a8ddeea73 firefox: re-enable webrtc on aarch64 (64+); fix comment 2019-04-07 02:31:22 +09:00
volth edbb386dc6
firefox-esr-52: needs libXdamage headers 2019-03-31 20:55:05 +00:00
SLNOS ec4a7a02ca firefoxPackages.tor-browser: carry over more configureFlags from upstream
These are taken from `tor-browser-build.git` repository.
2019-03-24 18:40:37 +00:00
Andreas Rammhold d64d42f12d
firefox: support building firefox 66 (and 60.6+) 2019-03-18 17:18:42 +01:00
Andreas Rammhold d7731c3142
firefoxPackages: enable support for wayland
This adds support for building firefox with the gtk wayland backend. It
should work on all the flavors that use >=gtk3. Using the wayland
still allows using the X11 backend.
2019-02-03 11:36:25 +01:00
Jan Malakhovski 26f6fabcfe firefoxPackages: move nixpkgsPatches into common.nix 2019-01-31 17:02:52 +00:00
SLNOS ff6cc1ac0e firefoxPackages.icecat: init at 60.3.0, 52.6.0
It works, but this state is far from ideal: GNU guys update generated source
tarballs very infrequently. Ideally, src needs to be generated by running
makeicecat over firefox src. Will do later.
2019-01-31 17:02:45 +00:00
Andreas Rammhold 08ba4f13c9 firefoxPackages: support building with firefox 65
Firefox >=65 will depend on icu >=63. All the older firefox versions
(and derived packages) seem to work fine with this change.

Also the system path environment patch will fail to apply since there
was a trivial whitespace change in the source file. By adding `-l` to
patch we can avoid having to track two patches that do basically the
same. Having patchFlags per file without resorting to pre-/postPatch
would be nicer but there doesn't seem to be a facility for that right
now.
2019-01-29 20:30:42 +01:00
Lengyel Balazs f4a53ff3bc treewide/xorg: replace *proto with xorgproto 2019-01-04 14:38:57 +01:00
Jörg Thalheim 1b146a8c6f
treewide: remove paxutils from stdenv
More then one year ago we removed grsecurity kernels from nixpkgs:
https://github.com/NixOS/nixpkgs/pull/25277

This removes now also paxutils from stdenv.
2018-12-22 12:55:05 +01:00
Andreas Rammhold 783dc61f68
firefox: updated common.nix to support ffx64
See #51863.
2018-12-12 00:25:33 +01:00
Piotr Bogdan 3e7b6b5bfa firefoxen: remove unused gstreamer dependencies
Firefox and, by extension, Tor browser don't support gstreamer any more, this
removes what are effectively unused dependencies.

https://bugzilla.mozilla.org/show_bug.cgi?id=1234092 "Remove gstreamer support"
2018-11-14 22:29:48 +00:00
Michael Raskin adf41ed942
Merge pull request #49864 from oxij/pkgs/tiny-things
trivial: tiny cleanups and fixes
2018-11-08 06:28:10 +00:00
Jan Malakhovski d2d80e6d30 firefox: disable pulseaudio support on non-Linux by default 2018-11-08 05:20:18 +00:00
Andreas Rammhold 551ef1ac41 firefox: provide clang configure flags on i686
With the upgrade to firefox 62 clang flags are now required on i686.

(cherry picked from commit acf4a4eff315a52d8f9c944a167ecb373bc1fdf9)
2018-11-07 19:44:01 +01:00
Andreas Rammhold 277da59e47
firefox: 62.0.3 -> 63.0 2018-10-23 10:15:46 +02:00
SLNOS 5ec27f3033 firefoxPackages: cleanup
Misc cleanups, but mainly this:

Before:
- `version` could mean either Firefox or TorBrowser version,
- `configureFlags` was hacky.

Now:
- `ffversion` is Firefox version, `tbversion` is TorBrowser version,
- `configureFlags` is much less hacky.
2018-10-19 16:46:28 +00:00
Matthew Bauer 7974e45689 firefox: readd --disable-xcode-checks
Only works on version 61 apparently, but it is needed.
2018-08-23 13:09:16 -05:00
Matthew Bauer 090985a443
firefox: remove --disable-xcode-checks
Apparently it's not needed anymore!
2018-08-22 13:26:05 -05:00
Jan Malakhovski cad8fc3447
firefoxPackages: avoid BINDGEN_CFLAGS on some versions
... to fix build; vcunat included the old ESR firefox, too.
2018-08-21 15:32:39 +02:00
Matthew Bauer 08655b16f2 firefox: fix darwin wrapper
- add execdir passthru
  usually this is /bin on macOS it is different.
2018-08-11 22:54:48 -05:00
Matthew Bauer 8fba05403a firefox: build on darwin
Fixes #30285

Some things done:

- Add macOS frameworks needed
- Fix RUST_BINDGEN handling. We need to pass all of NIX_CFLAGS_COMPILE
  to rust bindgen
- Add custom install phase for darwin
2018-08-11 22:54:48 -05:00
Matthew Bauer 4b71fe6d86 firefox: cleanup expression
- Add a few more macOS frameworks needed
- Fix RUST_BINDGEN handling. We need to pass all of NIX_CFLAGS_COMPILE
  to rust bindgen
2018-08-11 22:54:48 -05:00
Matthew Bauer 0edb441a0e firefox: build on darwin
Fixes #30285
2018-08-11 22:54:48 -05:00
volth 52f53c69ce pkgs/*: remove unreferenced function arguments 2018-07-21 02:48:04 +00:00