Git-Url: 
http://git.frugalware.org/gitweb/gitweb.cgi?p=gcc6.git;a=commitdiff;h=58b86cfeba245a34991e67e142bee451f98230c9

commit 58b86cfeba245a34991e67e142bee451f98230c9
Author: crazy <cr...@frugalware.org>
Date:   Thu Sep 22 20:03:21 2016 +0200

chromium-browser-53.0.2785.116-3-x86_64
* rebuild with tc
* added patches to fix gcc6/glib2.24 issues
* added -fno-delete-null-pointer for gcc6
* changed this NaCL stuff to actually build
* added workaround LDFLAGS for genesis32 out-of-mem issues

diff --git a/source/xapps-extra/chromium-browser/FrugalBuild 
b/source/xapps-extra/chromium-browser/FrugalBuild
index 1f41eab..0a2ec31 100644
--- a/source/xapps-extra/chromium-browser/FrugalBuild
+++ b/source/xapps-extra/chromium-browser/FrugalBuild
@@ -1,16 +1,19 @@
# Compiling Time: 26.46 SBU
# Maintainer: DeX77 <de...@frugalware.org>

+
pkgname=chromium-browser
pkgver=53.0.2785.116
-pkgrel=2
+pkgrel=3
pkgdesc='An open-source browser project that aims to build a safer, faster, and 
more stable way for all users to experience the web'
url='http://www.chromium.org/'
-depends=('libevent>=2.0.22-3' 'nss>=3.21-3' 'libxscrnsaver>=1.2.2-2' 
'libpulse>=7.1-4' 'snappy>=1.1.3-2' 'libcups' \
-       'speech-dispatcher>=0.7.1-4' 'gdk-pixbuf2>=2.32.3-2' 'libxtst>=1.2.2-2' 
'libjpeg>=9a' \
-       'libatomic' 'pciutils>=3.5' 'opus' 'ffmpeg' 'libxslt' 'libwebp' 
'libgles' 'libegl' 'gtk+3')
-makedepends=('ninja' 'gtk+2' 'yasm' 'libexif' 'gperf' 'libpthread-stubs' 
'x11-protos' 'krb5' 'cups' 'mesa')
-[ "$CARCH" == "x86_64" ] && makedepends+=('lib32-libstdc++' 'lib32-zlib')
+depends=('libevent>=2.0.22-3' 'nss>=3.26' 'libxscrnsaver>=1.2.2-2' 
'libpulse>=9.0-2' 'snappy>=1.1.3-3' 'libcups>=2.2.0-2' \
+       'speech-dispatcher>=0.8.5' 'gdk-pixbuf2>=2.32.3-2' 'libxtst>=1.2.2-2' 
'libjpeg>=9a-2' 'libatomic>=6.2.1-5' 'pciutils>=3.5' \
+       'opus>=1.1.3-2' 'ffmpeg>=3.1.3' 'libxslt' 'libwebp>=0.5.1-2' 
'libgles>=12.0.3-3' 'libegl>=12.0.3-3' 'gtk+3>=3.22.0')
+makedepends=('ninja' 'gtk+2' 'yasm' 'libexif' 'gperf' 'libpthread-stubs' 
'x11-protos' 'krb5>=1.14.4' 'cups>=2.2.0-2' 'mesa>=12.0.3-3')
+
+[ "$CARCH" == "x86_64" ] && makedepends+=('lib32-libstdc++>=6.2.1_5' 
'lib32-zlib>=1.2.8_8')
+
license=('BSD')
groups=('xapps-extra')
archs=('i686' 'x86_64')
@@ -32,7 +35,9 @@ 
source=(https://commondatastorage.googleapis.com/chromium-browser-official/chrom
chromium-46.0.2490.86-use_system_opus.patch \
chromium-52.0.2723.2-use_system_harfbuzz.patch \
chromium-47.0.2526.80-nacl-ignore-broken-fd-counter.patch \
-       chromium-52.0.2743.82-cups22.patch )
+       chromium-52.0.2743.82-cups22.patch \
+       chromium-52.0.2743.116-unset-madv_free.patch \
+       gcc6-no-delete-null-pointer-checks.patch)

