Browse Source

chromium: new upstream release
self-build-chromium-extra-plugins: new package

git-svn-id: http://trac.vinelinux.org/repos/projects/specs@9553 ec354946-7b23-47d6-9f5a-488ba84defc7

Takemikaduchi 9 years ago
parent
commit
5293151fca

+ 96 - 193
c/chromium/chromium-vl.spec

@@ -2,30 +2,17 @@
 #% global with_system_jpeg 1
 #% global with_system_png 1
 
-#% global with_system_icu 1
-#% global with_system_v8 1
+# %global with_system_icu 1
+#%global with_system_v8 1
 #% global with_system_vpx 1
 
-#NOTE: src/third_party/ffmpeg/ffmpeg.gyp: 
-# There's a couple key GYP variables that control how FFmpeg is built:
-#   ffmpeg_branding
-#     Controls whether we build the Chromium or Google Chrome version of
-#     FFmpeg.  The Google Chrome version contains additional codecs.
-#     Typical values are Chromium, Chrome, ChromiumOS, and ChromeOS.
-#   build_ffmpegsumo
-#     When set to zero will build Chromium against Chrome's FFmpeg headers, but
-#     not build ffmpegsumo itself.  Users are expected to build and provide
-#     their own version of ffmpegsumo.  Default value is 1.
-#% global with_system_ffmpeg 1
-#% global with_build_ffmpegsumo 1
-
 %global chrome_sandbox %{_prefix}/lib/chrome_sandbox
 
 Name:           chromium
 Summary:        Google's opens source browser project
 Summary(ja):    Googleのオープンソースウェブブラウザ
 #'
-Version:        37.0.2062.120
+Version:        42.0.2311.135
 Release:        1%{?_dist_release}
 License:        BSD-3-Clause, LGPL-2.1+
 Group:          Applications/Internet
@@ -50,27 +37,10 @@ Source101:      chromium-browser-vine.desktop
 Source102:      chromium-browser.xml
 Source103:      chromium.default
 
-
 ## Start Patches
-# Fedora and OpenSUSE
-# Many changes to the gyp systems so we can use system libraries
-Patch1:         chromium-32.0.1700.72-no-test-sources.patch
-# removes build part for courgette
-Patch13:        chromium-36.0.1985.125-no-courgette.patch
-# enables reading of the master preference
-Patch14:        chromium-30.0.1599.84-master-prefs-path.patch
-# Compile the sandbox with -fPIE settings
-Patch66:        chromium-sandbox-pie.patch
-# Adjust ldflags for better building
-Patch67:        adjust-ldflags-no-keep-memory.patch
-
-
-# http://code.google.com/p/gperftools/issues/detail?id=444
-Patch90:		chromium-26.0.1368.0-glib-2.16-use-siginfo_t.patch
-
 # Vine
 Patch100:		chromium-30.0.1599.84-no-ffmpegsumo.patch
-Patch101:		chromium-disable-GoogleApiKeysInfoBar-vine.patch
+Patch101:		chromium-42.0.2311.90-disable-GoogleApiKeysInfoBar-vine.patch
 
 
 BuildRequires:  pciutils-devel
@@ -137,6 +107,7 @@ BuildRequires:  python-devel
 %{?with_system_icu:BuildRequires:  libicu-devel >= 4.0}
 BuildRequires:  eudev-libudev-devel
 BuildRequires:  libcap-devel
+BuildRequires:  gnutls-devel
 
 BuildRequires:  ninja
 
@@ -154,7 +125,7 @@ BuildRequires:  libXt-devel
 Requires:       alsa-lib
 Requires:       pulseaudio-libs
 Requires:       xdg-utils
-%{?with_system_v8:Requires:       v8}
+## %{?with_system_v8:Requires:       v8}
 
 BuildRoot:      %{_tmppath}/%{name}-%{version}-root
 
@@ -178,146 +149,107 @@ Chromium は Google Chrome の後方にあるオープンソースプロジェ
 
 
 %prep
-# if 0%{?with_build_ffmpegsumo}
-# # with_build_ffmpegsumo=1
-# else
-# # with_build_ffmpegsumo=0
-# endif
-
 #%setup -q
 [ -d %{name}-%{version} ] && %__rm -rf %{name}-%{version}
 xz -dc %{SOURCE0} | %__tar -xf - || exit 1
 %setup -D -T -n %{name}-%{version}
 
-%patch1 -p1
-#%patch13 -p1
-%patch14 -p1
-%patch66 -p1
-%patch67 -p1
-
-#%patch90 -p0
-
 %patch100 -p1
 %patch101 -p1
 
-## built header file: avconfig.h
-[ -f src/third_party/ffmpeg/libavutil/avconfig.h ] && exit 1
-cat > src/third_party/ffmpeg/libavutil/avconfig.h <<EOF
-/* Generated by ffconf */
-#ifndef AVUTIL_AVCONFIG_H
-#define AVUTIL_AVCONFIG_H
-#define AV_HAVE_BIGENDIAN 0
-#define AV_HAVE_FAST_UNALIGNED 1
-#define AV_HAVE_INCOMPATIBLE_FORK_ABI 0
-#endif /* AVUTIL_AVCONFIG_H */
-EOF
-
-# apply vendor patch after substitution
-#%__sed "s:RPM_VERSION:%{version}-%{release}:" %{SOURCE20} | patch -p0 || exit 1
-
 # Make sure that the requires legal files can be found
 %__cp -a src/AUTHORS src/LICENSE . || exit 1
 
-# remove breakpad
-sed -i "s|import breakpad||" src/tools/find_depot_tools.py
-
+export PATH="$PATH":`pwd`/src/depot_tools
 
 %build
-#export GYP_GENERATORS=make
-#export CC="gcc"
-#export CXX="g++"
-#export AR="ar"
-#export RANLIB="ranlib"
-
-## create make files
-
-PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS -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|'-march=pentium4',||g" $i
 		%__sed -i "s|'-mfpmath=sse',||g" $i
-        %__sed -i "s|'-O<(debug_optimize)',||g" $i
-        %__sed -i "s|'-fno-exceptions',|$PARSED_OPT_FLAGS|g" $i
-        %__sed -i "s|'-Werror'|'-Wno-error'|g" $i
+		%__sed -i "s|'-O<(debug_optimize)',||g" $i
+		%__sed -i "s|'-fno-exceptions',|$PARSED_OPT_FLAGS|g" $i
+		%__sed -i "s|'-Werror'|'-Wno-error'|g" $i
 done
 
 pushd src
 
 export GYP_GENERATORS='ninja'
 
-./build/gyp_chromium build/all.gyp --depth . \
-    -Dwerror= \
-	-Dlinux_dump_symbols=0 \
-    -Dlinux_sandbox_path=%{chrome_sandbox} \
-    -Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium \
-    %ifarch %{ix86}
-        -Dtarget_arch=ia32 \
-    %endif
-    %ifarch x86_64
-        -Dtarget_arch=x64 \
-    %endif
-    -Dlinux_use_gold_flags=0 \
-    -Dlinux_use_gold_binary=0 \
-    \
-    -Duse_allocator="none" \
-	-Dremove_webcore_debug_symbols=1 \
-    -Duse_system_bzip2=0 \
-    -Duse_system_flac=0 \
-    -Duse_system_harfbuzz=0 \
-    -Duse_system_icu=0 \
-    -Dicu_use_data_file_flag=0 \
-    -Duse_system_libevent=0 \
-    -Duse_system_libexif=0 \
-    -Duse_system_libjpeg=0 \
-    -Duse_system_libmtp=0 \
-    -Duse_system_libpng=0 \
-    -Duse_system_libusb=0 \
-    -Duse_system_libvpx=0 \
-    -Duse_system_libwebp=0 \
-    -Duse_system_libxml=0 \
-    -Duse_system_libxslt=0 \
-    -Duse_system_libyuv=0 \
-    -Duse_system_minizip=0 \
-    -Duse_system_nss=0 \
-    -Duse_system_nspr=0 \
-    -Duse_openssl=0 \
-    -Duse_system_opus=0 \
-    -Duse_system_protobuf=0 \
-    -Duse_system_re2=0 \
-    -Duse_system_speex=0 \
-    -Duse_system_v8=0 \
-    -Duse_system_xdg_utils=0 \
-    -Duse_system_yasm=0 \
-    -Duse_system_zlib=0 \
-    %{?with_system_ffmpeg:-Duse_system_ffmpeg=1} \
-    %{!?with_system_ffmpeg:-Duse_system_ffmpeg=0} \
-    %{?with_build_ffmpegsumo:-Duse_build_ffmpegsumo=1} \
-    %{!?with_build_ffmpegsumo:-Duse_build_ffmpegsumo=0} \
-    -Duse_system_vpx=0 \
-    -Duse_system_sqlite=0 \
-	-Dlinux_fpic=1 \
-    -Ddisable_sse2=1 \
-    -Ddisable_glibc=1 \
-    -Ddisable_newlib_untar=1 \
-    -Ddisable_pnacl=1 \
-    -Djavascript_engine=v8 \
-    -Ddisable_nacl=1 \
-    -Dproprietary_codecs=1 \
-	\
-    -Duse_pulseaudio=1 \
-    -Dlinux_link_libpci=1 \
-    -Dlinux_link_gnome_keyring=1 \
-    -Dlinux_link_gsettings=1 \
-    -Dlinux_link_libgps=1 \
-    %ifnarch %{ix86}
-        -Dlinux_link_kerberos=1 \
-    %endif
-    %if %{?_dist_release} == "vl6"
-        -Dgcc_version=44 \
-    %endif
-    ;
-
-#    -Dlibrary=shared_library -Drelease_extra_cflags=-fPIC \
+myconf=" 
+    -Dwerror= 
+	-Dlinux_dump_symbols=0 
+    -Dlinux_sandbox_path=%{chrome_sandbox} 
+    -Dlinux_sandbox_chrome_path=%{_libdir}/chromium/chromium 
+    -Dlinux_use_gold_flags=0 
+    -Dlinux_use_gold_binary=0 
+	-Dremove_webcore_debug_symbols=1 
+    -Duse_system_bzip2=0 
+    -Duse_system_flac=0 
+    -Duse_system_harfbuzz=0 
+    -Duse_system_icu=0
+    -Dicu_use_data_file_flag=1
+    -Duse_system_libevent=0
+    -Duse_system_libexif=0 
+    -Duse_system_libjpeg=0 
+    -Duse_system_libmtp=0 
+    -Duse_system_libpng=0 
+    -Duse_system_libusb=0 
+    -Duse_system_libvpx=0 
+    -Duse_system_libwebp=0 
+    -Duse_system_libxml=0 
+    -Duse_system_libxslt=0 
+    -Duse_system_libyuv=0 
+    -Duse_system_minizip=0 
+    -Duse_system_nss=0 
+    -Duse_system_nspr=0 
+    -Duse_openssl=0 
+    -Duse_system_opus=0 
+    -Duse_system_protobuf=0 
+    -Duse_system_re2=0 
+    -Duse_system_speex=0 
+    -Duse_system_v8=0 
+	-Dandroid_webview_build=0
+	-Dv8_use_external_startup_data=1
+    -Duse_system_xdg_utils=0 
+    -Duse_system_yasm=0 
+    -Duse_system_zlib=0 
+    -Duse_system_ffmpeg=0
+    -Duse_build_ffmpegsumo=0
+    -Duse_system_vpx=0 
+    -Duse_system_sqlite=0 
+	-Dlinux_fpic=1 
+    -Ddisable_sse2=1 
+    -Djavascript_engine=v8 
+    -Ddisable_nacl=1 
+    -Dproprietary_codecs=1 
+	-Dclang=0 
+	-Dtoolkit_uses_gtk=0 
+	-Dpython_ver=2.7 
+    -Duse_pulseaudio=1 
+    -Dlinux_link_libpci=0 
+    -Dlinux_link_gnome_keyring=0
+    -Dlinux_link_gsettings=0 
+    -Dlinux_link_libgps=0 "
+
+%ifarch %{ix86}
+     myconf+=" -Dtarget_arch=ia32 "
+%endif
+%ifarch x86_64
+     myconf+=" -Dtarget_arch=x64 
+			   -Dsystem_libdir=lib64 "
+%endif
+
+%if %{?_dist_release} == "vl6"
+	myconf+=" -Dgcc_version=44 "
+%endif
+
+#    -Ddisable_glibc=1 
+
+
+build/linux/unbundle/replace_gyp_files.py $myconf
+
+build/gyp_chromium build/all.gyp --depth . $myconf
 
 ninja -C out/Release chrome
 
@@ -350,18 +282,16 @@ install -m 644 %{SOURCE103} %{buildroot}%{_sysconfdir}/default/chromium
 
 %__cp -a chrome_sandbox %{buildroot}%{_prefix}/lib/ || exit 1
 %__ln_s %{_prefix}/lib/chrome_sandbox %{buildroot}/%{_libdir}/chromium/chrome-sandbox || exit 1
-%__cp -a *.pak locales resources xdg-mime %{buildroot}%{_libdir}/chromium/ || exit 1
+%__cp -a *.pak locales resources xdg-mime icudtl.dat %{buildroot}%{_libdir}/chromium/ || exit 1
 %__cp -a chromedriver %{buildroot}%{_libdir}/chromium/ || exit 1
 
-%{?with_build_ffmpegsumo:%__cp -a libffmpegsumo.so %{buildroot}%{_libdir}/chromium/ || exit 1}
-
 %__sed "s|xdg-mime|%{_libdir}/chromium/xdg-mime|g" xdg-settings > %{buildroot}%{_libdir}/chromium/xdg-settings || exit 1
 
 %__cp -a chrome %{buildroot}%{_libdir}/chromium/chromium || exit 1
-# %__cp -a lib.target/lib*.so %{buildroot}%{_libdir}/chromium/ || exit 1
-# %__cp -a lib.host/lib*.so %{buildroot}%{_libdir}/chromium/ || exit 1
 %__cp -a chrome.1 %{buildroot}%{_mandir}/man1/chrome.1 || exit 1
 %__cp -a chrome.1 %{buildroot}%{_mandir}/man1/chromium.1 || exit 1
+%__cp -a *_blob.bin %{buildroot}%{_libdir}/chromium/
+
 popd
 
 %__mkdir_p %{buildroot}%{_datadir}/pixmaps/
@@ -377,34 +307,10 @@ 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
-# # popd
-# pushd %{buildroot}%{_libdir}/%{name}
-# #%ifarch x86_64
-# #%{__ln_s} %{_libdir}/mozilla/plugins-wrapped plugins || exit 1
-# #%else
-# %{__ln_s} %{_libdir}/mozilla/plugins plugins || exit 1
-# #%endif
-# popd
-
 # Install the master_preferences file
 %__mkdir_p %{buildroot}%{_sysconfdir}/%{name}
 %__install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name}/$(basename %{SOURCE30} .vine)
