chromium: 59.0.3071.109 -> 59.0.3071.115
use several system libraries instead of bundled see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html
This commit is contained in:
parent
7383d69514
commit
cc583b75fb
@ -1,4 +1,4 @@
|
|||||||
{ stdenv, ninja, which, nodejs
|
{ stdenv, ninja, which, nodejs, fetchurl, gnutar
|
||||||
|
|
||||||
# default dependencies
|
# default dependencies
|
||||||
, bzip2, flac, speex, libopus
|
, bzip2, flac, speex, libopus
|
||||||
@ -14,6 +14,7 @@
|
|||||||
, glib, gtk2, gtk3, dbus_glib
|
, glib, gtk2, gtk3, dbus_glib
|
||||||
, libXScrnSaver, libXcursor, libXtst, mesa
|
, libXScrnSaver, libXcursor, libXtst, mesa
|
||||||
, protobuf, speechd, libXdamage, cups
|
, protobuf, speechd, libXdamage, cups
|
||||||
|
, ffmpeg, harfbuzz, harfbuzz-icu, libxslt, libxml2
|
||||||
|
|
||||||
# optional dependencies
|
# optional dependencies
|
||||||
, libgcrypt ? null # gnomeSupport || cupsSupport
|
, libgcrypt ? null # gnomeSupport || cupsSupport
|
||||||
@ -36,6 +37,8 @@ buildFun:
|
|||||||
|
|
||||||
with stdenv.lib;
|
with stdenv.lib;
|
||||||
|
|
||||||
|
# see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html
|
||||||
|
|
||||||
let
|
let
|
||||||
# The additional attributes for creating derivations based on the chromium
|
# The additional attributes for creating derivations based on the chromium
|
||||||
# source tree.
|
# source tree.
|
||||||
@ -57,7 +60,7 @@ let
|
|||||||
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
|
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
|
||||||
|
|
||||||
gnSystemLibraries = [
|
gnSystemLibraries = [
|
||||||
"flac" "libwebp" "snappy" "yasm"
|
"ffmpeg" "flac" "harfbuzz-ng" "libwebp" "libxslt" "yasm" "snappy" # "libpng" "libjpeg"
|
||||||
];
|
];
|
||||||
|
|
||||||
opusWithCustomModes = libopus.override {
|
opusWithCustomModes = libopus.override {
|
||||||
@ -70,6 +73,7 @@ let
|
|||||||
libpng libcap
|
libpng libcap
|
||||||
xdg_utils yasm minizip libwebp
|
xdg_utils yasm minizip libwebp
|
||||||
libusb1 re2 zlib
|
libusb1 re2 zlib
|
||||||
|
ffmpeg harfbuzz libxslt harfbuzz-icu libxml2
|
||||||
];
|
];
|
||||||
|
|
||||||
# build paths and release info
|
# build paths and release info
|
||||||
@ -78,6 +82,11 @@ let
|
|||||||
buildPath = "out/${buildType}";
|
buildPath = "out/${buildType}";
|
||||||
libExecPath = "$out/libexec/${packageName}";
|
libExecPath = "$out/libexec/${packageName}";
|
||||||
|
|
||||||
|
freetype_source = fetchurl {
|
||||||
|
url = http://anduin.linuxfromscratch.org/BLFS/other/chromium-freetype.tar.xz;
|
||||||
|
sha256 = "1vhslc4xg0d6wzlsi99zpah2xzjziglccrxn55k7qna634wyxg77";
|
||||||
|
};
|
||||||
|
|
||||||
base = rec {
|
base = rec {
|
||||||
name = "${packageName}-${version}";
|
name = "${packageName}-${version}";
|
||||||
inherit (upstream-info) version;
|
inherit (upstream-info) version;
|
||||||
@ -88,6 +97,7 @@ let
|
|||||||
nativeBuildInputs = [
|
nativeBuildInputs = [
|
||||||
ninja which python2Packages.python perl pkgconfig
|
ninja which python2Packages.python perl pkgconfig
|
||||||
python2Packages.ply python2Packages.jinja2 nodejs
|
python2Packages.ply python2Packages.jinja2 nodejs
|
||||||
|
gnutar
|
||||||
];
|
];
|
||||||
|
|
||||||
buildInputs = defaultDependencies ++ [
|
buildInputs = defaultDependencies ++ [
|
||||||
@ -108,6 +118,7 @@ let
|
|||||||
# To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled
|
# To enable ChromeCast, go to chrome://flags and set "Load Media Router Component Extension" to Enabled
|
||||||
# Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325
|
# Fixes Chromecast: https://bugs.chromium.org/p/chromium/issues/detail?id=734325
|
||||||
./patches/fix_network_api_crash.patch
|
./patches/fix_network_api_crash.patch
|
||||||
|
./patches/chromium-59.0.3071.115-system_ffmpeg-1.patch
|
||||||
] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch
|
] ++ optional (versionOlder version "57.0") ./patches/glibc-2.24.patch
|
||||||
++ optional enableWideVine ./patches/widevine.patch;
|
++ optional enableWideVine ./patches/widevine.patch;
|
||||||
|
|
||||||
@ -139,6 +150,22 @@ let
|
|||||||
# use our own nodejs
|
# use our own nodejs
|
||||||
mkdir -p third_party/node/linux/node-linux-x64/bin
|
mkdir -p third_party/node/linux/node-linux-x64/bin
|
||||||
ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
|
ln -s $(which node) third_party/node/linux/node-linux-x64/bin/node
|
||||||
|
|
||||||
|
# use patched freetype
|
||||||
|
# FIXME https://bugs.chromium.org/p/pdfium/issues/detail?id=733
|
||||||
|
# FIXME http://savannah.nongnu.org/bugs/?51156
|
||||||
|
tar -xJf ${freetype_source}
|
||||||
|
|
||||||
|
# remove unused third-party
|
||||||
|
for lib in ${toString gnSystemLibraries}; do
|
||||||
|
find -type f -path "*third_party/$lib/*" \
|
||||||
|
\! -path "*third_party/$lib/chromium/*" \
|
||||||
|
\! -path "*third_party/$lib/google/*" \
|
||||||
|
\! -path "*base/third_party/icu/*" \
|
||||||
|
\! -path "*base/third_party/libevent/*" \
|
||||||
|
\! -regex '.*\.\(gn\|gni\|isolate\|py\)' \
|
||||||
|
-delete
|
||||||
|
done
|
||||||
'';
|
'';
|
||||||
|
|
||||||
gnFlags = mkGnFlags ({
|
gnFlags = mkGnFlags ({
|
||||||
|
@ -0,0 +1,63 @@
|
|||||||
|
Submitted By: DJ Lucas <dj_AT_linuxfromscratch_DOT_org>
|
||||||
|
Date: 2017-06-25
|
||||||
|
Initial Package Version: 57.0.2987.110
|
||||||
|
Upstream Status: Not submitted
|
||||||
|
Origin: Gentoo: https://gitweb.gentoo.org/repo/gentoo.git/plain/www-client/chromium/files/chromium-system-ffmpeg-r4.patch
|
||||||
|
Description: Allows building with system provided ffmpeg. Rediffed
|
||||||
|
for chromium-59.0.3071.109.
|
||||||
|
|
||||||
|
diff -Naurp chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h
|
||||||
|
--- chromium-59.0.3071.109-orig/media/ffmpeg/ffmpeg_common.h 2017-06-20 17:03:19.000000000 -0500
|
||||||
|
+++ chromium-59.0.3071.109/media/ffmpeg/ffmpeg_common.h 2017-06-23 00:21:10.551912699 -0500
|
||||||
|
@@ -23,10 +23,6 @@
|
||||||
|
|
||||||
|
// Include FFmpeg header files.
|
||||||
|
extern "C" {
|
||||||
|
-// Disable deprecated features which result in spammy compile warnings. This
|
||||||
|
-// list of defines must mirror those in the 'defines' section of FFmpeg's
|
||||||
|
-// BUILD.gn file or the headers below will generate different structures!
|
||||||
|
-#define FF_API_CONVERGENCE_DURATION 0
|
||||||
|
// Upstream libavcodec/utils.c still uses the deprecated
|
||||||
|
// av_dup_packet(), causing deprecation warnings.
|
||||||
|
// The normal fix for such things is to disable the feature as below,
|
||||||
|
@@ -40,7 +36,6 @@ extern "C" {
|
||||||
|
MSVC_PUSH_DISABLE_WARNING(4244);
|
||||||
|
#include <libavcodec/avcodec.h>
|
||||||
|
#include <libavformat/avformat.h>
|
||||||
|
-#include <libavformat/internal.h>
|
||||||
|
#include <libavformat/avio.h>
|
||||||
|
#include <libavutil/avutil.h>
|
||||||
|
#include <libavutil/imgutils.h>
|
||||||
|
diff -Naurp chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc
|
||||||
|
--- chromium-59.0.3071.109-orig/media/filters/ffmpeg_demuxer.cc 2017-06-20 17:03:19.000000000 -0500
|
||||||
|
+++ chromium-59.0.3071.109/media/filters/ffmpeg_demuxer.cc 2017-06-23 00:22:56.289311692 -0500
|
||||||
|
@@ -1223,29 +1223,6 @@ void FFmpegDemuxer::OnFindStreamInfoDone
|
||||||
|
// If no estimate is found, the stream entry will be kInfiniteDuration.
|
||||||
|
std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams,
|
||||||
|
kInfiniteDuration);
|
||||||
|
- const AVFormatInternal* internal = format_context->internal;
|
||||||
|
- if (internal && internal->packet_buffer &&
|
||||||
|
- format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) {
|
||||||
|
- struct AVPacketList* packet_buffer = internal->packet_buffer;
|
||||||
|
- while (packet_buffer != internal->packet_buffer_end) {
|
||||||
|
- DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index),
|
||||||
|
- start_time_estimates.size());
|
||||||
|
- const AVStream* stream =
|
||||||
|
- format_context->streams[packet_buffer->pkt.stream_index];
|
||||||
|
- if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) {
|
||||||
|
- const base::TimeDelta packet_pts =
|
||||||
|
- ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts);
|
||||||
|
- // We ignore kNoTimestamp here since -int64_t::min() is possible; see
|
||||||
|
- // https://crbug.com/700501. Technically this is a valid value, but in
|
||||||
|
- // practice shouldn't occur, so just ignore it when estimating.
|
||||||
|
- if (packet_pts != kNoTimestamp && packet_pts != kInfiniteDuration &&
|
||||||
|
- packet_pts < start_time_estimates[stream->index]) {
|
||||||
|
- start_time_estimates[stream->index] = packet_pts;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
- packet_buffer = packet_buffer->next;
|
||||||
|
- }
|
||||||
|
- }
|
||||||
|
|
||||||
|
std::unique_ptr<MediaTracks> media_tracks(new MediaTracks());
|
||||||
|
|
@ -1,18 +1,18 @@
|
|||||||
# This file is autogenerated from update.sh in the same directory.
|
# This file is autogenerated from update.sh in the same directory.
|
||||||
{
|
{
|
||||||
beta = {
|
beta = {
|
||||||
sha256 = "1lr8yc1inj0r0znak4rq37c9r0jhmag0ny9dqxng2jpgqq7mkp2g";
|
sha256 = "086j8s8wjwk26gfb7hdqn1lsmwgr9mmw93yfi6s4wia9ra0ccwj2";
|
||||||
sha256bin64 = "1yyw7i50jkgkwrgp4by83m0xwsi44bkxsyw47lrqbfzask3zazbm";
|
sha256bin64 = "0z1dshxzyn5zhr4xg5mvrq70jxsfkwv50achq802322y4jz52f7n";
|
||||||
version = "60.0.3112.40";
|
version = "60.0.3112.66";
|
||||||
};
|
};
|
||||||
dev = {
|
dev = {
|
||||||
sha256 = "1xhv32bxiwz56gcbw47syl88a54x5gira4drh378zp8cwgh9pz4z";
|
sha256 = "1hbf7hv4934686dp0dbqy06vbwb2kq4wz5hjfdxrgafrzqac2j7g";
|
||||||
sha256bin64 = "18k3wml6yl2qghhnxb2w2d0k2397i0829nk0sqc38qz2sjbbvzna";
|
sha256bin64 = "1gg1a3k80qncr7dpw9gycndv52396cqyq9zfmzf6c4njpn2khjfv";
|
||||||
version = "61.0.3135.4";
|
version = "61.0.3153.4";
|
||||||
};
|
};
|
||||||
stable = {
|
stable = {
|
||||||
sha256 = "1naqlxz9w07nlnwxkmxwf9jnxvmagj88xcjqh9r873a26wsypyl3";
|
sha256 = "0w1i4q7w5lcajc18jrchrhhm00x0jzm846l5x7a5rcp3baawkjrp";
|
||||||
sha256bin64 = "1h086irdsjs27n7ch54hy7zbiypc4swr8wnxjha1q39wc1bpc7hl";
|
sha256bin64 = "1naq20508qjm9hlwlpj686a0lawca58rnr35ws2gh2gsyxrxnmx1";
|
||||||
version = "59.0.3071.109";
|
version = "59.0.3071.115";
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user