Compare commits

...
Sign in to create a new pull request.

5 commits

Author SHA1 Message Date
Tom Callaway
1658042fc1 3.13.7.5 2012-12-10 15:19:56 -05:00
Tom Callaway
df91fe4cb8 3.10.8 2012-07-09 21:25:29 -04:00
Dennis Gilmore
4540f3bcd7 make sure the right arm abi is used in the second call of scons 2012-03-30 10:49:25 -05:00
Dennis Gilmore
dc0bd1bb3c use correct arm macros
- use the correct abis for hard and soft float
2012-03-30 10:47:02 -05:00
Tom Callaway
00545986d6 3.7.12 + epoch for chromium 2012-03-20 11:11:49 -04:00
5 changed files with 457 additions and 76 deletions

View file

@ -1 +1 @@
51a5bcd3d9299fbb63adf3de7f890faf v8-3.8.9-20120127svn10526.tar.bz2
9355d2a122f127471bdec26c4634c890 v8-3.13.7.5.tar.bz2

View file

@ -0,0 +1,61 @@
diff -up v8-3.4.14-20110721svn8716/src/SConscript.experimental v8-3.4.14-20110721svn8716/src/SConscript
--- v8-3.4.14-20110721svn8716/src/SConscript.experimental 2011-07-21 11:02:27.000000000 -0400
+++ v8-3.4.14-20110721svn8716/src/SConscript 2011-07-21 13:13:52.678543506 -0400
@@ -134,6 +134,14 @@ SOURCES = {
zone.cc
extensions/gc-extension.cc
extensions/externalize-string-extension.cc
+ extensions/experimental/break-iterator.cc
+ extensions/experimental/collator.cc
+ extensions/experimental/datetime-format.cc
+ extensions/experimental/i18n-extension.cc
+ extensions/experimental/i18n-locale.cc
+ extensions/experimental/i18n-utils.cc
+ extensions/experimental/language-matcher.cc
+ extensions/experimental/number-format.cc
"""),
'arch:arm': Split("""
arm/builtins-arm.cc
@@ -310,6 +318,10 @@ proxy.js
'''.split()
+I18N_LIBRARY_FILES = '''
+extensions/experimental/i18n.js
+'''.split()
+
def Abort(message):
print message
sys.exit(1)
@@ -348,6 +360,13 @@ def ConfigureObjectFiles():
['libraries.cc'], library_files, **BuildJS2CEnv('CORE'))
libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.'])
+ # Combine the experimental I18N JavaScript library files into a C++ file
+ # and compile it.
+ i18n_library_files = [ s for s in I18N_LIBRARY_FILES ]
+ i18n_library_files.append('macros.py')
+ i18n_libraries_src = env.JS2C(['i18n-libraries.cc'], i18n_library_files, **BuildJS2CEnv('I18N'))
+ i18n_libraries_obj = context.ConfigureObject(env, i18n_libraries_src, CPPPATH=['.'])
+
# Combine the experimental JavaScript library files into a C++ file
# and compile it.
experimental_library_files = [ s for s in EXPERIMENTAL_LIBRARY_FILES ]
@@ -373,7 +392,7 @@ def ConfigureObjectFiles():
mksnapshot_env = env.Copy()
mksnapshot_env.Replace(**context.flags['mksnapshot'])
mksnapshot_src = 'mksnapshot.cc'
- mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, experimental_libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')
+ mksnapshot = mksnapshot_env.Program('mksnapshot', [mksnapshot_src, libraries_obj, i18n_libraries_obj, experimental_libraries_obj, non_snapshot_files, empty_snapshot_obj], PDB='mksnapshot.exe.pdb')
if context.use_snapshot:
if context.build_snapshot:
snapshot_cc = env.Snapshot('snapshot.cc', mksnapshot, LOGFILE=File('snapshot.log').abspath)
@@ -382,7 +401,7 @@ def ConfigureObjectFiles():
snapshot_obj = context.ConfigureObject(env, snapshot_cc, CPPPATH=['.'])
else:
snapshot_obj = empty_snapshot_obj
- library_objs = [non_snapshot_files, libraries_obj, experimental_libraries_obj, snapshot_obj]
+ library_objs = [non_snapshot_files, libraries_obj, i18n_libraries_obj, experimental_libraries_obj, snapshot_obj]
return (library_objs, d8_objs, [mksnapshot], preparser_objs)

View file

@ -0,0 +1,243 @@
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.cc.BAD 2011-07-21 12:36:38.117525896 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.cc 2011-07-21 12:36:44.663541775 -0400
@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/break-iterator.h"
+#include "extensions/experimental/break-iterator.h"
#include <string.h>
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.h.BAD 2011-07-21 12:37:39.989539464 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/break-iterator.h 2011-07-21 12:37:47.271546557 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_BREAK_ITERATOR_H_
#define V8_EXTENSIONS_EXPERIMENTAL_BREAK_ITERATOR_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uversion.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.cc.BAD 2011-07-21 12:38:32.892541085 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.cc 2011-07-21 12:38:42.536540200 -0400
@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/collator.h"
+#include "extensions/experimental/collator.h"
#include "unicode/coll.h"
#include "unicode/locid.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.h.BAD 2011-07-21 12:40:38.695553065 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/collator.h 2011-07-21 12:40:46.604287238 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_COLLATOR_H
#define V8_EXTENSIONS_EXPERIMENTAL_COLLATOR_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uversion.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.cc.BAD 2011-07-21 12:42:32.070546811 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.cc 2011-07-21 12:42:43.429540019 -0400
@@ -25,11 +25,11 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/datetime-format.h"
+#include "extensions/experimental/datetime-format.h"
#include <string.h>
-#include "src/extensions/experimental/i18n-utils.h"
+#include "extensions/experimental/i18n-utils.h"
#include "unicode/dtfmtsym.h"
#include "unicode/dtptngen.h"
#include "unicode/locid.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.h.BAD 2011-07-21 12:40:53.229295468 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/datetime-format.h 2011-07-21 12:41:00.279541337 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_DATETIME_FORMAT_H_
#define V8_EXTENSIONS_EXPERIMENTAL_DATETIME_FORMAT_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uversion.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.cc.BAD 2011-07-21 12:42:51.682535397 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.cc 2011-07-21 12:43:10.905542088 -0400
@@ -25,14 +25,14 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/i18n-extension.h"
+#include "extensions/experimental/i18n-extension.h"
-#include "src/extensions/experimental/break-iterator.h"
-#include "src/extensions/experimental/collator.h"
-#include "src/extensions/experimental/datetime-format.h"
-#include "src/extensions/experimental/i18n-locale.h"
-#include "src/extensions/experimental/i18n-natives.h"
-#include "src/extensions/experimental/number-format.h"
+#include "extensions/experimental/break-iterator.h"
+#include "extensions/experimental/collator.h"
+#include "extensions/experimental/datetime-format.h"
+#include "extensions/experimental/i18n-locale.h"
+#include "extensions/experimental/i18n-natives.h"
+#include "extensions/experimental/number-format.h"
namespace v8 {
namespace internal {
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.h.BAD 2011-07-21 12:41:13.170538335 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-extension.h 2011-07-21 12:41:20.023540712 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_I18N_EXTENSION_H_
#define V8_EXTENSIONS_EXPERIMENTAL_I18N_EXTENSION_H_
-#include "include/v8.h"
+#include "v8.h"
namespace v8 {
namespace internal {
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.cc.BAD 2011-07-21 12:43:18.896539148 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.cc 2011-07-21 12:43:32.626538677 -0400
@@ -25,10 +25,10 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/i18n-locale.h"
+#include "extensions/experimental/i18n-locale.h"
-#include "src/extensions/experimental/i18n-utils.h"
-#include "src/extensions/experimental/language-matcher.h"
+#include "extensions/experimental/i18n-utils.h"
+#include "extensions/experimental/language-matcher.h"
#include "unicode/locid.h"
#include "unicode/uloc.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.h.BAD 2011-07-21 12:41:28.401292703 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-locale.h 2011-07-21 12:41:34.887302839 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_I18N_LOCALE_H_
#define V8_EXTENSIONS_EXPERIMENTAL_I18N_LOCALE_H_
-#include "include/v8.h"
+#include "v8.h"
namespace v8 {
namespace internal {
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.cc.BAD 2011-07-21 12:43:40.641540032 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.cc 2011-07-21 12:43:47.258552856 -0400
@@ -25,7 +25,7 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/i18n-utils.h"
+#include "extensions/experimental/i18n-utils.h"
#include <string.h>
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.h.BAD 2011-07-21 12:41:47.436545325 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-utils.h 2011-07-21 12:41:53.749539656 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_I18N_UTILS_H_
#define V8_EXTENSIONS_EXPERIMENTAL_I18N_UTILS_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uversion.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.cc.BAD 2011-07-21 12:43:55.484291257 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.cc 2011-07-21 12:47:31.316288453 -0400
@@ -28,11 +28,11 @@
// TODO(cira): Remove LanguageMatcher from v8 when ICU implements
// language matching API.
-#include "src/extensions/experimental/language-matcher.h"
+#include "extensions/experimental/language-matcher.h"
#include <string.h>
-#include "src/extensions/experimental/i18n-utils.h"
+#include "extensions/experimental/i18n-utils.h"
#include "unicode/datefmt.h" // For getAvailableLocales
#include "unicode/locid.h"
#include "unicode/uloc.h"
@@ -43,7 +43,7 @@ namespace internal {
const unsigned int LanguageMatcher::kLanguageWeight = 75;
const unsigned int LanguageMatcher::kScriptWeight = 20;
const unsigned int LanguageMatcher::kRegionWeight = 5;
-const unsigned int LanguageMatcher::kThreshold = 50;
+const int LanguageMatcher::kThreshold = 50;
const unsigned int LanguageMatcher::kPositionBonus = 1;
const char* const LanguageMatcher::kDefaultLocale = "root";
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.h.BAD 2011-07-21 12:42:00.374537754 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/language-matcher.h 2011-07-21 12:47:59.556286069 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_LANGUAGE_MATCHER_H_
#define V8_EXTENSIONS_EXPERIMENTAL_LANGUAGE_MATCHER_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uloc.h"
@@ -76,7 +76,7 @@ class LanguageMatcher {
static const unsigned int kRegionWeight;
// LocaleID match score has to be over this number to accept the match.
- static const unsigned int kThreshold;
+ static const int kThreshold;
// For breaking ties in priority queue.
static const unsigned int kPositionBonus;
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.cc.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.cc
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.cc.BAD 2011-07-21 12:44:13.227297121 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.cc 2011-07-21 12:44:23.119292346 -0400
@@ -25,11 +25,11 @@
// (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
// OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#include "src/extensions/experimental/number-format.h"
+#include "extensions/experimental/number-format.h"
#include <string.h>
-#include "src/extensions/experimental/i18n-utils.h"
+#include "extensions/experimental/i18n-utils.h"
#include "unicode/dcfmtsym.h"
#include "unicode/decimfmt.h"
#include "unicode/locid.h"
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.h.BAD v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.h
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.h.BAD 2011-07-21 12:42:15.678549139 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/number-format.h 2011-07-21 12:42:22.940543222 -0400
@@ -28,7 +28,7 @@
#ifndef V8_EXTENSIONS_EXPERIMENTAL_NUMBER_FORMAT_H_
#define V8_EXTENSIONS_EXPERIMENTAL_NUMBER_FORMAT_H_
-#include "include/v8.h"
+#include "v8.h"
#include "unicode/uversion.h"

40
v8-3.4.14-i18n-js2c.patch Normal file
View file

@ -0,0 +1,40 @@
diff -up v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-js2c.py.i18n-js2c v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-js2c.py
--- v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-js2c.py.i18n-js2c 2011-07-21 14:39:22.402295140 -0400
+++ v8-3.4.14-20110721svn8716/src/extensions/experimental/i18n-js2c.py 2011-07-21 14:39:28.328285018 -0400
@@ -85,7 +85,7 @@ HEADER_TEMPLATE = """\
// want to make changes to this file you should either change the
// javascript source files or the i18n-js2c.py script.
-#include "src/extensions/experimental/i18n-natives.h"
+#include "extensions/experimental/i18n-natives.h"
namespace v8 {
namespace internal {
diff -up v8-3.4.14-20110721svn8716/src/SConscript.i18n-js2c v8-3.4.14-20110721svn8716/src/SConscript
--- v8-3.4.14-20110721svn8716/src/SConscript.i18n-js2c 2011-07-21 14:38:49.828400947 -0400
+++ v8-3.4.14-20110721svn8716/src/SConscript 2011-07-21 14:38:49.869408897 -0400
@@ -318,10 +318,6 @@ proxy.js
'''.split()
-I18N_LIBRARY_FILES = '''
-extensions/experimental/i18n.js
-'''.split()
-
def Abort(message):
print message
sys.exit(1)
@@ -360,11 +356,8 @@ def ConfigureObjectFiles():
['libraries.cc'], library_files, **BuildJS2CEnv('CORE'))
libraries_obj = context.ConfigureObject(env, libraries_src, CPPPATH=['.'])
- # Combine the experimental I18N JavaScript library files into a C++ file
- # and compile it.
- i18n_library_files = [ s for s in I18N_LIBRARY_FILES ]
- i18n_library_files.append('macros.py')
- i18n_libraries_src = env.JS2C(['i18n-libraries.cc'], i18n_library_files, **BuildJS2CEnv('I18N'))
+ # Compile the experimental I18N JavaScript C++ file we generated outside.
+ i18n_libraries_src = 'i18n-libraries.cc'
i18n_libraries_obj = context.ConfigureObject(env, i18n_libraries_src, CPPPATH=['.'])
# Combine the experimental JavaScript library files into a C++ file

