Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
openSUSE:12.2:ARM
chromium
chromium.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium.spec of Package chromium
# # spec file for package chromium # # Copyright (c) 2012 SUSE LINUX Products 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 v8_ver 3.12.19.1 %define svn_revision 149858M Name: chromium Version: 22.0.1226.0 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: %{name}.%{version}.svn%{svn_revision}.tar.bz2 %if 0%{?suse_version} == 1140 Source1: %{name}.easy Source2: %{name}-rpmlintrc %endif Source20: chromium-vendor.patch.in Source30: master_preferences Source31: default_bookmarks.html Source99: chrome-wrapper Source100: chromium-browser.sh Source101: chromium-browser.desktop Source102: chromium-browser.xml Source104: chromium-icons.tar.bz2 Provides: chromium-based-browser = %{version} Provides: chromium-browser = %{version} Provides: browser(npapi) Obsoletes: chromium-browser < %{version} # There is no v8 for ppc and thus chromium won't run on ppc ExcludeArch: ppc ppc64 ## Start Patches # Many changes to the gyp systems so we can use system libraries # PATCH-FIX-OPENSUSE Fix build with GCC 4.6 Patch1: chromium-gcc46.patch # PATCH-FIX-OPENSUSE patches in system zlib library Patch8: chromium-codechanges-zlib.patch # PATCH-FIX-OPENSUSE removes build part for courgette Patch13: chromium-no-courgette.patch # PATCH-FIX-OPENSUSE enables reading of the master preference Patch14: chromium-master-prefs-path.patch # PATCH-FIX-OPENSUSE patches in system glew library Patch17: chromium-system-glew.patch # PATCH-FIX-OPENSUSE patches in system expat library Patch18: chromium-system-expat.patch # PATCH-FIX-OPENSUSE disables the requirement for ffmpeg Patch20: chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch # PATCH-FIX-OPENSUSE disable the use of tcmallic function Patch25: tcmalloc-factory.patch # PATCH-FIX-OPENSUSE make sure that Chrome remoting is linking against the system libvpx Patch26: chromium-remoting-build-fix.diff # PATCH-FIX-OPENSUSE patches in system speex library Patch28: chromium-7.0.500.0-system-speex.patch # PATCH-FIX-OPENSUSE patches in the system libvpx library Patch32: chromium-7.0.542.0-system-libvpx.patch # PATCH-FIX-OPENSUSE remove the rpath in the libraries Patch62: chromium-norpath.patch # PATCH-FIX-OPENSUSE patches in the system v8 library Patch63: chromium-6.0.406.0-system-gyp-v8.patch # PATCH-FIX-UPSTREAM Add more charset aliases Patch64: chromium-more-codec-aliases.patch # PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings Patch66: chromium-sandbox-pie.patch # PATCH-FIX-OPENSUSE Compile with the standard gold linker Patch67: chromium_use_gold.patch # PATCH-FIX-OPENSUSE Fix build with GCC 4.7 Patch68: chromium-gcc47.patch # PATCH-FIX-OPENSUSE Fix build with glibc 2.16 Patch69: chromium-siginfo.patch %if 0%{?suse_version} > 1210 BuildRequires: libjpeg8-devel %endif BuildRequires: Mesa-devel BuildRequires: alsa-devel BuildRequires: binutils-gold BuildRequires: bison BuildRequires: cups-devel BuildRequires: desktop-file-utils BuildRequires: fdupes BuildRequires: flex BuildRequires: freetype2-devel BuildRequires: gcc BuildRequires: gcc-c++ BuildRequires: gperf BuildRequires: hunspell-devel BuildRequires: krb5-devel BuildRequires: libbz2-devel BuildRequires: libevent BuildRequires: libexpat-devel BuildRequires: libgnutls-devel BuildRequires: libpng-devel BuildRequires: libstdc++-devel BuildRequires: libvpx-devel BuildRequires: libxslt-devel BuildRequires: libzip-devel BuildRequires: lzma BuildRequires: mozilla-nspr-devel BuildRequires: mozilla-nss-devel BuildRequires: openssl-devel BuildRequires: pam-devel BuildRequires: pkg-config BuildRequires: subversion %if 0%{?suse_version} > 1210 BuildRequires: perl-Switch %else BuildRequires: perl(Switch) %endif BuildRequires: dbus-1-glib-devel BuildRequires: dbus-1-glib-devel BuildRequires: hicolor-icon-theme BuildRequires: libelf-devel BuildRequires: libevent-devel BuildRequires: libgnome-keyring-devel BuildRequires: libicu-devel >= 4.0 BuildRequires: libpulse-devel BuildRequires: python BuildRequires: python-devel BuildRequires: python-xml BuildRequires: speex-devel BuildRequires: sqlite3-devel BuildRequires: update-desktop-files BuildRequires: v8-devel = %{v8_ver} BuildRequires: wdiff BuildRequires: zlib-devel 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(libxml-2.0) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) BuildRequires: pkgconfig(xext) BuildRequires: pkgconfig(xfixes) BuildRequires: pkgconfig(xi) BuildRequires: pkgconfig(xrender) BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xt) %if 0%{?suse_version} < 1210 BuildRequires: libudev-devel %endif # For NaCl %ifarch x86_64 BuildRequires: gcc-c++-32bit BuildRequires: glibc-32bit BuildRequires: zlib-32bit %endif Requires: alsa Requires: hicolor-icon-theme Requires: libv8-3 = %{v8_ver} Requires: update-alternatives Requires: xdg-utils Requires(pre): permissions Recommends: Chromium-password = %{version} Requires: %{name}-suid-helper = %{version} # Recommends the chromium-ffmpeg library (available from packman) Recommends: chromium-ffmpeg = %{version} %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 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 Supplements: packageand(chromium:kdebase4-session) Conflicts: chromium-desktop-gnome Provides: Chromium-password = %{version} Requires(post): chromium = %{version} %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 Supplements: packageand(chromium:gnome-session) Conflicts: chromium-desktop-kde Provides: Chromium-password = %{version} Requires(post): chromium = %{version} Requires: libgnome %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 suid-helper Summary: A suid helper to let a process willingly drop privileges on Linux License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Url: http://code.google.com/p/setuid-sandbox/ Requires(pre): permissions %description suid-helper t will allow a process to execute a target executable that will be able to drop privileges: * The suid sandbox will create a new PID namespace or will switch uid/gid to isolate the process * a helper process, sharing the filesystem view of the existing process, will be created. It will accept a request to chroot() the process to an empty directory This is convenient because an executable can be launched, load libraries and open files and get chroot()-ed to an empty directory when it wants to drop filesystem access. %package -n chromedriver Summary: WebDriver for Google Chrome/Chromium License: BSD-3-Clause Group: Development/Tools/Other Url: http://code.google.com/p/chromedriver/ Requires: libv8-3 = %{v8_ver} %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. %prep %setup -q -n %{name} %patch1 -p1 %patch62 -p1 %patch63 -p1 %patch64 %patch8 -p1 %patch13 -p1 %patch14 -p1 %patch17 -p1 %patch18 -p1 %patch20 -p1 %if 0%{?suse_version} == 1140 %patch25 -p1 %endif %patch26 -p1 %patch28 -p1 %patch32 -p1 %patch66 -p1 %patch67 -p1 %patch68 -p1 %patch69 -p1 echo "svn%{svn_revision}" > src/build/LASTCHANGE.in # apply vendor patch after substitution sed "s:RPM_VERSION:%{version}:" %{SOURCE20} | patch -p0 # Make sure that the requires legal files can be found cp -a src/AUTHORS src/LICENSE . %build ## create make files PARSED_OPT_FLAGS=`echo \'%{optflags} -DUSE_SYSTEM_LIBEVENT -fPIC -fno-ipa-cp -fno-strict-aliasing \' | sed "s/ /',/g" | sed "s/',/', '/g"` for i in src/build/common.gypi; do sed -i "s|'-march=pentium4',||g" $i %ifnarch x86_64 sed -i "s|'-mfpmath=sse',||g" $i %endif sed -i "s|'-O<(debug_optimize)',||g" $i sed -i "s|'-m32',||g" $i sed -i "s|'-fno-exceptions',|$PARSED_OPT_FLAGS|g" $i sed -i "s|'-Werror'|'-Wno-error'|g" $i done # ' pushd src ./build/gyp_chromium -f make build/all.gyp \ -Dlinux_sandbox_path=%{_prefix}/lib/chrome_sandbox \ -Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium \ -Duse_openssl=0 \ -Duse_system_ffmpeg=1 \ -Dbuild_ffmpegsumo=1 \ -Duse_system_zlib=1 \ -Duse_system_libpng=1 \ -Duse_system_bzip2=1 \ -Duse_system_libbz2=1 \ %if 0%{?suse_version} > 1210 -Duse_system_libjpeg=1 \ %else -Duse_system_libjpeg=0 \ %endif -Duse_system_libxml=1 \ -Duse_system_libxslt=1 \ -Duse_system_libevent=1 \ -Duse_system_vpx=1 \ -Dremove_webcore_debug_symbols=1 \ -Duse_system_v8=1 \ -Dproprietary_codecs=1 \ -Dlinux_fpic=1 \ %ifnarch x86_64 -Ddisable_sse2=1 \ %endif %ifarch x86_64 -Dtarget_arch=x64 \ %endif %if 0%{?suse_version} == 1140 %ifnarch x86_64 -Dlinux_use_gold_flags=0 \ -Dlinux_use_gold_binary=0 \ %else -Dlinux_use_gold_flags=1 \ -Dlinux_use_gold_binary=1 \ %endif %else -Dlinux_use_gold_flags=1 \ -Dlinux_use_gold_binary=1 \ %endif -Djavascript_engine=v8 make -r %{?_smp_mflags} chrome V=1 BUILDTYPE=Release # Build the required SUID_SANDBOX helper make -r %{?_smp_mflags} chrome_sandbox V=1 BUILDTYPE=Release # Build the ChromeDriver test suite make -r %{?_smp_mflags} chromedriver V=1 BUILDTYPE=Release popd %install mkdir -p %{buildroot}%{_libdir}/chromium/ %ifarch x86_64 mkdir -p %{buildroot}%{_prefix}/lib/ %endif install -m 755 %{SOURCE100} %{buildroot}%{_libdir}/chromium/chromium-generic # x86_64 capable systems need this sed -i "s|/usr/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_libdir}/chromium/chromium-generic %if 0%{?suse_version} == 1140 # Set the permissions file for distro version equal or lower than 11.4. (bnc#718016) mkdir -p %{buildroot}%{_sysconfdir}/permissions.d install -m 644 %{SOURCE1} %{buildroot}%{_sysconfdir}/permissions.d/chromium %endif #update the password-store settings for each alternative sed "s|password-store=detect|password-store=kwallet|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde 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 src/out/Release cp -a chrome_sandbox %{buildroot}%{_prefix}/lib/ cp -a *.pak locales xdg-mime %{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 %fdupes %{buildroot}%{_mandir}/man1/ # NaCl cp -a nacl_helper %{buildroot}%{_libdir}/chromium/ cp -a nacl_helper_bootstrap %{buildroot}%{_libdir}/chromium/ cp -a nacl_irt_*.nexe %{buildroot}%{_libdir}/chromium/ cp -a libppGoogleNaClPluginChrome.so %{buildroot}%{_libdir}/chromium/ 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 %{_libdir}/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} %clean rm -rf %{buildroot} %pre if [ -f %{_bindir}/chromium -a ! -L %{_bindir}/chromium ] ; then rm -f %{_bindir}/chromium fi # Add snipplets to update the GTK cache on package install. %verifyscript suid-helper %verify_permissions -e %{_prefix}/lib/chrome_sandbox %post suid-helper %set_permissions %{_prefix}/lib/chrome_sandbox %post %icon_theme_cache_post %desktop_database_post update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10 %postun %icon_theme_cache_postun %desktop_database_postun if [ $1 -eq 0 ]; then update-alternatives --remove-all chromium fi %post desktop-kde if [ ! -e /.buildenv ]; then update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-kde 15 update-alternatives --auto chromium fi %postun desktop-kde if [ $1 -eq 0 -a ! -e /.buildenv ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-kde update-alternatives --auto chromium fi %post desktop-gnome if [ ! -e /.buildenv ]; then update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-gnome 15 update-alternatives --auto chromium fi %postun desktop-gnome if [ $1 -eq 0 -a ! -e /.buildenv ]; then update-alternatives --remove chromium %{_libdir}/chromium/chromium-gnome update-alternatives --auto chromium fi # Files! %files %defattr(-,root,root,-) %doc AUTHORS LICENSE %config %{_sysconfdir}/%{name} %dir %{_datadir}/gnome-control-center %dir %{_datadir}/gnome-control-center/default-apps %dir %{_libdir}/chromium/ %{_libdir}/chromium/chromium %{_libdir}/chromium/chromium-generic %{_libdir}/chromium/plugins/ %{_libdir}/chromium/locales/ %{_libdir}/chromium/nacl_* %{_libdir}/chromium/libppGoogleNaClPluginChrome.so %attr(755,root,root) %{_libdir}/chromium/xdg-settings %attr(755,root,root) %{_libdir}/chromium/xdg-mime %{_libdir}/chromium/*.pak %{_mandir}/man1/chrom* %{_datadir}/applications/*.desktop %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %{_datadir}/icons/hicolor/ %files desktop-kde %attr(755, root, root) %{_libdir}/chromium/chromium-kde %files desktop-gnome %attr(755, root, root) %{_libdir}/chromium/chromium-gnome %files suid-helper %defattr(-,root,root,-) %if 0%{?suse_version} == 1140 %config %{_sysconfdir}/permissions.d/chromium %endif %verify(not mode) %{_prefix}/lib/chrome_sandbox %files -n chromedriver %defattr(-,root,root,-) %{_libdir}/chromium/chromedriver %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