Browse Source

added chromium

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@589 ec354946-7b23-47d6-9f5a-488ba84defc7
munepi 14 years ago
parent
commit
d2400769ce
1 changed files with 425 additions and 0 deletions
  1. 425 0
      c/chromium/chromium-vl.spec

+ 425 - 0
c/chromium/chromium-vl.spec

@@ -0,0 +1,425 @@
+# 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 41449
+
+Name:           chromium
+Summary:        Google's opens source browser project
+#'
+Version:        5.0.353.0
+Release:        3%{?_dist_release}
+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
+%{?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
+Source10:       chromium.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
+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-02-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
+Patch11:        chromium-fix-home-kde4-path.patch
+Patch12:        chromium-no-test-sources.patch
+Patch13:        chromium-no-courgette.patch
+Patch14:	chromium-master-prefs-path.patch
+
+# Vine
+#Patch40:       chromium-5.0.353-no-ffmpeg-vine.patch
+
+## Gentoo patches
+# Allow use of MP3/MPEG-4 audio/video tags with our system ffmpeg
+Patch50: http://sources.gentoo.org/viewcvs.py/*checkout*/gentoo-x86/www-client/chromium/files/chromium-20100122-ubuntu-html5-video-mimetypes.patch
+
+BuildRequires:  gcc gcc-c++
+BuildRequires:  libstdc++ libstdc++-devel
+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:  libpng-devel
+##!!BuildRequires:  libbz2-devel 
+BuildRequires:  bzip2-devel
+%if %{?_dist_release} == "vl6"
+BuildRequires:  fdupes
+%endif
+##!!BuildRequires:  libexpat-devel
+BuildRequires:  expat-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
+
+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.
+
+%prep
+[ -d %{name} ] && %__rm -rf %{name}
+lzma -cd %{SOURCE0} | tar xf -
+%setup -D -T -n %{name}
+
+# use system libicu only if >= 4.0
+%{?with_system_icu:%patch3 -p1}
+
+%patch4 -p1
+%patch5 -p1
+%patch7 -p1
+%patch8 -p1
+%patch9 -p1
+%patch10 -p1
+%patch11 -p1
+%patch12 -p1
+%patch13 -p1
+%patch14 -p1
+
+#%patch40 -p1 -b .vine
+
+%patch50 -p0 -b .html5
+
+# 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-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_libjpeg=1 \
+    -Duse_system_libxml=1 \
+    -Duse_system_libxslt=1 \
+    -Duse_system_libevent=1 \
+    %{?with_system_icu:-Duse_system_icu=1} \
+    %{!?with_system_icu:-Duse_system_icu=0} \
+    %ifarch %{ix86}
+        -Dtarget_arch=ia32 \
+    %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
+
+%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} <<EOF
+#!/bin/bash
+%{_libdir}/%{name}/chrome-wrapper --enable-plugins --enable-user-scripts --enable-extensions --enable-sync "\$@"
+EOF
+
+# # 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
+# popd
+pushd %{buildroot}%{_libdir}/%{name}
+%ifarch x86_64
+%{__ln_s} %{_libdir}/mozilla/plugins-wrapped plugins
+%else
+%{__ln_s} %{_libdir}/mozilla/plugins plugins
+%endif
+popd
+
+# Install desktop-related files
+%__install -m 0644 %{SOURCE10} %{buildroot}%{_datadir}/applications/%{name}.desktop 
+%__install -m 0644 product_logo_48.png %{buildroot}%{_datadir}/pixmaps/%{name}.png
+desktop-file-install --vendor Vine			\
+	--dir $RPM_BUILD_ROOT%{_datadir}/applications	\
+	--delete-original				\
+	--mode 644					\
+	$RPM_BUILD_ROOT%{_datadir}/applications/%{name}.desktop
+
+# Install the master_preferences file
+#%__install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name}
+%__install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name}/$(basename %{SOURCE30} .vine)
+
+%clean
+%{__rm} -rf %{buildroot}
+
+
+%files
+%defattr(-,root,root)
+%doc src/AUTHORS src/LICENSE
+%dir %{_libdir}/%{name}
+%attr(0755,root,root) %{_bindir}/%{name}
+%{_mandir}/man1/*
+%{_datadir}/applications/*%{name}.desktop
+%{_datadir}/pixmaps/%{name}.png
+%{_libdir}/%{name}/*
+%{_sysconfdir}/%{name}
+
+%changelog
+* Tue Mar 16 2010 Munehiro Yamamoto <munepi@vinelinux.org> 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 <munepi@vinelinux.org> 5.0.353.0-2
+- applied chromium-5.0.353-no-ffmpeg-vine.patch
+
+* Tue Mar 16 2010 Munehiro Yamamoto <munepi@vinelinux.org> 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 <munepi@vinelinux.org> 5.0.335.0-1
+- updated to snapshot 5.0.335.0 r39556
+
+* Sat Feb 20 2010 Munehiro Yamamoto <munepi@vinelinux.org> 5.0.330.0-2
+- applied chromium-20100122-ubuntu-html5-video-mimetypes.patch from Gentoo
+
+* Wed Feb 17 2010 Munehiro Yamamoto <munepi@vinelinux.org> 5.0.330.0-1
+- updated to snapshot 5.0.330.0 r39074
+
+* Wed Feb 17 2010 Munehiro Yamamoto <munepi@vinelinux.org> 5.0.329.0-5
+- use_system_ffmpeg
+
+* Tue Feb 16 2010 Munehiro Yamamoto <munepi@vinelinux.org> 5.0.329.0-4
+- added Requires:  nspluginwrapper
+- fixed a symbolic link of plugins directory with nspluginwrapper
+
+* Tue Feb 16 2010 Munehiro Yamamoto <munepi@vinelinux.org> 5.0.329.0-3
+- replaced %%{SOUECE20} to chromium-vendor-vine.patch.in
+
+* Tue Feb 16 2010 Munehiro Yamamoto <munepi@vinelinux.org> 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 <munepi@vinelinux.org> 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 <prusnak@suse.cz> - 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 <tittiatcoke@gmail.com> - 4.0.223.2
+  - update to newer svn snapshot
+    + Requires newer version of v8
+  * Thu Oct 15 2009 - Pavol Rusnak <prusnak@suse.cz> - 4.0.222.6
+  - do not force SSE on x86 (drop-sse.patch)
+  * Tue Oct 13 2009 - Raymond Wooninck <tittiatcoke@gmail.com> - 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 <prusnak@suse.cz> 4.0.222.2
+  - package renamed to chromium
+  - cleaned up spec file
+  * Tue Oct 6 2009 - dbuck <dbuck@example.com> - 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 <dbuck@example.com> - 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 <dbuck@example.com> - 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