Change:
{ stdenv, fetchurl <del> , dbus-glib, gtk2, gtk3, libexif, libpulseaudio, libXScrnSaver, ninja, nss , pciutils, pkgconfig, python2, xdg_utils </del> <ins> , dbus-glib, gtk3, libexif, libXScrnSaver, ninja, nss , pciutils, pkgconfig, python2, xdg_utils, gn </ins> }: stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi-ffmpeg-codecs"; <del> version = "61.0.3163.91"; </del> <ins> version = "69.0.3497.73"; </ins> src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; <del> sha512 = "3f07vwbxllrwy3agqxa6ndcix23vai18i178zscmk0y68flhzffyjdvrwlg7dzlwgiqypj2cyl21qb4qmcay2ilgw9vnr9fql2x0w7p"; </del> <ins> sha512 = "3qyzxdybiszwy62izr35wffnh1a1plg9y536vrmd4b2xl8p4nz18c7439blr0cdzsr5qplgrdl64446a27mkyhbw8c3iy0gb4zgb5j9"; </ins> }; buildInputs = [ ]; nativeBuildInputs = [ <del> dbus-glib gtk2 gtk3 libexif libpulseaudio libXScrnSaver ninja nss pciutils pkgconfig python2 xdg_utils </del> <ins> gtk3 libexif libXScrnSaver ninja nss pciutils python2 xdg_utils gn pkgconfig dbus-glib </ins> ]; patches = [ <del> ./chromium-gn-bootstrap-r14.patch ./chromium-gcc-r1.patch ./chromium-gcc5-r1.patch </del> ]; configurePhase = '' runHook preConfigure <del> local args="ffmpeg_branding="ChromeOS" proprietary_codecs=true enable_hevc_demuxing=true use_gconf=false use_gio=false use_gnome_keyring=false use_kerberos=false use_cups=false use_sysroot=false use_gold=false linux_use_bundled_binutils=false fatal_linker_warnings=false treat_warnings_as_errors=false is_clang=false is_component_build=true is_debug=false symbol_level=0" python tools/gn/bootstrap/bootstrap.py -v -s --no-clean --gn-gen-args "$args" out/Release/gn gen out/Release -v --args="$args" </del> <ins> local args="ffmpeg_branding="ChromeOS" proprietary_codecs=true enable_hevc_demuxing=true use_gnome_keyring=false use_sysroot=false use_gold=false use_allocator="none" linux_use_bundled_binutils=false fatal_linker_warnings=false treat_warnings_as_errors=false enable_nacl=false enable_nacl_nonsfi=false is_clang=false clang_use_chrome_plugins=false is_component_build=true is_debug=false symbol_level=0 use_custom_libcxx=false use_lld=false use_jumbo_build=false" gn gen out/Release -v --args="$args" </ins> runHook postConfigure '';

Discussion:
I try to install vivaldi-ffmpeg-codecs, it tries to build it — Just try to install vivaldi-ffmpeg-codecs. there was the same thing in previous 18.03.
I found that was removed in . Here it is in the : And the helpful thread:
I tried bluntly update the chromium source where codecs stored. But it failed:
That patch is marked .
Let's call submitter:
I tried bluntly update the chromium source where codecs stored. This is the right approach, but you'll also have to remove the old patches and check whether you need any newer . The patches used by the are usually a good starting point.
So unless I'm mistaken, shouldn't we just build chromium & provide a vivaldi output? The chromium build is huge & we don't want Hydra to have to do it multiple times. What's the intended use of ffmpeg-vivaldi-codecs? I think we can disable libcxx building with in args, though.
As i can see, there are some license issues (?) with something like h264. So we build in on "client" side from sources (probably it's x264)... I don't know exactly...
Providing a Vivaldi output from chromium (as suggests) is difficult because chromium moves at a different speed than Vivaldi, so the resulting library may not fit properly. I don't know how often this happens, but it looks like upstream ffmpeg changes their ABI fairly often. The build actually isn't that much of an issue. The only difficulty is having to download and extract the full chromium tarball, the compile times are short as we only need . What's the intended use of ffmpeg-vivaldi-codecs? Vivaldi (the company) cannot distribute certain codecs in ffmpeg in their packages, so we have to compile that separately.