build with clang because of startup crash with gcc 4.9 [release 34.0.1847.137-2mamba;Tue Sep 09 2014]

This commit is contained in:
Silvan Calarco 2024-01-05 21:13:24 +01:00
parent 6f6bc1247c
commit 55ccb473e4
5 changed files with 244 additions and 44 deletions

View File

@ -0,0 +1,11 @@
--- chromium-34.0.1847.116/build/gyp_chromium.orig 2014-04-02 21:03:54.000000000 +0200
+++ chromium-34.0.1847.116/build/gyp_chromium 2014-04-13 15:18:50.612776131 +0200
@@ -477,8 +477,6 @@
args.append('--check')
supplemental_includes = GetSupplementalFiles()
- if not RunGN(supplemental_includes):
- sys.exit(1)
args.extend(
['-I' + i for i in additional_include_files(supplemental_includes, args)])

View File

@ -0,0 +1,11 @@
--- trunk/src/build/gyp_chromium 2014/02/19 18:20:22 252034
+++ trunk/src/build/gyp_chromium 2014/02/21 00:30:29 252434
@@ -39,8 +39,6 @@
sys.path.insert(1, os.path.join(chrome_src, 'third_party', 'WebKit',
'Source', 'build', 'scripts'))
-import find_depot_tools
-
# On Windows, Psyco shortens warm runs of build/gyp_chromium by about
# 20 seconds on a z600 machine with 12 GB of RAM, from 90 down to 70
# seconds. Conversely, memory usage of build/gyp_chromium with Psyco

View File

@ -0,0 +1,29 @@
diff --git a/build/linux/system.gyp b/build/linux/system.gyp
index 7911ae9..fda9234 100644
--- a/build/linux/system.gyp
+++ b/build/linux/system.gyp
@@ -532,7 +532,7 @@
'g_settings_get_boolean',
'g_settings_get_int',
'g_settings_get_strv',
- 'g_settings_list_schemas',
+ 'g_settings_schema_source_list_schemas',
],
'message': 'Generating libgio library loader',
'process_outputs_as_sources': 1,
diff --git a/net/proxy/proxy_config_service_linux.cc b/net/proxy/proxy_config_service_linux.cc
index de41b14..bf8abac 100644
--- a/net/proxy/proxy_config_service_linux.cc
+++ b/net/proxy/proxy_config_service_linux.cc
@@ -547,7 +547,10 @@ class SettingGetterImplGSettings
}
bool SchemaExists(const char* schema_name) {
- const gchar* const* schemas = libgio_loader_.g_settings_list_schemas();
+ gchar **schemas;
+
+ libgio_loader_.g_settings_schema_source_list_schemas
+ (g_settings_schema_source_get_default(), TRUE, &schemas, NULL);
while (*schemas) {
if (strcmp(schema_name, static_cast<const char*>(*schemas)) == 0)
return true;

View File

@ -0,0 +1,19 @@
--- trunk/src/chrome/browser/password_manager/native_backend_gnome_x.h 2014/06/30 07:02:39 280578
+++ trunk/src/chrome/browser/password_manager/native_backend_gnome_x.h 2014/06/30 07:06:26 280579
@@ -5,6 +5,16 @@
#ifndef CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_GNOME_X_H_
#define CHROME_BROWSER_PASSWORD_MANAGER_NATIVE_BACKEND_GNOME_X_H_
+// libgnome-keyring has been deprecated in favor of libsecret.
+// See: https://mail.gnome.org/archives/commits-list/2013-October/msg08876.html
+//
+// The define below turns off the deprecations, in order to avoid build
+// failures with Gnome 3.12. When we move to libsecret, the define can be
+// removed, together with the include below it.
+//
+// The porting is tracked in http://crbug.com/355223
+#define GNOME_KEYRING_DEPRECATED
+#define GNOME_KEYRING_DEPRECATED_FOR(x)
#include <gnome-keyring.h>
#include <string>

View File

@ -1,7 +1,7 @@
Name: chromium
Epoch: 3
Version: 31.0.1650.63
Release: 1mamba
Version: 34.0.1847.137
Release: 2mamba
Summary: An open-source browser project that aims to build a safer, faster, and more stable way to experience the web
Group: Graphical Desktop/Applications/Internet
Vendor: openmamba
@ -29,9 +29,13 @@ Patch11: chromium-24.0.1285.1-glibc-2.16.patch
Patch12: chromium-24.0.1312.70-arm-gcc-4.5.3.patch
Patch13: chromium-26.0.1410.49-speech_dispatcher.patch
Patch14: chromium-26.0.1410.63-arm-sysroot.patch
Patch15: chromium-34.0.1847.116-gn-r0.patch
Patch16: chromium-34.0.1847.118-disable_depot_tools.patch
Patch17: chromium-34.0.1847.137-glib-2.40.patch
Patch18: chromium-34.0.1847.137-gnome-keyring-3.12.patch
License: BSD
## AUTOBUILDREQ-BEGIN
BuildRequires: GConf-devel
BuildRequires: libGConf-devel
BuildRequires: glibc-devel
BuildRequires: libalsa-devel
BuildRequires: libatk-devel
@ -63,7 +67,7 @@ BuildRequires: libxml2-devel
BuildRequires: libXrender-devel
BuildRequires: libXScrnSaver-devel
BuildRequires: libxslt-devel
BuildRequires: udev-devel
BuildRequires: libudev-devel
BuildRequires: xdg-utils
## AUTOBUILDREQ-END
BuildRequires: libpthread-stubs-devel
@ -81,6 +85,55 @@ BuildRequires: libkrb5-devel
BuildRequires: libe2fs-devel
BuildRequires: speech-dispatcher-devel >= 0.8-2mamba
BuildRequires: python-markupsafe
BuildRequires: libpulseaudio-devel
BuildRequires: libxshmfence-devel
BuildRequires: libkeyutils-devel
BuildRequires: libgnutls-devel
%if "%cross_target_cpu" == "i586"
BuildRequires: libGConf-devel.i586
BuildRequires: glibc-multilib-devel
BuildRequires: libalsa-devel.i586
BuildRequires: libatk-devel.i586
BuildRequires: libbzip2-devel.i586
BuildRequires: libcairo-devel.i586
BuildRequires: libcups-devel.i586
BuildRequires: libdbus-devel.i586
#BuildRequires: libevent-devel.i586
BuildRequires: libexpat-devel.i586
BuildRequires: libflac-devel.i586
BuildRequires: libfontconfig-devel.i586
#BuildRequires: libfreetype-devel.i586
BuildRequires: libgcrypt-devel.i586
BuildRequires: libgdk-pixbuf-devel.i586
BuildRequires: libglib-devel.i586
BuildRequires: libgtk2-devel.i586
BuildRequires: libnspr-devel.i586
BuildRequires: libnss-devel.i586
BuildRequires: libpango-devel.i586
#BuildRequires: libpng-devel.i586
#BuildRequires: libspeex-devel.i586
#BuildRequires: libstdc++6-devel.i586
BuildRequires: libX11-devel.i586
BuildRequires: libXcomposite-devel.i586
BuildRequires: libXext-devel.i586
BuildRequires: libXfixes-devel.i586
BuildRequires: libxml2-devel.i586
BuildRequires: libXrender-devel.i586
BuildRequires: libXScrnSaver-devel.i586
BuildRequires: libxslt-devel.i586
BuildRequires: libudev-devel.i586
BuildRequires: libnss.i586
BuildRequires: libXcursor-devel.i586
BuildRequires: libXdamage-devel.i586
BuildRequires: libXtst-devel.i586
BuildRequires: libkrb5-devel.i586
BuildRequires: libXi-devel.i586
BuildRequires: libe2fs-devel.i586
BuildRequires: libgnutls-devel.i586
BuildRequires: libgpg-error-devel.i586
BuildRequires: libcap-devel.i586
%endif
BuildRequires: ninja
Requires(post): %{__install_info}
Requires: xdg-utils
BuildRoot: %{_tmppath}/%{name}-%{version}-root
@ -123,14 +176,34 @@ Chromium is an open-source browser project that aims to build a safer, faster, a
%endif
#%patch13 -p1
%patch14 -p1
%patch15 -p1
%patch16 -p2
%patch17 -p1
%patch18 -p2
# Download NaCL toolchains
python build/download_nacl_toolchains.py -k
#\
# --packages nacl_x86_newlib,pnacl_newlib,pnacl_translator
%build
#:<< ___EOF
ln -sf %{_bindir}/ld.gold third_party/gold/ld.gold
ln -sf %{_bindir}/ld.bfd third_party/gold/ld.bfd
# Build with clang as a temporary solution to startup crash with GCC 4.9
mkdir -p third_party/llvm-build/Release+Asserts/bin
ln -sf %{_bindir}/clang third_party/llvm-build/Release+Asserts/bin/
ln -sf %{_bindir}/clang++ third_party/llvm-build/Release+Asserts/bin/
ln -sf %{_bindir}/llvm-symbolizer third_party/llvm-build/Release+Asserts/bin/
# clang 3.4 doesn't support this option
sed -i '/-Wno-absolute-value/d' \
build/common.gypi \
third_party/ffmpeg/ffmpeg.gyp
%ifarch x86_64
ln -sf %{_bindir}/ld.gold third_party/gold/gold64
%else
ln -sf %{_bindir}/ld.gold third_party/gold/gold64
ln -sf %{_bindir}/ld.gold third_party/gold/gold32
%endif
%ifarch arm
@ -138,41 +211,71 @@ ln -sf %{_bindir}/ld.gold third_party/gold/gold32
export GYP_DEFINES="$GYP_DEFINES target_arch=arm linux_use_tcmalloc=0 armv7=1 arm_neon=0 arm_thumb=1 arm_fpu=vfp"
export ARMIFY="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfp -msoft-float"
export BACKTRACE="-funwind-tables -rdynamic"
export CC="%{_build}-gcc $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold"
export CXX="%{_build}-g++ $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold"
%else
export GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=0"
#export CC="%{_build}-gcc $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold"
#export CXX="%{_build}-g++ $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold"
%endif
export GYP_GENERATORS=make
./build/gyp_chromium -Dwerror= --depth . \
-Dlinux_sandbox_path=/opt/chromium/chrome-sandbox \
-Ddisable_nacl=1 \
-Duse_system_xdg_utils=1 \
-Duse_system_zlib=0 \
-Duse_system_libpng=1 \
-Duse_system_bzip2=1 \
-Duse_system_libbz2=1 \
-Duse_system_libjpeg=0 \
-Duse_system_libxml=1 \
-Duse_system_libxslt=1 \
-Duse_system_libevent=1 \
-Duse_system_yasm=1 \
-Duse_system_flac=1 \
-Duse_system_speex=1 \
-Duse_system_vpx=1 \
-Dsystem_libdir=%{_lib} \
-Dffmpeg_branding=Chromium \
-Dremove_webcore_debug_symbols=1 \
-Dlinux_fpic=1 \
-Ddisable_sse2=1 \
-Drelease_extra_cflags=-fPIC \
-Dno_strict_aliasing=1 \
#%ifarch x86_64
#export GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=1"
#%endif
#%ifarch %{ix86}
#export GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=1 target_arch=ia32"
##export CC="%{_build}-gcc %{optflags} -m32"
##export CXX="%{_build}-g++ %{optflags} -m32"
#%endif
# openmamba api keys provided (see http://www.chromium.org/developers/how-tos/api-keys)
#export GYP_GENERATORS=make
#./build/gyp_chromium
chromium_conf=(
-Dgoogle_api_key=AIzaSyBT3wXwxmFuUQcyeMyp0MbHHhhFwNfWKTc
-Dgoogle_default_client_id=72870267994-r1bkll5bq0v275nnsa66d21h3t6ne10s.apps.googleusercontent.com
-Dgoogle_default_client_secret=Pcdh5bzXx3nsECO_AlMlPXXk
-Dwerror=
-Dclang=1
-Dclang_use_chrome_plugins=0
-Dpython_ver=2.7
-Dlinux_link_gsettings=1
-Dlinux_link_libpci=1
-Dlinux_link_libspeechd=1
-Dlinux_link_pulseaudio=1
-Dlinux_strip_binary=1
-Dlinux_use_bundled_binutils=0
-Dlinux_use_bundled_gold=0
-Dlinux_use_gold_flags=0
-Dlogging_like_official_build=1
-Dlinux_sandbox_path=/opt/chromium/chrome-sandbox
-Ddisable_nacl=1
-Duse_system_xdg_utils=1
-Duse_system_zlib=0
-Duse_system_libpng=1
-Duse_system_bzip2=1
-Duse_system_libbz2=1
-Duse_system_libjpeg=1
-Duse_system_libxml=1
-Duse_system_libxslt=1
-Duse_system_libevent=1
-Duse_system_yasm=1
-Duse_system_flac=1
-Duse_system_speex=1
-Duse_system_vpx=1
-Dffmpeg_branding=Chromium
-Dremove_webcore_debug_symbols=1
-Dlinux_fpic=1
-Ddisable_sse2=1
%ifarch %{ix86}
-Drelease_extra_cflags="-fPIC -m32"
%else
-Drelease_extra_cflags="-fPIC"
%endif
-Dlibspeechd_h_prefix=speech-dispatcher/
-Dno_strict_aliasing=1
%ifarch arm
-Denable_webrtc=0 \
-Denable_webrtc=0
%endif
%ifnarch arm
-Duse_proprietary_codecs=1
-Dproprietary_codecs=1
%endif
)
# -Duse_system_zlib=0: see http://code.google.com/p/chromium/issues/detail?id=143623
@ -184,10 +287,14 @@ export GYP_GENERATORS=make
#___ EOF
%make BUILDTYPE=Release chrome V=1
build/linux/unbundle/replace_gyp_files.py "${chromium_conf[@]}"
build/gyp_chromium --depth=. "${chromium_conf[@]}"
ninja -C out/Release chrome chrome_sandbox chromedriver
#% make BUILDTYPE=Release chrome V=1
# Build the required SUID SANDBOX helper
%make BUILDTYPE=Release chrome_sandbox V=1
#% make BUILDTYPE=Release chrome_sandbox V=1
%install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
@ -195,19 +302,24 @@ export GYP_GENERATORS=make
install -d -m0755 %{buildroot}/opt/chromium/ %{buildroot}%{_bindir}
install -m0755 out/Release/chrome %{buildroot}/opt/chromium/
install -m0755 out/Release/chrome_sandbox %{buildroot}/opt/chromium/chrome-sandbox
cp out/Release/*.pak %{buildroot}/opt/chromium/
install -m0755 out/Release/chromedriver %{buildroot}/opt/chromium/chromedriver
cp out/Release/{*.pak,libffmpegsumo.so} \
%{buildroot}/opt/chromium/
install -m0755 chrome/tools/build/linux/chrome-wrapper %{buildroot}/opt/chromium/
#install -m0755 out/Release/ffmpegsumo_nolink %{buildroot}/opt/chromium/
install -m0644 out/Release/libffmpegsumo.so %{buildroot}/opt/chromium/
install -m0755 third_party/xdg-utils/scripts/xdg-settings %{buildroot}/opt/chromium/xdg-settings
#install -m0755 third_party/xdg-utils/scripts/xdg-settings %{buildroot}/opt/chromium/xdg-settings
#%ifnarch arm
#install -m0755 out/Release/gen* %{buildroot}/opt/chromium/
#install -m0755 out/Release/re2c %{buildroot}/opt/chromium/
#install -m0755 out/Release/yasm %{buildroot}/opt/chromium/
##install -m0755 out/Release/ncdecode* %{buildroot}/opt/chromium/
#%endif
%if "%cross_target_cpu" != "i586"
install -m0755 out/Release/protoc %{buildroot}/opt/chromium/
install -m0644 out/Release/resources.pak %{buildroot}/opt/chromium/
%endif
#install -m0644 out/Release/resources.pak %{buildroot}/opt/chromium/
install -D -m0644 out/Release/icudtl.dat %{buildroot}/opt/chromium/
install -D -m0644 out/Release/chrome.1 %{buildroot}%{_mandir}/man1/chrome.1
install -D -m0644 chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/pixmaps/chrome.png
cp -a out/Release/locales %{buildroot}/opt/chromium/
@ -283,17 +395,26 @@ fi
%{_datadir}/pixmaps/chrome.png
%dir /opt/chromium
/opt/chromium/chrome
/opt/chromium/chromedriver
/opt/chromium/*.pak
/opt/chromium/chrome-wrapper
%attr(4755,root,root) /opt/chromium/chrome-sandbox
#/opt/chromium/ffmpegsumo_nolink
/opt/chromium/icudtl.dat
/opt/chromium/libffmpegsumo.so
#/opt/chromium/libpdf.so
#/opt/chromium/nacl_helper
#/opt/chromium/nacl_helper-bootstrap
#/opt/chromium/libppGoogleNaClPluginChrome.so
#/opt/chromium/nacl_irt_*.nexe
/opt/chromium/master_preferences
/opt/chromium/xdg-settings
#/opt/chromium/xdg-settings
#%ifnarch arm
#/opt/chromium/ncdecode*
#%endif
%if "%cross_target_cpu" != "i586"
/opt/chromium/protoc
%endif
#%ifnarch arm
#/opt/chromium/gen*
#/opt/chromium/re2c
@ -304,6 +425,15 @@ fi
%{_mandir}/man1/chrome.1*
%changelog
* Tue Sep 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 34.0.1847.137-2mamba
- build with clang because of startup crash with gcc 4.9
* Tue Sep 09 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 34.0.1847.137-1mamba
- update to 34.0.1847.137
* Sun Apr 13 2014 Silvan Calarco <silvan.calarco@mambasoft.it> 34.0.1847.118-1mamba
- update to 34.0.1847.118
* Thu Dec 05 2013 Automatic Build System <autodist@mambasoft.it> 31.0.1650.63-1mamba
- automatic version update by autodist