-#%__install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{name}
-
-# This enables HTML5 video if you have ffmpeg installed, 
-# you naughty naughty user.
-pushd %{buildroot}%{_libdir}/chromium
-touch %{buildroot}%{_libdir}/libavcodec.so.52
-%__ln_s %{_libdir}/libavcodec.so.52 libavcodec.so.52
-touch %{buildroot}%{_libdir}/libavformat.so.52
-%__ln_s %{_libdir}/libavformat.so.52 libavformat.so.52
-touch %{buildroot}%{_libdir}/libavutil.so.50
-%__ln_s %{_libdir}/libavutil.so.50 libavutil.so.50
-popd
+
 
 %clean
 %{__rm} -rf %{buildroot}
@@ -433,32 +339,29 @@ fi || :
 %dir %{_libdir}/chromium/
 %{_bindir}/chromium
 %{_libdir}/chromium/chromium
-#%{_libdir}/chromium/plugins/
 %{_libdir}/chromium/locales/
 %{_libdir}/chromium/resources/
-#%{_libdir}/chromium/nacl_*
-#%{_libdir}/chromium/libppGoogleNaClPluginChrome.so
 %attr(755,root,root) %{_libdir}/chromium/xdg-settings
 %attr(755,root,root) %{_libdir}/chromium/xdg-mime
 %{_libdir}/chromium/*.pak
+%{_libdir}/chromium/*_blob.bin
+%{_libdir}/chromium/icudtl.dat
 %{_mandir}/man1/chrom*
 %{_datadir}/applications/*.desktop
 %{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
 %{_datadir}/pixmaps/chromium-browser.png
 %{_datadir}/icons/hicolor/*/apps/chromium-browser.png
-#%{_libdir}/chromium/lib*.so
-%{_libdir}/chromium/libavcodec.so.52
-%{_libdir}/chromium/libavutil.so.50
-%{_libdir}/chromium/libavformat.so.52
-%exclude %{_libdir}/libavcodec.so.52
-%exclude %{_libdir}/libavutil.so.50
-%exclude %{_libdir}/libavformat.so.52
 %attr(4755,root,root) %{chrome_sandbox}
 %{_libdir}/chromium/chrome-sandbox
 %{_libdir}/chromium/chromedriver
 
 
 %changelog
+* Sat May 09 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 42.0.2311.135-1
+- update to 42.0.2311.135
+- add BuildRequires: gnutls-devel
+- update Patch101 (chromium-42.0.2311.90-disable-GoogleApiKeysInfoBar-vine.patch)
+
 * Sun Sep 14 2014 Yoji TOYODA <bsyamato@sea.plala.or.jp> 37.0.2062.120-1
 - update to 37.0.2062.120
 

+ 48 - 0
nonfree/self-build-chromium-extra-plugins/chromium-extra-plugins-vl.spec

