Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:yukoff:openSUSE:Leap:42.1:Backports
chromium.5568
chromium.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium.spec of Package chromium.5568
# # spec file for package chromium # # Copyright (c) 2016 SUSE LINUX GmbH, Nuernberg, Germany. # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed # upon. The license for this file, and modifications and additions to the # file, is the same license as for the pristine package itself (unless the # license for the pristine package is not an Open Source License, in which # case the license is the MIT License). An "Open Source License" is a # license that conforms to the Open Source Definition (Version 1.9) # published by the Open Source Initiative. # Please submit bugfixes or comments via http://bugs.opensuse.org/ # Name: chromium Version: 53.0.2785.89 Release: 0 Summary: Google's opens source browser project License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Url: http://code.google.com/p/chromium/ Source0: http://commondatastorage.googleapis.com/chromium-browser-official/%{name}-%{version}.tar.xz Source2: %{name}-rpmlintrc Source30: master_preferences Source31: default_bookmarks.html Source99: chrome-wrapper Source100: chromium-browser.sh Source101: chromium-browser.desktop Source102: chromium-browser.xml Source103: chromium.default Source104: chromium-icons.tar.bz2 ## Start Patches # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059] Patch1: exclude_ymp.diff # PATCH-FIX-OPENSUSE enables reading of the master preference Patch2: chromium-master-prefs-path.patch # PATCH-FIX-UPSTREAM Add more charset aliases Patch3: chromium-more-codec-aliases.patch # PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings Patch4: chromium-sandbox-pie.patch # PATCH-FIX-OPENSUSE chromium-46.0.2490.71-fix-missing-i18n_process_css_test.patch - file was removed Patch5: chromium-46.0.2490.71-fix-missing-i18n_process_css_test.patch # PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin Patch6: fix_building_widevinecdm_with_chromium.patch # PATCH-FIX-OPENSUSE fix_network_api_crash.patch - Fix crash in network API, e.g. when using chromecast extension Patch7: fix_network_api_crash.patch # PATCH-FIX-OPENSUSE gcc60-fixes.diff - Fix crashes due to the GCC6 optimizations Patch8: gcc60-fixes.diff # archlinux arm enhancement patches Patch100: arm-webrtc-fix.patch Patch101: arm_use_right_compiler.patch # GN buildsystem related patches Patch200: chromium-last-commit-position-r0.patch BuildRequires: alsa-devel BuildRequires: binutils-gold BuildRequires: bison BuildRequires: cups-devel BuildRequires: dbus-1-devel BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: flac-devel BuildRequires: flex BuildRequires: freetype2-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gperf BuildRequires: harfbuzz-devel BuildRequires: hicolor-icon-theme BuildRequires: hunspell-devel BuildRequires: krb5-devel BuildRequires: libbz2-devel BuildRequires: libelf-devel BuildRequires: libevent-devel BuildRequires: libexpat-devel BuildRequires: libpulse-devel BuildRequires: libwebp-devel BuildRequires: python-xml BuildRequires: snappy-devel BuildRequires: update-desktop-files BuildRequires: zlib-devel BuildRequires: pkgconfig(libffi) Requires(pre): permissions BuildRequires: SDL-devel BuildRequires: dirac-devel >= 1.0.0 BuildRequires: libcap-devel BuildRequires: libdc1394 BuildRequires: libdc1394-devel BuildRequires: libdrm-devel BuildRequires: libgcrypt-devel BuildRequires: libgnome-keyring-devel BuildRequires: libgsm BuildRequires: libgsm-devel BuildRequires: libjack-devel BuildRequires: libogg-devel BuildRequires: liboil-devel >= 0.3.15 BuildRequires: libopenssl-devel BuildRequires: libtheora-devel >= 1.1 BuildRequires: libvdpau-devel BuildRequires: libvorbis-devel BuildRequires: libvpx-devel BuildRequires: ncurses-devel BuildRequires: ninja BuildRequires: pam-devel BuildRequires: pciutils-devel BuildRequires: pkg-config BuildRequires: python BuildRequires: python-devel BuildRequires: schroedinger-devel BuildRequires: slang-devel BuildRequires: texinfo BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: wdiff BuildRequires: pkgconfig(cairo) >= 1.6 BuildRequires: pkgconfig(dbus-1) BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(glib-2.0) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-3.0) BuildRequires: pkgconfig(libcrypto) BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(nspr) >= 4.9.5 BuildRequires: pkgconfig(nss) >= 3.14 BuildRequires: pkgconfig(sqlite3) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xdamage) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xrandr) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) Requires: alsa Requires: ffmpegsumo Requires: hicolor-icon-theme Requires: update-alternatives Requires: xdg-utils Requires(pre): permissions # Recommends the chromium-ffmpeg library (available from packman) Recommends: %{name}-ffmpeg Conflicts: otherproviders(chromium-browser) Provides: chromium-based-browser = %{version} Provides: chromium-browser = %{version} Provides: browser(npapi) Obsoletes: %{name}-suid-helper < %{version} Obsoletes: chromium-browser < %{version} Provides: %{name}-suid-helper = %{version} ExclusiveArch: %{ix86} x86_64 %arm #Requirements to build a fully functional ffmpeg # This can only be done on packman OBS %if 0%{?packman_bs} BuildRequires: libfaac-devel >= 1.28 BuildRequires: libmp3lame-devel BuildRequires: libopencore-amr-devel BuildRequires: libx264-devel BuildRequires: libxvidcore-devel %endif #Define the maximum number of build processes to prevent running out of memory %ifarch %arm %define ninjaproc 2 %else %define ninjaproc 4 %endif %description Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications. %package ffmpegsumo Summary: Library to provide partial ffmpeg support to Chromium License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Requires: %{name} Conflicts: otherproviders(ffmpegsumo) Conflicts: %{name}-ffmpeg Provides: ffmpegsumo = %{version} %description ffmpegsumo The is the multimedia codec library for Chromium. It is based on the internal ffmpeg source code and contains only the open source codecs from ffmpeg. Proprietary codecs (e.g. H.264) are not part of this library, but are provided in an external package %package desktop-kde Summary: Update to chromium to use KDE's kwallet to store passwords License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Requires(post): chromium = %{version} Conflicts: otherproviders(chromium-password) Provides: chromium-password = %{version} %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 && 0%{?is_opensuse} Supplements: packageand(chromium:plasma5-session) %else Supplements: packageand(chromium:kdebase4-session) %endif %description desktop-kde By using the openSUSE update-alternatives the password store for Chromium is changed to utilize KDE's kwallet. If access to passwords stored via Chromium (3-dot menu > Settings > Show advanced settings > Passwords and forms > Manage passwords) or using KDE's KWallet presents a problem, see <https://bugs.chromium.org/p/chromium/issues/detail?id=620360#c3>. %package desktop-gnome Summary: Update to chromium to use Gnome keyring to store passwords License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Requires: libgnome Requires(post): chromium = %{version} Supplements: packageand(chromium:gnome-session) Conflicts: otherproviders(chromium-password) Provides: chromium-password = %{version} %description desktop-gnome By using the openSUSE update-alternatives the password store for Chromium is changed to utilize Gnome's Keyring. If access to passwords stored via Chromium (3-dot menu > Settings > Show advanced settings > Passwords and forms > Manage passwords) or using Gnome's Keyring presents a problem, see <https://bugs.chromium.org/p/chromium/issues/detail?id=620360#c3>. %package -n chromedriver Summary: WebDriver for Google Chrome/Chromium License: BSD-3-Clause Group: Development/Tools/Other Url: http://code.google.com/p/chromedriver/ %description -n chromedriver WebDriver is an open source tool for automated testing of webapps across many browsers. It provides capabilities for navigating to web pages, user input, JavaScript execution, and more. ChromeDriver is a standalone server which implements WebDriver's wire protocol for Chromium. It is being developed by members of the Chromium and WebDriver teams. %if 0%{?packman_bs} %package ffmpeg Summary: The ffmpeg library for Google's opens source browser Chromium License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Requires: %{name} Conflicts: otherproviders(ffmpegsumo) Provides: ffmpegsumo = %{version} %description ffmpeg FFMPEG library built from the chromium sources. %endif %prep %setup -q #GN Buildsystem fixes %patch200 -p1 #Standard patches %patch1 %patch2 %patch3 %patch4 %patch5 -p1 %patch6 -p1 %patch7 %if 0%{?suse_version} > 1320 %patch8 %endif # archlinux arm enhancements %patch100 %patch101 -p0 %build # Create the configuration for GN myconf_gn+=" is_debug=false" myconf_gn+=" enable_nacl=false" myconf_gn+=" proprietary_codecs=true" myconf_gn+=" is_component_ffmpeg=true" myconf_gn+=" use_cups=true" myconf_gn+=" use_gconf=true" myconf_gn+=" use_gtk3=true" myconf_gn+=" use_kerberos=true" myconf_gn+=" use_pulseaudio=true" myconf_gn+=" is_clang=false" myconf_gn+=" use_sysroot=false" myconf_gn+=" treat_warnings_as_errors=false" myconf_gn+=" fatal_linker_warnings=false" myconf_gn+=" use_allocator=\"none\"" myconf_gn+=" fieldtrial_testing_like_official_build=true" # Define the Chrome branding in order to get libffmpeg on packman that supports all codecs %if 0%{?packman_bs} myconf_gn+=" ffmpeg_branding=\"Chrome\"" %endif %ifarch %arm myconf_gn+=" target_cpu =\"arm\"" myconf_gn+=" target_sysroot_dir=\"\"" myconf_gn+=" arm_use_neon=false" myconf_gn+=" arm_optionally_use_neon=false" myconf_gn+=" arm_use_thumb=true" myconf_gn+=" remove_webcore_debug_symbols=true" myconf_gn+=" symbol_level = 0" myconf_gn+=" is_component_build = true" %endif # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys # Note: these are for the openSUSE Chromium builds ONLY. For your own distribution, # please get your own set of keys. google_api_key="AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q" google_default_client_id="4139804441.apps.googleusercontent.com" google_default_client_secret="KDTRKEZk2jwT_7CDpcmMA--P" myconf_gn+=" google_api_key=\"${google_api_key}\"" myconf_gn+=" google_default_client_id=\"${google_default_client_id}\"" myconf_gn+=" google_default_client_secret=\"${google_default_client_secret}\"" third_party/libaddressinput/chromium/tools/update-strings.py if [ ! -f chrome/test/data/webui/i18n_process_css_test.html ]; then touch chrome/test/data/webui/i18n_process_css_test.html fi tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn}" out/Release/gn gen --args="${myconf_gn}" out/Release %if 0%{?packman_bs} ninja -C out/Release third_party/ffmpeg %else ninja -j %{ninjaproc} -C out/Release chrome # Build the required SUID_SANDBOX helper ninja -j %{ninjaproc} -C out/Release chrome_sandbox # Build the ChromeDriver test suite ninja -j %{ninjaproc} -C out/Release chromedriver %endif %install mkdir -p %{buildroot}%{_libdir}/chromium %if 0%{?packman_bs} pushd out/Release cp -av libffmpeg.so %{buildroot}%{_libdir}/chromium/ popd %else %ifarch x86_64 mkdir -p %{buildroot}%{_libexecdir}/ %endif install -m 755 %{SOURCE100} %{buildroot}%{_libdir}/chromium/chromium-generic # x86_64 capable systems need this sed -i "s|%{_libexecdir}/chromium|%{_libdir}/chromium|g" %{buildroot}%{_libdir}/chromium/chromium-generic #update the password-store settings for each alternative %if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 && 0%{?is_opensuse} sed "s|password-store=detect|password-store=kwallet5|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde %else sed "s|password-store=detect|password-store=kwallet|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde %endif sed "s|password-store=detect|password-store=gnome|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-gnome mkdir -p %{buildroot}%{_mandir}/man1/ pushd out/Release # Install the file %{_sysconfdir}/default/chromium which defines the chromium flags mkdir -p %{buildroot}%{_sysconfdir}/default install -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/default/chromium # Recent Chromium builds now wants to have the sandbox in the same directory. So let's create a symlink to the one in %{_prefix}/lib cp -a chrome_sandbox %{buildroot}%{_libexecdir}/ ln -s -f %{_libexecdir}/chrome_sandbox %{buildroot}/%{_libdir}/chromium/chrome-sandbox cp -a *.bin *.pak locales xdg-mime icudtl.dat %{buildroot}%{_libdir}/chromium/ cp -a chromedriver %{buildroot}%{_libdir}/chromium/ # chromium components %ifarch %arm cp -a lib*.so %{buildroot}%{_libdir}/chromium/ %else cp -av libffmpeg.so %{buildroot}%{_libdir}/chromium/ %endif # Patch xdg-settings to use the chromium version of xdg-mime as that the system one is not KDE4 compatible sed "s|xdg-mime|%{_libdir}/chromium/xdg-mime|g" xdg-settings > %{buildroot}%{_libdir}/chromium/xdg-settings cp -a resources.pak %{buildroot}%{_libdir}/chromium/ cp -a chrome %{buildroot}%{_libdir}/chromium/chromium cp -a chrome.1 %{buildroot}%{_mandir}/man1/chrome.1 cp -a chrome.1 %{buildroot}%{_mandir}/man1/chromium.1 %fdupes %{buildroot}%{_mandir}/man1/ popd mkdir -p %{buildroot}%{_datadir}/icons/ pushd %{buildroot}%{_datadir}/icons/ tar -xjf %{SOURCE104} mv oxygen hicolor popd mkdir -p %{buildroot}%{_datadir}/applications/ desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE101} mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/ cp -a %{SOURCE102} %{buildroot}%{_datadir}/gnome-control-center/default-apps/ # link to browser plugin path. Plugin patch doesn't work. Why? mkdir -p %{buildroot}%{_libdir}/browser-plugins pushd %{buildroot}%{_libdir}/%{name} ln -s ../browser-plugins plugins # Install the master_preferences file mkdir -p %{buildroot}%{_sysconfdir}/%{name} install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name} install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{name} # Set the right attributes chmod 755 %{buildroot}%{_libdir}/%{name}/xdg-settings chmod 755 %{buildroot}%{_libdir}/%{name}/xdg-mime # create a dummy target for %{_sysconfdir}/alternatives/chromium mkdir -p %{buildroot}%{_sysconfdir}/alternatives mkdir -p %{buildroot}%{_bindir} touch %{buildroot}%{_sysconfdir}/alternatives/chromium ln -s -f %{_sysconfdir}/alternatives/chromium %{buildroot}/%{_bindir}/chromium %endif %if !0%{?packman_bs} %pre if [ -f %{_bindir}/chromium -a ! -L %{_bindir}/chromium ] ; then rm -f %{_bindir}/chromium fi %verifyscript %verify_permissions -e %{_libexecdir}/chrome_sandbox %post %icon_theme_cache_post %desktop_database_post update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10 %set_permissions %{_libexecdir}/chrome_sandbox /sbin/ldconfig %{_libdir}/chromium %postun %icon_theme_cache_postun %desktop_database_postun if [ $1 -eq 0 ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-generic fi /sbin/ldconfig %{_libdir}/chromium %post desktop-kde update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-kde 15 %preun desktop-kde if [ $1 -eq 0 ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-kde fi %post desktop-gnome update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-gnome 15 %postun desktop-gnome if [ $1 -eq 0 ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-gnome fi %endif # Files! %if 0%{?packman_bs} %post ffmpeg /sbin/ldconfig %{_libdir}/chromium %postun ffmpeg /sbin/ldconfig %{_libdir}/chromium %files ffmpeg %defattr(-,root,root,-) %dir %{_libdir}/chromium %{_libdir}/chromium/libffmpeg.so %else %files %defattr(-,root,root,-) %verify(not mode) %{_libexecdir}/chrome_sandbox %doc AUTHORS LICENSE %config %{_sysconfdir}/%{name} %config(noreplace) %{_sysconfdir}/default/chromium %dir %{_datadir}/gnome-control-center %dir %{_datadir}/gnome-control-center/default-apps %{_libdir}/chromium/ %{_mandir}/man1/chrom* %{_datadir}/applications/*.desktop %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %{_datadir}/icons/hicolor/ %{_libexecdir}/chrome_sandbox %exclude %{_libdir}/chromium/libffmpeg.so %exclude %{_libdir}/chromium/chromium-kde %exclude %{_libdir}/chromium/chromium-gnome %exclude %{_libdir}/chromium/chromedriver %{_bindir}/chromium %ghost %{_sysconfdir}/alternatives/chromium %files ffmpegsumo %defattr(-,root,root,-) %{_libdir}/chromium/libffmpeg.so %files desktop-kde %defattr(-,root,root) %ghost %{_sysconfdir}/alternatives/chromium %attr(755, root, root) %{_libdir}/chromium/chromium-kde %files desktop-gnome %defattr(-,root,root) %ghost %{_sysconfdir}/alternatives/chromium %attr(755, root, root) %{_libdir}/chromium/chromium-gnome %files -n chromedriver %defattr(-,root,root,-) %{_libdir}/chromium/chromedriver %endif %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor