Merge pull request #27399 from bendlas/update-chromium

chromium: 59.0.3071.109 -> 59.0.3071.115

authored by Franz Pletz and committed by GitHub b1189b7a 13b0b7d1

+101 -11
+29 -2
pkgs/applications/networking/browsers/chromium/common.nix
··· 1 - { stdenv, ninja, which, nodejs 1 + { stdenv, ninja, which, nodejs, fetchurl, gnutar 2 2 3 3 # default dependencies 4 4 , bzip2, flac, speex, libopus ··· 14 14 , glib, gtk2, gtk3, dbus_glib 15 15 , libXScrnSaver, libXcursor, libXtst, mesa 16 16 , protobuf, speechd, libXdamage, cups 17 + , ffmpeg, harfbuzz, harfbuzz-icu, libxslt, libxml2 17 18 18 19 # optional dependencies 19 20 , libgcrypt ? null # gnomeSupport || cupsSupport ··· 36 37 37 38 with stdenv.lib; 38 39 40 + # see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html 41 + 39 42 let 40 43 # The additional attributes for creating derivations based on the chromium 41 44 # source tree. ··· 57 60 in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs)); 58 61 59 62 gnSystemLibraries = [ 60 - "flac" "libwebp" "snappy" "yasm" 63 + "ffmpeg" "flac" "harfbuzz-ng" "libwebp" "libxslt" "yasm" "snappy" # "libpng" "libjpeg" 61 64 ]; 62 65 63 66 opusWithCustomModes = libopus.override { ··· 70 73 libpng libcap 71 74 xdg_utils yasm minizip libwebp 72 75 libusb1 re2 zlib 76 + ffmpeg harfbuzz libxslt harfbuzz-icu libxml2 73 77 ]; 74 78 75 79 # build paths and release info ··· 78 82 buildPath = "out/${buildType}"; 79 83 libExecPath = "$out/libexec/${packageName}"; 80 84 85 + freetype_source = fetchurl { 86 + url = http://anduin.linuxfromscratch.org/BLFS/other/chromium-freetype.tar.xz; 87 + sha256 = "1vhslc4xg0d6wzlsi99zpah2xzjziglccrxn55k7qna634wyxg77"; 88 + }; 89 + 81 90 base = rec { 82 91 name = "${packageName}-${version}"; 83 92 inherit (upstream-info) version; ··· 88 97 nativeBuildInputs = [ 89 98 ninja which python2Packages.python perl pkgconfig 90 99 python2Packages.ply python2Packages.jinja2 nodejs 100 + gnutar 91 101 ]; 92 102 93 103 buildInputs = defaultDependencies ++ [ ··· 108 118 # To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled 109 119 # Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325 110 120 ./patches/fix_network_api_crash.patch 121 + ./patches/chromium-59.0.3071.115-system_ffmpeg-1.patch 111 122 ] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch 112 123 ++ optional enableWideVine ./patches/widevine.patch; 113 124 ··· 139 150 # use our own nodejs 140 151 mkdir -p third_party/node/linux/node-linux-x64/bin 141 152 ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node 153 + 154 + # use patched freetype 155 + # FIXME https://bugs.chromium.org/p/pdfium/issues/detail?id=733 156 + # FIXME http://savannah.nongnu.org/bugs/?51156 157 + tar -xJf ${freetype_source} 158 + 159 + # remove unused third-party 160 + for lib in ${toString gnSystemLibraries}; do 161 + find -type f -path "*third_party/$lib/*" \ 162 + \! -path "*third_party/$lib/chromium/*" \ 163 + \! -path "*third_party/$lib/google/*" \ 164 + \! -path "*base/third_party/icu/*" \ 165 + \! -path "*base/third_party/libevent/*" \ 166 + \! -regex '.*\.\(gn\|gni\|isolate\|py\)' \ 167 + -delete 168 + done 142 169 ''; 143 170 144 171 gnFlags = mkGnFlags ({
+63
pkgs/applications/networking/browsers/chromium/patches/chromium-59.0.3071.115-system_ffmpeg-1.patch
··· 1 + Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org> 2 + Date: 2017-06-25 3 + Initial Package Version: 57.0.2987.110 4 + Upstream Status: Not submitted 5 + Origin: Gentoo: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-system-ffmpeg-r4.patch 6 + Description: Allows building with system provided ffmpeg. Rediffed 7 + for chromium-59.0.3071.109. 8 + 9 + diff -Naurp chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h 10 + --- chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h 2017-06-20 17:03:19.000000000 -0500 11 + +++ chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h 2017-06-23 00:21:10.551912699 -0500 12 + @@ -23,10 +23,6 @@ 13 + 14 + // Include FFmpeg header files. 15 + extern "C" { 16 + -// Disable deprecated features which result in spammy compile warnings. This 17 + -// list of defines must mirror those in the 'defines' section of FFmpeg's 18 + -// BUILD.gn file or the headers below will generate different structures! 19 + -#define FF_API_CONVERGENCE_DURATION 0 20 + // Upstream libavcodec/utils.c still uses the deprecated 21 + // av_dup_packet(), causing deprecation warnings. 22 + // The normal fix for such things is to disable the feature as below, 23 + @@ -40,7 +36,6 @@ extern "C" { 24 + MSVC_PUSH_DISABLE_WARNING(4244); 25 + #include <libavcodec/avcodec.h> 26 + #include <libavformat/avformat.h> 27 + -#include <libavformat/internal.h> 28 + #include <libavformat/avio.h> 29 + #include <libavutil/avutil.h> 30 + #include <libavutil/imgutils.h> 31 + diff -Naurp chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc 32 + --- chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc 2017-06-20 17:03:19.000000000 -0500 33 + +++ chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc 2017-06-23 00:22:56.289311692 -0500 34 + @@ -1223,29 +1223,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone 35 + // If no estimate is found, the stream entry will be kInfiniteDuration. 36 + std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams, 37 + kInfiniteDuration); 38 + - const AVFormatInternal* internal = format_context->internal; 39 + - if (internal && internal->packet_buffer && 40 + - format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) { 41 + - struct AVPacketList* packet_buffer = internal->packet_buffer; 42 + - while (packet_buffer != internal->packet_buffer_end) { 43 + - DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index), 44 + - start_time_estimates.size()); 45 + - const AVStream* stream = 46 + - format_context->streams[packet_buffer->pkt.stream_index]; 47 + - if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) { 48 + - const base::TimeDelta packet_pts = 49 + - ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); 50 + - // We ignore kNoTimestamp here since -int64_t::min() is possible; see 51 + - // https://crbug.com/700501. Technically this is a valid value, but in 52 + - // practice shouldn't occur, so just ignore it when estimating. 53 + - if (packet_pts != kNoTimestamp && packet_pts != kInfiniteDuration && 54 + - packet_pts < start_time_estimates[stream->index]) { 55 + - start_time_estimates[stream->index] = packet_pts; 56 + - } 57 + - } 58 + - packet_buffer = packet_buffer->next; 59 + - } 60 + - } 61 + 62 + std::unique_ptr<MediaTracks> media_tracks(new MediaTracks()); 63 +
+9 -9
pkgs/applications/networking/browsers/chromium/upstream-info.nix
··· 1 1 # This file is autogenerated from update.sh in the same directory. 2 2 { 3 3 beta = { 4 - sha256 = "1lr8yc1inj0r0znak4rq37c9r0jhmag0ny9dqxng2jpgqq7mkp2g"; 5 - sha256bin64 = "1yyw7i50jkgkwrgp4by83m0xwsi44bkxsyw47lrqbfzask3zazbm"; 6 - version = "60.0.3112.40"; 4 + sha256 = "086j8s8wjwk26gfb7hdqn1lsmwgr9mmw93yfi6s4wia9ra0ccwj2"; 5 + sha256bin64 = "0z1dshxzyn5zhr4xg5mvrq70jxsfkwv50achq802322y4jz52f7n"; 6 + version = "60.0.3112.66"; 7 7 }; 8 8 dev = { 9 - sha256 = "1xhv32bxiwz56gcbw47syl88a54x5gira4drh378zp8cwgh9pz4z"; 10 - sha256bin64 = "18k3wml6yl2qghhnxb2w2d0k2397i0829nk0sqc38qz2sjbbvzna"; 11 - version = "61.0.3135.4"; 9 + sha256 = "1hbf7hv4934686dp0dbqy06vbwb2kq4wz5hjfdxrgafrzqac2j7g"; 10 + sha256bin64 = "1gg1a3k80qncr7dpw9gycndv52396cqyq9zfmzf6c4njpn2khjfv"; 11 + version = "61.0.3153.4"; 12 12 }; 13 13 stable = { 14 - sha256 = "1naqlxz9w07nlnwxkmxwf9jnxvmagj88xcjqh9r873a26wsypyl3"; 15 - sha256bin64 = "1h086irdsjs27n7ch54hy7zbiypc4swr8wnxjha1q39wc1bpc7hl"; 16 - version = "59.0.3071.109"; 14 + sha256 = "0w1i4q7w5lcajc18jrchrhhm00x0jzm846l5x7a5rcp3baawkjrp"; 15 + sha256bin64 = "1naq20508qjm9hlwlpj686a0lawca58rnr35ws2gh2gsyxrxnmx1"; 16 + version = "59.0.3071.115"; 17 17 }; 18 18 }