mirror of
https://github.com/ilyakooo0/nixpkgs.git
synced 2024-12-30 15:23:26 +03:00
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
|
||||
, bzip2, flac, speex, libopus
|
||||
@ -14,6 +14,7 @@
|
||||
, glib, gtk2, gtk3, dbus_glib
|
||||
, libXScrnSaver, libXcursor, libXtst, mesa
|
||||
, protobuf, speechd, libXdamage, cups
|
||||
, ffmpeg, harfbuzz, harfbuzz-icu, libxslt, libxml2
|
||||
|
||||
# optional dependencies
|
||||
, libgcrypt ? null # gnomeSupport || cupsSupport
|
||||
@ -36,6 +37,8 @@ buildFun:
|
||||
|
||||
with stdenv.lib;
|
||||
|
||||
# see http://www.linuxfromscratch.org/blfs/view/cvs/xsoft/chromium.html
|
||||
|
||||
let
|
||||
# The additional attributes for creating derivations based on the chromium
|
||||
# source tree.
|
||||
@ -57,7 +60,7 @@ let
|
||||
in attrs: concatStringsSep " " (attrValues (mapAttrs toFlag attrs));
|
||||
|
||||
gnSystemLibraries = [
|
||||
"flac" "libwebp" "snappy" "yasm"
|
||||
"ffmpeg" "flac" "harfbuzz-ng" "libwebp" "libxslt" "yasm" "snappy" # "libpng" "libjpeg"
|
||||
];
|
||||
|
||||
opusWithCustomModes = libopus.override {
|
||||
@ -70,6 +73,7 @@ let
|
||||
libpng libcap
|
||||
xdg_utils yasm minizip libwebp
|
||||
libusb1 re2 zlib
|
||||
ffmpeg harfbuzz libxslt harfbuzz-icu libxml2
|
||||
];
|
||||
|
||||
# build paths and release info
|
||||
@ -78,6 +82,11 @@ let
|
||||
buildPath = "out/${buildType}";
|
||||
libExecPath = "$out/libexec/${packageName}";
|
||||
|
||||
freetype_source = fetchurl {
|
||||
url = http://anduin.linuxfromscratch.org/BLFS/other/chromium-freetype.tar.xz;
|
||||
sha256 = "1vhslc4xg0d6wzlsi99zpah2xzjziglccrxn55k7qna634wyxg77";
|
||||
};
|
||||
|
||||
base = rec {
|
||||
name = "${packageName}-${version}";
|
||||
inherit (upstream-info) version;
|
||||
@ -88,6 +97,7 @@ let
|
||||
nativeBuildInputs = [
|
||||
ninja which python2Packages.python perl pkgconfig
|
||||
python2Packages.ply python2Packages.jinja2 nodejs
|
||||
gnutar
|
||||
];
|
||||
|
||||
buildInputs = defaultDependencies ++ [
|
||||
@ -108,6 +118,7 @@ let
|
||||
# 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
|
||||
./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 enableWideVine ./patches/widevine.patch;
|
||||
|
||||
@ -139,6 +150,22 @@ let
|
||||
# use our own nodejs
|
||||
mkdir -p third_party/node/linux/node-linux-x64/bin
|
||||
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 ({
|
||||
|
@ -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.
|
||||
{
|
||||
beta = {
|
||||
sha256 = "1lr8yc1inj0r0znak4rq37c9r0jhmag0ny9dqxng2jpgqq7mkp2g";
|
||||
sha256bin64 = "1yyw7i50jkgkwrgp4by83m0xwsi44bkxsyw47lrqbfzask3zazbm";
|
||||
version = "60.0.3112.40";
|
||||
sha256 = "086j8s8wjwk26gfb7hdqn1lsmwgr9mmw93yfi6s4wia9ra0ccwj2";
|
||||
sha256bin64 = "0z1dshxzyn5zhr4xg5mvrq70jxsfkwv50achq802322y4jz52f7n";
|
||||
version = "60.0.3112.66";
|
||||
};
|
||||
dev = {
|
||||
sha256 = "1xhv32bxiwz56gcbw47syl88a54x5gira4drh378zp8cwgh9pz4z";
|
||||
sha256bin64 = "18k3wml6yl2qghhnxb2w2d0k2397i0829nk0sqc38qz2sjbbvzna";
|
||||
version = "61.0.3135.4";
|
||||
sha256 = "1hbf7hv4934686dp0dbqy06vbwb2kq4wz5hjfdxrgafrzqac2j7g";
|
||||
sha256bin64 = "1gg1a3k80qncr7dpw9gycndv52396cqyq9zfmzf6c4njpn2khjfv";
|
||||
version = "61.0.3153.4";
|
||||
};
|
||||
stable = {
|
||||
sha256 = "1naqlxz9w07nlnwxkmxwf9jnxvmagj88xcjqh9r873a26wsypyl3";
|
||||
sha256bin64 = "1h086irdsjs27n7ch54hy7zbiypc4swr8wnxjha1q39wc1bpc7hl";
|
||||
version = "59.0.3071.109";
|
||||
sha256 = "0w1i4q7w5lcajc18jrchrhhm00x0jzm846l5x7a5rcp3baawkjrp";
|
||||
sha256bin64 = "1naq20508qjm9hlwlpj686a0lawca58rnr35ws2gh2gsyxrxnmx1";
|
||||
version = "59.0.3071.115";
|
||||
};
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user