%bcond_without system_flac # with system flac
%bcond_without system_libwebp # with system libwebp
%bcond_without system_speex # with system speex
-%bcond_without system_v8 # with system v8
+%bcond_with system_v8 # with system v8
%bcond_without system_vpx # with system vpx
%bcond_without system_yasm # with system yasm
%bcond_without system_zlib # with system zlib
+%bcond_without libjpegturbo # use libjpeg-turbo features
%bcond_with verbose # verbose build (V=1)
# TODO
# or:
# http://carme.pld-linux.org/~glen/chromium-browser/th/x86_64/chromium-nightly.conf
-%define svndate %{nil}
-%define svnver 113337
-%define rel 1
-
%define gyp_rev 1014
Summary: A WebKit powered web browser
Name: chromium-browser
-Version: 16.0.912.63
-Release: 0.%{svnver}.%{rel}
+Version: 18.0.1025.162
+Release: 1
License: BSD, LGPL v2+ (ffmpeg)
Group: X11/Applications/Networking
-Source0: http://carme.pld-linux.org/~glen/chromium-browser/src/beta/%{name}_%{version}~r%{svnver}.orig.tar.gz
-# Source0-md5: c01869f276a9bf5f651771d93b07dac8
-#SourceX: http://ppa.launchpad.net/chromium-daily/ppa/ubuntu/pool/main/c/chromium-browser/%{name}_%{version}~svn%{svndate}r%{svnver}.orig.tar.gz
+Source0: http://carme.pld-linux.org/~glen/chromium-browser/src/stable/%{name}-%{version}.tar.xz
+# Source0-md5: 189c506b33faeecf2c80617b170201b8
Source2: %{name}.sh
Source3: %{name}.desktop
-Source4: find-lang.sh
-Source5: update-source.sh
-Source6: clean-source.sh
+Source5: find-lang.sh
+Source6: update-source.sh
+Source7: clean-source.sh
+Source8: get-source.sh
Patch0: system-libs.patch
Patch1: plugin-searchdirs.patch
Patch2: gyp-system-minizip.patch
Patch7: dlopen_sonamed_gl.patch
Patch8: chromium_useragent.patch.in
Patch9: system-expat.patch
+Patch10: %{name}-pulse.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: chromium-glib.patch
URL: http://www.chromium.org/Home
%{?with_gconf:BuildRequires: GConf2-devel}
BuildRequires: OpenGL-GLU-devel
BuildRequires: gperf
BuildRequires: gtk+2-devel
%{?with_kerberos:BuildRequires: heimdal-devel}
+BuildRequires: hicolor-icon-theme
BuildRequires: libevent-devel
%{?with_keyring:BuildRequires: libgnome-keyring-devel}
BuildRequires: libicu-devel >= 4.6
BuildRequires: libjpeg-devel
+%{?with_libjpegturbo:BuildRequires: libjpeg-turbo-devel >= 1.2.0}
BuildRequires: libpng-devel
%{?with_selinux:BuildRequires: libselinux-devel}
BuildRequires: libstdc++-devel
BuildRequires: sqlite3-devel >= 3.6.1
BuildRequires: tar >= 1:1.22
BuildRequires: util-linux
-%{?with_system_v8:BuildRequires: v8-devel >= 3.6}
+%{?with_system_v8:BuildRequires: v8-devel >= 3.7}
BuildRequires: which
BuildRequires: xorg-lib-libXScrnSaver-devel
BuildRequires: xorg-lib-libXt-devel
BuildRequires: xorg-lib-libXtst-devel
+BuildRequires: xz
%{?with_system_yasm:BuildRequires: yasm}
%{?with_system_zlib:BuildRequires: zlib-devel}
Requires: browser-plugins >= 2.0
Requires: desktop-file-utils
+Requires: hicolor-icon-theme
%{?with_system_vpx:Requires: libvpx >= 0.9.5-2}
Requires: xdg-utils >= 1.0.2-4
+%{?with_libjpegturbo:Requires: libjpeg-turbo >= 1.2.0}
Provides: wwwbrowser
Obsoletes: chromium-browser-bookmark_manager < 5.0.388.0
Obsoletes: chromium-browser-inspector < 15.0.863.0
%define _enable_debug_packages 0
%endif
-# undefine if empty, makes prep simplier
-%if "%{svndate}" == "%{nil}"
-%undefine svndate
-%endif
-
%description
Chromium is an open-source browser project that aims to build a safer,
faster, and more stable way for all Internet users to experience the
zh-TW
%prep
-%setup -q -n %{name}-%{version}~%{?svndate:svn%{svndate}}r%{svnver}
-SRC=%{name}-%{version}~%{?svndate:svn%{svndate}}r%{svnver}-source.tar.*
-tar xf $SRC
-%{__rm} $SRC
+%setup -q
# 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 src/DEPS | cut -d'"' -f6 | cut -d@ -f2)
test "$gyp_rev" = %{gyp_rev} || :
-v8_ver=$(awk 'NR=1 {print $NF; exit}' src/v8/ChangeLog)
+v8_ver=$(awk 'NR=1 {print $NF; exit}' src/v8/ChangeLog || :)
# Populate the LASTCHANGE file template as we no longer have the VCS files at this point
-echo "%{svnver}" > src/build/LASTCHANGE.in
+#echo "%{svnver}" > src/build/LASTCHANGE.in
# add chromium and pld to useragent
%define pld_version %(echo %{pld_release} | sed -e 'y/[at]/[AT]/')
-e 's/@BUILD_DIST_VERSION@/%{pld_version}/g' \
< %{PATCH8} | %{__patch} -p1
-%{__sed} -e 's,@localedir@,%{_libdir}/%{name},' %{SOURCE4} > find-lang.sh
-ln -s %{SOURCE6} src
+%{__sed} -e 's,@localedir@,%{_libdir}/%{name},' %{SOURCE5} > find-lang.sh
+ln -s %{SOURCE7} src
%patch0 -p1
%patch1 -p1
%patch7 -p1
cd src
%patch9 -p1
+%patch10 -p1
+%{!?with_libjpegturbo:%patch11 -p0}
+%patch12 -p3
cd ..
cd src
-sh -x clean-source.sh %{?with_system_v8:v8=1} %{?with_nacl:nacl=1}
+sh -x clean-source.sh %{!?with_system_v8:v8=0} %{!?with_nacl:nacl=0}
%build
cd src
%install
rm -rf $RPM_BUILD_ROOT
-install -d $RPM_BUILD_ROOT{%{_bindir},%{_libdir}/%{name}/{themes,locales,plugins,extensions,resources},%{_mandir}/man1,%{_pixmapsdir},%{_desktopdir}}
+install -d $RPM_BUILD_ROOT%{_libdir}/%{name}/{themes,plugins,extensions} \
+ $RPM_BUILD_ROOT{%{_bindir},%{_mandir}/man1,%{_desktopdir}}
cd src/out/%{!?debug:Release}%{?debug:Debug}
install -p %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/%{name}
cd -
-cp -p src/chrome/app/theme/chromium/product_logo_48.png $RPM_BUILD_ROOT%{_pixmapsdir}/%{name}.png
+for icon in src/chrome/app/theme/chromium/product_logo_[0-9]*.png; do
+ size=${icon##*/product_logo_}
+ size=${size%.png}
+
+ # this will skip non-numeric (22_mono_invert, 22_mono)
+ dir=%{_iconsdir}/hicolor/${size}x${size}/apps
+ test -d "$dir" || continue
+
+ install -d $RPM_BUILD_ROOT$dir
+ cp -p $icon $RPM_BUILD_ROOT$dir/%{name}.png
+done
%browser_plugins_add_browser %{name} -p %{_libdir}/%{name}/plugins -b <<'EOF'
# http://code.google.com/p/chromium/issues/detail?id=24507
rm -rf $RPM_BUILD_ROOT
%post
+%update_icon_cache hicolor
%update_desktop_database
%update_browser_plugins
%postun
if [ "$1" = 0 ]; then
+ %update_icon_cache hicolor
%update_browser_plugins
fi
%config(noreplace) %verify(not md5 mtime size) %{_browserpluginsconfdir}/blacklist.d/%{name}.*.blacklist
%attr(755,root,root) %{_bindir}/%{name}
%{_mandir}/man1/%{name}.1*
-%{_pixmapsdir}/%{name}.png
%{_desktopdir}/*.desktop
+%{_iconsdir}/hicolor/*/apps/%{name}.png
%dir %{_libdir}/%{name}
%{_libdir}/%{name}/chrome.pak
+%{_libdir}/%{name}/content_resources.pak
%{_libdir}/%{name}/resources.pak
%dir %{_libdir}/%{name}/locales
%{_libdir}/%{name}/locales/en-US.pak