%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_with nacl # build Native Client support, disabled: http://crbug.com/269560
+%bcond_with ninja # use Ninja instead of make to build
%bcond_without pulseaudio # with pulseaudio
%bcond_without sandboxing # with sandboxing
%bcond_with selinux # with SELinux (need policy first)
# - http://code.google.com/p/chromium/wiki/LinuxBuildInstructionsPrerequisites
# - to look for new tarball, use update-source.sh script
-%define branch 33.0.1750
-%define basever 117
-#define patchver 107
+%define branch 34.0.1847
+%define basever 116
+%define patchver 132
%define gyp_rev 1014
Summary: A WebKit powered web browser
Name: chromium-browser
%else
Version: %{branch}.%{basever}
%endif
-Release: 1
+Release: 2
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
-# Source0-md5: 0811b1c65f2b8d1ebf00664ddb2f5e05
+# Source0-md5: 987b25c0a3aa7bc2354c573113e94e04
%if "%{?patchver}" != ""
Patch0: http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{version}.patch.xz
-# Patch0-md5: 82e3012b5510187907bba50dadbe7137
+# Patch0-md5: 4eafe1e64bd47a11dbfaf61a2dd50b6e
%endif
Source1: %{name}.default
Source2: %{name}.sh
Source8: get-source.sh
Source9: master_preferences.json
Patch1: plugin-searchdirs.patch
+Patch2: enable-video-decode-accel.patch
Patch4: path-libpdf.patch
Patch7: dlopen_sonamed_gl.patch
Patch8: chromium_useragent.patch.in
-Patch10: system-libxnvctrl.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
-Patch12: system-ffmpeg.patch
Patch15: nacl-build-irt.patch
Patch16: nacl-linkingfix.patch
Patch18: nacl-no-untar.patch
Patch31: system-jinja.patch
Patch32: remove_bundled_libraries-stale.patch
Patch33: gn.patch
+Patch34: depot-tools.patch
URL: http://www.chromium.org/Home
%{?with_gconf:BuildRequires: GConf2-devel}
%{?with_system_mesa:BuildRequires: Mesa-libGL-devel >= 9.1}
BuildRequires: libxslt-devel
BuildRequires: man-db
%{?with_system_minizip:BuildRequires: minizip-devel}
+%{?with_ninja:BuildRequires: ninja >= 1.3.0}
BuildRequires: nspr-devel
BuildRequires: nss-devel >= 1:3.12.3
%{?with_system_opus:BuildRequires: opus-devel >= 1.0.2}
%define target_arch x64
%endif
+%define buildtype %{?debug:Debug}%{!?debug:Release}
+%define builddir out/%{buildtype}
+
%if %{without debuginfo}
%define _enable_debug_packages 0
%endif
%prep
%setup -qc
%if "%{?patchver}" != ""
-cd %{name}-%{branch}.%{basever}
+cd chromium*-%{branch}.%{basever}
%patch0 -p1
cd ..
%endif
-mv %{name}-%{branch}.%{basever}/* .
+mv chromium*-%{branch}.%{basever}/* .
# 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} || :
-. ./v8.sh
-v8=$MAJOR_VERSION.$MINOR_VERSION.$BUILD_NUMBER.$PATCH_LEVEL
-
# 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' \
ln -s %{SOURCE7} .
%patch1 -p1
+#%patch2 -p1 NOT COMPILING
%patch4 -p3
%patch7 -p1
-%patch10 -p1
%patch15 -p2
%{!?with_libjpegturbo:%patch11 -p0}
-%patch12 -p1
%patch16 -p1
%patch28 -p1
%patch25 -p1
%{?with_nacl:%patch18 -p1}
%patch24 -p2
%patch26 -p2
-%patch30 -p1
-%patch31 -p0
+#%patch30 -p1
+#%patch31 -p0
%patch32 -p1
-%patch33 -p0
+%patch33 -p1
+%patch34 -p0
sh -x clean-source.sh \
%{!?with_nacl:nacl=0} \
%endif
%if %{without system_ffmpeg}
-# Re-configure bundled ffmpeg
-cd third_party/ffmpeg
-chromium/scripts/build_ffmpeg.sh linux %{target_arch} "$PWD" config-only
-chromium/scripts/copy_config.sh
-cd -
+if [ ! -d third_party/ffmpeg/build.%{target_arch}.linux ]; then
+ # Re-configure bundled ffmpeg
+ cd third_party/ffmpeg
+ chromium/scripts/build_ffmpeg.sh linux %{target_arch} "$PWD" config-only
+ chromium/scripts/copy_config.sh
+ cd -
+fi
%endif
flags="
%{!?debuginfo:-Dfastbuild=1 -Dremove_webcore_debug_symbols=1} \
%{?with_shared_libs:-Dlibrary=shared_library} \
%{!?with_system_ffmpeg:-Dbuild_ffmpegsumo=1} -Dproprietary_codecs=1 \
- -Dinclude_tests=0 \
+ -Dinclude_tests__=0 \
%if %{with nacl}
-Dnaclsdk_mode=custom:/usr/x86_64-nacl \
-Ddisable_glibc_untar=1 \
build/linux/unbundle/replace_gyp_files.py $flags
-test %{_specdir}/%{name}.spec -nt Makefile && %{__rm} -f Makefile
-test -e Makefile || \
+%if %{with ninja}
+chkfile=%{builddir}/build.ninja
+%else
+chkfile=Makefile
+%endif
+test %{_specdir}/%{name}.spec -nt $chkfile && %{__rm} -f $chkfile
+test -e $chkfile || \
CC="%{__cc}" \
CXX="%{__cxx}" \
LDFLAGS="%{rpmldflags} -fuse-ld=gold" \
CXX_host="%{__cxx}" \
LD_host="%{__cxx}" \
%{__python} build/gyp_chromium \
- --format=make \
+ --format=%{?with_ninja:ninja}%{!?with_ninja:make} \
--depth=. \
build/all.gyp \
$flags
+%if %{with ninja}
+ninja %{?_smp_mflags} %{?with_verbose:-v} -C %{builddir} \
+%else
# need {CC/CXX/LDFLAGS}.host overrides for v8 build
-%{__make} -r chrome %{?with_sandboxing:chrome_sandbox} \
- BUILDTYPE=%{!?debug:Release}%{?debug:Debug} \
+%{__make} -r \
+ BUILDTYPE=%{buildtype} \
%{?with_verbose:V=1} \
CC.host="%{__cc}" \
CXX.host="%{__cxx}" \
LDFLAGS.host="%{rpmldflags} -fuse-ld=gold" \
+%endif
+ chrome %{?with_sandboxing:chrome_sandbox} \
+ %{nil}
-cd out/%{!?debug:Release}%{?debug:Debug}
+cd %{builddir}
MANWIDTH=80 man ./chrome.1 > man.out
%{__sed} -e '1,/OPTIONS/d; /ENVIRONMENT/,$d' man.out > options.txt
$RPM_BUILD_ROOT%{_datadir}/%{name}/{locales,resources} \
$RPM_BUILD_ROOT{%{_bindir},%{_sysconfdir}/%{name},%{_mandir}/man1,%{_desktopdir}}
-cd out/%{!?debug:Release}%{?debug:Debug}
+cp -p third_party/icu/source/data/in/icudtl.dat $RPM_BUILD_ROOT%{_libdir}/%{name}
+
+cd %{builddir}
cp -p %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/default
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
%{__sed} -i -e '
}
' $RPM_BUILD_ROOT%{_bindir}/%{name}
cp -a locales resources $RPM_BUILD_ROOT%{_datadir}/%{name}
-cp -a *.pak $RPM_BUILD_ROOT%{_libdir}/%{name}
+cp -p *.pak $RPM_BUILD_ROOT%{_libdir}/%{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
%{_iconsdir}/hicolor/*/apps/%{name}.png
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/chrome*.pak
+%{_libdir}/%{name}/icudtl.dat
%{_libdir}/%{name}/content_resources.pak
%{_libdir}/%{name}/resources.pak
%{_libdir}/%{name}/locales