Compare commits
2 commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
22544c5ce2 | ||
|
|
29b5832c3d |
2 changed files with 114 additions and 72 deletions
2
sources
2
sources
|
|
@ -1 +1 @@
|
|||
bf7d1bd637b9fd28796cdc7c95ce04b5 v8-3.3.10.tar.bz2
|
||||
9355d2a122f127471bdec26c4634c890 v8-3.13.7.5.tar.bz2
|
||||
|
|
|
|||
182
v8.spec
182
v8.spec
|
|
@ -1,42 +1,38 @@
|
|||
# Hi Googlers! If you're looking in here for patches, nifty.
|
||||
# You (and everyone else) are welcome to use any of my Chromium patches under the terms of the GPLv2 or later.
|
||||
# You (and everyone else) are welcome to use any of my V8-specific patches under the terms of the BSD license.
|
||||
# You (and everyone else) may NOT use my patches under any other terms.
|
||||
# I hate to be a party-pooper here, but I really don't want to help Google make a proprietary browser.
|
||||
# There are enough of those already.
|
||||
# All copyrightable work in these spec files and patches is Copyright 2010 Tom Callaway
|
||||
# You (and everyone else) are welcome to use any of my Chromium spec files and
|
||||
# patches under the terms of the GPLv2 or later.
|
||||
# You (and everyone else) are welcome to use any of my V8-specific spec files
|
||||
# and patches under the terms of the BSD license.
|
||||
# You (and everyone else) may NOT use my spec files or patches under any other
|
||||
# terms.
|
||||
# I hate to be a party-pooper here, but I really don't want to help Google
|
||||
# make a proprietary browser. There are enough of those already.
|
||||
# All copyrightable work in these spec files and patches is Copyright 2011
|
||||
# Tom Callaway <spot@fedoraproject.org>
|
||||
|
||||
# For the 1.2 branch, we use 0s here
|
||||
# For 1.3+, we use the three digit versions
|
||||
# Hey, now there are four digits. What do they mean? Popsicle.
|
||||
%global somajor 3
|
||||
%global sominor 3
|
||||
%global sobuild 10
|
||||
%global sominor 13
|
||||
%global sobuild 7
|
||||
%global sotiny 5
|
||||
%global sover %{somajor}.%{sominor}.%{sobuild}
|
||||
%{!?python_sitelib: %global python_sitelib %(%{__python} \
|
||||
-c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
|
||||
|
||||
Name: v8
|
||||
Version: %{somajor}.%{sominor}.%{sobuild}
|
||||
Release: 4%{?dist}
|
||||
Summary: JavaScript Engine
|
||||
Group: System Environment/Libraries
|
||||
License: BSD
|
||||
URL: http://code.google.com/p/v8
|
||||
# No tarballs, pulled from svn
|
||||
# Checkout script is Source1
|
||||
Source0: v8-%{version}.tar.bz2
|
||||
Source1: v8-daily-tarball.sh
|
||||
# Enable experimental i18n extension that chromium needs
|
||||
Patch0: v8-3.3.10-enable-experimental.patch
|
||||
# Disable comparison check that gcc 4.5 thinks is always false
|
||||
Patch1: v8-3.2.10-always-false.patch
|
||||
# Fix language-matcher.cc compile
|
||||
Patch2: v8-3.3.10-language-matcher-fix.patch
|
||||
# Remove unnecessary shebangs
|
||||
Patch3: v8-2.5.9-shebangs.patch
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
ExclusiveArch: %{ix86} x86_64 arm
|
||||
BuildRequires: scons, readline-devel, libicu-devel
|
||||
# %%global svnver 20110721svn8716
|
||||
|
||||
Name: v8
|
||||
Version: %{somajor}.%{sominor}.%{sobuild}.%{sotiny}
|
||||
Release: 1%{?dist}
|
||||
Epoch: 1
|
||||
Summary: JavaScript Engine
|
||||
Group: System Environment/Libraries
|
||||
License: BSD
|
||||
URL: http://code.google.com/p/v8
|
||||
Source0: http://commondatastorage.googleapis.com/chromium-browser-official/v8-%{version}.tar.bz2
|
||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||
ExclusiveArch: %{ix86} x86_64 %{arm}
|
||||
BuildRequires: scons, readline-devel, libicu-devel
|
||||
|
||||
%description
|
||||
V8 is Google's open source JavaScript engine. V8 is written in C++ and is used
|
||||
|
|
@ -44,22 +40,18 @@ in Google Chrome, the open source browser from Google. V8 implements ECMAScript
|
|||
as specified in ECMA-262, 3rd edition.
|
||||
|
||||
%package devel
|
||||
Group: Development/Libraries
|
||||
Summary: Development headers and libraries for v8
|
||||
Requires: %{name} = %{version}-%{release}
|
||||
Group: Development/Libraries
|
||||
Summary: Development headers and libraries for v8
|
||||
Requires: %{name} = %{epoch}:%{version}-%{release}
|
||||
|
||||
%description devel
|
||||
Development headers and libraries for v8.
|
||||
|
||||
%prep
|
||||
%setup -q -n %{name}-%{version}
|
||||
%patch0 -p1 -b .experimental
|
||||
%patch1 -p1 -b .always-false
|
||||
%patch2 -p1 -b .fix
|
||||
%patch3 -p1 -b .shebang
|
||||
|
||||
# -fno-strict-aliasing is needed with gcc 4.4 to get past some ugly code
|
||||
PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing -Wno-unused-parameter -Wno-unused-but-set-variable\'| sed "s/ /',/g" | sed "s/',/', '/g"`
|
||||
PARSED_OPT_FLAGS=`echo \'$RPM_OPT_FLAGS -fPIC -fno-strict-aliasing -Wno-unused-parameter -Wno-error=strict-overflow -Wno-unused-but-set-variable\'| sed "s/ /',/g" | sed "s/',/', '/g"`
|
||||
sed -i "s|'-O3',|$PARSED_OPT_FLAGS,|g" SConstruct
|
||||
|
||||
# clear spurious executable bits
|
||||
|
|
@ -69,17 +61,23 @@ find . \( -name \*.cc -o -name \*.h -o -name \*.py \) -a -executable \
|
|||
chmod -x $FILE
|
||||
done
|
||||
|
||||
|
||||
%build
|
||||
mkdir -p obj/release/
|
||||
export GCC_VERSION="44"
|
||||
scons library=shared snapshots=on \
|
||||
%ifarch x86_64
|
||||
arch=x64 \
|
||||
%endif
|
||||
%ifarch armv7hl armv7hnl
|
||||
armeabi=hard \
|
||||
%endif
|
||||
%ifarch armv5tel armv6l armv7l
|
||||
armeabi=soft \
|
||||
%endif
|
||||
visibility=default \
|
||||
env=CCFLAGS:"-fPIC"
|
||||
|
||||
%if 0%{?fedora} > 15
|
||||
%if 0%{?fedora} >= 16
|
||||
export ICU_LINK_FLAGS=`pkg-config --libs-only-l icu-i18n`
|
||||
%else
|
||||
export ICU_LINK_FLAGS=`pkg-config --libs-only-l icu`
|
||||
|
|
@ -90,26 +88,34 @@ export ICU_LINK_FLAGS=`pkg-config --libs-only-l icu`
|
|||
rm -rf libv8.so libv8preparser.so
|
||||
# Now, lets make it right.
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8preparser.so.%{sover} -shared -Wl,-soname,libv8preparser.so.%{somajor} \
|
||||
obj/release/allocation.os \
|
||||
obj/release/hashmap.os \
|
||||
obj/release/preparse-data.os \
|
||||
obj/release/preparser-api.os \
|
||||
obj/release/preparser.os \
|
||||
obj/release/scanner-base.os \
|
||||
obj/release/token.os \
|
||||
obj/release/unicode.os
|
||||
obj/release/allocation.os \
|
||||
obj/release/bignum.os \
|
||||
obj/release/bignum-dtoa.os \
|
||||
obj/release/cached-powers.os \
|
||||
obj/release/diy-fp.os \
|
||||
obj/release/dtoa.os \
|
||||
obj/release/fast-dtoa.os \
|
||||
obj/release/fixed-dtoa.os \
|
||||
obj/release/preparse-data.os \
|
||||
obj/release/preparser-api.os \
|
||||
obj/release/preparser.os \
|
||||
obj/release/scanner.os \
|
||||
obj/release/strtod.os \
|
||||
obj/release/token.os \
|
||||
obj/release/unicode.os \
|
||||
obj/release/utils.os
|
||||
|
||||
# "obj/release/preparser-api.os" should not be included in the libv8.so file.
|
||||
export RELEASE_BUILD_OBJS=`echo obj/release/*.os | sed 's|obj/release/preparser-api.os||g'`
|
||||
|
||||
%ifarch arm
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/extensions/experimental/*.os obj/release/arm/*.os $ICU_LINK_FLAGS
|
||||
%ifarch %{arm}
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/arm/*.os $ICU_LINK_FLAGS
|
||||
%endif
|
||||
%ifarch %{ix86}
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/extensions/experimental/*.os obj/release/ia32/*.os $ICU_LINK_FLAGS
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/ia32/*.os $ICU_LINK_FLAGS
|
||||
%endif
|
||||
%ifarch x86_64
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/extensions/experimental/*.os obj/release/x64/*.os $ICU_LINK_FLAGS
|
||||
g++ $RPM_OPT_FLAGS -fPIC -o libv8.so.%{sover} -shared -Wl,-soname,libv8.so.%{somajor} $RELEASE_BUILD_OBJS obj/release/extensions/*.os obj/release/x64/*.os $ICU_LINK_FLAGS
|
||||
%endif
|
||||
|
||||
# We need to do this so d8 can link against it.
|
||||
|
|
@ -117,16 +123,25 @@ ln -sf libv8.so.%{sover} libv8.so
|
|||
ln -sf libv8preparser.so.%{sover} libv8preparser.so
|
||||
|
||||
# This will fail to link d8 because it doesn't use the icu libs.
|
||||
# Don't build d8 shared. Stupid Google. Hate.
|
||||
scons d8 \
|
||||
%ifarch x86_64
|
||||
arch=x64 \
|
||||
%endif
|
||||
library=shared snapshots=on console=readline visibility=default || :
|
||||
%ifarch armv7hl armv7hnl
|
||||
armeabi=hard \
|
||||
%endif
|
||||
%ifarch armv5tel armv6l armv7l
|
||||
armeabi=soft \
|
||||
%endif
|
||||
snapshots=on console=readline visibility=default || :
|
||||
# library=shared snapshots=on console=readline visibility=default || :
|
||||
|
||||
# Sigh. I f*****g hate scons.
|
||||
rm -rf d8
|
||||
# But gyp is worse.
|
||||
# rm -rf d8
|
||||
|
||||
g++ $RPM_OPT_FLAGS -o d8 obj/release/d8-debug.os obj/release/d8-posix.os obj/release/d8-readline.os obj/release/d8.os obj/release/d8-js.os -lpthread -lreadline -lpthread -L. -lv8 $ICU_LINK_FLAGS
|
||||
# g++ $RPM_OPT_FLAGS -o d8 obj/release/d8.os -lreadline -lpthread -L. -lv8 $ICU_LINK_FLAGS
|
||||
|
||||
%install
|
||||
rm -rf %{buildroot}
|
||||
|
|
@ -149,16 +164,17 @@ popd
|
|||
|
||||
chmod -x %{buildroot}%{_includedir}/v8*.h
|
||||
|
||||
mkdir -p %{buildroot}%{_includedir}/v8/extensions/experimental/
|
||||
mkdir -p %{buildroot}%{_includedir}/v8/extensions/
|
||||
install -p src/extensions/*.h %{buildroot}%{_includedir}/v8/extensions/
|
||||
install -p src/extensions/experimental/*.h %{buildroot}%{_includedir}/v8/extensions/experimental/
|
||||
|
||||
chmod -x %{buildroot}%{_includedir}/v8/extensions/*.h
|
||||
chmod -x %{buildroot}%{_includedir}/v8/extensions/experimental/*.h
|
||||
|
||||
# install Python JS minifier scripts for nodejs
|
||||
install -d %{buildroot}%{python_sitelib}
|
||||
sed -i 's|/usr/bin/python2.4|/usr/bin/env python|g' tools/jsmin.py
|
||||
sed -i 's|/usr/bin/python2.4|/usr/bin/env python|g' tools/js2c.py
|
||||
install -p -m0744 tools/jsmin.py %{buildroot}%{python_sitelib}/
|
||||
install -p -m0744 tools/js2c.py %{buildroot}%{python_sitelib}/
|
||||
chmod -R -x %{buildroot}%{python_sitelib}/*.py*
|
||||
|
||||
%clean
|
||||
|
|
@ -182,20 +198,46 @@ rm -rf %{buildroot}
|
|||
%{python_sitelib}/j*.py*
|
||||
|
||||
%changelog
|
||||
* Sat Aug 27 2011 Matěj Cepl <mcepl@redhat.com> - 3.3.10-4
|
||||
- Make jsmin.py working.
|
||||
* Tue Dec 4 2012 Tom Callaway <spot@fedoraproject.org> - 1:3.13.7.5-1
|
||||
- update to 3.13.7.5 (needed for chromium 23)
|
||||
- Resolves multiple security issues (CVE-2012-5120, CVE-2012-5128)
|
||||
- d8 is now using a static libv8, resolves bz 881973)
|
||||
|
||||
* Wed Aug 24 2011 Matěj Cepl <mcepl@redhat.com> - 3.3.10-3
|
||||
- A bit of cleanup, include also /usr/bin/j2sc when we have it.
|
||||
- I don't see the reason why Python files shouldn't be in the
|
||||
standard Python directories.
|
||||
* Sun Jul 22 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 1:3.10.8-2
|
||||
- Rebuilt for https://fedoraproject.org/wiki/Fedora_18_Mass_Rebuild
|
||||
|
||||
* Wed Aug 23 2011 T.C. Hollingsworth <tchollingsworth@gmail.com 3.3.10-2
|
||||
* Fri Jul 6 2012 Tom Callaway <spot@fedoraproject.org> 1:3.10.8-1
|
||||
- update to 3.10.8 (chromium 20)
|
||||
|
||||
* Tue Jun 12 2012 Tom Callaway <spot@fedoraproject.org> 1:3.9.24-1
|
||||
- update to 3.9.24 (chromium 19)
|
||||
|
||||
* Mon Apr 23 2012 Thomas Spura <tomspur@fedoraproject.org> 1:3.7.12.6
|
||||
- rebuild for icu-49
|
||||
|
||||
* Fri Mar 30 2012 Dennis Gilmore <dennis@ausil.us> 1:3.7.12-5
|
||||
- make sure the right arm abi is used in the second call of scons
|
||||
|
||||
* Thu Mar 29 2012 Dennis Gilmore <dennis@ausil.us> 1:3.7.12-4
|
||||
- use correct arm macros
|
||||
- use the correct abis for hard and soft float
|
||||
|
||||
* Tue Mar 20 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-3
|
||||
- merge changes from Fedora spec file, sync, add epoch
|
||||
|
||||
* Fri Feb 17 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-2
|
||||
- add -Wno-error=strict-overflow for gcc 4.7 (hack, hack, hack)
|
||||
|
||||
* Mon Feb 13 2012 Tom Callaway <spot@fedoraproject.org> 3.7.12-1
|
||||
- update to 3.7.12
|
||||
|
||||
* Thu Nov 3 2011 Tom Callaway <spot@fedoraproject.org> 3.5.10-1
|
||||
- update to 3.5.10
|
||||
|
||||
* Mon Sep 26 2011 Tom Callaway <spot@fedoraproject.org> 3.4.14-2
|
||||
- final 3.4.14 tag
|
||||
- include JavaScript minifier scripts in -devel
|
||||
|
||||
* Wed Aug 10 2011 Tom Callaway <spot@fedoraproject.org> 3.3.10-1
|
||||
- tag 3.3.10
|
||||
|
||||
* Fri Jun 10 2011 Tom Callaway <spot@fedoraproject.org> 3.2.10-1
|
||||
- tag 3.2.10
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue