X-Git-Url: http://gitweb/?a=blobdiff_plain;f=chromium%2FPkgfile;h=e5c286c2d6fb653684c8ea797b542352ad1b4e05;hb=a35dd6c00dfc4a48f2c99a37d840e770b3f84599;hp=f707c6bd7b4cbecebe3fd4efb95b6bc561193e24;hpb=5cd4e9ca7f57ff5330fcdb5b9c9370711c78d656;p=ports%2Fopt-arm.git diff --git a/chromium/Pkgfile b/chromium/Pkgfile index f707c6b..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.75 +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 + }