diff options
author | Lukas Werling <lukas.werling@gmail.com> | 2017-06-25 13:58:18 +0200 |
---|---|---|
committer | Lukas Werling <lukas.werling@gmail.com> | 2017-06-25 15:14:37 +0200 |
commit | 38e4c28abf29faf9267cd948eb901a45ddd33b17 (patch) | |
tree | b77f63c2ea092835a6c96270fbcdcd8d57c99a2b /pkgs/applications/networking/browsers/vivaldi | |
parent | 5e2de6d846e7e7f88378b730936b07f2fb410e0a (diff) | |
download | nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar.gz nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar.bz2 nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar.lz nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar.xz nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.tar.zst nixpkgs-38e4c28abf29faf9267cd948eb901a45ddd33b17.zip |
vivaldi-ffmpeg-codecs: init at 59.0.3071.104
Due to licensing costs, Vivaldi bundles a version of ffmpeg compiled without support for the common H.264 codec. However, it is possible to supply a custom libffmpeg.so with additional codecs. This derivation uses the Chromium source to compile a compatible libffmpeg.so. This approach is recommended by a Vivaldi developer, see https://gist.github.com/ruario/bec42d156d30affef655
Diffstat (limited to 'pkgs/applications/networking/browsers/vivaldi')
-rw-r--r-- | pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix new file mode 100644 index 00000000000..fb10e2b6c83 --- /dev/null +++ b/pkgs/applications/networking/browsers/vivaldi/ffmpeg-codecs.nix @@ -0,0 +1,51 @@ +{ stdenv, fetchurl, fetchpatch +, dbus_glib, gtk2, gtk3, libexif, libpulseaudio, libXScrnSaver, ninja, nss +, pciutils, pkgconfig, python2, xdg_utils +}: + +stdenv.mkDerivation rec { + name = "${product}-${version}"; + product = "vivaldi-ffmpeg-codecs"; + version = "59.0.3071.104"; + + src = fetchurl { + url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; + sha512 = "419cf5bafa80f190cd301c2933502351929c1ef1d5cfedc720ce6762674a0e6af3b4246a8f92e0c29743420338b056061d4e7f9f4a4066a5bdd4d2ee8db3ddbf"; + }; + + buildInputs = [ ]; + + nativeBuildInputs = [ + dbus_glib gtk2 gtk3 libexif libpulseaudio libXScrnSaver ninja nss pciutils pkgconfig + python2 xdg_utils + ]; + + configurePhase = '' + runHook preConfigure + + 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" + + runHook postConfigure + ''; + + buildPhase = '' + ninja -C out/Release -v libffmpeg.so + ''; + + dontStrip = true; + + installPhase = '' + mkdir -p "$out/lib" + cp out/Release/libffmpeg.so "$out/lib/libffmpeg.so" + ''; + + meta = with stdenv.lib; { + description = "Additional support for proprietary codecs for Vivaldi"; + homepage = "https://ffmpeg.org/"; + license = licenses.lgpl21; + maintainers = with maintainers; [ lluchs ]; + platforms = [ "x86_64-linux" ]; + }; +} |