From 4fd01803e12b7190ed228cf536dd68dd5c0ea62a Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 25 Jan 2018 11:39:11 +0100 Subject: [PATCH 01/16] mysql: updated to 5.6.39 --- mysql/.md5sum | 2 +- mysql/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/mysql/.md5sum b/mysql/.md5sum index 6424ee9..1234265 100644 --- a/mysql/.md5sum +++ b/mysql/.md5sum @@ -1,4 +1,4 @@ 1622e62c80d128f1951a12c0125d3fb5 my.cnf -b2dd2976bc95365f4c3896cbf0c96627 mysql-5.6.38.tar.gz +abcee03992647d508ac5c2568c6cc802 mysql-5.6.39.tar.gz 5ce1297ee84c95df59260707f0ec44c3 mysqld 53b421ec605c7d3c437daf10e70e9498 valist.patch diff --git a/mysql/Pkgfile b/mysql/Pkgfile index 39438f2..b57d5e4 100644 --- a/mysql/Pkgfile +++ b/mysql/Pkgfile @@ -5,7 +5,7 @@ # Depends on: ncurses zlib openssl cmake libaio name=mysql -version=5.6.38 +version=5.6.39 release=1 source=(http://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/$name-$version.tar.gz \ my.cnf mysqld valist.patch) -- 2.26.2 From ea25d74baa0ee5e71675b7b3820d24826aebc476 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 25 Jan 2018 16:48:51 +0100 Subject: [PATCH 02/16] nspr: updated to 4.18 --- nspr/.md5sum | 2 +- nspr/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nspr/.md5sum b/nspr/.md5sum index 08334b9..15099c7 100644 --- a/nspr/.md5sum +++ b/nspr/.md5sum @@ -1,2 +1,2 @@ -0534d9ac45dca251655b9b240670eab4 nspr-4.17.tar.gz +2a558f9aeb109bfb16d78bdc42033a1e nspr-4.18.tar.gz 2083f33e11dfe15feb7bf9bca0f6c44b nspr.pc.in diff --git a/nspr/Pkgfile b/nspr/Pkgfile index 54934ed..c925ab4 100644 --- a/nspr/Pkgfile +++ b/nspr/Pkgfile @@ -4,7 +4,7 @@ # Arch Maintainer: CRUX-ARM System Team. devel at crux-arm dot nu name=nspr -version=4.17 +version=4.18 release=1 source=(https://ftp.mozilla.org/pub/nspr/releases/v$version/src/$name-$version.tar.gz $name.pc.in) -- 2.26.2 From 330d8cd43a7bdfe7bb4fdce2bd8a1c9fa4aaa89d Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 25 Jan 2018 18:56:41 +0100 Subject: [PATCH 03/16] nss: update to 3.35 --- nss/.md5sum | 2 +- nss/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nss/.md5sum b/nss/.md5sum index f1523d2..9ab448f 100644 --- a/nss/.md5sum +++ b/nss/.md5sum @@ -1,3 +1,3 @@ -5922468bb1c54e4c8067f153fcf467e5 nss-3.34.1.tar.gz +9467ec9e65c5aeb3254a50250490f5f7 nss-3.35.tar.gz 17226659298a9d9bb3f323186d220f6f nss-config.in a796e6ab6c87573ffb649ce8769bc07a nss.pc.in diff --git a/nss/Pkgfile b/nss/Pkgfile index 92fa135..9c1ddd4 100644 --- a/nss/Pkgfile +++ b/nss/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nspr sqlite3 name=nss -version=3.34.1 +version=3.35 release=1 source=(http://ftp.mozilla.org/pub/security/nss/releases/NSS_${version//./_}_RTM/src/$name-$version.tar.gz \ nss-config.in nss.pc.in) -- 2.26.2 From 40cc59ba1159f3e79f264eebf1ed7a2bfaf7d6d9 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 29 Jan 2018 00:01:33 +0100 Subject: [PATCH 04/16] firefox: updated to 52.6.0esr --- firefox/.md5sum | 2 +- firefox/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firefox/.md5sum b/firefox/.md5sum index 3180f29..d160210 100644 --- a/firefox/.md5sum +++ b/firefox/.md5sum @@ -1,3 +1,3 @@ -83cb993309bb62021b9772bf1f71571f firefox-52.5.3esr.source.tar.xz +f08e19c79531d4a9ae4a66a6f8a386ce firefox-52.6.0esr.source.tar.xz afe61c7760e835bd12d5dfd40af4ec84 firefox-install-dir.patch cf6971669f70b440cb6ff8df8b2722ae firefox.desktop diff --git a/firefox/Pkgfile b/firefox/Pkgfile index 6035bef..7d1cfe6 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nss, unzip, autoconf-2.13, zip, libidl, gtk, gtk3, python, alsa-lib, xorg-libxt, yasm, mesa3d name=firefox -version=52.5.3esr +version=52.6.0esr release=1 source=(https://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz firefox-install-dir.patch firefox.desktop) -- 2.26.2 From bd70e9dd2ffdbac1e5ac14cf1ed264d61033300f Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sat, 10 Feb 2018 22:20:16 +0100 Subject: [PATCH 05/16] chromium: updated to 64.0.3282.119 --- chromium/.footprint | 29 +- chromium/.md5sum | 14 +- chromium/Pkgfile | 83 +++- .../chromium-64.0.3282.119-constexpr-1.patch | 98 ++++ ...clang-r1.patch => chromium-clang-r2.patch} | 8 +- chromium/chromium-cups-r0.patch | 45 ++ chromium/chromium-exclude_unwind_tables.patch | 25 +- chromium/chromium-memcpy-r0.patch | 35 ++ .../chromium-omnibox-unescape-fragment.patch | 437 ++++++++++++++++++ chromium/chromium-skia-harmony.patch | 77 +++ ...mUTF8-for-UnicodeString-construction.patch | 68 +++ chromium/chromium-webrtc-r0.patch | 34 -- 12 files changed, 858 insertions(+), 95 deletions(-) create mode 100644 chromium/chromium-64.0.3282.119-constexpr-1.patch rename chromium/{chromium-clang-r1.patch => chromium-clang-r2.patch} (73%) create mode 100644 chromium/chromium-cups-r0.patch create mode 100644 chromium/chromium-memcpy-r0.patch create mode 100644 chromium/chromium-omnibox-unescape-fragment.patch create mode 100644 chromium/chromium-skia-harmony.patch create mode 100644 chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch delete mode 100644 chromium/chromium-webrtc-r0.patch diff --git a/chromium/.footprint b/chromium/.footprint index 8c4f73c..bc7b712 100644 --- a/chromium/.footprint +++ b/chromium/.footprint @@ -97,6 +97,8 @@ drwxr-xr-x root/root usr/lib/chromium/resources/inspector/audits/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/audits/audits_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/audits2/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/audits2/audits2_module.js +drwxr-xr-x root/root usr/lib/chromium/resources/inspector/audits2_test_runner/ +-rw-r--r-- root/root usr/lib/chromium/resources/inspector/audits2_test_runner/audits2_test_runner_module.js -rw-r--r-- root/root usr/lib/chromium/resources/inspector/audits2_worker.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/audits2_worker/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/audits2_worker/audits2_worker_module.js @@ -122,6 +124,8 @@ drwxr-xr-x root/root usr/lib/chromium/resources/inspector/coverage/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/coverage/coverage_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/coverage_test_runner/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/coverage_test_runner/coverage_test_runner_module.js +drwxr-xr-x root/root usr/lib/chromium/resources/inspector/cpu_profiler_test_runner/ +-rw-r--r-- root/root usr/lib/chromium/resources/inspector/cpu_profiler_test_runner/cpu_profiler_test_runner_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/data_grid/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/data_grid/data_grid_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/data_grid_test_runner/ @@ -183,10 +187,10 @@ drwxr-xr-x root/root usr/lib/chromium/resources/inspector/extensions_test_runner drwxr-xr-x root/root usr/lib/chromium/resources/inspector/formatter/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/formatter/formatter_module.js -rw-r--r-- root/root usr/lib/chromium/resources/inspector/formatter_worker.js -drwxr-xr-x root/root usr/lib/chromium/resources/inspector/gonzales/ --rw-r--r-- root/root usr/lib/chromium/resources/inspector/gonzales/gonzales_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/har_importer/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/har_importer/har_importer_module.js +drwxr-xr-x root/root usr/lib/chromium/resources/inspector/heap_profiler_test_runner/ +-rw-r--r-- root/root usr/lib/chromium/resources/inspector/heap_profiler_test_runner/heap_profiler_test_runner_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/heap_snapshot_model/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/heap_snapshot_model/heap_snapshot_model_module.js -rw-r--r-- root/root usr/lib/chromium/resources/inspector/heap_snapshot_worker.js @@ -220,18 +224,14 @@ drwxr-xr-x root/root usr/lib/chromium/resources/inspector/product_registry_impl/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/product_registry_impl/product_registry_impl_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/profiler/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/profiler/profiler_module.js -drwxr-xr-x root/root usr/lib/chromium/resources/inspector/profiler_test_runner/ --rw-r--r-- root/root usr/lib/chromium/resources/inspector/profiler_test_runner/profiler_test_runner_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/quick_open/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/quick_open/quick_open_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/resources/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/resources/resources_module.js -drwxr-xr-x root/root usr/lib/chromium/resources/inspector/sass/ --rw-r--r-- root/root usr/lib/chromium/resources/inspector/sass/sass_module.js -drwxr-xr-x root/root usr/lib/chromium/resources/inspector/sass_test_runner/ --rw-r--r-- root/root usr/lib/chromium/resources/inspector/sass_test_runner/sass_test_runner_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/screencast/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/screencast/screencast_module.js +drwxr-xr-x root/root usr/lib/chromium/resources/inspector/sdk_test_runner/ +-rw-r--r-- root/root usr/lib/chromium/resources/inspector/sdk_test_runner/sdk_test_runner_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/security/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/security/security_module.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/security_test_runner/ @@ -256,8 +256,6 @@ drwxr-xr-x root/root usr/lib/chromium/resources/inspector/timeline_model/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/timeline_model/timeline_model_module.js -rw-r--r-- root/root usr/lib/chromium/resources/inspector/toolbox.html -rw-r--r-- root/root usr/lib/chromium/resources/inspector/toolbox.js --rw-r--r-- root/root usr/lib/chromium/resources/inspector/unit_test_runner.html --rw-r--r-- root/root usr/lib/chromium/resources/inspector/unit_test_runner.js drwxr-xr-x root/root usr/lib/chromium/resources/inspector/workspace_diff/ -rw-r--r-- root/root usr/lib/chromium/resources/inspector/workspace_diff/workspace_diff_module.js -rw-r--r-- root/root usr/lib/chromium/snapshot_blob.bin @@ -270,6 +268,9 @@ drwxr-xr-x root/root usr/share/icons/hicolor/ drwxr-xr-x root/root usr/share/icons/hicolor/128x128/ drwxr-xr-x root/root usr/share/icons/hicolor/128x128/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/128x128/apps/chromium.png +drwxr-xr-x root/root usr/share/icons/hicolor/16x16/ +drwxr-xr-x root/root usr/share/icons/hicolor/16x16/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/16x16/apps/chromium.png drwxr-xr-x root/root usr/share/icons/hicolor/22x22/ drwxr-xr-x root/root usr/share/icons/hicolor/22x22/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/22x22/apps/chromium.png @@ -279,11 +280,15 @@ drwxr-xr-x root/root usr/share/icons/hicolor/24x24/apps/ drwxr-xr-x root/root usr/share/icons/hicolor/256x256/ drwxr-xr-x root/root usr/share/icons/hicolor/256x256/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/256x256/apps/chromium.png +drwxr-xr-x root/root usr/share/icons/hicolor/32x32/ +drwxr-xr-x root/root usr/share/icons/hicolor/32x32/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/32x32/apps/chromium.png drwxr-xr-x root/root usr/share/icons/hicolor/48x48/ drwxr-xr-x root/root usr/share/icons/hicolor/48x48/apps/ -rw-r--r-- root/root usr/share/icons/hicolor/48x48/apps/chromium.png +drwxr-xr-x root/root usr/share/icons/hicolor/64x64/ +drwxr-xr-x root/root usr/share/icons/hicolor/64x64/apps/ +-rw-r--r-- root/root usr/share/icons/hicolor/64x64/apps/chromium.png drwxr-xr-x root/root usr/share/man/ drwxr-xr-x root/root usr/share/man/man1/ -rw-r--r-- root/root usr/share/man/man1/chromium.1.gz -drwxr-xr-x root/root usr/share/pixmaps/ -lrwxrwxrwx root/root usr/share/pixmaps/chromium.png -> /usr/share/icons/hicolor/48x48/apps/chromium.png diff --git a/chromium/.md5sum b/chromium/.md5sum index 97d87c6..6f30207 100644 --- a/chromium/.md5sum +++ b/chromium/.md5sum @@ -1,8 +1,12 @@ -4dbc4cd98731f133a3f6e0f47625ad08 breakpad-use-ucontext_t.patch -98cf7b6eca255e2422f96094eccc1887 chromium-62.0.3202.94.tar.xz +d144ace1ee63acdf7dd149b013c83088 chromium-64.0.3282.119-constexpr-1.patch +5b72bcaba2ad920c524cd92a7a6125fe chromium-64.0.3282.119.tar.xz bce5db9dba2aec40a1a709797a907e2a chromium-build-toolchain.patch -1e9f37377b470e26dc0fa609c1cdad9e chromium-gn-bootstrap-r17.patch -b527005e021b14869a669e42c46b661d chromium.desktop +27dbd1479d469346d1ffe27c7e7c0011 chromium-clang-r2.patch +21f73763be6c44ce3df0f1cbbfbff440 chromium-cups-r0.patch +3e30a8e6629c931a640d65d4ab02b939 chromium-exclude_unwind_tables.patch +cb40c4153943f9eb5e38e90ba2f8b382 chromium-memcpy-r0.patch +e42a8b91ea55b4765b9b2b9e2437a9d0 chromium-omnibox-unescape-fragment.patch +254061cb349cff714230b7cca83b0a4c chromium-skia-harmony.patch +40ff364c3a581e5f7ec4a84d785ab6a4 chromium-use-fromUTF8-for-UnicodeString-construction.patch 64968626706b07721983ac59fb3babbf chromium.sh -d1359f1c4cc42c9f74a862361d736ef1 crc32c-string-view-check.patch 3354997dd0bfde3443499133a6e16a85 last-commit-position.patch diff --git a/chromium/Pkgfile b/chromium/Pkgfile index c6a6468..e5c286c 100644 --- a/chromium/Pkgfile +++ b/chromium/Pkgfile @@ -6,18 +6,28 @@ # Depends on: dbus-glib gperf gtk gtk3 libevent libexif libgcrypt ninja nodejs nss pciutils speech-dispatcher xorg-libxscrnsaver xorg-libxt yasm name=chromium -version=62.0.3202.94 +version=64.0.3282.119 release=1 source=(https://commondatastorage.googleapis.com/$name-browser-official/$name-$version.tar.xz chromium-build-toolchain.patch - last-commit-position.patch $name.sh $name.desktop - breakpad-use-ucontext_t.patch - chromium-gn-bootstrap-r17.patch - crc32c-string-view-check.patch) + last-commit-position.patch $name.sh + chromium-64.0.3282.119-constexpr-1.patch + chromium-exclude_unwind_tables.patch + chromium-use-fromUTF8-for-UnicodeString-construction.patch + chromium-omnibox-unescape-fragment.patch + chromium-skia-harmony.patch + chromium-memcpy-r0.patch + chromium-clang-r2.patch + chromium-cups-r0.patch) build() { cd $name-$version + if [ -n "$(pkginfo -i | grep '^ccache ')" ]; then + # Avoid falling back to preprocessor mode when sources contain time macros + export CCACHE_SLOPPINESS=time_macros + fi + export CFLAGS="-O2 -pipe -mfloat-abi=hard" export CFLAGS="$CFLAGS $(pkg-config --cflags nspr) -lpthread" @@ -34,18 +44,38 @@ build() { esac done - # we don't use git sources patch -p1 -i $SRC/last-commit-position.patch - # Fix incorrect inclusion of in modes other than >= C++17 - patch -p1 -d third_party/crc32c/src -i $SRC/crc32c-string-view-check.patch + # Corrects error call to non-constexpr function + patch -p1 -i $SRC/chromium-64.0.3282.119-constexpr-1.patch + + wget https://chromium.googlesource.com/chromium/src.git/+/$version?format=TEXT -O ../chromium-$version.txt + # https://crbug.com/710701 + local _chrome_build_hash=$(base64 -d ../chromium-$version.txt | + grep -Po '^parent \K[0-9a-f]{40}$') + if [[ -z $_chrome_build_hash ]]; then + error "Unable to find Chrome build hash." + return 1 + fi + echo "LASTCHANGE=$_chrome_build_hash-" >build/util/LASTCHANGE + + # https://chromium-review.googlesource.com/c/chromium/src/+/712575 + patch -p1 -i $SRC/chromium-exclude_unwind_tables.patch - # Fix build with glibc 2.26 - patch -p1 -i $SRC/breakpad-use-ucontext_t.patch + # https://crbug.com/772655 + patch -p1 -i $SRC/chromium-use-fromUTF8-for-UnicodeString-construction.patch + + # https://crbug.com/789163 + patch -p1 -i $SRC/chromium-omnibox-unescape-fragment.patch + + # https://crbug.com/skia/6663#c10 + patch -p4 -i $SRC/chromium-skia-harmony.patch # Fixes from Gentoo - patch -p1 -i $SRC/chromium-gn-bootstrap-r17.patch + patch -p1 -i $SRC/chromium-memcpy-r0.patch + patch -p1 -i $SRC/chromium-clang-r2.patch + patch -p1 -i $SRC/chromium-cups-r0.patch mkdir -p third_party/node/linux/node-linux-x64/bin ln -s /usr/bin/node third_party/node/linux/node-linux-x64/bin/ @@ -74,16 +104,13 @@ build() { 'use_gconf=false' 'use_gnome_keyring=false' 'use_gold=false' + 'use_gtk3=true' 'use_kerberos=false' 'use_pulseaudio=false' 'use_sysroot=false' - 'use_system_libjpeg=true' ) -# export TMPDIR="${PKGMK_WORK_DIR}/temp" -# mkdir -p -m 755 "${TMPDIR}" || die - - python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}" + /usr/bin/python2 tools/gn/bootstrap/bootstrap.py --gn-gen-args="${_gn_args[*]}" out/Release/gn gen out/Release --args="${_gn_args[*]}" --script-executable=/usr/bin/python2 ninja -j ${JOBS-1} -C out/Release chrome chrome_sandbox @@ -94,21 +121,33 @@ build() { install -d $PKG/usr/lib/$name/locales install -m 0644 out/Release/locales/en-US.pak $PKG/usr/lib/$name/locales cp -a out/Release/resources $PKG/usr/lib/$name - install -m 0644 -D out/Release/chrome.1 $PKG/usr/share/man/man1/$name.1 + + install -m 0644 -D chrome/installer/linux/common/desktop.template $PKG/usr/share/applications/$name.desktop + install -m 0644 -D chrome/app/resources/manpage.1.in $PKG/usr/share/man/man1/$name.1 + + sed -i \ + -e "s/@@MENUNAME@@/Chromium/g" \ + -e "s/@@PACKAGE@@/chromium/g" \ + -e "s/@@USR_BIN_SYMLINK_NAME@@/chromium/g" \ + $PKG/usr/share/applications/$name.desktop \ + $PKG/usr/share/man/man1/$name.1 # fix v8 natives cp -a out/Release/{natives,snapshot}_blob.bin $PKG/usr/lib/$name - for size in 22 24 48 128 256; do + for size in 16 32; do + install -m 0644 -D chrome/app/theme/default_100_percent/$name/product_logo_${size}.png \ + $PKG/usr/share/icons/hicolor/${size}x${size}/apps/$name.png + done + + for size in 22 24 48 64 128 256; do install -m 0644 -D chrome/app/theme/$name/product_logo_${size}.png \ $PKG/usr/share/icons/hicolor/${size}x${size}/apps/$name.png done # fix icu installation - cp -a out/Release/icudtl.dat $PKG/usr/lib/$name + install -m 0644 -D out/Release/icudtl.dat $PKG/usr/lib/$name/icudtl.dat - install -d $PKG/usr/share/pixmaps - ln -sf /usr/share/icons/hicolor/48x48/apps/$name.png $PKG/usr/share/pixmaps/$name.png - install -m 0644 -D $SRC/$name.desktop $PKG/usr/share/applications/$name.desktop install -m 0755 -D $SRC/$name.sh $PKG/usr/bin/$name + } diff --git a/chromium/chromium-64.0.3282.119-constexpr-1.patch b/chromium/chromium-64.0.3282.119-constexpr-1.patch new file mode 100644 index 0000000..ae40fd1 --- /dev/null +++ b/chromium/chromium-64.0.3282.119-constexpr-1.patch @@ -0,0 +1,98 @@ +Submitted By: DJ Lucas +Date: 2018-01-28 +Initial Package Version: 64.0.3282.119 +Upstream Status: Committed +Origin: Upstream +Description: Corrects error call to non-constexpr function + + +From 030017a4855c7b6e7f2ff8d9566c146f31eb301b Mon Sep 17 00:00:00 2001 +From: Kai Ninomiya +Date: Wed, 06 Dec 2017 14:06:53 -0800 +Subject: [PATCH] Mark StaticType related functions as constexpr + +Fixes compilation on some versions of GCC and probably Clang. + +Follow-up to http://crrev.com/c/786317 + +Bug: angleproject:1432 +Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5 +Reviewed-on: https://chromium-review.googlesource.com/812220 +Reviewed-by: Jamie Madill +Commit-Queue: Kai Ninomiya +--- + +diff --git a/third_party/angle/src/compiler/translator/StaticType.h b/third_party/angle/src/compiler/translator/StaticType.h +index e26e5ff..30b391a 100644 +--- a/third_party/angle/src/compiler/translator/StaticType.h ++++ b/third_party/angle/src/compiler/translator/StaticType.h +@@ -160,7 +160,7 @@ + TPrecision precision, + TQualifier qualifier, + unsigned char secondarySize> +-const TType *GetForVecMatHelper(unsigned char primarySize) ++constexpr const TType *GetForVecMatHelper(unsigned char primarySize) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -186,7 +186,7 @@ + template +-const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) ++constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) + { + static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || + basicType == EbtBool, +@@ -208,7 +208,7 @@ + } + + template +-const TType *GetForVec(TQualifier qualifier, unsigned char size) ++constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) + { + switch (qualifier) + { +diff --git a/third_party/angle/src/compiler/translator/SymbolTable.cpp b/third_party/angle/src/compiler/translator/SymbolTable.cpp +index adf1e4e..90d4c15 100644 +--- a/third_party/angle/src/compiler/translator/SymbolTable.cpp ++++ b/third_party/angle/src/compiler/translator/SymbolTable.cpp +@@ -236,7 +236,7 @@ + pop(); + } + +-bool IsGenType(const TType *type) ++constexpr bool IsGenType(const TType *type) + { + if (type) + { +@@ -248,7 +248,7 @@ + return false; + } + +-bool IsVecType(const TType *type) ++constexpr bool IsVecType(const TType *type) + { + if (type) + { +diff --git a/third_party/angle/src/compiler/translator/Types.h b/third_party/angle/src/compiler/translator/Types.h +index 04f46f1..a54d447 100644 +--- a/third_party/angle/src/compiler/translator/Types.h ++++ b/third_party/angle/src/compiler/translator/Types.h +@@ -142,13 +142,13 @@ + { + } + +- TBasicType getBasicType() const { return type; } ++ constexpr TBasicType getBasicType() const { return type; } + void setBasicType(TBasicType t); + + TPrecision getPrecision() const { return precision; } + void setPrecision(TPrecision p) { precision = p; } + +- TQualifier getQualifier() const { return qualifier; } ++ constexpr TQualifier getQualifier() const { return qualifier; } + void setQualifier(TQualifier q) { qualifier = q; } + + bool isInvariant() const { return invariant; } + diff --git a/chromium/chromium-clang-r1.patch b/chromium/chromium-clang-r2.patch similarity index 73% rename from chromium/chromium-clang-r1.patch rename to chromium/chromium-clang-r2.patch index 0fef167..aaee167 100644 --- a/chromium/chromium-clang-r1.patch +++ b/chromium/chromium-clang-r2.patch @@ -1,6 +1,6 @@ ---- a/build/config/compiler/BUILD.gn.orig 2017-10-04 08:50:15.014675936 +0000 -+++ b/build/config/compiler/BUILD.gn 2017-10-04 08:50:32.831024327 +0000 -@@ -429,18 +429,6 @@ +--- a/build/config/compiler/BUILD.gn ++++ b/build/config/compiler/BUILD.gn +@@ -422,18 +422,6 @@ cflags += [ "-fcolor-diagnostics" ] } @@ -12,7 +12,7 @@ - "-Xclang", - "-mllvm", - "-Xclang", -- "-instcombine-lower-dbg-declare=1", +- "-instcombine-lower-dbg-declare=0", - ] - } - diff --git a/chromium/chromium-cups-r0.patch b/chromium/chromium-cups-r0.patch new file mode 100644 index 0000000..88ea78a --- /dev/null +++ b/chromium/chromium-cups-r0.patch @@ -0,0 +1,45 @@ +From 3cf91d8d674a496d533aa106723a632b68ab26ba Mon Sep 17 00:00:00 2001 +From: Tom Anderson +Date: Tue, 12 Dec 2017 23:31:56 +0000 +Subject: [PATCH] Fix use_cups=false build + +BUG=793801 +R=thestig@chromium.org + +Change-Id: I60ee6ec48d2686d0b42ca25311a9b76009ce9768 +Reviewed-on: https://chromium-review.googlesource.com/823245 +Reviewed-by: Lei Zhang +Commit-Queue: Thomas Anderson +Cr-Commit-Position: refs/heads/master@{#523602} +--- + chrome/service/cloud_print/print_system.cc | 9 ++++++++- + 1 file changed, 8 insertions(+), 1 deletion(-) + +diff --git a/chrome/service/cloud_print/print_system.cc b/chrome/service/cloud_print/print_system.cc +index ac94c804f9..4ceba96919 100644 +--- a/chrome/service/cloud_print/print_system.cc ++++ b/chrome/service/cloud_print/print_system.cc +@@ -5,6 +5,7 @@ + #include "chrome/service/cloud_print/print_system.h" + + #include "base/guid.h" ++#include "build/build_config.h" + + namespace cloud_print { + +@@ -35,5 +36,11 @@ std::string PrintSystem::GenerateProxyId() { + return base::GenerateGUID(); + } + +-} // namespace cloud_print ++#if defined(OS_LINUX) && !defined(USE_CUPS) ++scoped_refptr PrintSystem::CreateInstance( ++ const base::DictionaryValue*) { ++ return nullptr; ++} ++#endif + ++} // namespace cloud_print +-- +2.15.1 + diff --git a/chromium/chromium-exclude_unwind_tables.patch b/chromium/chromium-exclude_unwind_tables.patch index 6723259..1961f15 100644 --- a/chromium/chromium-exclude_unwind_tables.patch +++ b/chromium/chromium-exclude_unwind_tables.patch @@ -1,21 +1,8 @@ -From 1fc37227522ccd314f82ec893ed15c6129296604 Mon Sep 17 00:00:00 2001 -From: Paul Jensen -Date: Wed, 11 Oct 2017 08:37:34 -0400 -Subject: [PATCH] Move exclude_unwind_tables back into declare_args - -There is desire to adjust this flag manually. - -BUG=762629 -R=thakis@chromium.org - -Change-Id: I3bd134c19270cd1f729b3ea078674e734493d4ab ---- - diff --git a/build/config/compiler/compiler.gni b/build/config/compiler/compiler.gni index ad40fd9..50e19a4 100644 --- a/build/config/compiler/compiler.gni +++ b/build/config/compiler/compiler.gni -@@ -68,18 +68,18 @@ +@@ -68,19 +68,19 @@ # Whether or not we should use position independent code. use_pic = true @@ -25,8 +12,9 @@ index ad40fd9..50e19a4 100644 + # server. For unofficial (e.g. development) builds and non-Chrome branded + # (e.g. Cronet which doesn't use Crashpad, crbug.com/479283) builds it's + # useful to be able to unwind at runtime. -+ exclude_unwind_tables = (is_chrome_branded && is_official_build) || -+ (is_chromecast && !is_cast_desktop_build && !is_debug) ++ exclude_unwind_tables = ++ (is_chrome_branded && is_official_build) || ++ (is_chromecast && !is_cast_desktop_build && !is_debug && !is_fuchsia) } assert(!is_cfi || use_thin_lto, "CFI requires ThinLTO") @@ -36,8 +24,9 @@ index ad40fd9..50e19a4 100644 -# For unofficial (e.g. development) builds and non-Chrome branded (e.g. Cronet -# which doesn't use Crashpad, crbug.com/479283) builds it's useful to be able -# to unwind at runtime. --exclude_unwind_tables = (is_chrome_branded && is_official_build) || -- (is_chromecast && !is_cast_desktop_build && !is_debug) +-exclude_unwind_tables = +- (is_chrome_branded && is_official_build) || +- (is_chromecast && !is_cast_desktop_build && !is_debug && !is_fuchsia) - # If true, optimize for size. Does not affect windows builds. # Linux & Mac favor speed over size. diff --git a/chromium/chromium-memcpy-r0.patch b/chromium/chromium-memcpy-r0.patch new file mode 100644 index 0000000..dd2fd57 --- /dev/null +++ b/chromium/chromium-memcpy-r0.patch @@ -0,0 +1,35 @@ +From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Thu, 7 Dec 2017 22:33:34 +0000 +Subject: [PATCH] memcpy used without including string.h + +Compiling Chromium with Clang 4.0.1 and using libstdc++ will fail on using +memcpy without including string.h. + +Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel +Change-Id: Idced1d5de3baf6b520d4a2d61774120642ead1a8 +Reviewed-on: https://chromium-review.googlesource.com/813737 +Reviewed-by: Thomas Anderson +Reviewed-by: vmpstr +Commit-Queue: Thomas Anderson +Cr-Commit-Position: refs/heads/master@{#522579} +--- + cc/paint/raw_memory_transfer_cache_entry.cc | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc +index 9e4660c685ee..95ad50b1a338 100644 +--- a/cc/paint/raw_memory_transfer_cache_entry.cc ++++ b/cc/paint/raw_memory_transfer_cache_entry.cc +@@ -4,6 +4,8 @@ + + #include "cc/paint/raw_memory_transfer_cache_entry.h" + ++#include ++ + namespace cc { + + ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry( +-- +2.15.1 + diff --git a/chromium/chromium-omnibox-unescape-fragment.patch b/chromium/chromium-omnibox-unescape-fragment.patch new file mode 100644 index 0000000..59ab040 --- /dev/null +++ b/chromium/chromium-omnibox-unescape-fragment.patch @@ -0,0 +1,437 @@ +commit 03f9a90d8a783f9d1a94935ac298338a1e694380 +Author: Eric Lawrence +Date: Sat Dec 16 04:48:11 2017 +0000 + + Reland of 'Unescape fragment for display in Omnibox' + + The original landing broke EGTests for iOS Simulator and Device which + were not run by the CQ. This change includes updated EGTests. + + TBR=pkasting@chromium.org + + Bug: 789163, 643458 + Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs + Change-Id: Ie30afcb7bcba5affc7266d72a10b7f8dc0074314 + Reviewed-on: https://chromium-review.googlesource.com/830093 + Reviewed-by: Eric Lawrence + Reviewed-by: Peter Kasting + Reviewed-by: Eugene But + Commit-Queue: Eric Lawrence + Cr-Commit-Position: refs/heads/master@{#524591} + +diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc +index 6e5dff47f7ec..24f1056d49d5 100644 +--- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc ++++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc +@@ -462,3 +462,13 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TextElideStatus) { + EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(), + gfx::NO_ELIDE); + } ++ ++IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, FragmentUnescapedForDisplay) { ++ OmniboxView* view = nullptr; ++ ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view)); ++ ui_test_utils::NavigateToURL(browser(), ++ GURL("https://www.google.com/#%E2%98%83")); ++ ++ EXPECT_EQ(view->GetText(), ++ base::UTF8ToUTF16("https://www.google.com/#\u2603")); ++} +diff --git a/components/url_formatter/elide_url_unittest.cc b/components/url_formatter/elide_url_unittest.cc +index 5e0384af72a2..d403ce065f45 100644 +--- a/components/url_formatter/elide_url_unittest.cc ++++ b/components/url_formatter/elide_url_unittest.cc +@@ -347,15 +347,16 @@ TEST(TextEliderTest, TestElisionSpecialCases) { + kEllipsisStr + "berkeley.edu:4430/" + kEllipsisStr + "/arbitfilename"}, + + // Unescaping. +- {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", +- "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + ++ {"http://www/%E4%BD%A0%E5%A5%BD?" ++ "q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0\xe4\xbd\xa0\xe4\xbd\xa0", ++ "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0" + + kEllipsisStr}, + + // Invalid unescaping for path. The ref will always be valid UTF-8. We + // don't bother to do too many edge cases, since these are handled by the + // escaper unittest. + {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", +- "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + kEllipsisStr}, ++ "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0"}, + }; + + RunElisionTest(testcases); +diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc +index d5c0d314a5de..c422e3d98a72 100644 +--- a/components/url_formatter/url_formatter.cc ++++ b/components/url_formatter/url_formatter.cc +@@ -586,11 +586,10 @@ base::string16 FormatUrlWithAdjustments( + NonHostComponentTransform(unescape_rules), + &url_string, &new_parsed->query, adjustments); + +- // Ref. This is valid, unescaped UTF-8, so we can just convert. + if (parsed.ref.is_valid()) + url_string.push_back('#'); + AppendFormattedComponent(spec, parsed.ref, +- NonHostComponentTransform(net::UnescapeRule::NONE), ++ NonHostComponentTransform(unescape_rules), + &url_string, &new_parsed->ref, adjustments); + } + +diff --git a/components/url_formatter/url_formatter_unittest.cc b/components/url_formatter/url_formatter_unittest.cc +index 6fd3ece50f7d..5aaf31105a43 100644 +--- a/components/url_formatter/url_formatter_unittest.cc ++++ b/components/url_formatter/url_formatter_unittest.cc +@@ -828,7 +828,7 @@ TEST(UrlFormatterTest, FormatUrl) { + + {"With a port number and a reference", + "http://www.google.com:8080/#\xE3\x82\xB0", default_format_type, +- net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#%E3%82%B0", 7}, ++ net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0", 7}, + + // -------- IDN tests -------- + {"Japanese IDN with ja", "http://xn--l8jvb1ey91xtjb.jp", +@@ -1119,7 +1119,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { + kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, &parsed, + nullptr, nullptr); + EXPECT_EQ(WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080" +- L"/\x30B0/?q=\x30B0#%E3%82%B0"), ++ L"/\x30B0/?q=\x30B0#\x30B0"), + formatted); + EXPECT_EQ(WideToUTF16(L"\x30B0"), + formatted.substr(parsed.username.begin, parsed.username.len)); +@@ -1133,7 +1133,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { + formatted.substr(parsed.path.begin, parsed.path.len)); + EXPECT_EQ(WideToUTF16(L"q=\x30B0"), + formatted.substr(parsed.query.begin, parsed.query.len)); +- EXPECT_EQ(WideToUTF16(L"%E3%82%B0"), ++ EXPECT_EQ(WideToUTF16(L"\x30B0"), + formatted.substr(parsed.ref.begin, parsed.ref.len)); + + // Omit_username_password + unescape case. +@@ -1143,7 +1143,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { + kFormatUrlOmitUsernamePassword, net::UnescapeRule::NORMAL, + &parsed, nullptr, nullptr); + EXPECT_EQ(WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080" +- L"/\x30B0/?q=\x30B0#%E3%82%B0"), ++ L"/\x30B0/?q=\x30B0#\x30B0"), + formatted); + EXPECT_FALSE(parsed.username.is_valid()); + EXPECT_FALSE(parsed.password.is_valid()); +@@ -1155,7 +1155,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { + formatted.substr(parsed.path.begin, parsed.path.len)); + EXPECT_EQ(WideToUTF16(L"q=\x30B0"), + formatted.substr(parsed.query.begin, parsed.query.len)); +- EXPECT_EQ(WideToUTF16(L"%E3%82%B0"), ++ EXPECT_EQ(WideToUTF16(L"\x30B0"), + formatted.substr(parsed.ref.begin, parsed.ref.len)); + + // View-source case. +@@ -1389,9 +1389,12 @@ TEST(UrlFormatterTest, FormatUrlWithOffsets) { + kFormatUrlOmitNothing, net::UnescapeRule::SPACES, unescape_offsets); + + const size_t ref_offsets[] = { +- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, +- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, +- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}; ++ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, ++ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, ++ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, ++ 30, 31, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, ++ 32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33}; ++ + // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z". + CheckAdjustedOffsets("http://www.google.com/foo.html#%E3%82%B0%E3%82%B0z", + kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, +diff --git a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm +index b67f2a08d0a0..431ad368f07d 100644 +--- a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm ++++ b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm +@@ -59,40 +59,42 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + // Push 3 URLs. Verify that the URL changed and the status was updated. + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashWithObject"]; + [self assertStatusText:@"pushStateHashWithObject" +- withURL:pushStateHashWithObjectURL ++ withOmniboxText:pushStateHashWithObjectURL.GetContent() + pageLoaded:NO]; + + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateRootPath"]; + [self assertStatusText:@"pushStateRootPath" +- withURL:pushStateRootPathURL ++ withOmniboxText:pushStateRootPathURL.GetContent() + pageLoaded:NO]; + + [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePathSpace"]; + [self assertStatusText:@"pushStatePathSpace" +- withURL:pushStatePathSpaceURL ++ withOmniboxText:pushStatePathSpaceURL.GetContent() + pageLoaded:NO]; + + // Go back and check that the page doesn't load and the status text is updated + // by the popstate event. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:@"pushStateRootPath" +- withURL:pushStateRootPathURL ++ withOmniboxText:pushStateRootPathURL.GetContent() + pageLoaded:NO]; + + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:@"pushStateHashWithObject" +- withURL:pushStateHashWithObjectURL ++ withOmniboxText:pushStateHashWithObjectURL.GetContent() + pageLoaded:NO]; + + [ChromeEarlGrey tapWebViewElementWithID:@"goBack"]; + const GURL historyTestURL = web::test::HttpServer::MakeUrl(kHistoryTestUrl); +- [self assertStatusText:NULL withURL:historyTestURL pageLoaded:NO]; ++ [self assertStatusText:nil ++ withOmniboxText:historyTestURL.GetContent() ++ pageLoaded:NO]; + + // Go forward 2 pages and check that the page doesn't load and the status text + // is updated by the popstate event. + [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"]; + [self assertStatusText:@"pushStateRootPath" +- withURL:pushStateRootPathURL ++ withOmniboxText:pushStateRootPathURL.GetContent() + pageLoaded:NO]; + } + +@@ -108,7 +110,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + web::test::HttpServer::MakeUrl(kReplaceStateHashWithObjectURL); + [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashWithObject"]; + [self assertStatusText:@"replaceStateHashWithObject" +- withURL:replaceStateHashWithObjectURL ++ withOmniboxText:replaceStateHashWithObjectURL.GetContent() + pageLoaded:NO]; + + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; +@@ -119,7 +121,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + [[EarlGrey selectElementWithMatcher:ForwardButton()] + performAction:grey_tap()]; + [self assertStatusText:@"replaceStateHashWithObject" +- withURL:replaceStateHashWithObjectURL ++ withOmniboxText:replaceStateHashWithObjectURL.GetContent() + pageLoaded:YES]; + + // Push URL then replace it. Do this twice. +@@ -127,44 +129,44 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + web::test::HttpServer::MakeUrl(kPushStateHashStringURL); + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; + [self assertStatusText:@"pushStateHashString" +- withURL:pushStateHashStringURL ++ withOmniboxText:pushStateHashStringURL.GetContent() + pageLoaded:NO]; + + const GURL replaceStateHashStringURL = + web::test::HttpServer::MakeUrl(kReplaceStateHashStringURL); + [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashString"]; + [self assertStatusText:@"replaceStateHashString" +- withURL:replaceStateHashStringURL ++ withOmniboxText:replaceStateHashStringURL.GetContent() + pageLoaded:NO]; + + const GURL pushStatePathURL = + web::test::HttpServer::MakeUrl(kPushStatePathURL); + [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"]; + [self assertStatusText:@"pushStatePath" +- withURL:pushStatePathURL ++ withOmniboxText:pushStatePathURL.GetContent() + pageLoaded:NO]; + + const GURL replaceStateRootPathSpaceURL = + web::test::HttpServer::MakeUrl(kReplaceStateRootPathSpaceURL); + [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateRootPathSpace"]; + [self assertStatusText:@"replaceStateRootPathSpace" +- withURL:replaceStateRootPathSpaceURL ++ withOmniboxText:replaceStateRootPathSpaceURL.GetContent() + pageLoaded:NO]; + + // Go back and check URLs. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:@"replaceStateHashString" +- withURL:replaceStateHashStringURL ++ withOmniboxText:replaceStateHashStringURL.GetContent() + pageLoaded:NO]; + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:@"replaceStateHashWithObject" +- withURL:replaceStateHashWithObjectURL ++ withOmniboxText:replaceStateHashWithObjectURL.GetContent() + pageLoaded:NO]; + + // Go forward and check URL. + [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"]; + [self assertStatusText:@"replaceStateRootPathSpace" +- withURL:replaceStateRootPathSpaceURL ++ withOmniboxText:replaceStateRootPathSpaceURL.GetContent() + pageLoaded:NO]; + } + +@@ -180,11 +182,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + web::test::HttpServer::MakeUrl(kPushStateHashStringURL); + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; + [self assertStatusText:@"pushStateHashString" +- withURL:pushStateHashStringURL ++ withOmniboxText:pushStateHashStringURL.GetContent() + pageLoaded:NO]; + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; + [self assertStatusText:@"pushStateHashString" +- withURL:pushStateHashStringURL ++ withOmniboxText:pushStateHashStringURL.GetContent() + pageLoaded:NO]; + + // Load a non-pushed URL. +@@ -194,7 +196,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + [ChromeEarlGrey loadURL:historyTestURL]; + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; + [self assertStatusText:@"pushStateHashString" +- withURL:pushStateHashStringURL ++ withOmniboxText:pushStateHashStringURL.GetContent() + pageLoaded:NO]; + + // At this point the history looks like this: +@@ -202,38 +204,54 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + + // Go back (to second history.html) and verify page did not load. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; +- [self assertStatusText:nil withURL:historyTestURL pageLoaded:NO]; ++ [self assertStatusText:nil ++ withOmniboxText:historyTestURL.GetContent() ++ pageLoaded:NO]; + + // Go back twice (to second #string) and verify page did load. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; +- [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES]; ++ [self assertStatusText:nil ++ withOmniboxText:pushStateHashStringURL.GetContent() ++ pageLoaded:YES]; + + // Go back once (to first #string) and verify page did not load. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:@"pushStateHashString" +- withURL:pushStateHashStringURL ++ withOmniboxText:pushStateHashStringURL.GetContent() + pageLoaded:NO]; + + // Go forward 4 entries at once (to third #string) and verify page did load. + [ChromeEarlGrey tapWebViewElementWithID:@"goForward4"]; + +- [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES]; ++ [self assertStatusText:nil ++ withOmniboxText:pushStateHashStringURL.GetContent() ++ pageLoaded:YES]; + + // Go back 4 entries at once (to first #string) and verify page did load. + [ChromeEarlGrey tapWebViewElementWithID:@"goBack4"]; + +- [self assertStatusText:NULL withURL:pushStateHashStringURL pageLoaded:YES]; ++ [self assertStatusText:nil ++ withOmniboxText:pushStateHashStringURL.GetContent() ++ pageLoaded:YES]; + } + + // Tests calling pushState with unicode characters. + - (void)testHtml5HistoryPushUnicodeCharacters { +- const GURL pushStateUnicodeURLEncoded = web::test::HttpServer::MakeUrl( +- "http://ios/testing/data/http_server_files/" +- "history.html#unicode%E1%84%91"); +- const GURL pushStateUnicode2URLEncoded = web::test::HttpServer::MakeUrl( +- "http://ios/testing/data/http_server_files/" +- "history.html#unicode2%E2%88%A2"); ++ // The GURL object %-escapes Unicode characters in the URL's fragment, ++ // but the omnibox decodes them back to Unicode for display. ++ std::string pushStateUnicode = ++ web::test::HttpServer::MakeUrl( ++ "http://ios/testing/data/http_server_files/" ++ "history.html#unicode") ++ .GetContent() + ++ "\xe1\x84\x91"; ++ std::string pushStateUnicode2 = ++ web::test::HttpServer::MakeUrl( ++ "http://ios/testing/data/http_server_files/" ++ "history.html#unicode2") ++ .GetContent() + ++ "\xe2\x88\xa2"; + const char pushStateUnicodeLabel[] = "Action: pushStateUnicodeᄑ"; + NSString* pushStateUnicodeStatus = @"pushStateUnicodeᄑ"; + const char pushStateUnicode2Label[] = "Action: pushStateUnicode2∢"; +@@ -242,21 +260,16 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + web::test::SetUpFileBasedHttpServer(); + [ChromeEarlGrey loadURL:web::test::HttpServer::MakeUrl(kHistoryTestUrl)]; + +- // TODO(crbug.com/643458): The fact that the URL shows %-escaped is due to +- // NSURL escaping to make UIWebView/JS happy. See if it's possible to +- // represent differently such that it displays unescaped. + // Do 2 push states with unicode characters. + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode"]; + [[EarlGrey +- selectElementWithMatcher:chrome_test_util::OmniboxText( +- pushStateUnicodeURLEncoded.GetContent())] ++ selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode)] + assertWithMatcher:grey_notNil()]; + [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicodeLabel]; + + [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode2"]; + [[EarlGrey +- selectElementWithMatcher:chrome_test_util::OmniboxText( +- pushStateUnicode2URLEncoded.GetContent())] ++ selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode2)] + assertWithMatcher:grey_notNil()]; + [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicode2Label]; + +@@ -266,18 +279,18 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"]; + + [self assertStatusText:@"pushStatePath" +- withURL:pushStatePathURL ++ withOmniboxText:pushStatePathURL.GetContent() + pageLoaded:NO]; + + // Go back and check the unicode in the URL and status. + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:pushStateUnicode2Status +- withURL:pushStateUnicode2URLEncoded ++ withOmniboxText:pushStateUnicode2 + pageLoaded:NO]; + + [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; + [self assertStatusText:pushStateUnicodeStatus +- withURL:pushStateUnicodeURLEncoded ++ withOmniboxText:pushStateUnicode + pageLoaded:NO]; + } + +@@ -321,10 +334,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + + #pragma mark - Utility methods + +-// Assert that status text |status| is displayed in the webview, that "onloaded" +-// text is displayed if pageLoaded is YES, and that the URL is as expected. ++// Assert that status text |status|, if non-nil, is displayed in the webview, ++// that the omnibox text is as expected, and that "onload" text is displayed if ++// pageLoaded is YES. + - (void)assertStatusText:(NSString*)status +- withURL:(const GURL&)urlToVerify ++ withOmniboxText:(const std::string&)omniboxText + pageLoaded:(BOOL)pageLoaded { + if (pageLoaded) { + [ChromeEarlGrey waitForWebViewContainingText:"onload"]; +@@ -332,14 +346,14 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; + [ChromeEarlGrey waitForWebViewNotContainingText:"onload"]; + } + +- if (status != NULL) { ++ if (status != nil) { + NSString* statusLabel = [NSString stringWithFormat:@"Action: %@", status]; + [ChromeEarlGrey + waitForWebViewContainingText:base::SysNSStringToUTF8(statusLabel)]; + } + +- [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( +- urlToVerify.GetContent())] ++ [[EarlGrey ++ selectElementWithMatcher:chrome_test_util::OmniboxText(omniboxText)] + assertWithMatcher:grey_notNil()]; + } + diff --git a/chromium/chromium-skia-harmony.patch b/chromium/chromium-skia-harmony.patch new file mode 100644 index 0000000..6343f7f --- /dev/null +++ b/chromium/chromium-skia-harmony.patch @@ -0,0 +1,77 @@ +--- qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp.orig 2017-10-10 17:42:06.956950985 +0200 ++++ qtwebengine-opensource-src-5.9.1/src/3rdparty/chromium/third_party/skia/src/ports/SkFontHost_FreeType.cpp 2017-10-10 17:46:05.824187787 +0200 +@@ -99,8 +99,6 @@ + FreeTypeLibrary() + : fGetVarDesignCoordinates(nullptr) + , fLibrary(nullptr) +- , fIsLCDSupported(false) +- , fLCDExtra(0) + { + if (FT_New_Library(&gFTMemory, &fLibrary)) { + return; +@@ -147,12 +145,7 @@ + } + #endif + +- // Setup LCD filtering. This reduces color fringes for LCD smoothed glyphs. +- // The default has changed over time, so this doesn't mean the same thing to all users. +- if (FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT) == 0) { +- fIsLCDSupported = true; +- fLCDExtra = 2; //Using a filter adds one full pixel to each side. +- } ++ FT_Library_SetLcdFilter(fLibrary, FT_LCD_FILTER_DEFAULT); + } + ~FreeTypeLibrary() { + if (fLibrary) { +@@ -161,8 +153,6 @@ + } + + FT_Library library() { return fLibrary; } +- bool isLCDSupported() { return fIsLCDSupported; } +- int lcdExtra() { return fLCDExtra; } + + // FT_Get_{MM,Var}_{Blend,Design}_Coordinates were added in FreeType 2.7.1. + // Prior to this there was no way to get the coordinates out of the FT_Face. +@@ -173,8 +163,6 @@ + + private: + FT_Library fLibrary; +- bool fIsLCDSupported; +- int fLCDExtra; + + // FT_Library_SetLcdFilterWeights was introduced in FreeType 2.4.0. + // The following platforms provide FreeType of at least 2.4.0. +@@ -704,17 +692,6 @@ + rec->fTextSize = SkIntToScalar(1 << 14); + } + +- if (isLCD(*rec)) { +- // TODO: re-work so that FreeType is set-up and selected by the SkFontMgr. +- SkAutoMutexAcquire ama(gFTMutex); +- ref_ft_library(); +- if (!gFTLibrary->isLCDSupported()) { +- // If the runtime Freetype library doesn't support LCD, disable it here. +- rec->fMaskFormat = SkMask::kA8_Format; +- } +- unref_ft_library(); +- } +- + SkPaint::Hinting h = rec->getHinting(); + if (SkPaint::kFull_Hinting == h && !isLCD(*rec)) { + // collapse full->normal hinting if we're not doing LCD +@@ -1115,11 +1092,11 @@ + void SkScalerContext_FreeType::updateGlyphIfLCD(SkGlyph* glyph) { + if (isLCD(fRec)) { + if (fLCDIsVert) { +- glyph->fHeight += gFTLibrary->lcdExtra(); +- glyph->fTop -= gFTLibrary->lcdExtra() >> 1; ++ glyph->fHeight += 2; ++ glyph->fTop -= 1; + } else { +- glyph->fWidth += gFTLibrary->lcdExtra(); +- glyph->fLeft -= gFTLibrary->lcdExtra() >> 1; ++ glyph->fWidth += 2; ++ glyph->fLeft -= 1; + } + } + } diff --git a/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch b/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch new file mode 100644 index 0000000..0e0765a --- /dev/null +++ b/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch @@ -0,0 +1,68 @@ +From e58fa0ba66272c5f28828b15d06c7e42a9882b3b Mon Sep 17 00:00:00 2001 +From: Jungshik Shin +Date: Sat, 16 Dec 2017 04:19:27 +0000 +Subject: [PATCH] Use fromUTF8() for UnicodeString construction from UTF-8 + +Chrome's copy of ICU is built with U_CHARSET_IS_UTF8=1 so that |char *| +buffer is treated as UTF-8 when constructing UnicodeString() regardless +of the default encoding of the current locale on Linux or non-Unicode code +page on Windows. + +However, some Linux distros do not set U_CHARSET_IS_UTF=1 when building +ICU and Chromium build with system_icu crashes when Chromium is run in +non-UTF-8 locale (e.g. 'C'). + +To make Chromium work in a non-UTF-8 locale (which is pretty rare these +days), use 'icu::UnicodeString::fromUTF8(StringPiece)' instead of +'icu::UnicodeString(const char*)'. + +Bug: 772655 +Test: components_unittests --gtest_filter=*IDN* +Test: Chromium built with system_icu does not crash in C locale. +Change-Id: I0daa284ec06b8e83814fc70eb8e9e5c96444ebfa +Reviewed-on: https://chromium-review.googlesource.com/831247 +Reviewed-by: Peter Kasting +Commit-Queue: Jungshik Shin +Cr-Commit-Position: refs/heads/master@{#524586} +--- + components/url_formatter/idn_spoof_checker.cc | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/components/url_formatter/idn_spoof_checker.cc b/components/url_formatter/idn_spoof_checker.cc +index a88c5e8f8331..aee748d8a4d5 100644 +--- a/components/url_formatter/idn_spoof_checker.cc ++++ b/components/url_formatter/idn_spoof_checker.cc +@@ -110,8 +110,8 @@ IDNSpoofChecker::IDNSpoofChecker() { + + // These Cyrillic letters look like Latin. A domain label entirely made of + // these letters is blocked as a simplified whole-script-spoofable. +- cyrillic_letters_latin_alike_ = +- icu::UnicodeSet(icu::UnicodeString("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); ++ cyrillic_letters_latin_alike_ = icu::UnicodeSet( ++ icu::UnicodeString::fromUTF8("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); + cyrillic_letters_latin_alike_.freeze(); + + cyrillic_letters_ = +@@ -141,8 +141,8 @@ IDNSpoofChecker::IDNSpoofChecker() { + UParseError parse_error; + diacritic_remover_.reset(icu::Transliterator::createFromRules( + UNICODE_STRING_SIMPLE("DropAcc"), +- icu::UnicodeString("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" +- " ł > l; ø > o; đ > d;"), ++ icu::UnicodeString::fromUTF8("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" ++ " ł > l; ø > o; đ > d;"), + UTRANS_FORWARD, parse_error, status)); + + // Supplement the Unicode confusable list by the following mapping. +@@ -158,7 +158,7 @@ IDNSpoofChecker::IDNSpoofChecker() { + // - U+0D1F (ട) => s + extra_confusable_mapper_.reset(icu::Transliterator::createFromRules( + UNICODE_STRING_SIMPLE("ExtraConf"), +- icu::UnicodeString( ++ icu::UnicodeString::fromUTF8( + "ӏ > l; [кĸκ] > k; п > n; [ƅь] > b; в > b; м > m; н > h; " + "т > t; [шщ] > w; ട > s;"), + UTRANS_FORWARD, parse_error, status)); +-- +2.15.1 + diff --git a/chromium/chromium-webrtc-r0.patch b/chromium/chromium-webrtc-r0.patch deleted file mode 100644 index e14b185..0000000 --- a/chromium/chromium-webrtc-r0.patch +++ /dev/null @@ -1,34 +0,0 @@ -From 7f90e2cceda0458cf56026eb6ccffb961a47804b Mon Sep 17 00:00:00 2001 -From: Raphael Kubo da Costa -Date: Fri, 13 Oct 2017 15:49:32 +0200 -Subject: [PATCH] IWYU: Include math.h for round(3). - -math.h was being implicitly included, which can break the build with -alternative libc implementations. - -Bug: None -Change-Id: I969b320b65d0f44abb33d3e1036cfbcb859a4952 -Reviewed-on: https://webrtc-review.googlesource.com/9384 -Reviewed-by: Tommi -Commit-Queue: Raphael Kubo da Costa (rakuco) -Cr-Commit-Position: refs/heads/master@{#20292} ---- - p2p/base/port.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/p2p/base/port.cc b/p2p/base/port.cc -index a1b478d11..81aa0aadb 100644 ---- a/third_party/webrtc/p2p/base/port.cc -+++ b/third_party/webrtc/p2p/base/port.cc -@@ -10,6 +10,8 @@ - - #include "p2p/base/port.h" - -+#include -+ - #include - #include - --- -2.15.0.rc2 - -- 2.26.2 From 3f0678fe92046de6eef701a2b3047208ecf6476d Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sat, 10 Mar 2018 15:07:56 +0100 Subject: [PATCH 06/16] python: updated to 2.7.14 --- python/.md5sum | 1 + python/CVE-2018-1000030.patch | 258 ++++++++++++++++++++++++++++++++++ python/Pkgfile | 6 + 3 files changed, 265 insertions(+) create mode 100644 python/CVE-2018-1000030.patch diff --git a/python/.md5sum b/python/.md5sum index 827b1af..2522bec 100644 --- a/python/.md5sum +++ b/python/.md5sum @@ -1,2 +1,3 @@ +ff653e9e002ca0e3d4a828988e52edd3 CVE-2018-1000030.patch 1f6db41ad91d9eb0a6f0c769b8613c5b Python-2.7.14.tar.xz 387d5f6d00d2be01ecb87216cac0f88c pyconfig.h diff --git a/python/CVE-2018-1000030.patch b/python/CVE-2018-1000030.patch new file mode 100644 index 0000000..efec476 --- /dev/null +++ b/python/CVE-2018-1000030.patch @@ -0,0 +1,258 @@ +--- a/Lib/test/test_file2k.py 2018-02-16 17:49:45.180147747 -0500 ++++ b/Lib/test/test_file2k.py 2018-02-16 17:51:06.870149602 -0500 +@@ -652,6 +652,33 @@ class FileThreadingTests(unittest.TestCa + self.f.writelines('') + self._test_close_open_io(io_func) + ++ def test_iteration_torture(self): ++ # bpo-31530 ++ with open(self.filename, "wb") as fp: ++ for i in xrange(2**20): ++ fp.write(b"0"*50 + b"\n") ++ with open(self.filename, "rb") as f: ++ def it(): ++ for l in f: ++ pass ++ self._run_workers(it, 10) ++ ++ def test_iteration_seek(self): ++ # bpo-31530: Crash when concurrently seek and iterate over a file. ++ with open(self.filename, "wb") as fp: ++ for i in xrange(10000): ++ fp.write(b"0"*50 + b"\n") ++ with open(self.filename, "rb") as f: ++ it = iter([1] + [0]*10) # one thread reads, others seek ++ def iterate(): ++ if next(it): ++ for l in f: ++ pass ++ else: ++ for i in xrange(100): ++ f.seek(i*100, 0) ++ self._run_workers(iterate, 10) ++ + + @unittest.skipUnless(os.name == 'posix', 'test requires a posix system.') + class TestFileSignalEINTR(unittest.TestCase): +--- a/Objects/fileobject.c 2018-02-16 17:49:45.304147750 -0500 ++++ b/Objects/fileobject.c 2018-02-16 17:51:06.872149603 -0500 +@@ -430,7 +430,7 @@ close_the_file(PyFileObject *f) + if (f->ob_refcnt > 0) { + PyErr_SetString(PyExc_IOError, + "close() called during concurrent " +- "operation on the same file object."); ++ "operation on the same file object"); + } else { + /* This should not happen unless someone is + * carelessly playing with the PyFileObject +@@ -438,7 +438,7 @@ close_the_file(PyFileObject *f) + * pointer. */ + PyErr_SetString(PyExc_SystemError, + "PyFileObject locking error in " +- "destructor (refcnt <= 0 at close)."); ++ "destructor (refcnt <= 0 at close)"); + } + return NULL; + } +@@ -604,7 +604,12 @@ err_iterbuffered(void) + return NULL; + } + +-static void drop_readahead(PyFileObject *); ++static void ++drop_file_readahead(PyFileObject *f) ++{ ++ PyMem_FREE(f->f_buf); ++ f->f_buf = NULL; ++} + + /* Methods */ + +@@ -627,7 +632,7 @@ file_dealloc(PyFileObject *f) + Py_XDECREF(f->f_mode); + Py_XDECREF(f->f_encoding); + Py_XDECREF(f->f_errors); +- drop_readahead(f); ++ drop_file_readahead(f); + Py_TYPE(f)->tp_free((PyObject *)f); + } + +@@ -762,7 +767,7 @@ file_seek(PyFileObject *f, PyObject *arg + + if (f->f_fp == NULL) + return err_closed(); +- drop_readahead(f); ++ drop_file_readahead(f); + whence = 0; + if (!PyArg_ParseTuple(args, "O|i:seek", &offobj, &whence)) + return NULL; +@@ -2221,12 +2226,16 @@ static PyGetSetDef file_getsetlist[] = { + {0}, + }; + ++typedef struct { ++ char *buf, *bufptr, *bufend; ++} readaheadbuffer; ++ + static void +-drop_readahead(PyFileObject *f) ++drop_readaheadbuffer(readaheadbuffer *rab) + { +- if (f->f_buf != NULL) { +- PyMem_Free(f->f_buf); +- f->f_buf = NULL; ++ if (rab->buf != NULL) { ++ PyMem_FREE(rab->buf); ++ rab->buf = NULL; + } + } + +@@ -2234,35 +2243,34 @@ drop_readahead(PyFileObject *f) + (unless at EOF) and no more than bufsize. Returns negative value on + error, will set MemoryError if bufsize bytes cannot be allocated. */ + static int +-readahead(PyFileObject *f, Py_ssize_t bufsize) ++readahead(PyFileObject *f, readaheadbuffer *rab, Py_ssize_t bufsize) + { + Py_ssize_t chunksize; + +- if (f->f_buf != NULL) { +- if( (f->f_bufend - f->f_bufptr) >= 1) ++ if (rab->buf != NULL) { ++ if ((rab->bufend - rab->bufptr) >= 1) + return 0; + else +- drop_readahead(f); ++ drop_readaheadbuffer(rab); + } +- if ((f->f_buf = (char *)PyMem_Malloc(bufsize)) == NULL) { ++ if ((rab->buf = PyMem_MALLOC(bufsize)) == NULL) { + PyErr_NoMemory(); + return -1; + } + FILE_BEGIN_ALLOW_THREADS(f) + errno = 0; +- chunksize = Py_UniversalNewlineFread( +- f->f_buf, bufsize, f->f_fp, (PyObject *)f); ++ chunksize = Py_UniversalNewlineFread(rab->buf, bufsize, f->f_fp, (PyObject *)f); + FILE_END_ALLOW_THREADS(f) + if (chunksize == 0) { + if (ferror(f->f_fp)) { + PyErr_SetFromErrno(PyExc_IOError); + clearerr(f->f_fp); +- drop_readahead(f); ++ drop_readaheadbuffer(rab); + return -1; + } + } +- f->f_bufptr = f->f_buf; +- f->f_bufend = f->f_buf + chunksize; ++ rab->bufptr = rab->buf; ++ rab->bufend = rab->buf + chunksize; + return 0; + } + +@@ -2272,45 +2280,43 @@ readahead(PyFileObject *f, Py_ssize_t bu + logarithmic buffer growth to about 50 even when reading a 1gb line. */ + + static PyStringObject * +-readahead_get_line_skip(PyFileObject *f, Py_ssize_t skip, Py_ssize_t bufsize) ++readahead_get_line_skip(PyFileObject *f, readaheadbuffer *rab, Py_ssize_t skip, Py_ssize_t bufsize) + { + PyStringObject* s; + char *bufptr; + char *buf; + Py_ssize_t len; + +- if (f->f_buf == NULL) +- if (readahead(f, bufsize) < 0) ++ if (rab->buf == NULL) ++ if (readahead(f, rab, bufsize) < 0) + return NULL; + +- len = f->f_bufend - f->f_bufptr; ++ len = rab->bufend - rab->bufptr; + if (len == 0) +- return (PyStringObject *) +- PyString_FromStringAndSize(NULL, skip); +- bufptr = (char *)memchr(f->f_bufptr, '\n', len); ++ return (PyStringObject *)PyString_FromStringAndSize(NULL, skip); ++ bufptr = (char *)memchr(rab->bufptr, '\n', len); + if (bufptr != NULL) { + bufptr++; /* Count the '\n' */ +- len = bufptr - f->f_bufptr; +- s = (PyStringObject *) +- PyString_FromStringAndSize(NULL, skip + len); ++ len = bufptr - rab->bufptr; ++ s = (PyStringObject *)PyString_FromStringAndSize(NULL, skip + len); + if (s == NULL) + return NULL; +- memcpy(PyString_AS_STRING(s) + skip, f->f_bufptr, len); +- f->f_bufptr = bufptr; +- if (bufptr == f->f_bufend) +- drop_readahead(f); ++ memcpy(PyString_AS_STRING(s) + skip, rab->bufptr, len); ++ rab->bufptr = bufptr; ++ if (bufptr == rab->bufend) ++ drop_readaheadbuffer(rab); + } else { +- bufptr = f->f_bufptr; +- buf = f->f_buf; +- f->f_buf = NULL; /* Force new readahead buffer */ ++ bufptr = rab->bufptr; ++ buf = rab->buf; ++ rab->buf = NULL; /* Force new readahead buffer */ + assert(len <= PY_SSIZE_T_MAX - skip); +- s = readahead_get_line_skip(f, skip + len, bufsize + (bufsize>>2)); ++ s = readahead_get_line_skip(f, rab, skip + len, bufsize + (bufsize>>2)); + if (s == NULL) { +- PyMem_Free(buf); ++ PyMem_FREE(buf); + return NULL; + } + memcpy(PyString_AS_STRING(s) + skip, bufptr, len); +- PyMem_Free(buf); ++ PyMem_FREE(buf); + } + return s; + } +@@ -2328,7 +2334,30 @@ file_iternext(PyFileObject *f) + if (!f->readable) + return err_mode("reading"); + +- l = readahead_get_line_skip(f, 0, READAHEAD_BUFSIZE); ++ { ++ /* ++ Multiple threads can enter this method while the GIL is released ++ during file read and wreak havoc on the file object's readahead ++ buffer. To avoid dealing with cross-thread coordination issues, we ++ cache the file buffer state locally and only set it back on the file ++ object when we're done. ++ */ ++ readaheadbuffer rab = {f->f_buf, f->f_bufptr, f->f_bufend}; ++ f->f_buf = NULL; ++ l = readahead_get_line_skip(f, &rab, 0, READAHEAD_BUFSIZE); ++ /* ++ Make sure the file's internal read buffer is cleared out. This will ++ only do anything if some other thread interleaved with us during ++ readahead. We want to drop any changeling buffer, so we don't leak ++ memory. We may lose data, but that's what you get for reading the same ++ file object in multiple threads. ++ */ ++ drop_file_readahead(f); ++ f->f_buf = rab.buf; ++ f->f_bufptr = rab.bufptr; ++ f->f_bufend = rab.bufend; ++ } ++ + if (l == NULL || PyString_GET_SIZE(l) == 0) { + Py_XDECREF(l); + return NULL; +@@ -2692,7 +2721,7 @@ int PyObject_AsFileDescriptor(PyObject * + } + else { + PyErr_SetString(PyExc_TypeError, +- "argument must be an int, or have a fileno() method."); ++ "argument must be an int, or have a fileno() method"); + return -1; + } diff --git a/python/Pkgfile b/python/Pkgfile index 4575ac7..b687136 100644 --- a/python/Pkgfile +++ b/python/Pkgfile @@ -8,6 +8,7 @@ name=python version=2.7.14 release=1 source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.xz \ + CVE-2018-1000030.patch pyconfig.h) build () { @@ -16,6 +17,11 @@ build () { export CFLAGS="-O2 -pipe -mfloat-abi=hard" export CXXFLAGS="$CFLAGS" + # fix for CVE-2018-1000030 + # see https://bugs.python.org/issue31530 + patch -p1 -i $SRC/CVE-2018-1000030.patch + + # set OPT to the python default without -O3 # our CFLAGS are used as well OPT="-Wall -Wstrict-prototypes -fwrapv" \ -- 2.26.2 From 173983124044954d2edb63801b6560ba849d54ad Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sun, 11 Mar 2018 08:31:41 +0100 Subject: [PATCH 07/16] python: updated release --- python/Pkgfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/python/Pkgfile b/python/Pkgfile index b687136..00013b3 100644 --- a/python/Pkgfile +++ b/python/Pkgfile @@ -6,7 +6,7 @@ name=python version=2.7.14 -release=1 +release=2 source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.xz \ CVE-2018-1000030.patch pyconfig.h) -- 2.26.2 From 043b26fbed6848c12846acee61da88efbbe9f1ae Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Fri, 16 Mar 2018 01:08:56 +0100 Subject: [PATCH 08/16] nspr: updated to 4.19 --- nspr/.md5sum | 2 +- nspr/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nspr/.md5sum b/nspr/.md5sum index 15099c7..3058ec8 100644 --- a/nspr/.md5sum +++ b/nspr/.md5sum @@ -1,2 +1,2 @@ -2a558f9aeb109bfb16d78bdc42033a1e nspr-4.18.tar.gz +e1d27282ad6286b69d6b9fd07201d3dd nspr-4.19.tar.gz 2083f33e11dfe15feb7bf9bca0f6c44b nspr.pc.in diff --git a/nspr/Pkgfile b/nspr/Pkgfile index c925ab4..0d1f1cc 100644 --- a/nspr/Pkgfile +++ b/nspr/Pkgfile @@ -4,7 +4,7 @@ # Arch Maintainer: CRUX-ARM System Team. devel at crux-arm dot nu name=nspr -version=4.18 +version=4.19 release=1 source=(https://ftp.mozilla.org/pub/nspr/releases/v$version/src/$name-$version.tar.gz $name.pc.in) -- 2.26.2 From 2827c5bdfc9d49a16b1dda3738d7a100f71b83a7 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Fri, 16 Mar 2018 01:37:13 +0100 Subject: [PATCH 09/16] nss: updated to 3.36 --- nss/.md5sum | 2 +- nss/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nss/.md5sum b/nss/.md5sum index 9ab448f..df7beb9 100644 --- a/nss/.md5sum +++ b/nss/.md5sum @@ -1,3 +1,3 @@ -9467ec9e65c5aeb3254a50250490f5f7 nss-3.35.tar.gz +c89cc279f03f55e76aefbb6cc946ad04 nss-3.36.tar.gz 17226659298a9d9bb3f323186d220f6f nss-config.in a796e6ab6c87573ffb649ce8769bc07a nss.pc.in diff --git a/nss/Pkgfile b/nss/Pkgfile index 9c1ddd4..0a06dd6 100644 --- a/nss/Pkgfile +++ b/nss/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nspr sqlite3 name=nss -version=3.35 +version=3.36 release=1 source=(http://ftp.mozilla.org/pub/security/nss/releases/NSS_${version//./_}_RTM/src/$name-$version.tar.gz \ nss-config.in nss.pc.in) -- 2.26.2 From 5d8b0a4e85ead1b0500cdbb6a43811abc5d65c4b Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Tue, 20 Mar 2018 20:34:50 +0100 Subject: [PATCH 10/16] firefox: updated to 52.7.2esr --- firefox/.footprint | 7 +++---- firefox/.md5sum | 2 +- firefox/Pkgfile | 2 +- 3 files changed, 5 insertions(+), 6 deletions(-) diff --git a/firefox/.footprint b/firefox/.footprint index 6131d7a..dd2587f 100644 --- a/firefox/.footprint +++ b/firefox/.footprint @@ -1017,6 +1017,7 @@ drwxr-xr-x root/root usr/include/firefox/mozilla/ -rw-r--r-- root/root usr/include/firefox/mozilla/TimelineConsumers.h -rw-r--r-- root/root usr/include/firefox/mozilla/TimelineMarker.h -rw-r--r-- root/root usr/include/firefox/mozilla/TimelineMarkerEnums.h +-rwxr-xr-x root/root usr/include/firefox/mozilla/TimerClamping.h -rw-r--r-- root/root usr/include/firefox/mozilla/TimestampTimelineMarker.h -rw-r--r-- root/root usr/include/firefox/mozilla/TimingParams.h -rw-r--r-- root/root usr/include/firefox/mozilla/ToString.h @@ -1362,7 +1363,7 @@ drwxr-xr-x root/root usr/include/firefox/mozilla/dom/ -rw-r--r-- root/root usr/include/firefox/mozilla/dom/ErrorEvent.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/ErrorEventBinding.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/Errors.msg --rw-r--r-- root/root usr/include/firefox/mozilla/dom/Event.h +-rwxr-xr-x root/root usr/include/firefox/mozilla/dom/Event.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/EventBinding.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/EventHandlerBinding.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/EventListenerBinding.h @@ -1860,7 +1861,7 @@ drwxr-xr-x root/root usr/include/firefox/mozilla/dom/ -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PerformanceObserverEntryListBinding.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PerformanceResourceTiming.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PerformanceResourceTimingBinding.h --rw-r--r-- root/root usr/include/firefox/mozilla/dom/PerformanceTiming.h +-rwxr-xr-x root/root usr/include/firefox/mozilla/dom/PerformanceTiming.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PerformanceTimingBinding.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PeriodicWave.h -rw-r--r-- root/root usr/include/firefox/mozilla/dom/PeriodicWaveBinding.h @@ -2626,8 +2627,6 @@ drwxr-xr-x root/root usr/include/firefox/mozilla/ipc/ -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/CrashReporterHost.h -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/CrashReporterMetadataShmem.h -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/CrossProcessMutex.h --rw-r--r-- root/root usr/include/firefox/mozilla/ipc/DocumentRendererChild.h --rw-r--r-- root/root usr/include/firefox/mozilla/ipc/DocumentRendererParent.h -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/FileDescriptor.h -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/FileDescriptorSetChild.h -rw-r--r-- root/root usr/include/firefox/mozilla/ipc/FileDescriptorSetParent.h diff --git a/firefox/.md5sum b/firefox/.md5sum index d160210..5f0661d 100644 --- a/firefox/.md5sum +++ b/firefox/.md5sum @@ -1,3 +1,3 @@ -f08e19c79531d4a9ae4a66a6f8a386ce firefox-52.6.0esr.source.tar.xz +0f1cfb1276ec3504e114e60836b80f70 firefox-52.7.2esr.source.tar.xz afe61c7760e835bd12d5dfd40af4ec84 firefox-install-dir.patch cf6971669f70b440cb6ff8df8b2722ae firefox.desktop diff --git a/firefox/Pkgfile b/firefox/Pkgfile index 7d1cfe6..f9e70f5 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nss, unzip, autoconf-2.13, zip, libidl, gtk, gtk3, python, alsa-lib, xorg-libxt, yasm, mesa3d name=firefox -version=52.6.0esr +version=52.7.2esr release=1 source=(https://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz firefox-install-dir.patch firefox.desktop) -- 2.26.2 From ec323047a459ddb56eda61d919f22ecf19287bc2 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Thu, 29 Mar 2018 12:40:33 +0200 Subject: [PATCH 11/16] firefox: updated to 52.7.3esr --- firefox/.md5sum | 2 +- firefox/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/firefox/.md5sum b/firefox/.md5sum index 5f0661d..f08f2c5 100644 --- a/firefox/.md5sum +++ b/firefox/.md5sum @@ -1,3 +1,3 @@ -0f1cfb1276ec3504e114e60836b80f70 firefox-52.7.2esr.source.tar.xz +06eb5d65a6e0eb5b1c21c73430534c43 firefox-52.7.3esr.source.tar.xz afe61c7760e835bd12d5dfd40af4ec84 firefox-install-dir.patch cf6971669f70b440cb6ff8df8b2722ae firefox.desktop diff --git a/firefox/Pkgfile b/firefox/Pkgfile index f9e70f5..c337e72 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nss, unzip, autoconf-2.13, zip, libidl, gtk, gtk3, python, alsa-lib, xorg-libxt, yasm, mesa3d name=firefox -version=52.7.2esr +version=52.7.3esr release=1 source=(https://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz firefox-install-dir.patch firefox.desktop) -- 2.26.2 From dbb8849fa64f681fdb755cf161c56ff43fadaead Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Sat, 31 Mar 2018 12:26:08 +0200 Subject: [PATCH 12/16] ruby: updated to 2.4.4 --- ruby/.footprint | 10 +++++----- ruby/.md5sum | 2 +- ruby/Pkgfile | 2 +- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/ruby/.footprint b/ruby/.footprint index 93a443b..38c39bf 100644 --- a/ruby/.footprint +++ b/ruby/.footprint @@ -41,9 +41,9 @@ drwxr-xr-x root/root usr/include/ruby-2.4/ruby/backward/ -rw-r--r-- root/root usr/include/ruby-2.4/ruby/version.h -rw-r--r-- root/root usr/include/ruby-2.4/ruby/vm.h drwxr-xr-x root/root usr/lib/ -lrwxrwxrwx root/root usr/lib/libruby.so -> libruby.so.2.4.3 -lrwxrwxrwx root/root usr/lib/libruby.so.2.4 -> libruby.so.2.4.3 --rwxr-xr-x root/root usr/lib/libruby.so.2.4.3 +lrwxrwxrwx root/root usr/lib/libruby.so -> libruby.so.2.4.4 +lrwxrwxrwx root/root usr/lib/libruby.so.2.4 -> libruby.so.2.4.4 +-rwxr-xr-x root/root usr/lib/libruby.so.2.4.4 drwxr-xr-x root/root usr/lib/pkgconfig/ -rw-r--r-- root/root usr/lib/pkgconfig/ruby-2.4.pc drwxr-xr-x root/root usr/lib/ruby/ @@ -1350,10 +1350,10 @@ drwxr-xr-x root/root usr/lib/ruby/gems/2.4/gems/xmlrpc-0.2.1/lib/xmlrpc/ -rw-r--r-- root/root usr/lib/ruby/gems/2.4/gems/xmlrpc-0.2.1/lib/xmlrpc/utils.rb drwxr-xr-x root/root usr/lib/ruby/gems/2.4/specifications/ drwxr-xr-x root/root usr/lib/ruby/gems/2.4/specifications/default/ --rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/bigdecimal-1.3.0.gemspec +-rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/bigdecimal-1.3.2.gemspec -rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/io-console-0.4.6.gemspec -rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/json-2.0.4.gemspec --rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/openssl-2.0.5.gemspec +-rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/openssl-2.0.7.gemspec -rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/psych-2.2.2.gemspec -rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/default/rdoc-5.0.0.gemspec -rw-r--r-- root/root usr/lib/ruby/gems/2.4/specifications/did_you_mean-1.1.0.gemspec diff --git a/ruby/.md5sum b/ruby/.md5sum index 8526e49..f5745d0 100644 --- a/ruby/.md5sum +++ b/ruby/.md5sum @@ -1,2 +1,2 @@ -5975bf6ad576a191b0ec9000a925c386 ruby-2.4.3.tar.xz +4f30cefb7d50c6fa4d801f47ed9d82ca ruby-2.4.4.tar.xz c869de5702ea7f35b8565a93bfa2de21 ruby-arch.patch diff --git a/ruby/Pkgfile b/ruby/Pkgfile index 5eee22e..6fa43f1 100644 --- a/ruby/Pkgfile +++ b/ruby/Pkgfile @@ -5,7 +5,7 @@ # Depends on: gdbm ncurses openssl readline zlib libffi libyaml name=ruby -version=2.4.3 +version=2.4.4 release=1 source=(http://cache.ruby-lang.org/pub/$name/${version%.*}/$name-$version.tar.xz $name-arch.patch) -- 2.26.2 From 4e5052e0092be369eebe8bb1fc4452231ca46d51 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 9 Apr 2018 23:22:43 +0200 Subject: [PATCH 13/16] nss: updated to 3.36.1 --- nss/.md5sum | 2 +- nss/Pkgfile | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/nss/.md5sum b/nss/.md5sum index df7beb9..b274cdd 100644 --- a/nss/.md5sum +++ b/nss/.md5sum @@ -1,3 +1,3 @@ -c89cc279f03f55e76aefbb6cc946ad04 nss-3.36.tar.gz +814d8fe3ec89006cf62078e2a56cf2f9 nss-3.36.1.tar.gz 17226659298a9d9bb3f323186d220f6f nss-config.in a796e6ab6c87573ffb649ce8769bc07a nss.pc.in diff --git a/nss/Pkgfile b/nss/Pkgfile index 0a06dd6..1f042bf 100644 --- a/nss/Pkgfile +++ b/nss/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nspr sqlite3 name=nss -version=3.36 +version=3.36.1 release=1 source=(http://ftp.mozilla.org/pub/security/nss/releases/NSS_${version//./_}_RTM/src/$name-$version.tar.gz \ nss-config.in nss.pc.in) -- 2.26.2 From 5bf2601c94e648496343d5662fcb45ce61a2f290 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Tue, 24 Apr 2018 00:41:59 +0200 Subject: [PATCH 14/16] mysql: updated to 5.6.40 --- .../chromium-64.0.3282.119-constexpr-1.patch | 98 ---- chromium/chromium-cups-r0.patch | 45 -- chromium/chromium-math.h-r0.patch | 29 ++ chromium/chromium-memcpy-r0.patch | 35 -- .../chromium-omnibox-unescape-fragment.patch | 437 ------------------ chromium/chromium-stdint.patch | 21 + ...mUTF8-for-UnicodeString-construction.patch | 68 --- mysql/.footprint | 6 - mysql/.md5sum | 2 +- mysql/Pkgfile | 2 +- 10 files changed, 52 insertions(+), 691 deletions(-) delete mode 100644 chromium/chromium-64.0.3282.119-constexpr-1.patch delete mode 100644 chromium/chromium-cups-r0.patch create mode 100644 chromium/chromium-math.h-r0.patch delete mode 100644 chromium/chromium-memcpy-r0.patch delete mode 100644 chromium/chromium-omnibox-unescape-fragment.patch create mode 100644 chromium/chromium-stdint.patch delete mode 100644 chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch diff --git a/chromium/chromium-64.0.3282.119-constexpr-1.patch b/chromium/chromium-64.0.3282.119-constexpr-1.patch deleted file mode 100644 index ae40fd1..0000000 --- a/chromium/chromium-64.0.3282.119-constexpr-1.patch +++ /dev/null @@ -1,98 +0,0 @@ -Submitted By: DJ Lucas -Date: 2018-01-28 -Initial Package Version: 64.0.3282.119 -Upstream Status: Committed -Origin: Upstream -Description: Corrects error call to non-constexpr function - - -From 030017a4855c7b6e7f2ff8d9566c146f31eb301b Mon Sep 17 00:00:00 2001 -From: Kai Ninomiya -Date: Wed, 06 Dec 2017 14:06:53 -0800 -Subject: [PATCH] Mark StaticType related functions as constexpr - -Fixes compilation on some versions of GCC and probably Clang. - -Follow-up to http://crrev.com/c/786317 - -Bug: angleproject:1432 -Change-Id: I3fc3ad0f65492f9543eb27fcdce6ca29a9ad06e5 -Reviewed-on: https://chromium-review.googlesource.com/812220 -Reviewed-by: Jamie Madill -Commit-Queue: Kai Ninomiya ---- - -diff --git a/third_party/angle/src/compiler/translator/StaticType.h b/third_party/angle/src/compiler/translator/StaticType.h -index e26e5ff..30b391a 100644 ---- a/third_party/angle/src/compiler/translator/StaticType.h -+++ b/third_party/angle/src/compiler/translator/StaticType.h -@@ -160,7 +160,7 @@ - TPrecision precision, - TQualifier qualifier, - unsigned char secondarySize> --const TType *GetForVecMatHelper(unsigned char primarySize) -+constexpr const TType *GetForVecMatHelper(unsigned char primarySize) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -186,7 +186,7 @@ - template --const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) -+constexpr const TType *GetForVecMat(unsigned char primarySize, unsigned char secondarySize = 1) - { - static_assert(basicType == EbtFloat || basicType == EbtInt || basicType == EbtUInt || - basicType == EbtBool, -@@ -208,7 +208,7 @@ - } - - template --const TType *GetForVec(TQualifier qualifier, unsigned char size) -+constexpr const TType *GetForVec(TQualifier qualifier, unsigned char size) - { - switch (qualifier) - { -diff --git a/third_party/angle/src/compiler/translator/SymbolTable.cpp b/third_party/angle/src/compiler/translator/SymbolTable.cpp -index adf1e4e..90d4c15 100644 ---- a/third_party/angle/src/compiler/translator/SymbolTable.cpp -+++ b/third_party/angle/src/compiler/translator/SymbolTable.cpp -@@ -236,7 +236,7 @@ - pop(); - } - --bool IsGenType(const TType *type) -+constexpr bool IsGenType(const TType *type) - { - if (type) - { -@@ -248,7 +248,7 @@ - return false; - } - --bool IsVecType(const TType *type) -+constexpr bool IsVecType(const TType *type) - { - if (type) - { -diff --git a/third_party/angle/src/compiler/translator/Types.h b/third_party/angle/src/compiler/translator/Types.h -index 04f46f1..a54d447 100644 ---- a/third_party/angle/src/compiler/translator/Types.h -+++ b/third_party/angle/src/compiler/translator/Types.h -@@ -142,13 +142,13 @@ - { - } - -- TBasicType getBasicType() const { return type; } -+ constexpr TBasicType getBasicType() const { return type; } - void setBasicType(TBasicType t); - - TPrecision getPrecision() const { return precision; } - void setPrecision(TPrecision p) { precision = p; } - -- TQualifier getQualifier() const { return qualifier; } -+ constexpr TQualifier getQualifier() const { return qualifier; } - void setQualifier(TQualifier q) { qualifier = q; } - - bool isInvariant() const { return invariant; } - diff --git a/chromium/chromium-cups-r0.patch b/chromium/chromium-cups-r0.patch deleted file mode 100644 index 88ea78a..0000000 --- a/chromium/chromium-cups-r0.patch +++ /dev/null @@ -1,45 +0,0 @@ -From 3cf91d8d674a496d533aa106723a632b68ab26ba Mon Sep 17 00:00:00 2001 -From: Tom Anderson -Date: Tue, 12 Dec 2017 23:31:56 +0000 -Subject: [PATCH] Fix use_cups=false build - -BUG=793801 -R=thestig@chromium.org - -Change-Id: I60ee6ec48d2686d0b42ca25311a9b76009ce9768 -Reviewed-on: https://chromium-review.googlesource.com/823245 -Reviewed-by: Lei Zhang -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/master@{#523602} ---- - chrome/service/cloud_print/print_system.cc | 9 ++++++++- - 1 file changed, 8 insertions(+), 1 deletion(-) - -diff --git a/chrome/service/cloud_print/print_system.cc b/chrome/service/cloud_print/print_system.cc -index ac94c804f9..4ceba96919 100644 ---- a/chrome/service/cloud_print/print_system.cc -+++ b/chrome/service/cloud_print/print_system.cc -@@ -5,6 +5,7 @@ - #include "chrome/service/cloud_print/print_system.h" - - #include "base/guid.h" -+#include "build/build_config.h" - - namespace cloud_print { - -@@ -35,5 +36,11 @@ std::string PrintSystem::GenerateProxyId() { - return base::GenerateGUID(); - } - --} // namespace cloud_print -+#if defined(OS_LINUX) && !defined(USE_CUPS) -+scoped_refptr PrintSystem::CreateInstance( -+ const base::DictionaryValue*) { -+ return nullptr; -+} -+#endif - -+} // namespace cloud_print --- -2.15.1 - diff --git a/chromium/chromium-math.h-r0.patch b/chromium/chromium-math.h-r0.patch new file mode 100644 index 0000000..6c7c747 --- /dev/null +++ b/chromium/chromium-math.h-r0.patch @@ -0,0 +1,29 @@ +From 9f63f94a11abc34d40ede8b8712fa15b5844a8c0 Mon Sep 17 00:00:00 2001 +From: Tom Anderson +Date: Sat, 27 Jan 2018 20:03:37 +0000 +Subject: [PATCH] Fix build with glibc 2.27 + +BUG=806340 +TBR=hamelphi@chromium.org + +Change-Id: Ib4e5091212d874d9ad88f3e9a1fdfee3ed7e0d5e +Reviewed-on: https://chromium-review.googlesource.com/890059 +Reviewed-by: Thomas Anderson +Reviewed-by: Philippe Hamel +Commit-Queue: Thomas Anderson +Cr-Commit-Position: refs/heads/master@{#532249} +--- + +diff --git a/components/assist_ranker/ranker_example_util.cc b/components/assist_ranker/ranker_example_util.cc +index 54d4dbd..ceedd8f 100644 +--- a/components/assist_ranker/ranker_example_util.cc ++++ b/components/assist_ranker/ranker_example_util.cc +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include ++ + #include "components/assist_ranker/ranker_example_util.h" + #include "base/bit_cast.h" + #include "base/format_macros.h" diff --git a/chromium/chromium-memcpy-r0.patch b/chromium/chromium-memcpy-r0.patch deleted file mode 100644 index dd2fd57..0000000 --- a/chromium/chromium-memcpy-r0.patch +++ /dev/null @@ -1,35 +0,0 @@ -From 4942f56ceb6d60d6f54ebca8e6eba8ba01c278e8 Mon Sep 17 00:00:00 2001 -From: Tomas Popela -Date: Thu, 7 Dec 2017 22:33:34 +0000 -Subject: [PATCH] memcpy used without including string.h - -Compiling Chromium with Clang 4.0.1 and using libstdc++ will fail on using -memcpy without including string.h. - -Cq-Include-Trybots: master.tryserver.blink:linux_trusty_blink_rel;master.tryserver.chromium.android:android_optional_gpu_tests_rel -Change-Id: Idced1d5de3baf6b520d4a2d61774120642ead1a8 -Reviewed-on: https://chromium-review.googlesource.com/813737 -Reviewed-by: Thomas Anderson -Reviewed-by: vmpstr -Commit-Queue: Thomas Anderson -Cr-Commit-Position: refs/heads/master@{#522579} ---- - cc/paint/raw_memory_transfer_cache_entry.cc | 2 ++ - 1 file changed, 2 insertions(+) - -diff --git a/cc/paint/raw_memory_transfer_cache_entry.cc b/cc/paint/raw_memory_transfer_cache_entry.cc -index 9e4660c685ee..95ad50b1a338 100644 ---- a/cc/paint/raw_memory_transfer_cache_entry.cc -+++ b/cc/paint/raw_memory_transfer_cache_entry.cc -@@ -4,6 +4,8 @@ - - #include "cc/paint/raw_memory_transfer_cache_entry.h" - -+#include -+ - namespace cc { - - ClientRawMemoryTransferCacheEntry::ClientRawMemoryTransferCacheEntry( --- -2.15.1 - diff --git a/chromium/chromium-omnibox-unescape-fragment.patch b/chromium/chromium-omnibox-unescape-fragment.patch deleted file mode 100644 index 59ab040..0000000 --- a/chromium/chromium-omnibox-unescape-fragment.patch +++ /dev/null @@ -1,437 +0,0 @@ -commit 03f9a90d8a783f9d1a94935ac298338a1e694380 -Author: Eric Lawrence -Date: Sat Dec 16 04:48:11 2017 +0000 - - Reland of 'Unescape fragment for display in Omnibox' - - The original landing broke EGTests for iOS Simulator and Device which - were not run by the CQ. This change includes updated EGTests. - - TBR=pkasting@chromium.org - - Bug: 789163, 643458 - Cq-Include-Trybots: master.tryserver.chromium.mac:ios-simulator-cronet;master.tryserver.chromium.mac:ios-simulator-full-configs - Change-Id: Ie30afcb7bcba5affc7266d72a10b7f8dc0074314 - Reviewed-on: https://chromium-review.googlesource.com/830093 - Reviewed-by: Eric Lawrence - Reviewed-by: Peter Kasting - Reviewed-by: Eugene But - Commit-Queue: Eric Lawrence - Cr-Commit-Position: refs/heads/master@{#524591} - -diff --git a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc -index 6e5dff47f7ec..24f1056d49d5 100644 ---- a/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc -+++ b/chrome/browser/ui/views/omnibox/omnibox_view_views_browsertest.cc -@@ -462,3 +462,13 @@ IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, TextElideStatus) { - EXPECT_EQ(omnibox_view_views->GetRenderText()->elide_behavior(), - gfx::NO_ELIDE); - } -+ -+IN_PROC_BROWSER_TEST_F(OmniboxViewViewsTest, FragmentUnescapedForDisplay) { -+ OmniboxView* view = nullptr; -+ ASSERT_NO_FATAL_FAILURE(GetOmniboxViewForBrowser(browser(), &view)); -+ ui_test_utils::NavigateToURL(browser(), -+ GURL("https://www.google.com/#%E2%98%83")); -+ -+ EXPECT_EQ(view->GetText(), -+ base::UTF8ToUTF16("https://www.google.com/#\u2603")); -+} -diff --git a/components/url_formatter/elide_url_unittest.cc b/components/url_formatter/elide_url_unittest.cc -index 5e0384af72a2..d403ce065f45 100644 ---- a/components/url_formatter/elide_url_unittest.cc -+++ b/components/url_formatter/elide_url_unittest.cc -@@ -347,15 +347,16 @@ TEST(TextEliderTest, TestElisionSpecialCases) { - kEllipsisStr + "berkeley.edu:4430/" + kEllipsisStr + "/arbitfilename"}, - - // Unescaping. -- {"http://www/%E4%BD%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", -- "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + -+ {"http://www/%E4%BD%A0%E5%A5%BD?" -+ "q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0\xe4\xbd\xa0\xe4\xbd\xa0", -+ "www/\xe4\xbd\xa0\xe5\xa5\xbd?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0" + - kEllipsisStr}, - - // Invalid unescaping for path. The ref will always be valid UTF-8. We - // don't bother to do too many edge cases, since these are handled by the - // escaper unittest. - {"http://www/%E4%A0%E5%A5%BD?q=%E4%BD%A0%E5%A5%BD#\xe4\xbd\xa0", -- "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#" + kEllipsisStr}, -+ "www/%E4%A0%E5%A5%BD?q=\xe4\xbd\xa0\xe5\xa5\xbd#\xe4\xbd\xa0"}, - }; - - RunElisionTest(testcases); -diff --git a/components/url_formatter/url_formatter.cc b/components/url_formatter/url_formatter.cc -index d5c0d314a5de..c422e3d98a72 100644 ---- a/components/url_formatter/url_formatter.cc -+++ b/components/url_formatter/url_formatter.cc -@@ -586,11 +586,10 @@ base::string16 FormatUrlWithAdjustments( - NonHostComponentTransform(unescape_rules), - &url_string, &new_parsed->query, adjustments); - -- // Ref. This is valid, unescaped UTF-8, so we can just convert. - if (parsed.ref.is_valid()) - url_string.push_back('#'); - AppendFormattedComponent(spec, parsed.ref, -- NonHostComponentTransform(net::UnescapeRule::NONE), -+ NonHostComponentTransform(unescape_rules), - &url_string, &new_parsed->ref, adjustments); - } - -diff --git a/components/url_formatter/url_formatter_unittest.cc b/components/url_formatter/url_formatter_unittest.cc -index 6fd3ece50f7d..5aaf31105a43 100644 ---- a/components/url_formatter/url_formatter_unittest.cc -+++ b/components/url_formatter/url_formatter_unittest.cc -@@ -828,7 +828,7 @@ TEST(UrlFormatterTest, FormatUrl) { - - {"With a port number and a reference", - "http://www.google.com:8080/#\xE3\x82\xB0", default_format_type, -- net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#%E3%82%B0", 7}, -+ net::UnescapeRule::NORMAL, L"http://www.google.com:8080/#\x30B0", 7}, - - // -------- IDN tests -------- - {"Japanese IDN with ja", "http://xn--l8jvb1ey91xtjb.jp", -@@ -1119,7 +1119,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { - kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, &parsed, - nullptr, nullptr); - EXPECT_EQ(WideToUTF16(L"http://\x30B0:\x30FC@\x30B0\x30FC\x30B0\x30EB.jp:8080" -- L"/\x30B0/?q=\x30B0#%E3%82%B0"), -+ L"/\x30B0/?q=\x30B0#\x30B0"), - formatted); - EXPECT_EQ(WideToUTF16(L"\x30B0"), - formatted.substr(parsed.username.begin, parsed.username.len)); -@@ -1133,7 +1133,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { - formatted.substr(parsed.path.begin, parsed.path.len)); - EXPECT_EQ(WideToUTF16(L"q=\x30B0"), - formatted.substr(parsed.query.begin, parsed.query.len)); -- EXPECT_EQ(WideToUTF16(L"%E3%82%B0"), -+ EXPECT_EQ(WideToUTF16(L"\x30B0"), - formatted.substr(parsed.ref.begin, parsed.ref.len)); - - // Omit_username_password + unescape case. -@@ -1143,7 +1143,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { - kFormatUrlOmitUsernamePassword, net::UnescapeRule::NORMAL, - &parsed, nullptr, nullptr); - EXPECT_EQ(WideToUTF16(L"http://\x30B0\x30FC\x30B0\x30EB.jp:8080" -- L"/\x30B0/?q=\x30B0#%E3%82%B0"), -+ L"/\x30B0/?q=\x30B0#\x30B0"), - formatted); - EXPECT_FALSE(parsed.username.is_valid()); - EXPECT_FALSE(parsed.password.is_valid()); -@@ -1155,7 +1155,7 @@ TEST(UrlFormatterTest, FormatUrlParsed) { - formatted.substr(parsed.path.begin, parsed.path.len)); - EXPECT_EQ(WideToUTF16(L"q=\x30B0"), - formatted.substr(parsed.query.begin, parsed.query.len)); -- EXPECT_EQ(WideToUTF16(L"%E3%82%B0"), -+ EXPECT_EQ(WideToUTF16(L"\x30B0"), - formatted.substr(parsed.ref.begin, parsed.ref.len)); - - // View-source case. -@@ -1389,9 +1389,12 @@ TEST(UrlFormatterTest, FormatUrlWithOffsets) { - kFormatUrlOmitNothing, net::UnescapeRule::SPACES, unescape_offsets); - - const size_t ref_offsets[] = { -- 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, -- 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, -- 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49}; -+ 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, -+ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, -+ 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, -+ 30, 31, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, -+ 32, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, kNpos, 33}; -+ - // Unescape to "http://www.google.com/foo.html#\x30B0\x30B0z". - CheckAdjustedOffsets("http://www.google.com/foo.html#%E3%82%B0%E3%82%B0z", - kFormatUrlOmitNothing, net::UnescapeRule::NORMAL, -diff --git a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm -index b67f2a08d0a0..431ad368f07d 100644 ---- a/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm -+++ b/ios/chrome/browser/web/push_and_replace_state_navigation_egtest.mm -@@ -59,40 +59,42 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - // Push 3 URLs. Verify that the URL changed and the status was updated. - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashWithObject"]; - [self assertStatusText:@"pushStateHashWithObject" -- withURL:pushStateHashWithObjectURL -+ withOmniboxText:pushStateHashWithObjectURL.GetContent() - pageLoaded:NO]; - - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateRootPath"]; - [self assertStatusText:@"pushStateRootPath" -- withURL:pushStateRootPathURL -+ withOmniboxText:pushStateRootPathURL.GetContent() - pageLoaded:NO]; - - [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePathSpace"]; - [self assertStatusText:@"pushStatePathSpace" -- withURL:pushStatePathSpaceURL -+ withOmniboxText:pushStatePathSpaceURL.GetContent() - pageLoaded:NO]; - - // Go back and check that the page doesn't load and the status text is updated - // by the popstate event. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:@"pushStateRootPath" -- withURL:pushStateRootPathURL -+ withOmniboxText:pushStateRootPathURL.GetContent() - pageLoaded:NO]; - - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:@"pushStateHashWithObject" -- withURL:pushStateHashWithObjectURL -+ withOmniboxText:pushStateHashWithObjectURL.GetContent() - pageLoaded:NO]; - - [ChromeEarlGrey tapWebViewElementWithID:@"goBack"]; - const GURL historyTestURL = web::test::HttpServer::MakeUrl(kHistoryTestUrl); -- [self assertStatusText:NULL withURL:historyTestURL pageLoaded:NO]; -+ [self assertStatusText:nil -+ withOmniboxText:historyTestURL.GetContent() -+ pageLoaded:NO]; - - // Go forward 2 pages and check that the page doesn't load and the status text - // is updated by the popstate event. - [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"]; - [self assertStatusText:@"pushStateRootPath" -- withURL:pushStateRootPathURL -+ withOmniboxText:pushStateRootPathURL.GetContent() - pageLoaded:NO]; - } - -@@ -108,7 +110,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - web::test::HttpServer::MakeUrl(kReplaceStateHashWithObjectURL); - [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashWithObject"]; - [self assertStatusText:@"replaceStateHashWithObject" -- withURL:replaceStateHashWithObjectURL -+ withOmniboxText:replaceStateHashWithObjectURL.GetContent() - pageLoaded:NO]; - - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; -@@ -119,7 +121,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - [[EarlGrey selectElementWithMatcher:ForwardButton()] - performAction:grey_tap()]; - [self assertStatusText:@"replaceStateHashWithObject" -- withURL:replaceStateHashWithObjectURL -+ withOmniboxText:replaceStateHashWithObjectURL.GetContent() - pageLoaded:YES]; - - // Push URL then replace it. Do this twice. -@@ -127,44 +129,44 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - web::test::HttpServer::MakeUrl(kPushStateHashStringURL); - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; - [self assertStatusText:@"pushStateHashString" -- withURL:pushStateHashStringURL -+ withOmniboxText:pushStateHashStringURL.GetContent() - pageLoaded:NO]; - - const GURL replaceStateHashStringURL = - web::test::HttpServer::MakeUrl(kReplaceStateHashStringURL); - [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateHashString"]; - [self assertStatusText:@"replaceStateHashString" -- withURL:replaceStateHashStringURL -+ withOmniboxText:replaceStateHashStringURL.GetContent() - pageLoaded:NO]; - - const GURL pushStatePathURL = - web::test::HttpServer::MakeUrl(kPushStatePathURL); - [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"]; - [self assertStatusText:@"pushStatePath" -- withURL:pushStatePathURL -+ withOmniboxText:pushStatePathURL.GetContent() - pageLoaded:NO]; - - const GURL replaceStateRootPathSpaceURL = - web::test::HttpServer::MakeUrl(kReplaceStateRootPathSpaceURL); - [ChromeEarlGrey tapWebViewElementWithID:@"replaceStateRootPathSpace"]; - [self assertStatusText:@"replaceStateRootPathSpace" -- withURL:replaceStateRootPathSpaceURL -+ withOmniboxText:replaceStateRootPathSpaceURL.GetContent() - pageLoaded:NO]; - - // Go back and check URLs. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:@"replaceStateHashString" -- withURL:replaceStateHashStringURL -+ withOmniboxText:replaceStateHashStringURL.GetContent() - pageLoaded:NO]; - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:@"replaceStateHashWithObject" -- withURL:replaceStateHashWithObjectURL -+ withOmniboxText:replaceStateHashWithObjectURL.GetContent() - pageLoaded:NO]; - - // Go forward and check URL. - [ChromeEarlGrey tapWebViewElementWithID:@"goForward2"]; - [self assertStatusText:@"replaceStateRootPathSpace" -- withURL:replaceStateRootPathSpaceURL -+ withOmniboxText:replaceStateRootPathSpaceURL.GetContent() - pageLoaded:NO]; - } - -@@ -180,11 +182,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - web::test::HttpServer::MakeUrl(kPushStateHashStringURL); - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; - [self assertStatusText:@"pushStateHashString" -- withURL:pushStateHashStringURL -+ withOmniboxText:pushStateHashStringURL.GetContent() - pageLoaded:NO]; - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; - [self assertStatusText:@"pushStateHashString" -- withURL:pushStateHashStringURL -+ withOmniboxText:pushStateHashStringURL.GetContent() - pageLoaded:NO]; - - // Load a non-pushed URL. -@@ -194,7 +196,7 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - [ChromeEarlGrey loadURL:historyTestURL]; - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateHashString"]; - [self assertStatusText:@"pushStateHashString" -- withURL:pushStateHashStringURL -+ withOmniboxText:pushStateHashStringURL.GetContent() - pageLoaded:NO]; - - // At this point the history looks like this: -@@ -202,38 +204,54 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - - // Go back (to second history.html) and verify page did not load. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; -- [self assertStatusText:nil withURL:historyTestURL pageLoaded:NO]; -+ [self assertStatusText:nil -+ withOmniboxText:historyTestURL.GetContent() -+ pageLoaded:NO]; - - // Go back twice (to second #string) and verify page did load. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; -- [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES]; -+ [self assertStatusText:nil -+ withOmniboxText:pushStateHashStringURL.GetContent() -+ pageLoaded:YES]; - - // Go back once (to first #string) and verify page did not load. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:@"pushStateHashString" -- withURL:pushStateHashStringURL -+ withOmniboxText:pushStateHashStringURL.GetContent() - pageLoaded:NO]; - - // Go forward 4 entries at once (to third #string) and verify page did load. - [ChromeEarlGrey tapWebViewElementWithID:@"goForward4"]; - -- [self assertStatusText:nil withURL:pushStateHashStringURL pageLoaded:YES]; -+ [self assertStatusText:nil -+ withOmniboxText:pushStateHashStringURL.GetContent() -+ pageLoaded:YES]; - - // Go back 4 entries at once (to first #string) and verify page did load. - [ChromeEarlGrey tapWebViewElementWithID:@"goBack4"]; - -- [self assertStatusText:NULL withURL:pushStateHashStringURL pageLoaded:YES]; -+ [self assertStatusText:nil -+ withOmniboxText:pushStateHashStringURL.GetContent() -+ pageLoaded:YES]; - } - - // Tests calling pushState with unicode characters. - - (void)testHtml5HistoryPushUnicodeCharacters { -- const GURL pushStateUnicodeURLEncoded = web::test::HttpServer::MakeUrl( -- "http://ios/testing/data/http_server_files/" -- "history.html#unicode%E1%84%91"); -- const GURL pushStateUnicode2URLEncoded = web::test::HttpServer::MakeUrl( -- "http://ios/testing/data/http_server_files/" -- "history.html#unicode2%E2%88%A2"); -+ // The GURL object %-escapes Unicode characters in the URL's fragment, -+ // but the omnibox decodes them back to Unicode for display. -+ std::string pushStateUnicode = -+ web::test::HttpServer::MakeUrl( -+ "http://ios/testing/data/http_server_files/" -+ "history.html#unicode") -+ .GetContent() + -+ "\xe1\x84\x91"; -+ std::string pushStateUnicode2 = -+ web::test::HttpServer::MakeUrl( -+ "http://ios/testing/data/http_server_files/" -+ "history.html#unicode2") -+ .GetContent() + -+ "\xe2\x88\xa2"; - const char pushStateUnicodeLabel[] = "Action: pushStateUnicodeᄑ"; - NSString* pushStateUnicodeStatus = @"pushStateUnicodeᄑ"; - const char pushStateUnicode2Label[] = "Action: pushStateUnicode2∢"; -@@ -242,21 +260,16 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - web::test::SetUpFileBasedHttpServer(); - [ChromeEarlGrey loadURL:web::test::HttpServer::MakeUrl(kHistoryTestUrl)]; - -- // TODO(crbug.com/643458): The fact that the URL shows %-escaped is due to -- // NSURL escaping to make UIWebView/JS happy. See if it's possible to -- // represent differently such that it displays unescaped. - // Do 2 push states with unicode characters. - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode"]; - [[EarlGrey -- selectElementWithMatcher:chrome_test_util::OmniboxText( -- pushStateUnicodeURLEncoded.GetContent())] -+ selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode)] - assertWithMatcher:grey_notNil()]; - [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicodeLabel]; - - [ChromeEarlGrey tapWebViewElementWithID:@"pushStateUnicode2"]; - [[EarlGrey -- selectElementWithMatcher:chrome_test_util::OmniboxText( -- pushStateUnicode2URLEncoded.GetContent())] -+ selectElementWithMatcher:chrome_test_util::OmniboxText(pushStateUnicode2)] - assertWithMatcher:grey_notNil()]; - [ChromeEarlGrey waitForWebViewContainingText:pushStateUnicode2Label]; - -@@ -266,18 +279,18 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - [ChromeEarlGrey tapWebViewElementWithID:@"pushStatePath"]; - - [self assertStatusText:@"pushStatePath" -- withURL:pushStatePathURL -+ withOmniboxText:pushStatePathURL.GetContent() - pageLoaded:NO]; - - // Go back and check the unicode in the URL and status. - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:pushStateUnicode2Status -- withURL:pushStateUnicode2URLEncoded -+ withOmniboxText:pushStateUnicode2 - pageLoaded:NO]; - - [[EarlGrey selectElementWithMatcher:BackButton()] performAction:grey_tap()]; - [self assertStatusText:pushStateUnicodeStatus -- withURL:pushStateUnicodeURLEncoded -+ withOmniboxText:pushStateUnicode - pageLoaded:NO]; - } - -@@ -321,10 +334,11 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - - #pragma mark - Utility methods - --// Assert that status text |status| is displayed in the webview, that "onloaded" --// text is displayed if pageLoaded is YES, and that the URL is as expected. -+// Assert that status text |status|, if non-nil, is displayed in the webview, -+// that the omnibox text is as expected, and that "onload" text is displayed if -+// pageLoaded is YES. - - (void)assertStatusText:(NSString*)status -- withURL:(const GURL&)urlToVerify -+ withOmniboxText:(const std::string&)omniboxText - pageLoaded:(BOOL)pageLoaded { - if (pageLoaded) { - [ChromeEarlGrey waitForWebViewContainingText:"onload"]; -@@ -332,14 +346,14 @@ const char* kReplaceStateRootPathSpaceURL = "http://ios/rep lace"; - [ChromeEarlGrey waitForWebViewNotContainingText:"onload"]; - } - -- if (status != NULL) { -+ if (status != nil) { - NSString* statusLabel = [NSString stringWithFormat:@"Action: %@", status]; - [ChromeEarlGrey - waitForWebViewContainingText:base::SysNSStringToUTF8(statusLabel)]; - } - -- [[EarlGrey selectElementWithMatcher:chrome_test_util::OmniboxText( -- urlToVerify.GetContent())] -+ [[EarlGrey -+ selectElementWithMatcher:chrome_test_util::OmniboxText(omniboxText)] - assertWithMatcher:grey_notNil()]; - } - diff --git a/chromium/chromium-stdint.patch b/chromium/chromium-stdint.patch new file mode 100644 index 0000000..8774439 --- /dev/null +++ b/chromium/chromium-stdint.patch @@ -0,0 +1,21 @@ +From 0235c2b657d936f3cdb09053776e5929fc84704b Mon Sep 17 00:00:00 2001 +From: Tomas Popela +Date: Wed, 31 Jan 2018 18:57:07 +0000 +Subject: [PATCH] Add missing stdint include + +diff --git a/chrome/browser/vr/sample_queue.cc b/chrome/browser/vr/sample_queue.cc +index c2ca777ce90c..53cb3aab1576 100644 +--- a/chrome/browser/vr/sample_queue.cc ++++ b/chrome/browser/vr/sample_queue.cc +@@ -2,6 +2,8 @@ + // Use of this source code is governed by a BSD-style license that can be + // found in the LICENSE file. + ++#include ++ + #include "chrome/browser/vr/sample_queue.h" + + namespace vr { +-- +2.16.2 + diff --git a/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch b/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch deleted file mode 100644 index 0e0765a..0000000 --- a/chromium/chromium-use-fromUTF8-for-UnicodeString-construction.patch +++ /dev/null @@ -1,68 +0,0 @@ -From e58fa0ba66272c5f28828b15d06c7e42a9882b3b Mon Sep 17 00:00:00 2001 -From: Jungshik Shin -Date: Sat, 16 Dec 2017 04:19:27 +0000 -Subject: [PATCH] Use fromUTF8() for UnicodeString construction from UTF-8 - -Chrome's copy of ICU is built with U_CHARSET_IS_UTF8=1 so that |char *| -buffer is treated as UTF-8 when constructing UnicodeString() regardless -of the default encoding of the current locale on Linux or non-Unicode code -page on Windows. - -However, some Linux distros do not set U_CHARSET_IS_UTF=1 when building -ICU and Chromium build with system_icu crashes when Chromium is run in -non-UTF-8 locale (e.g. 'C'). - -To make Chromium work in a non-UTF-8 locale (which is pretty rare these -days), use 'icu::UnicodeString::fromUTF8(StringPiece)' instead of -'icu::UnicodeString(const char*)'. - -Bug: 772655 -Test: components_unittests --gtest_filter=*IDN* -Test: Chromium built with system_icu does not crash in C locale. -Change-Id: I0daa284ec06b8e83814fc70eb8e9e5c96444ebfa -Reviewed-on: https://chromium-review.googlesource.com/831247 -Reviewed-by: Peter Kasting -Commit-Queue: Jungshik Shin -Cr-Commit-Position: refs/heads/master@{#524586} ---- - components/url_formatter/idn_spoof_checker.cc | 10 +++++----- - 1 file changed, 5 insertions(+), 5 deletions(-) - -diff --git a/components/url_formatter/idn_spoof_checker.cc b/components/url_formatter/idn_spoof_checker.cc -index a88c5e8f8331..aee748d8a4d5 100644 ---- a/components/url_formatter/idn_spoof_checker.cc -+++ b/components/url_formatter/idn_spoof_checker.cc -@@ -110,8 +110,8 @@ IDNSpoofChecker::IDNSpoofChecker() { - - // These Cyrillic letters look like Latin. A domain label entirely made of - // these letters is blocked as a simplified whole-script-spoofable. -- cyrillic_letters_latin_alike_ = -- icu::UnicodeSet(icu::UnicodeString("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); -+ cyrillic_letters_latin_alike_ = icu::UnicodeSet( -+ icu::UnicodeString::fromUTF8("[асԁеһіјӏорԛѕԝхуъЬҽпгѵѡ]"), status); - cyrillic_letters_latin_alike_.freeze(); - - cyrillic_letters_ = -@@ -141,8 +141,8 @@ IDNSpoofChecker::IDNSpoofChecker() { - UParseError parse_error; - diacritic_remover_.reset(icu::Transliterator::createFromRules( - UNICODE_STRING_SIMPLE("DropAcc"), -- icu::UnicodeString("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" -- " ł > l; ø > o; đ > d;"), -+ icu::UnicodeString::fromUTF8("::NFD; ::[:Nonspacing Mark:] Remove; ::NFC;" -+ " ł > l; ø > o; đ > d;"), - UTRANS_FORWARD, parse_error, status)); - - // Supplement the Unicode confusable list by the following mapping. -@@ -158,7 +158,7 @@ IDNSpoofChecker::IDNSpoofChecker() { - // - U+0D1F (ട) => s - extra_confusable_mapper_.reset(icu::Transliterator::createFromRules( - UNICODE_STRING_SIMPLE("ExtraConf"), -- icu::UnicodeString( -+ icu::UnicodeString::fromUTF8( - "ӏ > l; [кĸκ] > k; п > n; [ƅь] > b; в > b; м > m; н > h; " - "т > t; [шщ] > w; ട > s;"), - UTRANS_FORWARD, parse_error, status)); --- -2.15.1 - diff --git a/mysql/.footprint b/mysql/.footprint index 1da9f5b..6b15d76 100644 --- a/mysql/.footprint +++ b/mysql/.footprint @@ -163,12 +163,8 @@ drwxr-xr-x root/root usr/man/man1/ -rw-r--r-- root/root usr/man/man1/myisamchk.1.gz -rw-r--r-- root/root usr/man/man1/myisamlog.1.gz -rw-r--r-- root/root usr/man/man1/myisampack.1.gz --rw-r--r-- root/root usr/man/man1/mysql-stress-test.pl.1.gz --rw-r--r-- root/root usr/man/man1/mysql-test-run.pl.1.gz -rw-r--r-- root/root usr/man/man1/mysql.1.gz -rw-r--r-- root/root usr/man/man1/mysql.server.1.gz --rw-r--r-- root/root usr/man/man1/mysql_client_test.1.gz --rw-r--r-- root/root usr/man/man1/mysql_client_test_embedded.1.gz -rw-r--r-- root/root usr/man/man1/mysql_config.1.gz -rw-r--r-- root/root usr/man/man1/mysql_config_editor.1.gz -rw-r--r-- root/root usr/man/man1/mysql_convert_table_format.1.gz @@ -196,8 +192,6 @@ drwxr-xr-x root/root usr/man/man1/ -rw-r--r-- root/root usr/man/man1/mysqlman.1.gz -rw-r--r-- root/root usr/man/man1/mysqlshow.1.gz -rw-r--r-- root/root usr/man/man1/mysqlslap.1.gz --rw-r--r-- root/root usr/man/man1/mysqltest.1.gz --rw-r--r-- root/root usr/man/man1/mysqltest_embedded.1.gz -rw-r--r-- root/root usr/man/man1/perror.1.gz -rw-r--r-- root/root usr/man/man1/replace.1.gz -rw-r--r-- root/root usr/man/man1/resolve_stack_dump.1.gz diff --git a/mysql/.md5sum b/mysql/.md5sum index 1234265..130afcf 100644 --- a/mysql/.md5sum +++ b/mysql/.md5sum @@ -1,4 +1,4 @@ 1622e62c80d128f1951a12c0125d3fb5 my.cnf -abcee03992647d508ac5c2568c6cc802 mysql-5.6.39.tar.gz +ba337c0f41f11ed6875665e968c9e20f mysql-5.6.40.tar.gz 5ce1297ee84c95df59260707f0ec44c3 mysqld 53b421ec605c7d3c437daf10e70e9498 valist.patch diff --git a/mysql/Pkgfile b/mysql/Pkgfile index b57d5e4..6fcf11c 100644 --- a/mysql/Pkgfile +++ b/mysql/Pkgfile @@ -5,7 +5,7 @@ # Depends on: ncurses zlib openssl cmake libaio name=mysql -version=5.6.39 +version=5.6.40 release=1 source=(http://mirror.switch.ch/mirror/mysql/Downloads/MySQL-5.6/$name-$version.tar.gz \ my.cnf mysqld valist.patch) -- 2.26.2 From 517eb90b674214e1b58f573bdf47f43bc6c8499e Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Wed, 9 May 2018 00:50:15 +0200 Subject: [PATCH 15/16] python: updated to 2.7.15 --- python/.footprint | 12 ++++++------ python/.md5sum | 3 +-- python/Pkgfile | 10 ++-------- 3 files changed, 9 insertions(+), 16 deletions(-) diff --git a/python/.footprint b/python/.footprint index 7542e6d..fe3870b 100644 --- a/python/.footprint +++ b/python/.footprint @@ -1036,8 +1036,8 @@ drwxr-xr-x root/root usr/lib/python2.7/ensurepip/ -rw-r--r-- root/root usr/lib/python2.7/ensurepip/__main__.pyc -rw-r--r-- root/root usr/lib/python2.7/ensurepip/__main__.pyo drwxr-xr-x root/root usr/lib/python2.7/ensurepip/_bundled/ --rw-r--r-- root/root usr/lib/python2.7/ensurepip/_bundled/pip-9.0.1-py2.py3-none-any.whl --rw-r--r-- root/root usr/lib/python2.7/ensurepip/_bundled/setuptools-28.8.0-py2.py3-none-any.whl +-rw-r--r-- root/root usr/lib/python2.7/ensurepip/_bundled/pip-9.0.3-py2.py3-none-any.whl +-rw-r--r-- root/root usr/lib/python2.7/ensurepip/_bundled/setuptools-39.0.1-py2.py3-none-any.whl -rw-r--r-- root/root usr/lib/python2.7/ensurepip/_uninstall.py -rw-r--r-- root/root usr/lib/python2.7/ensurepip/_uninstall.pyc -rw-r--r-- root/root usr/lib/python2.7/ensurepip/_uninstall.pyo @@ -1440,7 +1440,7 @@ drwxr-xr-x root/root usr/lib/python2.7/json/ -rw-r--r-- root/root usr/lib/python2.7/keyword.pyc -rw-r--r-- root/root usr/lib/python2.7/keyword.pyo drwxr-xr-x root/root usr/lib/python2.7/lib-dynload/ --rw-r--r-- root/root usr/lib/python2.7/lib-dynload/Python-2.7.14-py2.7.egg-info +-rw-r--r-- root/root usr/lib/python2.7/lib-dynload/Python-2.7.15-py2.7.egg-info -rwxr-xr-x root/root usr/lib/python2.7/lib-dynload/_bisect.so -rwxr-xr-x root/root usr/lib/python2.7/lib-dynload/_bsddb.so -rwxr-xr-x root/root usr/lib/python2.7/lib-dynload/_codecs_cn.so @@ -1616,9 +1616,9 @@ drwxr-xr-x root/root usr/lib/python2.7/lib-tk/test/test_ttk/ -rw-r--r-- root/root usr/lib/python2.7/lib-tk/turtle.pyo drwxr-xr-x root/root usr/lib/python2.7/lib2to3/ -rw-r--r-- root/root usr/lib/python2.7/lib2to3/Grammar.txt --rw-r--r-- root/root usr/lib/python2.7/lib2to3/Grammar2.7.14.final.0.pickle +-rw-r--r-- root/root usr/lib/python2.7/lib2to3/Grammar2.7.15.final.0.pickle -rw-r--r-- root/root usr/lib/python2.7/lib2to3/PatternGrammar.txt --rw-r--r-- root/root usr/lib/python2.7/lib2to3/PatternGrammar2.7.14.final.0.pickle +-rw-r--r-- root/root usr/lib/python2.7/lib2to3/PatternGrammar2.7.15.final.0.pickle -rw-r--r-- root/root usr/lib/python2.7/lib2to3/__init__.py -rw-r--r-- root/root usr/lib/python2.7/lib2to3/__init__.pyc -rw-r--r-- root/root usr/lib/python2.7/lib2to3/__init__.pyo @@ -2542,7 +2542,6 @@ drwxr-xr-x root/root usr/lib/python2.7/test/imghdrdata/ -rw-r--r-- root/root usr/lib/python2.7/test/seq_tests.pyc -rw-r--r-- root/root usr/lib/python2.7/test/seq_tests.pyo -rw-r--r-- root/root usr/lib/python2.7/test/sgml_input.html --rw-r--r-- root/root usr/lib/python2.7/test/sha256.pem -rw-r--r-- root/root usr/lib/python2.7/test/sortperf.py -rw-r--r-- root/root usr/lib/python2.7/test/sortperf.pyc -rw-r--r-- root/root usr/lib/python2.7/test/sortperf.pyo @@ -3830,6 +3829,7 @@ drwxr-xr-x root/root usr/lib/python2.7/test/tracedmodules/ -rw-r--r-- root/root usr/lib/python2.7/test/win_console_handler.pyo -rw-r--r-- root/root usr/lib/python2.7/test/wrongcert.pem drwxr-xr-x root/root usr/lib/python2.7/test/xmltestdata/ +-rw-r--r-- root/root usr/lib/python2.7/test/xmltestdata/expat224_utf8_bug.xml -rw-r--r-- root/root usr/lib/python2.7/test/xmltestdata/simple-ns.xml -rw-r--r-- root/root usr/lib/python2.7/test/xmltestdata/simple.xml -rw-r--r-- root/root usr/lib/python2.7/test/xmltestdata/test.xml diff --git a/python/.md5sum b/python/.md5sum index 2522bec..ce21c0a 100644 --- a/python/.md5sum +++ b/python/.md5sum @@ -1,3 +1,2 @@ -ff653e9e002ca0e3d4a828988e52edd3 CVE-2018-1000030.patch -1f6db41ad91d9eb0a6f0c769b8613c5b Python-2.7.14.tar.xz +a80ae3cc478460b922242f43a1b4094d Python-2.7.15.tar.xz 387d5f6d00d2be01ecb87216cac0f88c pyconfig.h diff --git a/python/Pkgfile b/python/Pkgfile index 00013b3..bcc33a3 100644 --- a/python/Pkgfile +++ b/python/Pkgfile @@ -5,10 +5,9 @@ # Depends on: db gdbm openssl bzip2 zlib sqlite3 name=python -version=2.7.14 -release=2 +version=2.7.15 +release=1 source=(http://www.python.org/ftp/$name/$version/Python-$version.tar.xz \ - CVE-2018-1000030.patch pyconfig.h) build () { @@ -17,11 +16,6 @@ build () { export CFLAGS="-O2 -pipe -mfloat-abi=hard" export CXXFLAGS="$CFLAGS" - # fix for CVE-2018-1000030 - # see https://bugs.python.org/issue31530 - patch -p1 -i $SRC/CVE-2018-1000030.patch - - # set OPT to the python default without -O3 # our CFLAGS are used as well OPT="-Wall -Wstrict-prototypes -fwrapv" \ -- 2.26.2 From 6b0cdf69036631e02c9c99b97448d93b5a65fda5 Mon Sep 17 00:00:00 2001 From: Victor Martinez Date: Mon, 28 May 2018 01:36:11 +0200 Subject: [PATCH 16/16] firefox: updated to 52.8.0esr --- firefox/.footprint | 1 + firefox/.md5sum | 2 +- firefox/Pkgfile | 2 +- 3 files changed, 3 insertions(+), 2 deletions(-) diff --git a/firefox/.footprint b/firefox/.footprint index dd2587f..0553111 100644 --- a/firefox/.footprint +++ b/firefox/.footprint @@ -1010,6 +1010,7 @@ drwxr-xr-x root/root usr/include/firefox/mozilla/ -rw-r--r-- root/root usr/include/firefox/mozilla/TextEvents.h -rw-r--r-- root/root usr/include/firefox/mozilla/TextInputProcessor.h -rw-r--r-- root/root usr/include/firefox/mozilla/TextRange.h +-rw-r--r-- root/root usr/include/firefox/mozilla/TextUtils.h -rw-r--r-- root/root usr/include/firefox/mozilla/ThreadHangStats.h -rw-r--r-- root/root usr/include/firefox/mozilla/ThreadLocal.h -rw-r--r-- root/root usr/include/firefox/mozilla/ThrottledEventQueue.h diff --git a/firefox/.md5sum b/firefox/.md5sum index f08f2c5..81849cf 100644 --- a/firefox/.md5sum +++ b/firefox/.md5sum @@ -1,3 +1,3 @@ -06eb5d65a6e0eb5b1c21c73430534c43 firefox-52.7.3esr.source.tar.xz +32a7c074788569ca548de2c0394fd0aa firefox-52.8.0esr.source.tar.xz afe61c7760e835bd12d5dfd40af4ec84 firefox-install-dir.patch cf6971669f70b440cb6ff8df8b2722ae firefox.desktop diff --git a/firefox/Pkgfile b/firefox/Pkgfile index c337e72..375cb5e 100644 --- a/firefox/Pkgfile +++ b/firefox/Pkgfile @@ -5,7 +5,7 @@ # Depends on: nss, unzip, autoconf-2.13, zip, libidl, gtk, gtk3, python, alsa-lib, xorg-libxt, yasm, mesa3d name=firefox -version=52.7.3esr +version=52.8.0esr release=1 source=(https://ftp.mozilla.org/pub/firefox/releases/$version/source/firefox-$version.source.tar.xz firefox-install-dir.patch firefox.desktop) -- 2.26.2