185
v8.spec
View file

@ -1,38 +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 8
%global sobuild 9
%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: 1.20120127svn10526%{?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}-20120127svn10526.tar.bz2
Source1: v8-daily-tarball.sh
# Enable experimental i18n extension that chromium needs
Patch0: v8-3.3.10-enable-experimental.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
@ -40,24 +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}-20120127svn10526
#patch0 -p1 -b .experimental
%patch3 -p1 -b .shebang
#sed -i '/break-iterator.cc/d' src/SConscript
#sed -i '/collator.cc/d' src/SConscript
sed -i '/extensions\/experimental\//d' src/SConscript
%setup -q -n %{name}-%{version}
# -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
@ -67,19 +61,23 @@ find . \( -name \*.cc -o -name \*.h -o -name \*.py \) -a -executable \
chmod -x $FILE
done
%build
export GCC_VERSION="46"
export COMPRESSION="off"
scons library=shared snapshots=on verbose=on \
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" \
%{?_smp_mflags}
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,18 +88,27 @@ 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/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
%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}
@ -116,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.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}
@ -148,14 +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/
chmod -x %{buildroot}%{_includedir}/v8/extensions/*.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
@ -179,28 +198,46 @@ rm -rf %{buildroot}
%{python_sitelib}/j*.py*
%changelog
* Fri Jan 27 2012 Thomas Spura <tomspur@fedoraproject.org> - 3.8.9-1.20120127svn10526
- update to 3.8.9
- some patches not applicable anymore
- experimental i18n extension patch doesn't work anymore
* 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)
* Sat Jan 14 2012 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 3.3.10-5
- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
* 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
* Sat Aug 27 2011 Matěj Cepl <mcepl@redhat.com> - 3.3.10-4
- Make jsmin.py working.
* Fri Jul 6 2012 Tom Callaway <spot@fedoraproject.org> 1:3.10.8-1
- update to 3.10.8 (chromium 20)
* 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.
* Tue Jun 12 2012 Tom Callaway <spot@fedoraproject.org> 1:3.9.24-1
- update to 3.9.24 (chromium 19)
* Wed Aug 23 2011 T.C. Hollingsworth <tchollingsworth@gmail.com 3.3.10-2
* 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