Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:alphakok
chromium
chromium.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File chromium.spec of Package chromium
# Thanks to malcolmlewis for help with this script # Thanks to Tom "spot" Callaway for much of the patchwork # Thanks to jhaygood for most of the icu patch # norootforbuild %define svn_rev 70841 %define v8_ver 3.0.6.0 Name: chromium Summary: Google's opens source browser project Version: 10.0.633.0 Release: 1 License: BSD Group: Productivity/Networking/Web/Browsers Source0: %{name}.%{version}.svn%{svn_rev}.tar.lzma ## The following are included for source reasons only # Custom build tools for chromium, hammer is a fancy front-end for scons Source1: http://src.chromium.org/svn/trunk/tools/depot_tools.tar.gz # Script used to create the tar.lzma archive from the daily tarball downloadable at http://build.chromium.org/buildbot/archives/ Source2: repack_chromium_archive.sh # Script used to create the tar.lzma archive from a checked out source Source3: pack_chromium_source.sh Source8: ffmpeg-0.6-headers.tar.bz2 #Source10: chromium.desktop # Patch template which adds vendor to user agent 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 Source103: chromium-browser-rpmlintrc Provides: chromium-browser = %{version} Provides: chromium-based-browser = %{version} Obsoletes: chromium-browser < %{version} ## Start Patches # Many changes to the gyp systems so we can use system libraries # My first ever patch set. I hope I did well. Patch3: chromium-gyp-system-icu.patch Patch4: chromium-no-sqlite-debug.patch Patch5: chromium-gyp-system-04-nss-nspr.patch Patch7: chromium-codechanges-nss-nspr.patch Patch8: chromium-codechanges-zlib.patch Patch12: chromium-no-test-sources.patch Patch13: chromium-no-courgette.patch Patch14: chromium-master-prefs-path.patch Patch17: chromium-system-glew.patch Patch18: chromium-system-expat.patch Patch19: chromium-system-zlib.patch Patch20: chromium-6.0.425.0-ffmpeg-no-pkgconfig.patch Patch21: chromium-7.0.542.0-media-probe.patch %ifarch %{ix86} Patch23: chromium-disable-mmx.patch %endif Patch25: tcmalloc-factory.patch Patch26: chromium-remoting-build-fix.diff Patch28: chromium-7.0.500.0-system-speex.patch Patch29: chromium-7.0.510.0-system-ffmpeg.patch Patch30: chromium-7.0.510.0-fstat.patch Patch32: chromium-7.0.542.0-system-libvpx.patch Patch34: chromium-7.0.542.0-codechanges-system-minizip-v8.patch # Shared Library patches Patch60: chromium-sharedlibfixes.patch #Patch61: chromium-shared-chromiumthreading.patch Patch62: chromium-norpath.patch Patch63: chromium-6.0.406.0-system-gyp-v8.patch # Patches for MeeGo Netbook Patch80: chromium-browser-window-focus.patch Patch81: chromium-20100319-default-browser-setting.patch Patch82: chromium-20100506-expose-chromium-browser-api.patch Patch83: chromium-fix-toolbar-icon-size.patch %if %suse_version > 1130 BuildRequires: libstdc++45 %endif BuildRequires: gcc gcc-c++ libstdc++-devel libevent openssl-devel BuildRequires: pkg-config python python-xml perl bison flex gperf wdiff update-desktop-files lzma BuildRequires: mozilla-nss-devel alsa-devel gtk2-devel glib2-devel cairo-devel >= 1.6 BuildRequires: mozilla-nspr-devel gconf2-devel freetype2-devel dbus-1-devel libxslt-devel libxml2-devel BuildRequires: libjpeg-devel zlib-devel libbz2-devel cups-devel libzip-devel BuildRequires: fdupes libexpat-devel BuildRequires: Mesa-devel hunspell-devel BuildRequires: libpng-devel sqlite3-devel libgnutls-devel BuildRequires: desktop-file-utils BuildRequires: v8-devel = %{v8_ver} BuildRequires: libvpx-devel %if 0%{?suse_version} > 1120 BuildRequires: libgnome-keyring-devel %else BuildRequires: gnome-keyring-devel %endif %if 0%{?suse_version} > 1130 BuildRequires: python-devel %endif %if 0%{?suse_version} >= 1110 BuildRequires: libicu-devel >= 4.0 BuildRequires: libevent-devel %endif BuildRequires: speex-devel Requires: alsa xdg-utils Requires: chromium-libs = %{version}-%{release} # shouldn't be required to name all dependencies # Requires: mozilla-nss mozilla-nspr gtk2 glib2 cairo >= 1.6 freetype2 dbus-1 alsa v8 >= 1.3.15 # Recommends the ffmpeg libraries (available from packman) Recommends: chromium-ffmpeg = %{version} %if 0%{?suse_version} < 1120 BuildRoot: %{_tmppath}/%{name}-%{version}-build %endif %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 libs Summary: Shared libraries for chromium Group: System/Libraries Requires: v8 = %{v8_ver} %description libs This package contains the shared libraries that chromium depends on. Some of these libraries are unique to chromium, others are forked versions of system libraries. %package devel Summary: Header file for chromium browser Group: Development/Libraries Requires: chromium-libs = %{version}-%{release} %description devel This package contains the header files and pc file of chromium browser for applications which will use chromium browser APIs. %prep lzma -cd %{SOURCE0} | tar xf - %setup -D -T -n %{name}-suse #%patch60 -p1 #%patch61 -p1 %patch62 -p1 %patch63 -p1 %patch80 -p1 #%patch81 -p1 %patch82 -p1 %patch83 -p1 # use system libicu only if >= 4.0 %if 0%{?suse_version} >= 1110 %patch3 -p1 %endif %patch4 -p1 %patch5 -p1 %patch7 -p1 %patch8 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %if 0%{?suse_version} > 1120 %patch25 -p1 %endif %ifarch %{ix86} %patch23 -p1 %endif %patch26 -p1 %patch28 -p1 %patch29 -p1 %patch30 -p1 %patch32 -p1 %patch34 -p1 pushd src/third_party/ffmpeg/ tar xf %{SOURCE8} popd rm -rf src/third_party/libvpx/ src/third_party/speex/ # apply vendor patch after substitution sed "s:RPM_VERSION:%{version}:" %{SOURCE20} | patch -p0 %build ## create make files PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS -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 sed -i "s|'-msse2',||g" $i sed -i "s|'-mfpmath=sse',||g" $i 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=%{_libdir}/chromium/chrome-sandbox \ -Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium-browser \ -Duse_system_ffmpeg=1 \ -Duse_system_zlib=1 \ -Duse_system_libpng=1 \ -Duse_system_bzip2=1 \ -Duse_system_libbz2=1 \ -Duse_system_libjpeg=1 \ -Duse_system_libxml=1 \ -Duse_system_libxslt=1 \ -Duse_system_libevent=1 \ -Duse_system_vpx=1 \ -Dproprietary_codecs=1 \ -Djavascript_engine=v8 \ -Dlibrary=shared_library \ -Dlinux_fpic=1 \ %ifarch %{ix86} -Ddisable_sse2=1 \ %endif -Duse_system_icu=1 \ %ifarch x86_64 -Dtarget_arch=x64 \ %endif -Dno_strict_aliasing=1 -Dgcc_version=44 \ -Drelease_extra_cflags=-fPIC make -r %{?_smp_mflags} chrome BUILDTYPE=Release popd %install rm -rf %{buildroot} mkdir -p %{buildroot}%{_bindir} install -m 755 %{SOURCE100} %{buildroot}%{_bindir}/chromium # x86_64 capable systems need this sed -i "s|/usr/lib/chromium|%{_libdir}/chromium|g" %{buildroot}%{_bindir}/chromium mkdir -p %{buildroot}%{_libdir}/chromium/ mkdir -p %{buildroot}%{_mandir}/man1/ pushd src/out/Release cp -a chrome.pak locales resources xdg-settings %{buildroot}%{_libdir}/chromium/ cp -a resources.pak %{buildroot}%{_libdir}/chromium/ cp -a chrome %{buildroot}%{_libdir}/chromium/chromium cp -a lib.target/lib*.so %{buildroot}%{_libdir}/chromium/ cp -a lib.host/lib*.so %{buildroot}%{_libdir}/chromium/ cp -a chrome.1 %{buildroot}%{_mandir}/man1/chrome.1 cp -a chrome.1 %{buildroot}%{_mandir}/man1/chromium.1 %fdupes %{buildroot}%{_mandir}/man1/ popd # devel package install mkdir -p %{buildroot}%{_libdir}/chromium/include pushd src find base -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find app -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find chrome -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find skia -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find build -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find googleurl -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find ipc -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find testing -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find net -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find third_party/skia -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find third_party/WebKit -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find webkit -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; find gfx -name "*.h" -exec cp --parents {} %{buildroot}%{_libdir}/chromium/include \; popd find %{buildroot}%{_libdir}/chromium/include -name "*.h" -exec chmod 644 {} \; %fdupes %{buildroot}%{_libdir}/chromium/include mkdir -p %{buildroot}%{_libdir}/pkgconfig cat <<EOF > %{buildroot}/%{_libdir}/pkgconfig/chromium-browser.pc Name: Chromium browser Description: Chromium browser development package Version: 1.0.1 Libs: -L%{_libdir}/chromium -lapp_base -lappcache -lbase_i18n -lbase -lblob -lbrowser -lcacheinvalidation -lchrome_gpu -lchromoting_base -lchromoting_client -lchromoting_host -lchromoting_jingle_glue -lchromoting_protocol -lchromotocol_proto_lib -lcld -lcommon_constants -lcommon_net -lcommon -ldatabase -ldebugger -ldefault_plugin -ldynamic_annotations -lffmpeg -lfileapi -lgfx -lglue -lgoogleurl -lgtest -lharfbuzz_interface -lharfbuzz -lhttp_listen_socket -lhunspell -liccjpeg -lil -linstaller_util -lipc -ljingle_p2p -ljingle -lmedia -lmodp_b64 -lnet_base -lnet -lnotifier -lomx_wrapper -lots -lpcre -lppapi_plugin -lplugin -lprinting -lprofile_import -lprotobuf_lite -lrenderer -lsandbox -lsdch -lservice -lskia_opts -lskia -lsqlite3 -lsrtp -lssl_host_info -lssl -lsymbolize -lsyncapi -lsync_notifier -lsync -ltrace_proto_lib -lundoview -lutility -lwebcore_bindings -lwebcore_html -lwebcore_platform -lwebcore_remaining -lwebcore_svg -lwebkit -lwebkit_user_agent -lwebp -lworker -lwtf -lxdg_mime -lzlib Cflags: -I%{_libdir}/chromium/include -I%{_libdir}/chromium/include/skia/config EOF mkdir -p %{buildroot}%{_datadir}/pixmaps/ cp -a src/chrome/app/theme/chromium/product_logo_48.png %{buildroot}%{_datadir}/pixmaps/chromium-browser.png 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} # Files! %files %defattr(-,root,root,-) %config %{_sysconfdir}/%{name} %dir %{_datadir}/gnome-control-center %dir %{_datadir}/gnome-control-center/default-apps %{_bindir}/chromium %{_libdir}/chromium/chromium %{_libdir}/chromium/plugins/ %{_libdir}/chromium/resources/ %{_libdir}/chromium/xdg-settings %{_mandir}/man1/chrom* %{_datadir}/pixmaps/chromium-browser.png %{_datadir}/applications/*.desktop %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml %files libs %defattr(-,root,root,-) %dir %{_libdir}/chromium/ %{_libdir}/chromium/chrome.pak %{_libdir}/chromium/resources.pak %{_libdir}/chromium/locales/ %{_libdir}/chromium/lib*.so %files devel %defattr(-,root,root,-) %{_libdir}/chromium/include/ %{_libdir}/pkgconfig/chromium-browser.pc %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