# 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 %if %{?_dist_release} == "vl6" %define with_system_icu 1 %endif %define svn_rev 56023 Name: chromium Summary: Google's opens source browser project Summary(ja): Googleのオープンソースウェブブラウザ #' Version: 6.0.493.0 Release: 1%{?_dist_release} License: BSD Group: Applications/Internet 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 %{?nosrc:NoSource: 0} %{?nosrc:NoSource: 1} # 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 Source3: pack_chromium_source-vine.sh #Source10: chromium.desktop Source10: chromium-vine.desktop # Patch template which adds vendor to user agent ##!!Source20: chromium-vendor.patch.in Source20: chromium-vendor-vine.patch.in ##!!Source30: master_preferences Source30: master_preferences.vine #Source31: default_bookmarks.html #Source31: default_bookmarks.html.vine # icu-4.2.1 contained in chromium.5.0.353.0.svn41449 (for Vine Linux 5.X) Source100: icu-4.2.1-chromium.5.0.353.0.svn41449.tar.bz2 Provides: chromium-browser = %{version} #Obsoletes: chromium-browser < %{version} ## Start Patches # Many changes to the gyp system 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 #Patch9: chromium-drop-sse.patch Patch10: chromium-fix-wrapper.patch Patch12: chromium-no-test-sources.patch Patch13: chromium-no-courgette.patch Patch14: chromium-master-prefs-path.patch #Patch15: chromium-media-probe.patch Patch16: chromium-icu-code-changes.patch Patch17: chromium-system-glew.patch Patch18: chromium-system-expat.patch Patch19: chromium-system-zlib.patch Patch20: chromium-noffmpeg.patch Patch21: chromium-system-old-ffmpeg-way.patch Patch23: chromium-disable-mmx.patch #Patch24: chromium-fix-yuv_row_posix-shared.patch Patch25: tcmalloc-factory.patch # Vine BuildRequires: gcc gcc-c++ %if %{?_dist_release} == "vl5" BuildRequires: libstdc++34 libstdc++34-devel %elseif %{?_dist_release} == "vl6" BuildRequires: libstdc++ libstdc++-devel %endif BuildRequires: libevent ##!!BuildRequires: pkg-config BuildRequires: python ##!!BuildRequires: python-xml BuildRequires: python-pyxml BuildRequires: perl bison flex gperf ##!!BuildRequires: wdiff ##!!BuildRequires: update-desktop-files BuildRequires: desktop-file-utils BuildRequires: lzma ##!!BuildRequires: mozilla-nss-devel BuildRequires: nss-devel ##!!BuildRequires: alsa-devel BuildRequires: alsa-lib-devel BuildRequires: gtk2-devel BuildRequires: glib2-devel BuildRequires: cairo-devel >= 1.6 ##!!BuildRequires: mozilla-nspr-devel BuildRequires: nspr-devel ##!!BuildRequires: gconf2-devel BuildRequires: GConf2-devel BuildRequires: freetype2-devel ##!!BuildRequires: dbus-1-devel BuildRequires: dbus-devel BuildRequires: libxslt-devel BuildRequires: libxml2-devel BuildRequires: libjpeg-devel BuildRequires: zlib-devel ##!!BuildRequires: libbz2-devel BuildRequires: bzip2-devel BuildRequires: cups-devel %if %{?_dist_release} == "vl6" BuildRequires: fdupes %endif ##!!BuildRequires: libexpat-devel BuildRequires: expat-devel BuildRequires: libpng-devel BuildRequires: sqlite3-devel BuildRequires: gnutls-devel %if %{?_dist_release} == "vl5" BuildRequires: gnome-keyring-devel %elseif %{?_dist_release} == "vl6" BuildRequires: libgnome-keyring-devel %endif BuildRequires: glew-devel ##!!BuildRequires: Mesa-devel BuildRequires: mesa-libGLU-devel %{?with_system_icu:BuildRequires: libicu-devel >= 4.0} BuildRequires: libevent-devel ##Vine Linux BuildRequires: libXScrnSaver-devel #BuildRequires: gle-devel #BuildRequires: webkit-gtk-devel #BuildRequires: scons %ifarch x86_64 Requires: nspluginwrapper %endif ##!!Requires: alsa Requires: alsa-lib # 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: libavcodec52 libavformat52 libavutil50 BuildRoot: %{_tmppath}/%{name}-%{version}-root %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. %description -l ja Chromium は Google Chrome の後方にあるオープンソースプロジェクトです。 私たちは、ウェブを体験しているすべてのインターネットユーザに対して より安全で、より速くて、より安定した方法を築き上げるのを助けるために、 ウェブアプリケーションの新しい世代を発展させるように 強力なプラットホームを作成するために、 私たちの取り組みで私たちに加わるようにあなたを誘います。 %prep [ -d %{name} ] && %__rm -rf %{name} lzma -cd %{SOURCE0} | tar xf - %setup -D -T -n %{name} # use static libicu %if %{?_dist_release} == "vl5" cd src/third_party || exit 1 %__rm -rf icu || exit 1 tar jxvf %{SOURCE100} || exit 1 %__mv icu-4.2.1-chromium.5.0.353.0.svn41449 icu || exit 1 cd - || exit 1 %endif # use system libicu only if >= 4.0 %{?with_system_icu:%patch3 -p1} %patch4 -p1 %patch5 -p1 %patch7 -p1 %patch8 -p1 #%patch9 -p1 %patch10 -p1 %patch12 -p1 %patch13 -p1 %patch14 -p1 #%patch15 -p0 %{?with_system_icu:%patch16 -p1} %patch17 -p1 %patch18 -p1 %patch19 -p1 %patch20 -p1 %patch21 -p1 %patch25 -p1 %ifarch %ix86 %patch23 -p1 %endif #%patch24 -p1 # apply vendor patch after substitution %__sed "s:RPM_VERSION:%{version}-%{release}:" %{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 \ -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 \ -Dproprietary_codecs=1 \ -Dlinux_fpic=1 \ %{?with_system_icu:-Duse_system_icu=1} \ %{!?with_system_icu:-Duse_system_icu=0} \ %ifarch %{ix86} -Dtarget_arch=ia32 \ -Ddisable_sse2=1 \ %endif %ifarch x86_64 -Dtarget_arch=x64 \ %endif %if %{?_dist_release} == "vl6" -Dno_strict_aliasing=1 -Dgcc_version=44 \ %endif -Drelease_extra_cflags=-fPIC \ ; #make -r %{?jobs:-j%jobs} chrome BUILDTYPE=Release #%__make -r -j5 chrome BUILDTYPE=Release %__make %{?_smp_mflags} chrome BUILDTYPE=Release popd %install %{__rm} -rf %{buildroot} ## Create install directories %{__mkdir_p} %{buildroot}%{_libdir}/%{name} %{__mkdir_p} %{buildroot}%{_bindir} %{__mkdir_p} %{buildroot}%{_datadir}/applications %{__mkdir_p} %{buildroot}%{_datadir}/pixmaps %{__mkdir_p} %{buildroot}%{_mandir}/man1 %{__mkdir_p} %{buildroot}%{_sysconfdir}/%{name} # chromium 'make' deposits us back at the top level build directory pushd src/out/Release ls -l # clean somechromium-codechanges-zlib.patch # clean debug junk %{__rm} -rf obj/ mksnapshot obj.target obj.host find ./ -type f -name '*.d' | while read i; do %__rm -f $i; done # clean NaCl stuff... maybe NaCl will be in its own package in the future. %{__rm} -f ncdecode_table ncdecode_tablegen # clean other temporary binaries used in the compilation of chromium %{__rm} -f protoc xdg-settings %{__cp} -rf * %{buildroot}%{_libdir}/%{name}/ # Man page [ ! -f %{name}.1 ] && %{__mv} chrome.1 %{name}.1 %__install -m 0644 %{name}.1 %{buildroot}%{_mandir}/man1 # Add startup file with plugins enabled %{__cat} > %{buildroot}%{_bindir}/%{name} < 6.0.493.0-1 - updated to snapshot 6.0.493 - used with_system_icu (for vl6) - added BuildRequires: libicu-devel * Thu Jul 22 2010 IWAI, Masaharu 6.0.454.0-2vl5 - build for Vine Linux 5.x - add BuildRequires: gnome-keyring-devel * Sat Jul 17 2010 Munehiro Yamamoto 6.0.454.0-1 - updated to snapshot 6.0.454 - added BuildRequires: - sqlite3-devel - gnutls-devel - libgnome-keyring-devel * Sat Jun 12 2010 Munehiro Yamamoto 6.0.431.0-1 - updated to snapshot 6.0.431.0 r49253 - added BuildRequires: cups-devel * Sun May 16 2010 Munehiro Yamamoto 6.0.405.0-1 - updated to snapshot 6.0.405.0 r47263 * Fri Apr 16 2010 Munehiro Yamamoto 5.0.378.0-2 - unused with_system_icu (for vl6) - used icu-4.2.1-chromium.5.0.353.0.svn41449 (for vl6) * Wed Apr 14 2010 Munehiro Yamamoto 5.0.378.0-1 - updated to snapshot 5.0.378.0 r44472 - used with_system_icu (for vl6) - added icu-4.2.1-chromium.5.0.353.0.svn41449.tar.bz2 (for vl5) * Sat Apr 10 2010 Munehiro Yamamoto 5.0.372.0-1 - updated to snapshot 5.0.372.0 r43947 - added BuildRequires: glew-devel - changed Group tag to Applications/Internet - added Summary(ja) and %%description -l ja * Mon Apr 05 2010 Munehiro Yamamoto 5.0.365.0-1 - updated to snapshot 5.0.365.0 r42966 - merged 5.0.353.0-4vl5 * Fri Apr 2 2010 IWAI, Masaharu 5.0.353.0-4vl5 - build on Vine Linux 5.1 - add BuildRequires: libstdc++34 libstdc++34-devel for Vine5 * Sat Mar 27 2010 Munehiro Yamamoto 5.0.364.0-1 - updated to snapshot 5.0.364.0 r42779 * Sun Mar 21 2010 Munehiro Yamamoto 5.0.359.0-1 - updated to snapshot 5.0.359.0 r42116 - dropped chromium-20100122-ubuntu-html5-video-mimetypes.patch * Tue Mar 16 2010 Munehiro Yamamoto 5.0.353.0-4 - fixed master_preferences.vine, little * Tue Mar 16 2010 Munehiro Yamamoto 5.0.353.0-3 - fixed to install master_preferences - dropped chromium-5.0.353-no-ffmpeg-vine.patch * Tue Mar 16 2010 Munehiro Yamamoto 5.0.353.0-2 - applied chromium-5.0.353-no-ffmpeg-vine.patch * Tue Mar 16 2010 Munehiro Yamamoto 5.0.353.0-1 - updated to snapshot 5.0.353.0 r41449 * Wed Mar 10 2010 bgmerrell@novell.com - Add master_preferences source file and install it to /etc/chromium. - Create a new patch (chromium-master-prefs-path.patch) which tells chromium to look in /etc/chromium for the master_preferences file (instead of looking in the default directory, which is the same directory as the 'chrome' binary). * Sun Feb 21 2010 Munehiro Yamamoto 5.0.335.0-1 - updated to snapshot 5.0.335.0 r39556 * Sat Feb 20 2010 Munehiro Yamamoto 5.0.330.0-2 - applied chromium-20100122-ubuntu-html5-video-mimetypes.patch from Gentoo * Wed Feb 17 2010 Munehiro Yamamoto 5.0.330.0-1 - updated to snapshot 5.0.330.0 r39074 * Wed Feb 17 2010 Munehiro Yamamoto 5.0.329.0-5 - use_system_ffmpeg * Tue Feb 16 2010 Munehiro Yamamoto 5.0.329.0-4 - added Requires: nspluginwrapper - fixed a symbolic link of plugins directory with nspluginwrapper * Tue Feb 16 2010 Munehiro Yamamoto 5.0.329.0-3 - replaced %%{SOUECE20} to chromium-vendor-vine.patch.in * Tue Feb 16 2010 Munehiro Yamamoto 5.0.329.0-2 - added BuildRequires: mesa-libGLU-devel - added BuildRequires: libstdc++34 libstdc++34-devel for vl5 * Tue Feb 16 2010 Munehiro Yamamoto 5.0.329.0-1 - built based on chromium-5.0.329.0-167.1.src.rpm of OpenSuse * Sun Nov 29 2009 - tittiatcoke@gmail.com - 4.0.260.0 - Update to 4.0.260 * Fri Nov 27 2009 - tittiatcoke@gmail.com - 4.0.259.0 - Update to 4.0.259 * Thu Nov 26 2009 - tittiatcoke@gmail.com - 4.0.258.0 - Update to 4.0.258 * Tue Nov 24 2009 - tittatcoke@gmai.com - 4.0.257.0 - In order to complete prevent the wrong v8 version to be used, the Chromium build has been changed to having an built-in v8 * Tue Nov 24 2009 - dbuck@example.com - 4.0.257.0 - Re-base patches. Fixed a few patch errors. Rename some patches to better correspond with function. Removed some patches. - Minor SPEC changes. I changed the v8 requirement to be exact, instead of greater than a specific version. * Sat Oct 24 2009 - Pavol Rusnak - 4.0.223.5 - don't create desktop files in wrapper, fix LD_LIBRARY_PATH (chromium-fix-wrapper.patch) * Tue Oct 20 2009 - Raymond Wooninck >tittiatcoke@gmail.com> - 4.0.223.5 - update to newer svn snapshot + Obsoletes fwrite patch (included upstream) * Fri Oct 16 2009 - Raymond Wooninck - 4.0.223.2 - update to newer svn snapshot + Requires newer version of v8 * Thu Oct 15 2009 - Pavol Rusnak - 4.0.222.6 - do not force SSE on x86 (drop-sse.patch) * Tue Oct 13 2009 - Raymond Wooninck - 4.0.222.6 - Update to newer svn snapshot - Fixed spec file in order to build - Included patch to build with system zlib * Mon Oct 12 2009 - Pavol Rusnak 4.0.222.2 - package renamed to chromium - cleaned up spec file * Tue Oct 6 2009 - dbuck - 4.0.222.2 - v8 is now built as a separate package, and is required - included many patches to use system libraries: v8, icu, libxml2, libxslt, libjpeg, libpng, libevent, bzip2, zlib, nspr, nss * Sun Oct 1 2009 - dbuck - 4.0.221.1 - included a newer DEP than is in svn, native_client@823. So things should compile cleanly now * Sun Aug 31 2009 - dbuck - 4.0.204.0 - initial build #% changelog * Sun Jan 24 2010 prusnak@suse.cz - added vendor to user agent (chromium-vendor.patch.in) * Sun Nov 29 2009 prusnak@suse.cz - added --enable-sync to wrapper to enable bookmark sync * Fri Nov 13 2009 tittiatcoke@gmail.com - update to 247.0 svn 31928 * Fri Oct 30 2009 tittiatcoke@gmail.com - update to 229.0 svn 30454 + Fix regression where popups and app frames lost their titlebars. + Makes it so that when a folder is open on the bookmark bar and the mouse moves over another folder, the menu for that folder is shown. + Lazily create the find bar. + Polish to the gmail checker sample. * New, crisper icons that are exactly 19x19 * Add a loading animation at the beginning before Gmail responds. * Fix a bug where we sometimes don't update the UI after a logout/login cycle. + Refactor widget methods to support desktop notifications, including GTK stubs. + Find-in-page should not ding while deleting characters. + Add SSL wrapper for linux and mac. This allows notifier to use chrome's SSL layer instead of OpenSSL. + Add three of the six extensions to PAC that Internet Explorer supports. + WebSocket support in chromium. (Run with --enable-web-sockets enables WebSocket features.) + Do not allow GTK File Chooser dialogs to return directories. + Fix the notifier SSL layer to make notifications work for Linux Bookmark sync. + linux: don't override mouse selection behavior in omnibox * Sun Oct 25 2009 tittiatcoke@gmail.com - Update to 224.4 svn 30027 + First cut at new page and browser action docs based on new API. Deleted old stuff. + Add suppression for new memory leak caused by WebKit merge 49830:49844 + Cleanup: change PIDs to base::ProcessId (or pid_t, as appropriate) + Minimize dependency of user scripts + Fixup the flip_framer eof-handling semantics now that we have the FIN bit in place + app depends on x11 because of active_window_watcher_x + Adding two images for the new Extension managment UI + Removing hard-coded Chrome Frame output path + Rearrange clipboard code + Fix crash bug when attempting to download a url with unsupported scheme, e.g. 'data:', by 'Alt + Click' + GTK: Change text for extension download UI + Ignore invalid urls on command line + Make dropped tabs animate from where they were dropped. + Make room for the full width of the tab placeholder. + Make tab dragging as smooth as glass. + Remove an annoying NOTIMPLEMNETED + Extensions: guarantee removal of BROWSER_WINDOW_READY registration + If we're in the middle of a drag, don't allow the user to middle click to close or right click for the context menu + "Fix" a NOTIMPLEMENTED on Linux by using the default password store + Remove +x bit from files that shouldn't have it + Fold first 3 channels of multichannel instead of 5. Use fixed point + Adding new image needed for the managment UI + Fix a race bug where content scripts would not apply to the first page load + Make escape remove a bookmark if it's just been added (but not if it already existed) + Fix bubbles deactivating the opaque frame + Allow ESC to cancel ALT+SHIFT+T in Toolbar + ake all pepper plugins default to windowless and transparent + Add styles for printing + Implement the new extension management UI + Add support for to automation interface load install and load extensions + GTK: theme the info bar border + Update V8 to version 1.3.16.1 + Introduce WebSecurityPolicy for security related methods + New button scheme...borders are separate from the inner contents so that they can be highlighted / depressed independently + When opening Chrome maximized with an application window already running, the Chrome window was not activated + Fix compatibility problems with FileZilla FTP Server + Remove the extension shelf on Linux + Fix the proxy host and port string to start with http:// if it does not already + Enable HTML5 databases for all extension renderer processes