%bcond_without gconf # with GConf
%bcond_without kerberos # build with kerberos support (dlopened if support compiled, library names in net/http/http_auth_gssapi_posix.cc)
%bcond_without keyring # with keyring support (gnome-keyring dlopened, kwalletd via dbus)
%bcond_with gps # with gps support (linked), if enabled must use exactly same gpsd as shm structures may change leading to unexpected results (crash)
%bcond_without libjpegturbo # use libjpeg-turbo features
%bcond_without gconf # with GConf
%bcond_without kerberos # build with kerberos support (dlopened if support compiled, library names in net/http/http_auth_gssapi_posix.cc)
%bcond_without keyring # with keyring support (gnome-keyring dlopened, kwalletd via dbus)
%bcond_with gps # with gps support (linked), if enabled must use exactly same gpsd as shm structures may change leading to unexpected results (crash)
%bcond_without libjpegturbo # use libjpeg-turbo features
%bcond_without pulseaudio # with pulseaudio
%bcond_without sandboxing # with sandboxing
%bcond_with selinux # with SELinux (need policy first)
%bcond_with shared_libs # with shared libs
%bcond_with sse2 # use SSE2 instructions
%bcond_without system_flac # system flac
%bcond_without pulseaudio # with pulseaudio
%bcond_without sandboxing # with sandboxing
%bcond_with selinux # with SELinux (need policy first)
%bcond_with shared_libs # with shared libs
%bcond_with sse2 # use SSE2 instructions
%bcond_without system_flac # system flac
%bcond_without system_harfbuzz # system harfbuzz
%bcond_without system_jsoncpp # system jsoncpp
%bcond_without system_libexif # system libexif
%bcond_without system_libmtp # system libmtp
%bcond_without system_harfbuzz # system harfbuzz
%bcond_without system_jsoncpp # system jsoncpp
%bcond_without system_libexif # system libexif
%bcond_without system_libmtp # system libmtp
%bcond_without system_minizip # system minizip
%bcond_without system_opus # system opus codec support, http://www.opus-codec.org/examples/
%bcond_without system_protobuf # system protobuf
%bcond_without system_minizip # system minizip
%bcond_without system_opus # system opus codec support, http://www.opus-codec.org/examples/
%bcond_without system_protobuf # system protobuf
%bcond_with system_sqlite # system sqlite WebSQL (http://www.w3.org/TR/webdatabase/) will not work
%bcond_without system_libsrtp # system srtp (can be used if using bundled libjingle)
%bcond_with system_v8 # system v8
%bcond_with system_sqlite # system sqlite WebSQL (http://www.w3.org/TR/webdatabase/) will not work
%bcond_without system_libsrtp # system srtp (can be used if using bundled libjingle)
%bcond_with system_v8 # system v8
# - http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
# - to look for new tarball, use update-source.sh script
# - http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
# - to look for new tarball, use update-source.sh script
License: BSD%{!?with_system_ffmpeg:, LGPL v2+ (ffmpeg)}
Group: X11/Applications/Networking
Source0: http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{branch}.%{basever}.tar.xz
License: BSD%{!?with_system_ffmpeg:, LGPL v2+ (ffmpeg)}
Group: X11/Applications/Networking
Source0: http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{branch}.%{basever}.tar.xz
# https://bugs.gentoo.org/show_bug.cgi?id=393471
# libjpeg-turbo >= 1.1.90 supports that feature
Patch11: chromium-revert-jpeg-swizzle-r2.patch
# https://bugs.gentoo.org/show_bug.cgi?id=393471
# libjpeg-turbo >= 1.1.90 supports that feature
Patch11: chromium-revert-jpeg-swizzle-r2.patch
Patch15: nacl-build-irt.patch
Patch16: nacl-linkingfix.patch
Patch18: nacl-no-untar.patch
Patch15: nacl-build-irt.patch
Patch16: nacl-linkingfix.patch
Patch18: nacl-no-untar.patch
Patch25: gnome3-volume-control.patch
Patch26: master-prefs-path.patch
Patch28: system-mesa.patch
Patch25: gnome3-volume-control.patch
Patch26: master-prefs-path.patch
Patch28: system-mesa.patch
URL: http://www.chromium.org/Home
%{?with_gconf:BuildRequires: GConf2-devel}
%{?with_system_mesa:BuildRequires: Mesa-libGL-devel >= 9.1}
URL: http://www.chromium.org/Home
%{?with_gconf:BuildRequires: GConf2-devel}
%{?with_system_mesa:BuildRequires: Mesa-libGL-devel >= 9.1}
%{?with_system_mesa:BuildRequires: Mesa-libGLU-devel}
%{?with_system_mesa:BuildRequires: Mesa-libOSMesa-devel >= 9.1}
BuildRequires: alsa-lib-devel
%{?with_system_mesa:BuildRequires: Mesa-libGLU-devel}
%{?with_system_mesa:BuildRequires: Mesa-libOSMesa-devel >= 9.1}
BuildRequires: alsa-lib-devel
BuildRequires: gtest-devel
BuildRequires: gtk+2-devel
%{?with_system_harfbuzz:BuildRequires: harfbuzz-devel}
BuildRequires: gtest-devel
BuildRequires: gtk+2-devel
%{?with_system_harfbuzz:BuildRequires: harfbuzz-devel}
%{?with_kerberos:BuildRequires: heimdal-devel}
BuildRequires: hicolor-icon-theme
%{?with_system_jsoncpp:BuildRequires: jsoncpp-devel}
%{?with_kerberos:BuildRequires: heimdal-devel}
BuildRequires: hicolor-icon-theme
%{?with_system_jsoncpp:BuildRequires: jsoncpp-devel}
%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: libstdc++-devel
%{?with_system_libusb:BuildRequires: libusb-devel >= 1.0}
%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: libstdc++-devel
%{?with_system_libusb:BuildRequires: libusb-devel >= 1.0}
-%{?with_system_libvpx:BuildRequires: libvpx-devel >= 0.9.5-2}
-%{?with_system_libwebp:BuildRequires: libwebp-devel >= 0.1.99}
+%{?with_system_libvpx:BuildRequires: libvpx-devel >= 1.3.0}
+%{?with_system_libwebp:BuildRequires: libwebp-devel >= 0.4.0}
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: man-db
%{?with_system_minizip:BuildRequires: minizip-devel}
BuildRequires: libxml2-devel
BuildRequires: libxslt-devel
BuildRequires: man-db
%{?with_system_minizip:BuildRequires: minizip-devel}
BuildRequires: nspr-devel
BuildRequires: nss-devel >= 1:3.12.3
%{?with_system_opus:BuildRequires: opus-devel >= 1.0.2}
BuildRequires: pam-devel
BuildRequires: pango-devel
BuildRequires: pciutils-devel
BuildRequires: nspr-devel
BuildRequires: nss-devel >= 1:3.12.3
%{?with_system_opus:BuildRequires: opus-devel >= 1.0.2}
BuildRequires: pam-devel
BuildRequires: pango-devel
BuildRequires: pciutils-devel
BuildRequires: perl-modules
BuildRequires: pkgconfig
%{?with_system_protobuf:BuildRequires: protobuf-devel}
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
BuildRequires: python
#BuildRequires: python-gyp >= 1-%{gyp_rev}
BuildRequires: perl-modules
BuildRequires: pkgconfig
%{?with_system_protobuf:BuildRequires: protobuf-devel}
%{?with_pulseaudio:BuildRequires: pulseaudio-devel}
BuildRequires: python
#BuildRequires: python-gyp >= 1-%{gyp_rev}
BuildRequires: speech-dispatcher-devel >= 0.8
%{?with_system_speex:BuildRequires: speex-devel >= 1:1.2-rc1}
%{?with_system_sqlite:BuildRequires: sqlite3-devel >= 3.7}
%{?with_system_libsrtp:BuildRequires: srtp-devel >= 1.4.4}
BuildRequires: speech-dispatcher-devel >= 0.8
%{?with_system_speex:BuildRequires: speex-devel >= 1:1.2-rc1}
%{?with_system_sqlite:BuildRequires: sqlite3-devel >= 3.7}
%{?with_system_libsrtp:BuildRequires: srtp-devel >= 1.4.4}
Requires: hicolor-icon-theme
Requires: libevent >= 2.0.21
%{?with_libjpegturbo:Requires: libjpeg-turbo >= 1.2.0}
Requires: hicolor-icon-theme
Requires: libevent >= 2.0.21
%{?with_libjpegturbo:Requires: libjpeg-turbo >= 1.2.0}
%define google_default_client_id 724288223830.apps.googleusercontent.com
%define google_default_client_secret rHmKOPygcI6G-clFHb-RfuHb
%define google_default_client_id 724288223830.apps.googleusercontent.com
%define google_default_client_secret rHmKOPygcI6G-clFHb-RfuHb
# Usage: gyp_with BCOND_NAME [OPTION_NAME]
%define gyp_with() %{expand:%%{?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=1}%%{!?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=0}}
# Usage: gyp_with BCOND_NAME [OPTION_NAME]
%define gyp_with() %{expand:%%{?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=1}%%{!?with_%{1}:-D%{?2:use_%{2}}%{!?2:use_%{1}}=0}}
# Google's versioning is interesting. They never reset "BUILD", which is how we jumped
# from 3.0.201.0 to 4.0.202.0 as they moved to a new major branch
# Google's versioning is interesting. They never reset "BUILD", which is how we jumped
# from 3.0.201.0 to 4.0.202.0 as they moved to a new major branch
gyp_rev=$(grep googlecode_url.*gyp DEPS | cut -d'"' -f6 | cut -d@ -f2)
test "$gyp_rev" = %{gyp_rev} || :
gyp_rev=$(grep googlecode_url.*gyp DEPS | cut -d'"' -f6 | cut -d@ -f2)
test "$gyp_rev" = %{gyp_rev} || :
# add chromium and pld to useragent
%define pld_version %(echo %{pld_release} | sed -e 'y/[at]/[AT]/')
sed -e 's/@BUILD_DIST@/PLD %{pld_version}/g' \
-e 's/@BUILD_DIST_NAME@/PLD/g' \
-e 's/@BUILD_DIST_VERSION@/%{pld_version}/g' \
# add chromium and pld to useragent
%define pld_version %(echo %{pld_release} | sed -e 'y/[at]/[AT]/')
sed -e 's/@BUILD_DIST@/PLD %{pld_version}/g' \
-e 's/@BUILD_DIST_NAME@/PLD/g' \
-e 's/@BUILD_DIST_VERSION@/%{pld_version}/g' \
%{__sed} -e 's,@localedir@,%{_datadir}/%{name},' %{SOURCE5} > find-lang.sh
ln -s %{SOURCE7} .
%{__sed} -e 's,@localedir@,%{_datadir}/%{name},' %{SOURCE5} > find-lang.sh
ln -s %{SOURCE7} .
%{!?with_system_snappy:snappy=0} \
%{!?with_system_sqlite:sqlite=0} \
%{!?with_system_v8:v8=0} \
%{!?with_system_snappy:snappy=0} \
%{!?with_system_sqlite:sqlite=0} \
%{!?with_system_v8:v8=0} \
-flags="
-%ifarch %{ix86}
- -Dtarget_arch=ia32 \
-%endif
-%ifarch %{x8664}
- -Dtarget_arch=x64 \
+%if %{without system_ffmpeg}
+if [ ! -d third_party/ffmpeg/build.%{target_arch}.linux ]; then
+ # Re-configure bundled ffmpeg
+ cd third_party/ffmpeg
+ chromium/scripts/build_ffmpeg.py linux %{target_arch}
+ chromium/scripts/copy_config.sh
+ chromium/scripts/generate_gyp.py
+ cd -
+fi
+
+third_party/libaddressinput/chromium/tools/update-strings.py
+
+flags="
+ -Dtarget_arch=%{target_arch} \
+ -Dpython_arch=%{target_arch} \
+ -Dffmpeg_branding=Chromium \
+ -Dsystem_libdir=%{_lib} \
+ -Dpython_ver=%{py_ver} \
%if "%{cc_version}" >= "4.4.0" && "%{cc_version}" < "4.5.0"
-Dno_strict_aliasing=1 -Dgcc_version=44 \
%endif
%if "%{cc_version}" >= "4.4.0" && "%{cc_version}" < "4.5.0"
-Dno_strict_aliasing=1 -Dgcc_version=44 \
%endif
%{!?debuginfo:-Dfastbuild=1 -Dremove_webcore_debug_symbols=1} \
%{?with_shared_libs:-Dlibrary=shared_library} \
%{!?with_system_ffmpeg:-Dbuild_ffmpegsumo=1} -Dproprietary_codecs=1 \
%{!?debuginfo:-Dfastbuild=1 -Dremove_webcore_debug_symbols=1} \
%{?with_shared_libs:-Dlibrary=shared_library} \
%{!?with_system_ffmpeg:-Dbuild_ffmpegsumo=1} -Dproprietary_codecs=1 \
-Dusb_ids_path=$(pkg-config --variable usbids usbutils) \
-Dlinux_link_libpci=1 \
-Dlinux_link_libspeechd=1 -Dlibspeechd_h_prefix=speech-dispatcher/ \
-Dusb_ids_path=$(pkg-config --variable usbids usbutils) \
-Dlinux_link_libpci=1 \
-Dlinux_link_libspeechd=1 -Dlibspeechd_h_prefix=speech-dispatcher/ \
-Dgoogle_api_key=%{google_api_key} \
-Dgoogle_default_client_id=%{google_default_client_id} \
-Dgoogle_default_client_secret=%{google_default_client_secret} \
-Dgoogle_api_key=%{google_api_key} \
-Dgoogle_default_client_id=%{google_default_client_id} \
-Dgoogle_default_client_secret=%{google_default_client_secret} \
%{gyp_with system_libmtp} \
%{gyp_with system_libsrtp} \
%{gyp_with system_libusb} \
%{gyp_with system_libmtp} \
%{gyp_with system_libsrtp} \
%{gyp_with system_libusb} \
%{gyp_with system_libwebp} \
%{gyp_with system_libxnvctrl} \
%{gyp_with system_mesa} \
%{gyp_with system_libwebp} \
%{gyp_with system_libxnvctrl} \
%{gyp_with system_mesa} \
MANWIDTH=80 man ./chrome.1 > man.out
%{__sed} -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' man.out > options.txt
MANWIDTH=80 man ./chrome.1 > man.out
%{__sed} -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' man.out > options.txt
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins \
$RPM_BUILD_ROOT%{_datadir}/%{name}/{locales,resources} \
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/plugins \
$RPM_BUILD_ROOT%{_datadir}/%{name}/{locales,resources} \
- $RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/%{name},%{_mandir}/man1,%{_desktopdir}}
+ $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_desktopdir}} \
+ $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/{native-messaging-hosts,policies/managed}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
%{__sed} -i -e '
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
%{__sed} -i -e '
ln -s %{_datadir}/%{name}/locales $RPM_BUILD_ROOT%{_libdir}/%{name}/locales
ln -s %{_datadir}/%{name}/resources $RPM_BUILD_ROOT%{_libdir}/%{name}/resources
cp -p chrome.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
install -p chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/%{name}
ln -s %{_datadir}/%{name}/locales $RPM_BUILD_ROOT%{_libdir}/%{name}/locales
ln -s %{_datadir}/%{name}/resources $RPM_BUILD_ROOT%{_libdir}/%{name}/resources
cp -p chrome.1 $RPM_BUILD_ROOT%{_mandir}/man1/%{name}.1
install -p chrome $RPM_BUILD_ROOT%{_libdir}/%{name}/%{name}
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/master_preferences
cp -p %{SOURCE3} $RPM_BUILD_ROOT%{_desktopdir}
cp -p %{SOURCE9} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/master_preferences
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/master_preferences
%dir %{_sysconfdir}/%{name}
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/default
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/master_preferences
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%{_desktopdir}/*.desktop
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
%{_desktopdir}/*.desktop
%{_libdir}/%{name}/resources.pak
%{_libdir}/%{name}/locales
%{_libdir}/%{name}/resources
%{_libdir}/%{name}/resources.pak
%{_libdir}/%{name}/locales
%{_libdir}/%{name}/resources
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/%{name}
# These unique permissions are intentional and necessary for the sandboxing
%dir %{_libdir}/%{name}/plugins
%attr(755,root,root) %{_libdir}/%{name}/%{name}
# These unique permissions are intentional and necessary for the sandboxing