sha1sums=('9f20ac0a5d1720bc932ed85779112d164390327f' \
'264b8e7c4e3273263d504e041e5e4d152677922c' \
@@ -44,9 +49,13 @@ sha1sums=('9f20ac0a5d1720bc932ed85779112d164390327f' \
'd6d09996ff5ff4d796cf26f239eb2b688e017d25' \
'4ac2af324c6927507d214ba3b6512ad1a879a2ff' \
'af663b4b7a7a9e6f0075c4f60f0b4310a77d2d89' \
-          '281ef7c51b733765b741d69b78e7d74ec6cb328a')
+          '281ef7c51b733765b741d69b78e7d74ec6cb328a' \
+          '17ba326edbd5df0aba71958d9eea56ba9653c995' \
+          '0fa01f6ac92d4616cdc74073952ada2259be1d70')

-CXXFLAGS="$CXXFLAGS -fpermissive"
+## -fno-delete-null-pointer-checks for gcc6 DO NOT REMOVE also not remove the 
gcc6-* patch
+## add some -Wno-* gcc6 produces a lot noise and we don't care about 
deprectaed stuff
+CXXFLAGS+=" -fpermissive -fno-delete-null-pointer-checks -Wno-deprecated 
-Wno-deprecated-declarations"

# Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
# Note: These are for Frugalware use ONLY. For your own distribution, please
@@ -57,14 +66,24 @@ 
_google_default_client_id="63071405569.apps.googleusercontent.com"
_google_default_client_secret="2bNvMsN-57D44Q5ireW62LcZ"

