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 Name: chromium
Epoch: 3 Epoch: 3
Version: 31.0.1650.63 Version: 34.0.1847.137
Release: 1mamba Release: 2mamba
Summary: An open-source browser project that aims to build a safer, faster, and more stable way to experience the web 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 Group: Graphical Desktop/Applications/Internet
Vendor: openmamba 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 Patch12: chromium-24.0.1312.70-arm-gcc-4.5.3.patch
Patch13: chromium-26.0.1410.49-speech_dispatcher.patch Patch13: chromium-26.0.1410.49-speech_dispatcher.patch
Patch14: chromium-26.0.1410.63-arm-sysroot.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 License: BSD
## AUTOBUILDREQ-BEGIN ## AUTOBUILDREQ-BEGIN
BuildRequires: GConf-devel BuildRequires: libGConf-devel
BuildRequires: glibc-devel BuildRequires: glibc-devel
BuildRequires: libalsa-devel BuildRequires: libalsa-devel
BuildRequires: libatk-devel BuildRequires: libatk-devel
@ -63,7 +67,7 @@ BuildRequires: libxml2-devel
BuildRequires: libXrender-devel BuildRequires: libXrender-devel
BuildRequires: libXScrnSaver-devel BuildRequires: libXScrnSaver-devel
BuildRequires: libxslt-devel BuildRequires: libxslt-devel
BuildRequires: udev-devel BuildRequires: libudev-devel
BuildRequires: xdg-utils BuildRequires: xdg-utils
## AUTOBUILDREQ-END ## AUTOBUILDREQ-END
BuildRequires: libpthread-stubs-devel BuildRequires: libpthread-stubs-devel
@ -81,6 +85,55 @@ BuildRequires: libkrb5-devel
BuildRequires: libe2fs-devel BuildRequires: libe2fs-devel
BuildRequires: speech-dispatcher-devel >= 0.8-2mamba BuildRequires: speech-dispatcher-devel >= 0.8-2mamba
BuildRequires: python-markupsafe 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(post): %{__install_info}
Requires: xdg-utils Requires: xdg-utils
BuildRoot: %{_tmppath}/%{name}-%{version}-root BuildRoot: %{_tmppath}/%{name}-%{version}-root
@ -98,7 +151,7 @@ Chromium is an open-source browser project that aims to build a safer, faster, a
%prep %prep
%setup -q %setup -q
# -D -T #-D -T
#:<< ___EOF #:<< ___EOF
#mv home/chrome-svn/tarball/chromium/src/* . #mv home/chrome-svn/tarball/chromium/src/* .
#rm -rf home #rm -rf home
@ -123,14 +176,34 @@ Chromium is an open-source browser project that aims to build a safer, faster, a
%endif %endif
#%patch13 -p1 #%patch13 -p1
%patch14 -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 %build
#:<< ___EOF #:<< ___EOF
ln -sf %{_bindir}/ld.gold third_party/gold/ld.gold ln -sf %{_bindir}/ld.gold third_party/gold/ld.gold
ln -sf %{_bindir}/ld.bfd third_party/gold/ld.bfd 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 %ifarch x86_64
ln -sf %{_bindir}/ld.gold third_party/gold/gold64 ln -sf %{_bindir}/ld.gold third_party/gold/gold64
%else %else
ln -sf %{_bindir}/ld.gold third_party/gold/gold64
ln -sf %{_bindir}/ld.gold third_party/gold/gold32 ln -sf %{_bindir}/ld.gold third_party/gold/gold32
%endif %endif
%ifarch arm %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 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 ARMIFY="-march=armv7-a -mtune=cortex-a9 -mfloat-abi=softfp -mfpu=vfp -msoft-float"
export BACKTRACE="-funwind-tables -rdynamic" export BACKTRACE="-funwind-tables -rdynamic"
export CC="%{_build}-gcc $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold" #export CC="%{_build}-gcc $BACKTRACE $ARMIFY -B%{_bindir}/ld.gold"
export CXX="%{_build}-g++ $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"
%endif %endif
export GYP_GENERATORS=make #%ifarch x86_64
./build/gyp_chromium -Dwerror= --depth . \ #export GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=1"
-Dlinux_sandbox_path=/opt/chromium/chrome-sandbox \ #%endif
-Ddisable_nacl=1 \ #%ifarch %{ix86}
-Duse_system_xdg_utils=1 \ #export GYP_DEFINES="linux_use_gold_binary=1 linux_use_gold_flags=1 target_arch=ia32"
-Duse_system_zlib=0 \ ##export CC="%{_build}-gcc %{optflags} -m32"
-Duse_system_libpng=1 \ ##export CXX="%{_build}-g++ %{optflags} -m32"
-Duse_system_bzip2=1 \ #%endif
-Duse_system_libbz2=1 \
-Duse_system_libjpeg=0 \ # openmamba api keys provided (see http://www.chromium.org/developers/how-tos/api-keys)
-Duse_system_libxml=1 \ #export GYP_GENERATORS=make
-Duse_system_libxslt=1 \ #./build/gyp_chromium
-Duse_system_libevent=1 \ chromium_conf=(
-Duse_system_yasm=1 \ -Dgoogle_api_key=AIzaSyBT3wXwxmFuUQcyeMyp0MbHHhhFwNfWKTc
-Duse_system_flac=1 \ -Dgoogle_default_client_id=72870267994-r1bkll5bq0v275nnsa66d21h3t6ne10s.apps.googleusercontent.com
-Duse_system_speex=1 \ -Dgoogle_default_client_secret=Pcdh5bzXx3nsECO_AlMlPXXk
-Duse_system_vpx=1 \ -Dwerror=
-Dsystem_libdir=%{_lib} \ -Dclang=1
-Dffmpeg_branding=Chromium \ -Dclang_use_chrome_plugins=0
-Dremove_webcore_debug_symbols=1 \ -Dpython_ver=2.7
-Dlinux_fpic=1 \ -Dlinux_link_gsettings=1
-Ddisable_sse2=1 \ -Dlinux_link_libpci=1
-Drelease_extra_cflags=-fPIC \ -Dlinux_link_libspeechd=1
-Dno_strict_aliasing=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 %ifarch arm
-Denable_webrtc=0 \ -Denable_webrtc=0
%endif %endif
%ifnarch arm %ifnarch arm
-Duse_proprietary_codecs=1 -Dproprietary_codecs=1
%endif %endif
)
# -Duse_system_zlib=0: see http://code.google.com/p/chromium/issues/detail?id=143623 # -Duse_system_zlib=0: see http://code.google.com/p/chromium/issues/detail?id=143623
@ -182,12 +285,16 @@ export GYP_GENERATORS=make
# -Duse_system_sqlite=1 # -Duse_system_sqlite=1
# -Duse_system_icu=1 \ # -Duse_system_icu=1 \
#___EOF #___ 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 # Build the required SUID SANDBOX helper
%make BUILDTYPE=Release chrome_sandbox V=1 #% make BUILDTYPE=Release chrome_sandbox V=1
%install %install
[ "%{buildroot}" != / ] && rm -rf "%{buildroot}" [ "%{buildroot}" != / ] && rm -rf "%{buildroot}"
@ -195,19 +302,24 @@ export GYP_GENERATORS=make
install -d -m0755 %{buildroot}/opt/chromium/ %{buildroot}%{_bindir} install -d -m0755 %{buildroot}/opt/chromium/ %{buildroot}%{_bindir}
install -m0755 out/Release/chrome %{buildroot}/opt/chromium/ install -m0755 out/Release/chrome %{buildroot}/opt/chromium/
install -m0755 out/Release/chrome_sandbox %{buildroot}/opt/chromium/chrome-sandbox 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 chrome/tools/build/linux/chrome-wrapper %{buildroot}/opt/chromium/
#install -m0755 out/Release/ffmpegsumo_nolink %{buildroot}/opt/chromium/ #install -m0755 third_party/xdg-utils/scripts/xdg-settings %{buildroot}/opt/chromium/xdg-settings
install -m0644 out/Release/libffmpegsumo.so %{buildroot}/opt/chromium/
install -m0755 third_party/xdg-utils/scripts/xdg-settings %{buildroot}/opt/chromium/xdg-settings
#%ifnarch arm #%ifnarch arm
#install -m0755 out/Release/gen* %{buildroot}/opt/chromium/ #install -m0755 out/Release/gen* %{buildroot}/opt/chromium/
#install -m0755 out/Release/re2c %{buildroot}/opt/chromium/ #install -m0755 out/Release/re2c %{buildroot}/opt/chromium/
#install -m0755 out/Release/yasm %{buildroot}/opt/chromium/ #install -m0755 out/Release/yasm %{buildroot}/opt/chromium/
##install -m0755 out/Release/ncdecode* %{buildroot}/opt/chromium/ ##install -m0755 out/Release/ncdecode* %{buildroot}/opt/chromium/
#%endif #%endif
%if "%cross_target_cpu" != "i586"
install -m0755 out/Release/protoc %{buildroot}/opt/chromium/ 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 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 install -D -m0644 chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/pixmaps/chrome.png
cp -a out/Release/locales %{buildroot}/opt/chromium/ cp -a out/Release/locales %{buildroot}/opt/chromium/
@ -283,17 +395,26 @@ fi
%{_datadir}/pixmaps/chrome.png %{_datadir}/pixmaps/chrome.png
%dir /opt/chromium %dir /opt/chromium
/opt/chromium/chrome /opt/chromium/chrome
/opt/chromium/chromedriver
/opt/chromium/*.pak /opt/chromium/*.pak
/opt/chromium/chrome-wrapper /opt/chromium/chrome-wrapper
%attr(4755,root,root) /opt/chromium/chrome-sandbox %attr(4755,root,root) /opt/chromium/chrome-sandbox
#/opt/chromium/ffmpegsumo_nolink #/opt/chromium/ffmpegsumo_nolink
/opt/chromium/icudtl.dat
/opt/chromium/libffmpegsumo.so /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/master_preferences
/opt/chromium/xdg-settings #/opt/chromium/xdg-settings
#%ifnarch arm #%ifnarch arm
#/opt/chromium/ncdecode* #/opt/chromium/ncdecode*
#%endif #%endif
%if "%cross_target_cpu" != "i586"
/opt/chromium/protoc /opt/chromium/protoc
%endif
#%ifnarch arm #%ifnarch arm
#/opt/chromium/gen* #/opt/chromium/gen*
#/opt/chromium/re2c #/opt/chromium/re2c
@ -304,6 +425,15 @@ fi
%{_mandir}/man1/chrome.1* %{_mandir}/man1/chrome.1*
%changelog %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 * Thu Dec 05 2013 Automatic Build System <autodist@mambasoft.it> 31.0.1650.63-1mamba
- automatic version update by autodist - automatic version update by autodist