Date: Sunday, December 24, 2017 @ 09:02:34 Author: idevolder Revision: 275713
add opera-ffmpeg-codecs so opera no longer has out of repository dependency Added: opera-ffmpeg-codecs/ opera-ffmpeg-codecs/repos/ opera-ffmpeg-codecs/trunk/ opera-ffmpeg-codecs/trunk/PKGBUILD opera-ffmpeg-codecs/trunk/chromium-FORTIFY_SOURCE-r2.patch opera-ffmpeg-codecs/trunk/chromium-gcc5-r2.patch opera-ffmpeg-codecs/trunk/chromium-gn-bootstrap-r17.patch opera-ffmpeg-codecs/trunk/chromium-last-commit-position-r1.patch ----------------------------------------+ PKGBUILD | 70 +++++++++++++++++++++++++++++++ chromium-FORTIFY_SOURCE-r2.patch | 30 +++++++++++++ chromium-gcc5-r2.patch | 36 +++++++++++++++ chromium-gn-bootstrap-r17.patch | 68 ++++++++++++++++++++++++++++++ chromium-last-commit-position-r1.patch | 26 +++++++++++ 5 files changed, 230 insertions(+) Added: opera-ffmpeg-codecs/trunk/PKGBUILD =================================================================== --- opera-ffmpeg-codecs/trunk/PKGBUILD (rev 0) +++ opera-ffmpeg-codecs/trunk/PKGBUILD 2017-12-24 09:02:34 UTC (rev 275713) @@ -0,0 +1,70 @@ +# Maintainer: BlackEagle < ike DOT devolder AT gmail DOT com > + +pkgname=opera-ffmpeg-codecs +pkgver=62.0.3202.94 +pkgrel=2 +pkgdesc="additional support for proprietary codecs for opera" +arch=('x86_64') +url="https://ffmpeg.org/" +license=('LGPL2.1') +depends=('glibc') +makedepends=( + 'gtk3' 'libexif' 'libxss' 'ninja' 'nss' 'pciutils' 'python2' + 'xdg-utils' +) +options=('!strip') +source=( + "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-$pkgver.tar.xz" + 'chromium-last-commit-position-r1.patch' + 'chromium-FORTIFY_SOURCE-r2.patch' + 'chromium-gn-bootstrap-r17.patch' + 'chromium-gcc5-r2.patch' +) +sha512sums=('09e05aec663de94633fb7b658154a5b0146159dea0f434ef412405530274daefc5e554be8120653b840d2b55f5e35202be1a653ece7796d00956df58bc7608ad' + '8f63366ca998e3ee06a79c6df5b4454707bd9865913ecde2f79fcb49fdd86d291f678b9f21807e4eb61d15497cdbe4a4bdc06637882e708f34f6804453bdfd41' + '2d78092a700788c74b86db636af303fdb63a28ce5b7b0431dd81f6b7ce501e5d0234a6327a1b49bc23e1c1d00ba98fd5334dd07d9a20bb0d81d1a4ca4487a26c' + '28812a8bd6d591831a3bbd749f1d7c6dd434eb0237970d4e8ea8cfd48fa8efb4d98906eca3d175218fe62c50bcb0b6472b2d7dfdde73d5641cd3fde1d9dc5f3b' + '55723ffe9c34b5336450e75db8354c1ce5d6429b7296cbf575941eef5f3de3cdc40836e8f9b6905b4153913b10136a12d4c6d37f6a9f447677aa40588bfac182') + +prepare() { + cd "$srcdir/chromium-$pkgver" + + # Use Python 2 + find . -name '*.py' -exec sed -r 's|/usr/bin/python$|&2|g' -i {} + + find . -name '*.py' -exec sed -r 's|/usr/bin/env python$|&2|g' -i {} + + # There are still a lot of relative calls which need a workaround + [[ -d "$srcdir/python2-path" ]] && rm -rf "$srcdir/python2-path" + mkdir "$srcdir/python2-path" + ln -s /usr/bin/python2 "$srcdir/python2-path/python" + + # chromium 46 gives an error about a missing file + # workaround create empty + touch chrome/test/data/webui/i18n_process_css_test.html + + patch -p1 -i "$srcdir/chromium-last-commit-position-r1.patch" + patch -p1 -i "$srcdir/chromium-FORTIFY_SOURCE-r2.patch" + patch -p1 -i "$srcdir/chromium-gn-bootstrap-r17.patch" + patch -p1 -i "$srcdir/chromium-gcc5-r2.patch" +} + +build() { + cd "$srcdir/chromium-$pkgver" + + export PATH="$srcdir/python2-path:$PATH" + + local args="ffmpeg_branding=\"ChromeOS\" proprietary_codecs=true enable_hevc_demuxing=true use_gconf=false use_gio=false use_gnome_keyring=false use_pulseaudio=false link_pulseaudio=false use_kerberos=false use_cups=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" + + python2 tools/gn/bootstrap/bootstrap.py -v -s + out/Release/gn gen out/Release -v --args="$args" --script-executable=/usr/bin/python2 + + ninja -C out/Release -v media/ffmpeg +} + +package() { + cd "$srcdir/chromium-$pkgver" + + install -Dm644 out/Release/libffmpeg.so \ + "$pkgdir/usr/lib/opera/lib_extra/libffmpeg.so" +} + +# vim:set ts=2 sw=2 et: Property changes on: opera-ffmpeg-codecs/trunk/PKGBUILD ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +Id \ No newline at end of property Added: opera-ffmpeg-codecs/trunk/chromium-FORTIFY_SOURCE-r2.patch =================================================================== --- opera-ffmpeg-codecs/trunk/chromium-FORTIFY_SOURCE-r2.patch (rev 0) +++ opera-ffmpeg-codecs/trunk/chromium-FORTIFY_SOURCE-r2.patch 2017-12-24 09:02:34 UTC (rev 275713) @@ -0,0 +1,30 @@ +Drop _FORTIFY_SOURCE=2 from defines + +Gentoo toolchains enable this by default. Removing this prevents spammy +warnings about the macro being redefined. + +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -1213,22 +1213,6 @@ + "__STDC_FORMAT_MACROS", + ] + +- if (!is_debug && !using_sanitizer && +- (!is_linux || !is_clang || is_official_build) && +- current_cpu != "s390x" && current_cpu != "s390" && +- current_cpu != "ppc64" && current_cpu != "ppc64" && +- current_cpu != "mips" && current_cpu != "mips64") { +- # _FORTIFY_SOURCE isn't really supported by Clang now, see +- # http://llvm.org/bugs/show_bug.cgi?id=16821. +- # It seems to work fine with Ubuntu 12 headers though, so use it in +- # official builds. +- # +- # Non-chromium code is not guaranteed to compile cleanly with +- # _FORTIFY_SOURCE. Also, fortified build may fail when optimizations are +- # disabled, so only do that for Release build. +- defines += [ "_FORTIFY_SOURCE=2" ] +- } +- + if (is_mac || is_ios) { + cflags_objc = [ "-Wobjc-missing-property-synthesis" ] + cflags_objcc = [ "-Wobjc-missing-property-synthesis" ] Added: opera-ffmpeg-codecs/trunk/chromium-gcc5-r2.patch =================================================================== --- opera-ffmpeg-codecs/trunk/chromium-gcc5-r2.patch (rev 0) +++ opera-ffmpeg-codecs/trunk/chromium-gcc5-r2.patch 2017-12-24 09:02:34 UTC (rev 275713) @@ -0,0 +1,36 @@ +--- a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h ++++ b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h +@@ -63,7 +63,7 @@ class WTF_EXPORT ArrayBufferContents { + allocation_length_(0), + data_(data), + data_length_(0), +- kind_(AllocationKind::kNormal), ++ kind_(WTF::ArrayBufferContents::AllocationKind::kNormal), + deleter_(deleter) {} + DataHandle(void* allocation_base, + size_t allocation_length, +@@ -94,11 +94,11 @@ class WTF_EXPORT ArrayBufferContents { + reinterpret_cast<uintptr_t>(allocation_base_) + + allocation_length_); + switch (kind_) { +- case AllocationKind::kNormal: ++ case WTF::ArrayBufferContents::AllocationKind::kNormal: + DCHECK(deleter_); + deleter_(data_); + return; +- case AllocationKind::kReservation: ++ case WTF::ArrayBufferContents::AllocationKind::kReservation: + ReleaseReservedMemory(allocation_base_, allocation_length_); + return; + } +--- a/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc.orig 2017-08-15 12:45:59.433532111 +0000 ++++ b/third_party/webrtc/modules/audio_processing/aec3/aec_state.cc 2017-08-15 17:52:59.691328825 +0000 +@@ -10,7 +10,7 @@ + + #include "webrtc/modules/audio_processing/aec3/aec_state.h" + +-#include <math.h> ++#include <cmath> + #include <numeric> + #include <vector> + Added: opera-ffmpeg-codecs/trunk/chromium-gn-bootstrap-r17.patch =================================================================== --- opera-ffmpeg-codecs/trunk/chromium-gn-bootstrap-r17.patch (rev 0) +++ opera-ffmpeg-codecs/trunk/chromium-gn-bootstrap-r17.patch 2017-12-24 09:02:34 UTC (rev 275713) @@ -0,0 +1,68 @@ +--- a/tools/gn/bootstrap/bootstrap.py ++++ b/tools/gn/bootstrap/bootstrap.py +@@ -179,6 +179,7 @@ def build_gn_with_ninja_manually(tempdir, options): + + write_buildflag_header_manually(root_gen_dir, 'base/debug/debugging_flags.h', + { ++ 'ENABLE_LOCATION_SOURCE': 'false', + 'ENABLE_PROFILING': 'false', + 'CAN_UNWIND_WITH_FRAME_POINTERS': 'false' + }) +@@ -204,7 +205,7 @@ def build_gn_with_ninja_manually(tempdir, options): + + write_gn_ninja(os.path.join(tempdir, 'build.ninja'), + root_gen_dir, options) +- cmd = ['ninja', '-C', tempdir] ++ cmd = ['ninja', '-C', tempdir, '-w', 'dupbuild=err'] + if options.verbose: + cmd.append('-v') + +@@ -458,6 +459,7 @@ def write_gn_ninja(path, root_gen_dir, options): + 'base/metrics/bucket_ranges.cc', + 'base/metrics/field_trial.cc', + 'base/metrics/field_trial_param_associator.cc', ++ 'base/metrics/field_trial_params.cc', + 'base/metrics/histogram.cc', + 'base/metrics/histogram_base.cc', + 'base/metrics/histogram_functions.cc', +@@ -507,6 +509,7 @@ def write_gn_ninja(path, root_gen_dir, options): + 'base/task_scheduler/scheduler_lock_impl.cc', + 'base/task_scheduler/scheduler_single_thread_task_runner_manager.cc', + 'base/task_scheduler/scheduler_worker.cc', ++ 'base/task_scheduler/scheduler_worker_pool.cc', + 'base/task_scheduler/scheduler_worker_pool_impl.cc', + 'base/task_scheduler/scheduler_worker_pool_params.cc', + 'base/task_scheduler/scheduler_worker_stack.cc', +@@ -523,6 +526,7 @@ def write_gn_ninja(path, root_gen_dir, options): + 'base/third_party/icu/icu_utf.cc', + 'base/third_party/nspr/prtime.cc', + 'base/threading/post_task_and_reply_impl.cc', ++ 'base/threading/scoped_blocking_call.cc', + 'base/threading/sequence_local_storage_map.cc', + 'base/threading/sequenced_task_runner_handle.cc', + 'base/threading/sequenced_worker_pool.cc', +@@ -579,7 +583,6 @@ def write_gn_ninja(path, root_gen_dir, options): + 'base/unguessable_token.cc', + 'base/value_iterators.cc', + 'base/values.cc', +- 'base/value_iterators.cc', + 'base/vlog.cc', + ]) + +@@ -652,7 +655,6 @@ def write_gn_ninja(path, root_gen_dir, options): + static_libraries['base']['sources'].extend([ + 'base/memory/shared_memory_handle_posix.cc', + 'base/memory/shared_memory_posix.cc', +- 'base/memory/shared_memory_tracker.cc', + 'base/nix/xdg_util.cc', + 'base/process/internal_linux.cc', + 'base/process/memory_linux.cc', +@@ -827,7 +829,7 @@ def build_gn_with_gn(temp_gn, build_dir, options): + cmd = [temp_gn, 'gen', build_dir, '--args=%s' % gn_gen_args] + check_call(cmd) + +- cmd = ['ninja', '-C', build_dir] ++ cmd = ['ninja', '-C', build_dir, '-w', 'dupbuild=err'] + if options.verbose: + cmd.append('-v') + cmd.append('gn') Added: opera-ffmpeg-codecs/trunk/chromium-last-commit-position-r1.patch =================================================================== --- opera-ffmpeg-codecs/trunk/chromium-last-commit-position-r1.patch (rev 0) +++ opera-ffmpeg-codecs/trunk/chromium-last-commit-position-r1.patch 2017-12-24 09:02:34 UTC (rev 275713) @@ -0,0 +1,26 @@ +--- a/tools/gn/gn_main.cc.orig 2015-11-12 11:49:56.260549036 +0000 ++++ b/tools/gn/gn_main.cc 2015-11-12 11:50:14.780931485 +0000 +@@ -11,13 +11,7 @@ + #include "tools/gn/standard_out.h" + #include "tools/gn/switches.h" + +-// Only the GN-generated build makes this header for now. +-// TODO(brettw) consider adding this if we need it in GYP. +-#if defined(GN_BUILD) +-#include "tools/gn/last_commit_position.h" +-#else + #define LAST_COMMIT_POSITION "UNKNOWN" +-#endif + + namespace { + +--- a/tools/gn/BUILD.gn.orig 2015-11-12 11:50:43.513524769 +0000 ++++ b/tools/gn/BUILD.gn 2015-11-12 11:50:57.697817632 +0000 +@@ -227,7 +227,6 @@ + + deps = [ + ":gn_lib", +- ":last_commit_position", + "//base", + "//build/config/sanitizers:deps", + ]