build() {
+
+       ## out-of-mem workaround for genesis32 maybe
+       if [ "$CARCH" == "i686" ]; then
+                LDFLAGS+=" -Wl,--no-keep-memory -Wl,--reduce-memory-overheads"
+        fi
+
LDFLAGS+=" -Wl,-rpath,/usr/lib/chromium,-rpath,/usr/lib/chromium/lib"

Fcd
-
-       if [ $CARCH = x86_64 ]; then
-               Fexec python2 build/download_nacl_toolchains.py \
+       if [ $CARCH == x86_64 ]; then
+               Fexec python build/download_nacl_toolchains.py \
--packages nacl_x86_newlib,pnacl_newlib,pnacl_translator \
-                       sync --extract || Fdie
+                       --exclude nacl_arm_newlib --arch=x86-64 sync || Fdie
+
+               ## 2 steps , don't ask me
+               Fexec python build/download_nacl_toolchains.py \
+                        --packages 
nacl_x86_newlib,pnacl_newlib,pnacl_translator \
+                        --exclude nacl_arm_newlib --arch=x86-64 extract || Fdie
fi

Fpatchall
@@ -136,12 +155,12 @@ build() {
-Dlinux_use_bundled_binutils=0
-Dlinux_use_bundled_gold=0
-Duse_gnome_keyring=0
-                       -Denable_pepper_cdms=1
-Denable_webrtc=1
-Duse_aura=1
-Dcomponent=shared_library
-Dno_strict_aliasing=1
-Dv8_no_strict_aliasing=1
+                       -Dv8_no_delete_null_pointer_checks=1
-Duse_gtk3=1
-Denable_hidpi=1
-Denable_hotwording=0
@@ -159,10 +178,10 @@ build() {
-Dgenerate_character_data=0
-Ddisable_glibc=1"

-       # Disable NaCl for i686
-       if [ $CARCH = i686 ]; then
-       myconf+="       -Ddisable_nacl=1
-                       -Ddisable_pnacl=1"
+       # Always disable NaCl for i686
+       if [ $CARCH == i686 ]; then
+               myconf+="       -Ddisable_nacl=1
+                               -Ddisable_pnacl=1"
fi

Fexec build/linux/unbundle/replace_gyp_files.py $myconf 
-Drelease_extra_cflags="$CFLAGS" || Fdie
@@ -187,7 +206,7 @@ build() {

Frm usr/lib/chromium/lib/*.TOC #WTF!?

-       if [ ! $CARCH = i686 ]; then
+       if [  $CARCH != i686 ]; then
Fcprel out/Release/nacl_helper usr/lib/chromium/
Fcprel out/Release/nacl_helper_bootstrap usr/lib/chromium/
Fcprel out/Release/nacl_irt_*.nexe usr/lib/chromium/
diff --git 
a/source/xapps-extra/chromium-browser/chromium-52.0.2743.116-unset-madv_free.patch
 
b/source/xapps-extra/chromium-browser/chromium-52.0.2743.116-unset-madv_free.patch
new file mode 100644
index 0000000..2867c79
--- /dev/null
+++ 
b/source/xapps-extra/chromium-browser/chromium-52.0.2743.116-unset-madv_free.patch
@@ -0,0 +1,15 @@
+diff -up 
chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free
 
chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp
+--- 
chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp.madv_free
 2016-08-15 13:07:29.279655676 -0400
++++ 
chromium-52.0.2743.116/third_party/WebKit/Source/wtf/allocator/PageAllocator.cpp
   2016-08-15 13:08:38.447317416 -0400
+@@ -41,6 +41,11 @@
+ #include <errno.h>
+ #include <sys/mman.h>
+
++#if OS(LINUX) && defined(MADV_FREE)
++// Added in Linux 4.5, but it breaks the sandbox.
++#undef MADV_FREE
++#endif
++
+ #ifndef MADV_FREE
+ #define MADV_FREE MADV_DONTNEED
+ #endif
diff --git 
a/source/xapps-extra/chromium-browser/gcc6-no-delete-null-pointer-checks.patch 
b/source/xapps-extra/chromium-browser/gcc6-no-delete-null-pointer-checks.patch
new file mode 100644
index 0000000..f97f77d
--- /dev/null
+++ 
b/source/xapps-extra/chromium-browser/gcc6-no-delete-null-pointer-checks.patch
@@ -0,0 +1,25 @@
+diff -Naur chromium-53.0.2785.116/v8/gypfiles/toolchain.gypi 
chromium-53.0.2785.116-gcc6/v8/gypfiles/toolchain.gypi
+--- chromium-53.0.2785.116/v8/gypfiles/toolchain.gypi  2016-09-15 
03:06:53.000000000 +0200
++++ chromium-53.0.2785.116-gcc6/v8/gypfiles/toolchain.gypi     2016-09-22 
13:24:44.246588268 +0200
+@@ -74,6 +74,10 @@
+     # Some versions of GCC 4.5 seem to need -fno-strict-aliasing.
+     'v8_no_strict_aliasing%': 0,
+
++     # V8 needs support for illegal null this pointers, and must disable
++     # optimizations in GCC 6 that relies on correct behavior.
++    'v8_no_delete_null_pointer_checks%': 0,
++
+     # Chrome needs this definition unconditionally. For standalone V8 builds,
+     # it's handled in gypfiles/standalone.gypi.
+     'want_separate_host_toolset%': 1,
+@@ -1074,6 +1078,10 @@
+           [ 'v8_no_strict_aliasing==1', {
+             'cflags': [ '-fno-strict-aliasing' ],
+           }],
++           [ 'v8_no_delete_null_pointer_checks==1', {
++            'cflags_cc': [ '-fno-delete-null-pointer-checks' ],
++          }],
++
+         ],  # conditions
+       }],
+       ['OS=="solaris"', {
_______________________________________________
Frugalware-git mailing list
Frugalware-git@frugalware.org
http://frugalware.org/mailman/listinfo/frugalware-git

Reply via email to