Change:
This probably isn't a strictly NixOS issue, but nevertheless should be mentioned. The hash for vivaldi-stable2.1.1337.51-1 has changed. The old one in nixpkgs is 08x6abyz65vx4ycj8ys8sib9z1adb8ybmnrqjck69b30kbz78rj2, while nix-env reports 00rxp6rardxjg17g2b28y2rj8szqlainp4ga6c58z981zkxvdlls. to unstable channels. -env -i vivaldi system: host os: multi-user?: sandbox: version: channels(void): channels(root): nixpkgs:
unfortunately, sometimes software projects update different package sources with different sha256sums on their website, which will then error during build, until it gets fixed again Can you add a Pull Request, updating the hash in

Discussion:
<del> diff --git a/base/numerics/safe_math_shared_impl.h b/base/numerics/safe_math_shared_impl.h index 99f230ce7e9a..de2415d402f5 100644 --- a/base/numerics/safe_math_shared_impl.h +++ b/base/numerics/safe_math_shared_impl.h @@ -21,8 +21,7 @@ #if !defined(__native_client__) &&                          ((defined(__clang__) &&                                 ((__clang_major__ > 3) ||                             -       (__clang_major__ == 3 && __clang_minor__ >= 4))) ||  -     (defined(__GNUC__) && __GNUC__ >= 5)) +       (__clang_major__ == 3 && __clang_minor__ >= 4)))) #include "base/numerics/safe_math_clang_gcc_impl.h" #define BASE_HAS_OPTIMIZED_SAFE_MATH (1) #else </del>  No newline at end of file

<del> --- a/chrome/browser/devtools/devtools_file_system_indexer.cc +++ b/chrome/browser/devtools/devtools_file_system_indexer.cc @@ -34,7 +34,6 @@ using base::TimeDelta; using base::TimeTicks; using content::BrowserThread; using std::map; -using std::set; using std::string; using std::vector; @@ -191,7 +190,7 @@ vector<FilePath> Index::Search(const string& query) { if (trigram != kUndefinedTrigram) trigrams.push_back(trigram); } -  set<FileId> file_ids; +  std::set<FileId> file_ids; bool first = true; vector<Trigram>::const_iterator it = trigrams.begin(); for (; it != trigrams.end(); ++it) { @@ -203,7 +202,7 @@ vector<FilePath> Index::Search(const string& query) { first = false; continue; } -    set<FileId> intersection = base::STLSetIntersection<set<FileId> >( +    std::set<FileId> intersection = base::STLSetIntersection<std::set<FileId> >( file_ids, index_[trigram]); file_ids.swap(intersection); } diff --git a/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h b/third_party/WebKit/Source/platform/wtf/typed_arrays/ArrayBufferContents.h index 94bb9161ec85..e40c6387f72e 100644 --- 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> </del>  No newline at end of file

<del> commit 96c271f8ab2be7ea4199078ea65ac50c6ada4685 Author: Pawel Hajdan, Jr <phajdan.jr@chromium.org> Date:   Wed Jul 26 21:51:54 2017 +0000 wip diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py index 1390560f8e37..ff2ae57c46b0 100755 --- a/tools/gn/bootstrap/bootstrap.py +++ b/tools/gn/bootstrap/bootstrap.py @@ -449,6 +449,7 @@ def write_gn_ninja(path, root_gen_dir, options): 'base/metrics/histogram_base.cc', 'base/metrics/histogram_functions.cc', 'base/metrics/histogram_samples.cc', +      'base/metrics/histogram_snapshot_manager.cc', 'base/metrics/metrics_hashes.cc', 'base/metrics/persistent_histogram_allocator.cc', 'base/metrics/persistent_memory_allocator.cc', @@ -534,7 +535,7 @@ def write_gn_ninja(path, root_gen_dir, options): 'base/trace_event/heap_profiler_allocation_context_tracker.cc', 'base/trace_event/heap_profiler_allocation_register.cc', 'base/trace_event/heap_profiler_event_filter.cc', -      'base/trace_event/heap_profiler_event_writer.cc', +      'base/trace_event/heap_profiler_heap_dump_writer.cc', 'base/trace_event/heap_profiler_serialization_state.cc', 'base/trace_event/heap_profiler_stack_frame_deduplicator.cc', 'base/trace_event/heap_profiler_type_name_deduplicator.cc', </del>  No newline at end of file

stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi"; <del> version = "1.15.1147.42-1"; </del> <ins> version = "2.1.1337.51-1"; </ins> src = fetchurl { url = "https://downloads.vivaldi.com/stable/${product}-stable_${version}_amd64.deb"; <del> sha256 = "15cajvn2sv05qdp3y538n2xvyy3il49q8zi5928z1mfirjz3dlwh"; </del> <ins> sha256 = "00rxp6rardxjg17g2b28y2rj8szqlainp4ga6c58z981zkxvdlls"; </ins> }; unpackPhase = ''

{ stdenv, fetchurl <del> , dbus-glib, gtk2, gtk3, libexif, libpulseaudio, libXScrnSaver, ninja, nss , pciutils, pkgconfig, python2, xdg_utils </del> <ins> , dbus-glib, gtk3, libexif, libXScrnSaver, ninja, nss , pciutils, pkgconfig, python2, xdg_utils, gn </ins> }: stdenv.mkDerivation rec { name = "${product}-${version}"; product = "vivaldi-ffmpeg-codecs"; <del> version = "61.0.3163.91"; </del> <ins> version = "70.0.3538.77"; </ins> src = fetchurl { url = "https://commondatastorage.googleapis.com/chromium-browser-official/chromium-${version}.tar.xz"; <del> sha512 = "3f07vwbxllrwy3agqxa6ndcix23vai18i178zscmk0y68flhzffyjdvrwlg7dzlwgiqypj2cyl21qb4qmcay2ilgw9vnr9fql2x0w7p"; </del> <ins> sha512 = "128hvkcbyw70j31dj4jviqqjrzyfx38689nb8v0kk5vi2zlgfy5ibz2gyrv4bvrb53ld262y9pvam51nbdmrx2vqd9xrs173py7v0a0"; </ins> }; buildInputs = [ ]; nativeBuildInputs = [ <del> dbus-glib gtk2 gtk3 libexif libpulseaudio libXScrnSaver ninja nss pciutils pkgconfig python2 xdg_utils </del> <ins> gtk3 libexif libXScrnSaver ninja nss pciutils python2 xdg_utils gn pkgconfig dbus-glib </ins> ]; patches = [ <del> ./chromium-gn-bootstrap-r14.patch ./chromium-gcc-r1.patch ./chromium-gcc5-r1.patch </del> ]; configurePhase = '' runHook preConfigure <del> 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" </del> <ins> local args="ffmpeg_branding="ChromeOS" proprietary_codecs=true enable_hevc_demuxing=true use_gnome_keyring=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 use_lld=false use_jumbo_build=false" gn gen out/Release -v --args="$args" </ins> runHook postConfigure '';

license     = licenses.lgpl21; maintainers = with maintainers; [ lluchs ]; platforms   = [ "x86_64-linux" ]; <del> broken = true; </del> }; }

path=${prefetch[1]} echo "vivaldi: $vivaldi_version_old -> $vivaldi_version" <ins> echo "$path" </ins> (cd "$root" && update-source-version vivaldi "$vivaldi_version" "$hash") # Check vivaldi-ffmpeg-codecs version. chromium_version_old=$(version vivaldi-ffmpeg-codecs) <del> chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep -A2 -i '^chrome/' | grep '^[0-9]+.[0-9]+.[1-9][0-9]+.[0-9]+') </del> <ins> chromium_version=$(bsdtar xOf "$path" data.tar.xz | bsdtar xOf - ./opt/vivaldi/vivaldi-bin | strings | grep '^[0-9]{2,}.[0-9]+.[0-9]{4,}+.[0-9]+$') </ins> if [[ "$chromium_version" != "$chromium_version_old" ]]; then echo "vivaldi-ffmpeg-codecs: $chromium_version_old -> $chromium_version"