[v8/f17] 3.7.12 + epoch for chromium

Tom Callaway spot at fedoraproject.org
Tue Mar 20 15:11:52 UTC 2012


commit 00545986d66e9c7f5579a80c7e248f7ff73d709b
Author: Tom Callaway <spot at fedoraproject.org>
Date:   Tue Mar 20 11:11:49 2012 -0400

    3.7.12 + epoch for chromium

 sources                                  |    2 +-
 v8-3.4.14-enable-experimental.patch      |   61 ++++++++
 v8-3.4.14-fix-experimental-compile.patch |  243 ++++++++++++++++++++++++++++++
 v8-3.4.14-i18n-js2c.patch                |   40 +++++
 v8.spec                                  |  155 ++++++++++---------
 5 files changed, 429 insertions(+), 72 deletions(-)
---
diff --git a/sources b/sources
index 4eec8b4..dc61ae0 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-51a5bcd3d9299fbb63adf3de7f890faf  v8-3.8.9-20120127svn10526.tar.bz2
+37676bdba884c1a28a57dd0a3aacb386  v8-3.7.12.tar.bz2
diff --git a/v8-3.4.14-enable-experimental.patch b/v8-3.4.14-enable-experimental.patch
new file mode 100644
index 0000000..9a7b805
--- /dev/null
+++ b/v8-3.4.14-enable-experimental.patch
@@ -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)
+ 
+ 
diff --git a/v8-3.4.14-fix-experimental-compile.patch b/v8-3.4.14-fix-experimental-compile.patch
new file mode 100644
index 0000000..5a85fd9
--- /dev/null
+++ b/v8-3.4.14-fix-experimental-compile.patch
@@ -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"
+ 
diff --git a/v8-3.4.14-i18n-js2c.patch b/v8-3.4.14-i18n-js2c.patch
new file mode 100644
index 0000000..4665fff
--- /dev/null
+++ b/v8-3.4.14-i18n-js2c.patch
@@ -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
diff --git a/v8.spec b/v8.spec
index b56bb2e..6c178de 100644
--- a/v8.spec
+++ b/v8.spec
@@ -1,38 +1,45 @@
 # 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 at fedoraproject.org>
 
 # For the 1.2 branch, we use 0s here
 # For 1.3+, we use the three digit versions
 %global somajor 3
-%global sominor 8
-%global sobuild 9
+%global sominor 7
+%global sobuild 12
 %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
+
+# %%global svnver 20110721svn8716
+
+Name:		v8
+Version:	%{somajor}.%{sominor}.%{sobuild}
+Release:	3%{?dist}
+Epoch:		1
+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
+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
-# 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
+Patch0:		v8-3.4.14-enable-experimental.patch
+# Fix experimental extensions compile
+Patch2:		v8-3.4.14-fix-experimental-compile.patch
+# Fix i18n.js to C conversion
+Patch3:		v8-3.4.14-i18n-js2c.patch
+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 +47,21 @@ 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}
+%patch0 -p1 -b .experimental
+%patch2 -p1 -b .fix
+%patch3 -p1 -b .i18n-js2c
 
 # -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 +71,18 @@ 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/
+python src/extensions/experimental/i18n-js2c.py obj/release/i18n-libraries.cc src/extensions/experimental/i18n.js src/macros.py
+export GCC_VERSION="44"
+scons library=shared snapshots=on \
 %ifarch x86_64
 arch=x64 \
 %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,25 +93,35 @@ 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/hashmap.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/arm/*.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/extensions/experimental/*.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/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/extensions/experimental/*.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/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/extensions/experimental/*.os obj/release/x64/*.os $ICU_LINK_FLAGS
 %endif
 
 # We need to do this so d8 can link against it.
@@ -125,7 +138,7 @@ library=shared snapshots=on console=readline visibility=default || :
 # Sigh. I f*****g hate scons.
 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}
@@ -150,14 +163,20 @@ chmod -x %{buildroot}%{_includedir}/v8*.h
 
 mkdir -p %{buildroot}%{_includedir}/v8/extensions/experimental/
 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
 rm -rf %{buildroot}
 
@@ -179,28 +198,22 @@ rm -rf %{buildroot}
 %{python_sitelib}/j*.py*
 
 %changelog
-* Fri Jan 27 2012 Thomas Spura <tomspur at 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 Mar 20 2012 Tom Callaway <spot at fedoraproject.org> 3.7.12-3
+- merge changes from Fedora spec file, sync, add epoch
 
-* Sat Jan 14 2012 Fedora Release Engineering <rel-eng at lists.fedoraproject.org> - 3.3.10-5
-- Rebuilt for https://fedoraproject.org/wiki/Fedora_17_Mass_Rebuild
+* Fri Feb 17 2012 Tom Callaway <spot at fedoraproject.org> 3.7.12-2
+- add -Wno-error=strict-overflow for gcc 4.7 (hack, hack, hack)
 
-* Sat Aug 27 2011 Matěj Cepl <mcepl at redhat.com> - 3.3.10-4
-- Make jsmin.py working.
+* Mon Feb 13 2012 Tom Callaway <spot at fedoraproject.org> 3.7.12-1
+- update to 3.7.12
 
-* Wed Aug 24 2011 Matěj Cepl <mcepl at 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.
+* Thu Nov  3 2011 Tom Callaway <spot at fedoraproject.org> 3.5.10-1
+- update to 3.5.10
 
-* Wed Aug 23 2011 T.C. Hollingsworth <tchollingsworth at gmail.com 3.3.10-2
+* Mon Sep 26 2011 Tom Callaway <spot at fedoraproject.org> 3.4.14-2
+- final 3.4.14 tag
 - include JavaScript minifier scripts in -devel
 
-* Wed Aug 10 2011 Tom Callaway <spot at fedoraproject.org> 3.3.10-1
-- tag 3.3.10
-
 * Fri Jun 10 2011 Tom Callaway <spot at fedoraproject.org> 3.2.10-1
 - tag 3.2.10
 


More information about the scm-commits mailing list