@@ -0,0 +1,48 @@
+Summary:        The proprietary plugins for chromium
+Summary(ja):    Chromium 用プロプライエタリプラグイン
+Name:           chromium-extra-plugins
+Version:        42.0.2311.135
+Release:        1%{?_dist_release}
+License:        BSD-3-Clause, LGPL-2.1+
+Group:          Applications/Internet
+
+Source0:        https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm
+Source1:        https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
+
+Requires:       chromium >= %{version}
+
+BuildRoot:      %{_tmppath}/%{name}-%{version}-root
+
+%description
+This package includes the proprietary plugins for chromium.
+
+%description -l ja
+このパッケージには Chromium 用のプロプライエタリなプラグインが含まれております。
+
+%prep
+
+%build
+%ifarch x86_64
+rpm2cpio %{SOURCE1} | cpio -idmv
+%else
+rpm2cpio %{SOURCE0} | cpio -idmv
+%endif
+
+
+%install
+mkdir -p %{buildroot}%{_libdir}/chromium/PepperFlash/
+install -m644 opt/google/chrome/PepperFlash/* %{buildroot}%{_libdir}/chromium/PepperFlash/ 
+install -m755 opt/google/chrome/libffmpegsumo.so %{buildroot}%{_libdir}/chromium/
+
+%clean
+%{__rm} -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%{_libdir}/chromium/PepperFlash/
+%{_libdir}/chromium/libffmpegsumo.so
+
+%changelog
+* Sat May 09 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 42.0.2311.135-1
+- initial release for Vine Linux
+

+ 86 - 0
nonfree/self-build-chromium-extra-plugins/self-build-chromium-extra-plugins-vl.spec

@@ -0,0 +1,86 @@
+%define pkgname chromium-extra-plugins
+
+%define sourceurl0 https://dl.google.com/linux/direct/google-chrome-stable_current_i386.rpm
+%define sourceurl1 https://dl.google.com/linux/direct/google-chrome-stable_current_x86_64.rpm
+
+Summary:    The proprietary plugins for chromium
+Summary(ja):    Chromium 用プロプライエタリプラグイン
+Name:		self-build-%{pkgname}
+Version:	42.0.2311.135
+Release: 	1%{?_dist_release}
+Source0:	%{pkgname}-vl.spec
+
+License:    BSD-3-Clause, LGPL-2.1+
+Group:		Applications/Internet
+
+Obsoletes:      %{pkgname} < %{version}
+Obsoletes:      self-build-%{pkgname} < %{version}-%{release}
+
+Requires(post):		self-build-setup >= 0.9.9
+Requires(post):		chromium >= %{version}
+
+BuildRoot:	%{_tmppath}/%{name}-%{version}-root
+
+
+%description
+This package includes the proprietary plugins for chromium.
+
+If you install this package, it automaticaly downloads source
+code, compile it, and create rpm packages of 
+%{pkgname}-%{version}.
+And the created rpm packages are automatically installed
+if installation is executed by apt-get command or synaptic
+package manager.
+
+%description -l ja
+このパッケージには Chromium 用のプロプライエタリなプラグイン
+が含まれております。
+
+このパッケージをインストールすると、自動的にソースコードを
+ダウンロードしてコンパイルし、%{pkgname}-%{version}
+の rpm パッケージを作成します。
+また apt-get コマンドや synaptic パッケージマネージャから実行
+した場合は、作成された rpm パッケージのインストールも自動的に
+行います。
+
+[self-build パッケージについて]
+ソフトウェアによってはバイナリパッケージの配布が特許や法律に
+違反する可能性があるものがあります。その為、このような問題が
+懸念されるソフトウェアについてはバイナリパッケージを直接配布
+せずに、ユーザの環境でバイナリを作成する self-build パッケー
+ジという方法を採っています。
+
+作成されたバイナリパッケージの利用にあたっては、各ソフトウェ
+アのライセンス、および利用する国の各種法令に従ってください。
+また特許に関連するソフトウェアの場合、利用許諾や契約、ライ
+センスの購入などが必要となる場合がありますので、利用する目的
+や形態に応じて各自で判断し適切な対応を取ってください。
+
+
+%prep
+[ "%{version}-%{release}" != $(rpm -q --queryformat "%%{version}-%%{release}\n" --specfile %{SOURCE0} | tail -1) ] && exit 1
+
+%install
+%{__rm} -rf ${RPM_BUILD_ROOT}
+%{__install} -d ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
+%{__install} -m 644 %{SOURCE0} ${RPM_BUILD_ROOT}/%{_datadir}/%{name}
+
+
+%clean
+%{__rm} -rf ${RPM_BUILD_ROOT}
+
+%posttrans
+%ifarch x86_64
+/usr/lib/rpm/self-build-rpm.sh %{name} %{pkgname}-vl.spec %{sourceurl1} 5000
+%else
+/usr/lib/rpm/self-build-rpm.sh %{name} %{pkgname}-vl.spec %{sourceurl0} 5000
+%endif
+
+%files
+%defattr(-,root,root)
+%{_datadir}/%{name}/*
+
+%changelog
+* Sat May 09 2015 Yoji TOYODA <bsyamato@sea.plala.or.jp> 42.0.2311.135-1
+- initial build
+