Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:Leap:42.1:Update
chromium.5249
chromium.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium.spec of Package chromium.5249
# # 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/ # %define chromium_no_dlopen 1 Name: chromium Version: 51.0.2704.103 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 Source997: courgette.tar.xz Source998: depot_tools.tar.xz Source999: gn-binaries.tar.xz ## 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 Patch4: chromium-master-prefs-path.patch # PATCH-FIX-OPENSUSE Fix some includes specifically for the GCC version used Patch5: chromium-gcc-fixes.patch # PATCH-FIX-UPSTREAM Add more charset aliases Patch6: chromium-more-codec-aliases.patch # PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings Patch7: chromium-sandbox-pie.patch # PATCH-FIX-OPENSUSE Adjust ldflags for better building Patch8: adjust-ldflags-no-keep-memory.patch # PATCH-FIX-OPENSUSE gcc50-fixes.diff - Fix the GCC version detection Patch10: gcc50-fixes.diff # PATCH-FIX-OPENSUSE chromium-46.0.2490.71-fix-missing-i18n_process_css_test.patch - file was removed Patch11: chromium-46.0.2490.71-fix-missing-i18n_process_css_test.patch # PATCH-FIX-OPENSUSE fix_building_widevinecdm_with_chromium.patch - Enable WideVine plugin Patch12: 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 Patch14: fix_network_api_crash.patch # archlinux arm enhancement patches Patch100: arm-webrtc-fix.patch Patch101: chromium-arm-r0.patch BuildRequires: SDL-devel BuildRequires: alsa-devel BuildRequires: bison BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: dirac-devel >= 1.0.0 BuildRequires: fdupes BuildRequires: flac-devel BuildRequires: flex BuildRequires: freetype2-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gperf BuildRequires: hicolor-icon-theme BuildRequires: hunspell-devel BuildRequires: imlib2-devel BuildRequires: krb5 BuildRequires: krb5-devel BuildRequires: libbz2-devel BuildRequires: libcap-devel BuildRequires: libdc1394 BuildRequires: libdc1394-devel BuildRequires: libdrm-devel BuildRequires: libelf-devel BuildRequires: libexpat-devel BuildRequires: libgcrypt-devel BuildRequires: libgnome-keyring-devel BuildRequires: libgsm BuildRequires: libgsm-devel BuildRequires: libjack-devel BuildRequires: libjpeg-devel BuildRequires: libogg-devel BuildRequires: liboil-devel >= 0.3.15 BuildRequires: libopenssl-devel BuildRequires: libpulse-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: python-xml BuildRequires: schroedinger-devel BuildRequires: slang-devel BuildRequires: sqlite3-devel BuildRequires: texinfo BuildRequires: update-desktop-files BuildRequires: util-linux BuildRequires: valgrind-devel BuildRequires: wdiff BuildRequires: perl(Switch) 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(libcrypto) BuildRequires: pkgconfig(libexif) BuildRequires: pkgconfig(libffi) BuildRequires: pkgconfig(libudev) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(nspr) >= 4.9.5 BuildRequires: pkgconfig(nss) >= 3.14 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: chromium-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} # There is no v8 for ppc and thus chromium won't run on ppc. For aarch64 certain buildrequires are missing (e.g. valgrind) ExcludeArch: aarch64 ppc ppc64 ppc64le #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 %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) 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. Please be aware that by this change the old password are no longer accessible and are also not converted to kwallet. %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. Please be aware that by this change the old password are no longer accessible and are also not converted to Gnome's Keyring. %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} = %{version} Conflicts: otherproviders(ffmpegsumo) Provides: ffmpegsumo = %{version} %description ffmpeg FFMPEG library built from the chromium sources. %endif %prep %setup -q -a 999 -a 998 %patch1 %patch6 %patch4 %patch5 %patch7 %patch8 %if 0%{?suse_version} > 1320 %patch10 %endif %patch11 -p1 %patch12 -p1 %patch14 #Upstream fixes # archlinux arm enhancements %patch100 %patch101 export PATH="$PATH":`pwd`/depot_tools %build PARSED_OPT_FLAGS=`echo \'%{optflags} -D_GNU_SOURCE\' | sed "s/ /',/g" | sed "s/',/', '/g"` #' sed -i "s|'-O<(release_optimize)'|$PARSED_OPT_FLAGS|g" build/common.gypi myconf+="-Dwerror= -Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium -Denable_hotwording=0 -Duse_system_ffmpeg=0 -Dbuild_ffmpegsumo=1 -Duse_system_libjpeg=1 -Dproprietary_codecs=1 -Dremove_webcore_debug_symbols=1 -Dlogging_like_official_build=1 -Dlinux_fpic=1 -Dcomponent=shared_library -Dtoolkit_uses_gtk=0 -Denable_pepper_cdms=1 -Denable_webrtc=1 -Denable_widevine=1" %if 0%{?packman_bs} myconf+=" -Dffmpeg_branding=Chrome" %endif myconf+=" -Ddisable_nacl=1" %ifarch x86_64 myconf+=" -Dtarget_arch=x64 -Ddisable_sse2=0" %else myconf+=" -Dbinutils_dir=third_party/binutils/Linux_ia32/Release/bin -Ddisable_fatal_linker_warnings=1 -Ddisable_sse2=1" %endif %ifarch %arm myconf+=" -Dtarget_arch=arm -Dsysroot= -Ddisable_nacl=1" %endif %ifarch armv6hl armv7hl myconf+=" -Darm_float_abi=hard" %endif myconf+=" -Dclang=0 -Duse_sysroot=0" %if 0%{?chromium_no_dlopen} myconf+=" -Duse_pulseaudio=1 -Dlinux_link_libpci=1 -Dlinux_link_gnome_keyring=1 -Dlinux_link_gsettings=1 -Dlinux_link_libgps=1" %ifnarch %ix86 #myconf+=" -Dlinux_link_kerberos=1" %endif %endif %if 0%{?suse_version} > 1310 myconf+=" -Dpython_ver=2.7" %ifarch x86_64 myconf+=" -Dsystem_libdir=lib64" %endif %endif myconf+=" -Djavascript_engine=v8 " myconf+=" -Dlinux_use_gold_binary=0 -Dlinux_use_gold_flags=0" # 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. myconf+=" -Dgoogle_api_key=AIzaSyD1hTe85_a14kr1Ks8T3Ce75rvbR1_Dx7Q -Dgoogle_default_client_id=4139804441.apps.googleusercontent.com -Dgoogle_default_client_secret=KDTRKEZk2jwT_7CDpcmMA--P" build/linux/unbundle/replace_gyp_files.py $myconf export GYP_GENERATORS='ninja' %if 0%{?packman_bs} ./build/gyp_chromium build/all.gyp --no-parallel --depth . $myconf ninja -C out/Release ffmpeg %else ./build/gyp_chromium build/all.gyp --depth . $myconf ninja -C out/Release chrome # Build the required SUID_SANDBOX helper ninja -C out/Release chrome_sandbox # Build the ChromeDriver test suite ninja -C out/Release chromedriver %endif %install mkdir -p %{buildroot}%{_libdir}/chromium/lib %if 0%{?packman_bs} pushd out/Release cp -av lib/*.so %{buildroot}%{_libdir}/chromium/lib/ 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 *.pak locales xdg-mime icudtl.dat %{buildroot}%{_libdir}/chromium/ cp -a chromedriver %{buildroot}%{_libdir}/chromium/ # 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 cp -a *_blob.bin %{buildroot}%{_libdir}/chromium/ %fdupes %{buildroot}%{_mandir}/man1/ # chromium components mkdir -p %{buildroot}%{_libdir}/chromium/lib/ cp -av lib/*.so %{buildroot}%{_libdir}/chromium/lib/ 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 %postun %icon_theme_cache_postun %desktop_database_postun if [ $1 -eq 0 ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-generic fi %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} %files ffmpeg %defattr(-,root,root,-) %dir %{_libdir}/chromium %dir %{_libdir}/chromium/lib %{_libdir}/chromium/lib/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/lib/*ffmpeg*.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/lib/*ffmpeg*.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