chromium-browser-stable/chromium-browser-stable.spec

325 lines
11 KiB
RPMSpec
Raw Normal View History

2014-11-24 14:25:53 +03:00
%global _build_pkgcheck_set %{nil}
2014-11-24 10:50:36 +03:00
2012-07-04 11:57:27 +04:00
%define crname chromium-browser
%define _crdir %{_libdir}/%{crname}
%define _src %{_topdir}/SOURCES
%define chromium_system_libs 0
2012-07-04 11:57:27 +04:00
Name: chromium-browser-stable
2015-05-14 15:21:52 +03:00
Version: 42.0.2311.153
2015-01-22 08:15:19 +03:00
Release: 1
2015-03-19 07:26:39 -04:00
Summary: A fast web browser based on the Blink engine
2012-07-04 11:57:27 +04:00
Group: Networking/WWW
License: BSD, LGPL
2012-08-03 12:17:13 +04:00
2013-09-02 11:24:58 +04:00
Source0: https://commondatastorage.googleapis.com/chromium-browser-official/chromium-%{version}.tar.xz
2012-07-04 11:57:27 +04:00
Source1: chromium-wrapper
2012-07-24 16:01:58 +04:00
Source30: master_preferences
Source31: default_bookmarks.html
Source32: chromium.default
2012-08-03 12:17:13 +04:00
Source2: chromium-browser.desktop
2012-11-22 17:46:29 +04:00
Source100: icons.tar.bz2
Source997: depot_tools.tar.xz
2014-02-24 17:51:54 +04:00
Source998: gn-binaries.tar.xz
2014-05-29 12:59:28 +04:00
Source999: new-system-icons.tar.xz
2014-05-28 15:53:16 +04:00
Source1000: README.urpmi
2013-10-07 14:53:21 +04:00
Patch4: chromium-30.0.1599.66-master-prefs-path.patch
2015-02-09 22:38:31 +03:00
# PATCH-FIX-UPSTREAM Add more charset aliases
Patch6: chromium-more-codec-aliases.patch
# PATCH-FIX-OPENSUSE Adjust ldflags for better building
Patch8: adjust-ldflags-no-keep-memory.patch
2013-03-25 01:01:57 +04:00
# PATCH-FIX-OPENSUSE removes build part for courgette
Patch14: chromium-25.0.1364.172-no-courgette.patch
# PATCH-FIX-OPENSUSE Compile the sandbox with -fPIE settings
Patch15: chromium-25.0.1364.172-sandbox-pie.patch
# archlinux arm enhancement patches
Patch100: arm-webrtc-fix.patch
Patch101: chromium-arm-r0.patch
Patch102: skia.patch
Patch200: chromium-widevine.patch
2012-07-24 13:18:14 +04:00
Provides: %{crname}
Conflicts: chromium-browser-unstable
Conflicts: chromium-browser-beta
Obsoletes: chromium-browser < 1:9.0.597.94
2012-07-04 11:57:27 +04:00
BuildRequires: bison, flex, gtk2-devel, atk-devel, libexpat-devel, gperf
BuildRequires: nspr-devel, nss-devel, libalsa-devel, util-linux, ninja
2013-03-13 12:20:18 +04:00
BuildRequires: glib2-devel, bzip2-devel, zlib-devel
2013-11-27 13:12:45 +04:00
BuildRequires: jpeg-devel, pkgconfig(gl), mesaglu-devel
2012-07-24 13:18:14 +04:00
BuildRequires: libxscrnsaver-devel, dbus-glib-devel, cups-devel
2012-07-04 11:57:27 +04:00
BuildRequires: libgnome-keyring-devel libvpx-devel libxtst-devel
BuildRequires: libxt-devel pam-devel pkgconfig(libgcrypt)
2013-07-12 12:56:31 +04:00
BuildRequires: libevent-devel pkgconfig(flac) pulseaudio-devel
2012-07-24 13:18:14 +04:00
BuildRequires: elfutils-devel udev-devel speex-devel yasm
BuildRequires: pkgconfig(harfbuzz) pkgconfig(libmtp) pkgconfig(libgpsd)
BuildRequires: speech-dispatcher-devel pkgconfig(libusb-1.0)
2013-09-02 11:26:42 +04:00
BuildRequires: pkgconfig(libpci) pkgconfig(gstreamer-plugins-base-1.0), gyp
BuildRequires: pkgconfig(opus) pkgconfig(libwebp) pkgconfig(minizip)
2015-02-10 02:05:48 +03:00
BuildRequires: pkgconfig(libexif) cap-devel
2015-02-10 00:05:51 +03:00
BuildRequires: pkgconfig(gconf-2.0)
BuildRequires: chromium-widevinecdm-plugin
Suggests: chromium-browser-pepper-flash
Suggests: chromium-widevinecdm-plugin
Obsoletes: chromium-browser-pdf-plugin < 17.0.0.169
2012-07-04 11:57:27 +04:00
ExclusiveArch: i586 x86_64 armv7l
%description
Chromium is a browser that combines a minimal design with sophisticated
technology to make the web faster, safer, and easier.
This is the stable channel Chromium browser. It offers a rock solid
browser which is updated with features and fixes once they have been
thoroughly tested. If you want the latest features, install the
chromium-browser-unstable package instead.
Note: If you are reverting from unstable to stable or beta channel, you may
experience tab crashes on startup. This crash only affects tabs restored
during the first launch due to a change in how tab state is stored.
See http://bugs.chromium.org/34688. It's always a good idea to back up
your profile before changing channels.
%package -n chromium-browser
Summary: A fast web browser based on the Blink engine
2012-07-04 11:57:27 +04:00
Epoch: 1
Group: Networking/WWW
Requires: %{name} = %{version}-%{release}
%description -n chromium-browser
Chromium is a browser that combines a minimal design with sophisticated
technology to make the web faster, safer, and easier.
This is a transition package that installs the stable channel Chromium
browser. If you prefer the dev channel browser, install the
chromium-browser-unstable package instead.
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
Group: Development/Other
Requires: %{name} = %{version}-%{release}
%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.
2012-07-24 13:18:14 +04:00
2012-07-04 11:57:27 +04:00
%prep
2014-05-29 12:59:28 +04:00
%setup -q -n chromium-%{version} -a 998 -a 997 -a 999
2012-07-24 16:01:58 +04:00
%patch4 -p1 -b .prefs
2012-07-04 11:57:27 +04:00
2015-02-09 22:38:31 +03:00
%patch6 -p0
2015-04-15 16:04:07 +03:00
%patch8 -p1
2013-03-25 01:01:57 +04:00
%patch14 -p1
%patch15 -p1
# archlinux arm enhancements
%patch100 -p0
%patch101 -p0
2015-04-15 15:41:32 +03:00
#patch102 -p0
%patch200 -p1
# build with widevine support
WIDEVINE_VERSION=$(rpm -q chromium-widevinecdm-plugin --qf %%{version})
sed -i "s/@WIDEVINE_VERSION@/$WIDEVINE_VERSION/g" third_party/widevine/cdm/widevine_cdm_version.h
WIDEVINE_SUPPORTED_ARCHS="x64 ia32"
for arch in $WIDEVINE_SUPPORTED_ARCHS; do
mkdir -p third_party/widevine/cdm/linux/$arch
cp %{_libdir}/chromium-browser/libwidevinecdm.so third_party/widevine/cdm/widevine_cdm_*.h third_party/widevine/cdm/linux/$arch/
done
2012-07-04 11:57:27 +04:00
# Hard code extra version
FILE=chrome/common/chrome_version_info_posix.cc
sed -i.orig -e 's/getenv("CHROME_VERSION_EXTRA")/"%{product_vendor} %{product_version}"/' $FILE
cmp $FILE $FILE.orig && exit 1
%build
buildconfig+="-Dwerror=
-Dlinux_sandbox_chrome_path=%{_libdir}/%{name}/chrome
-Duse_openssl=0
-Duse_system_ffmpeg=0
-Dbuild_ffmpegsumo=1
-Dproprietary_codecs=1
-Dremove_webcore_debug_symbols=1
-Dlogging_like_official_build=1
-Dlinux_fpic=1
-Ddisable_sse2=1
-Dcomponent=shared_library
-Dclang=0
-Dtoolkit_uses_gtk=0
-Dffmpeg_branding=Chrome
-Ddisable_nacl=1
-Ddisable_glibc=0
-Ddisable_pnacl=1
-Ddisable_newlib_untar=0
-Duse_system_xdg_utils=1
-Duse_aura=1"
%if 0%{?chromium_system_libs}
buildconfig+=" -Duse_system_flac=1
-Duse_system_speex=1
-Duse_system_libexif=1
-Duse_system_libevent=1
-Duse_system_libmtp=1
-Duse_system_opus=1
-Duse_system_bzip2=1
-Duse_system_harfbuzz=1
-Duse_system_libjpeg=1
-Duse_system_libpng=1
-Duse_system_libxslt=1
2015-03-12 17:06:51 +03:00
-Duse_system_libxml=1
-Duse_system_libyuv=1
-Duse_system_nspr=1
-Duse_system_protobuf=1
-Duse_system_yasm=1"
%else
buildconfig+=" -Duse_system_flac=0
-Duse_system_speex=0
-Duse_system_libexif=0
-Duse_system_libevent=0
-Duse_system_libmtp=0
-Duse_system_opus=0
-Duse_system_bzip2=0
-Duse_system_harfbuzz=0
-Duse_system_libjpeg=0
-Duse_system_libpng=0
-Duse_system_libxslt=0
2015-03-12 17:06:51 +03:00
-Duse_system_libxml=0
-Duse_system_libyuv=0
-Duse_system_nspr=0
-Duse_system_protobuf=0
-Duse_system_yasm=0"
%endif
2014-11-20 18:47:51 +03:00
%ifarch x86_64
buildconfig+=" -Dsystem_libdir=lib64
-Dtarget_arch=x64"
2012-07-04 11:57:27 +04:00
%endif
2015-02-10 02:05:48 +03:00
buildconfig+=" -Duse_system_icu=0
-Duse_pulseaudio=1
-Dlinux_link_libpci=1
-Dlinux_link_gnome_keyring=1
-Dlinux_link_gsettings=1
-Dlinux_link_libgps=1
-Dlinux_link_libspeechd=1
-Djavascript_engine=v8
-Dlinux_use_gold_binary=0
-Dlinux_use_gold_flags=0
-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 $buildconfig
export GYP_GENERATORS='ninja'
./build/gyp_chromium build/all.gyp --depth=. $buildconfig
mkdir -p out/Release
2012-07-04 11:57:27 +04:00
2014-05-14 18:26:59 +04:00
ninja -C out/Release chrome
# Build the required SUID_SANDBOX helper
2014-05-14 18:26:59 +04:00
ninja -C out/Release chrome_sandbox
# Build the ChromeDriver test suite
2014-05-14 18:26:59 +04:00
ninja -C out/Release chromedriver
2012-07-04 11:57:27 +04:00
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}%{_bindir}
mkdir -p %{buildroot}%{_crdir}/locales
mkdir -p %{buildroot}%{_crdir}/themes
mkdir -p %{buildroot}%{_crdir}/default_apps
mkdir -p %{buildroot}%{_mandir}/man1
install -m 755 %{_src}/chromium-wrapper %{buildroot}%{_crdir}/
install -m 755 out/Release/chrome %{buildroot}%{_crdir}/
install -m 4755 out/Release/chrome_sandbox %{buildroot}%{_crdir}/chrome-sandbox
cp -a out/Release/chromedriver %{buildroot}%{_crdir}/chromedriver
2012-07-04 11:57:27 +04:00
install -m 644 out/Release/chrome.1 %{buildroot}%{_mandir}/man1/%{crname}.1
2014-04-10 12:38:43 +04:00
install -m 644 out/Release/*.pak %{buildroot}%{_crdir}/
2015-02-10 02:05:48 +03:00
install -m 644 out/Release/icudtl.dat %{buildroot}%{_crdir}/
2015-03-08 03:05:03 +03:00
cp -a out/Release/*_blob.bin %{buildroot}%{_crdir}/
2012-07-04 11:57:27 +04:00
install -m 755 out/Release/libffmpegsumo.so %{buildroot}%{_crdir}/
# chromium components
mkdir -p %{buildroot}%{_crdir}/lib/
cp -av out/Release/lib/*.so %{buildroot}%{_crdir}/lib/
2012-07-04 11:57:27 +04:00
install -m 644 out/Release/locales/*.pak %{buildroot}%{_crdir}/locales/
install -m 644 out/Release/resources.pak %{buildroot}%{_crdir}/
install -m 644 chrome/browser/resources/default_apps/* %{buildroot}%{_crdir}/default_apps/
ln -s %{_crdir}/chromium-wrapper %{buildroot}%{_bindir}/%{crname}
sed -i "s!@LIBDIR@!%{_libdir}!g" %{buildroot}%{_crdir}/chromium-wrapper
ln -s %{_crdir}/chromedriver %{buildroot}%{_bindir}/chromedriver
2012-07-04 11:57:27 +04:00
# create global config file
mkdir -p %{buildroot}%{_sysconfdir}/default
install -m644 %{SOURCE32} %{buildroot}%{_sysconfdir}/default/%{crname}
# create pepper dir. talkplugin works fine only if sylinks in pepper
mkdir -p %{buildroot}%{_crdir}/pepper
2012-07-04 11:57:27 +04:00
find out/Release/resources/ -name "*.d" -exec rm {} \;
cp -r out/Release/resources %{buildroot}%{_crdir}
# desktop file
mkdir -p %{buildroot}%{_datadir}/applications
install -m 644 %{_src}/%{crname}.desktop %{buildroot}%{_datadir}/applications/
# icon
2014-05-29 12:59:28 +04:00
mkdir -p %{buildroot}%{_iconsdir}/hicolor/
tar xjf %{SOURCE100} -C %{buildroot}%{_iconsdir}/hicolor/
2012-07-04 11:57:27 +04:00
2012-07-24 16:01:58 +04:00
mkdir -p %{buildroot}%{_sysconfdir}/%{crname}
install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{crname}/
install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{crname}/
2012-10-23 15:04:10 +04:00
find %{buildroot} -name "*.nexe" -exec strip {} \;
2014-05-28 15:53:16 +04:00
mkdir -p %{buildroot}%{_docdir}/%{name}
install -p -m755 %{SOURCE1000} %{buildroot}%{_docdir}/%{name}
2014-05-23 19:01:13 +04:00
2012-07-16 09:00:55 +00:00
%files -n chromium-browser
2012-07-04 11:57:27 +04:00
%files
%defattr(-,root,root,-)
2012-07-24 16:01:58 +04:00
%config %{_sysconfdir}/%{crname}
%config %{_sysconfdir}/default/%{crname}
2012-07-04 11:57:27 +04:00
%{_bindir}/%{crname}
%{_crdir}/chromium-wrapper
%{_crdir}/chrome
%{_crdir}/chrome-sandbox
2015-02-10 02:05:48 +03:00
%{_crdir}/icudtl.dat
2012-07-04 11:57:27 +04:00
%{_crdir}/libffmpegsumo.so
%{_crdir}/locales
%{_crdir}/lib
2012-07-04 11:57:27 +04:00
%{_crdir}/resources.pak
%{_crdir}/resources
2012-11-20 19:07:24 +04:00
%{_crdir}/chrome_100_percent.pak
2012-09-28 12:20:27 +04:00
%{_crdir}/content_resources.pak
%{_crdir}/keyboard_resources.pak
2015-03-08 03:05:03 +03:00
%{_crdir}/*_blob.bin
2012-07-04 11:57:27 +04:00
%{_crdir}/themes
%{_crdir}/default_apps
%dir %{_crdir}/pepper
2012-07-04 11:57:27 +04:00
%{_mandir}/man1/%{crname}*
%{_datadir}/applications/*.desktop
2012-11-28 22:41:08 +04:00
%{_iconsdir}/hicolor/*/apps/%{crname}.*
2014-05-28 15:53:16 +04:00
%{_docdir}/%{name}/README.urpmi
2012-07-04 11:57:27 +04:00
%files -n chromedriver
%defattr(-,root,root,-)
%doc LICENSE AUTHORS
%{_bindir}/chromedriver
2013-01-25 18:30:54 +04:00
%{_crdir}/chromedriver