[erlang-js] Ver. 1.2.1 (API/ABI compatible with 1.0.2)

Peter Lemenkov peter at fedoraproject.org
Sat Sep 22 20:09:10 UTC 2012


commit 0f0dcb5315e9b43c2956ff174cd55e9bbae4892e
Author: Peter Lemenkov <lemenkov at gmail.com>
Date:   Sun Sep 23 00:09:00 2012 +0400

    Ver. 1.2.1 (API/ABI compatible with 1.0.2)
    
    Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>

 .gitignore                                         |    1 +
 ...-js-0001-Fix-building-of-linked-in-driver.patch |   83 ++++++++++----------
 erlang-js-0002-Build-with-js-1.7.0.patch           |   30 ++++----
 erlang-js-0002-build-fix-for-js-1.8.5.patch        |   61 +++++++--------
 erlang-js-0003-Fix-deprecation-warning.patch       |   26 ------
 ...-Use-mochiweb-instead-of-a-bundled-copies.patch |   26 +++---
 ...ang-js-0004-Use-standard-layout-for-rebar.patch |   72 ++++++++++++------
 ...erlang-js-0005-Start-erlang_js-explicitly.patch |    8 +-
 erlang-js-0006-Dont-treat-warnings-as-errors.patch |   26 ------
 ...ng-treated-as-error-about-unused-variable.patch |   24 ++++++
 erlang-js.spec                                     |   43 +++++++----
 sources                                            |    2 +-
 12 files changed, 203 insertions(+), 199 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index ab81a0a..d3ec3f9 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,2 +1,3 @@
 /basho-erlang_js-erlang_js-0.5.0-0-g5350ed2.tar.gz
 /basho-erlang_js-1.0.2-0-g16bc10d.tar.gz
+/basho-erlang_js-1.2.1-0-gcd520bf.tar.gz
diff --git a/erlang-js-0001-Fix-building-of-linked-in-driver.patch b/erlang-js-0001-Fix-building-of-linked-in-driver.patch
index d1da899..68d374a 100644
--- a/erlang-js-0001-Fix-building-of-linked-in-driver.patch
+++ b/erlang-js-0001-Fix-building-of-linked-in-driver.patch
@@ -1,37 +1,37 @@
-From ae1726fd6c1f826a5780cc58e168a58ae6d7d330 Mon Sep 17 00:00:00 2001
+From 902878548a9c12b436fad8ba0b09c6baec979670 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 28 Oct 2010 12:26:25 +0400
-Subject: [PATCH 1/7] Fix building of linked-in driver
+Subject: [PATCH 1/5] Fix building of linked-in driver
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
- GNUmakefile                                        |   30 ---
- Makefile                                           |   22 +-
- build_docs.sh                                      |    4 -
- c_src/Makefile                                     |   62 -----
- c_src/build_driver_deps.sh                         |   11 -
- c_src/js-1.8.0-rc1.tar.gz                          |  Bin 1310344 -> 0 bytes
- c_src/nsprpub-4.8.tar.gz                           |  Bin 1189679 -> 0 bytes
- c_src/patches/js-src-Makefile.in.OS_RELEASE.patch  |   11 -
- .../patches/js-src-Makefile.ref.LIB_ASFILES.patch  |   14 --
- c_src/patches/js-src-Makefile.ref.jscpucfg.patch   |   11 -
- c_src/patches/js-src-config-DragonFly.mk.patch     |   97 --------
- c_src/patches/js-src-config-FreeBSD.mk.patch       |  102 --------
- c_src/patches/js-src-config-NetBSD.mk.patch        |  103 --------
- c_src/patches/js-src-config-OpenBSD.mk.patch       |  103 --------
- c_src/patches/js-src-config-SunOS5.10.mk.patch     |   19 --
- .../patches/js-src-config-SunOS5.10_i86pc.mk.patch |   51 ----
- c_src/patches/js-src-config-SunOS5.11.mk.patch     |   63 -----
- .../patches/js-src-config-SunOS5.11_i86pc.mk.patch |   51 ----
- .../patches/js-src-config-SunOS5.1x_i86pc.mk.patch |   72 ------
- c_src/patches/js-src-config.mk.patch               |   39 ---
- c_src/patches/nspr-src-Makefile.in.patch           |   16 --
- c_src/patches/nspr-src-configure.in.patch          |   59 -----
- c_src/patches/nspr-src-configure.patch             |  251 --------------------
- c_src/patches/nspr-src-prnetdb.c.patch             |   14 --
- rebar.config                                       |    7 +-
- rebar.mk                                           |   38 ---
- 26 files changed, 11 insertions(+), 1239 deletions(-)
+ GNUmakefile                                        |  30 ---
+ Makefile                                           |  23 +-
+ build_docs.sh                                      |   4 -
+ c_src/Makefile                                     |  62 -----
+ c_src/build_driver_deps.sh                         |  11 -
+ c_src/js-1.8.0-rc1.tar.gz                          | Bin 1310344 -> 0 bytes
+ c_src/nsprpub-4.8.tar.gz                           | Bin 1189679 -> 0 bytes
+ c_src/patches/js-src-Makefile.in.OS_RELEASE.patch  |  11 -
+ .../patches/js-src-Makefile.ref.LIB_ASFILES.patch  |  14 --
+ c_src/patches/js-src-Makefile.ref.jscpucfg.patch   |  11 -
+ c_src/patches/js-src-config-DragonFly.mk.patch     |  97 --------
+ c_src/patches/js-src-config-FreeBSD.mk.patch       | 102 ---------
+ c_src/patches/js-src-config-NetBSD.mk.patch        | 103 ---------
+ c_src/patches/js-src-config-OpenBSD.mk.patch       | 103 ---------
+ c_src/patches/js-src-config-SunOS5.10.mk.patch     |  19 --
+ .../patches/js-src-config-SunOS5.10_i86pc.mk.patch |  51 -----
+ c_src/patches/js-src-config-SunOS5.11.mk.patch     |  63 ------
+ .../patches/js-src-config-SunOS5.11_i86pc.mk.patch |  51 -----
+ .../patches/js-src-config-SunOS5.1x_i86pc.mk.patch |  72 ------
+ c_src/patches/js-src-config.mk.patch               |  39 ----
+ c_src/patches/nspr-src-Makefile.in.patch           |  16 --
+ c_src/patches/nspr-src-configure.in.patch          |  59 -----
+ c_src/patches/nspr-src-configure.patch             | 251 ---------------------
+ c_src/patches/nspr-src-prnetdb.c.patch             |  14 --
+ rebar.config                                       |   7 +-
+ rebar.mk                                           |  38 ----
+ 26 files changed, 11 insertions(+), 1240 deletions(-)
  delete mode 100644 GNUmakefile
  delete mode 100755 build_docs.sh
  delete mode 100644 c_src/Makefile
@@ -59,7 +59,7 @@ Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 
 diff --git a/GNUmakefile b/GNUmakefile
 deleted file mode 100644
-index 9df6429..0000000
+index 32562d9..0000000
 --- a/GNUmakefile
 +++ /dev/null
 @@ -1,30 +0,0 @@
@@ -89,15 +89,15 @@ index 9df6429..0000000
 -docs: all
 -	@mkdir -p docs
 -	@./build_docs.sh
--	
--.PHONY: c_src docs
+-
+-.PHONY: c_src c_src_clean docs
 -
 -include rebar.mk
 diff --git a/Makefile b/Makefile
-index 9657397..df3c065 100644
+index dd7df14..df3c065 100644
 --- a/Makefile
 +++ b/Makefile
-@@ -2,24 +2,20 @@
+@@ -2,25 +2,20 @@
  # instead of this file. This provides compatability on systems where GNU make is
  # not the system 'make' (eg. most non-linux UNIXes).
  
@@ -122,6 +122,7 @@ index 9657397..df3c065 100644
 -
 -c_src: FORCE
 -	@gmake c_src
+-
 -FORCE:
 -
 -c_src_clean:
@@ -49434,23 +49435,23 @@ index b4fb0e9..0000000
 - #if (defined(__GLIBC__) && __GLIBC__ >= 2 && !defined(XP_BEOS))
 - #define _PR_HAVE_GETPROTO_R
 diff --git a/rebar.config b/rebar.config
-index a86be90..d6803b5 100644
+index d065f01..ea70993 100644
 --- a/rebar.config
 +++ b/rebar.config
 @@ -8,8 +8,8 @@
  {erl_opts, [warnings_as_errors]}.
  
- {port_envs, [
--             {"DRV_CFLAGS", "$DRV_CFLAGS -I c_src/system/include/js -DXP_UNIX"},
+ {port_env, [
+-             {"DRV_CFLAGS", "$DRV_CFLAGS -I c_src/system/include/js -DXP_UNIX -Wall"},
 -             {"DRV_LDFLAGS", "$DRV_LDFLAGS c_src/system/lib/libjs.a c_src/system/lib/libnspr4.a"},
 +             {"DRV_CFLAGS", "$DRV_CFLAGS `pkg-config libjs --cflags`"},
 +             {"DRV_LDFLAGS", "$DRV_LDFLAGS `pkg-config libjs --libs`"},
  
               %% Define flags for enabling/disable 64 bit build of NSPR
               {"-32$", "NSPR_SIXTYFOUR", "--disable-64bit"},
-@@ -28,6 +28,3 @@
-              {"darwin10.*-32$", "CFLAGS", "-m32"},
-              {"darwin10.*-32$", "LDFLAGS", "-arch i386"}
+@@ -33,6 +33,3 @@
+              {"freebsd.*", "MAKEFLAGS", ""}
+ 
              ]}.
 -
 -{pre_hooks, [{compile, "make c_src"}]}.
@@ -49500,5 +49501,5 @@ index bfb4156..0000000
 -	chmod u+x ./rebar
 -
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0002-Build-with-js-1.7.0.patch b/erlang-js-0002-Build-with-js-1.7.0.patch
index ed58be5..2fe94fb 100644
--- a/erlang-js-0002-Build-with-js-1.7.0.patch
+++ b/erlang-js-0002-Build-with-js-1.7.0.patch
@@ -1,19 +1,19 @@
-From 09df9796e4a220ace193658cbc2887171e92411a Mon Sep 17 00:00:00 2001
+From 7bd3efed69a742ed4db84a850550a08ade387595 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Thu, 28 Oct 2010 12:29:26 +0400
-Subject: [PATCH 2/7] Build with js-1.7.0
+Subject: [PATCH 2/5] Build with js-1.7.0
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
- c_src/spidermonkey.c |   10 ++++++----
- c_src/spidermonkey.h |    3 ++-
+ c_src/spidermonkey.c | 10 ++++++----
+ c_src/spidermonkey.h |  3 ++-
  2 files changed, 8 insertions(+), 5 deletions(-)
 
 diff --git a/c_src/spidermonkey.c b/c_src/spidermonkey.c
-index 667a8d4..bd4e1cc 100644
+index 623c109..b485c6b 100644
 --- a/c_src/spidermonkey.c
 +++ b/c_src/spidermonkey.c
-@@ -23,6 +23,9 @@
+@@ -25,6 +25,9 @@
  
  void free_error(spidermonkey_state *state);
  
@@ -23,16 +23,16 @@ index 667a8d4..bd4e1cc 100644
  /* The class of the global object. */
  static JSClass global_class = {
      "global", JSCLASS_GLOBAL_FLAGS,
-@@ -132,7 +135,7 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
+@@ -134,7 +137,7 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
  }
  
- void sm_configure_locale() {
+ void sm_configure_locale(void) {
 -  JS_SetCStringsAreUTF8();
 +	return;
  }
  
  spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
-@@ -146,13 +149,12 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
+@@ -148,13 +151,12 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
    JS_SetGCParameter(vm->runtime, JSGC_MAX_BYTES, heap_size);
    JS_SetGCParameter(vm->runtime, JSGC_MAX_MALLOC_BYTES, gc_size);
    vm->context = JS_NewContext(vm->runtime, 8192);
@@ -47,17 +47,17 @@ index 667a8d4..bd4e1cc 100644
    vm->global = JS_NewObject(vm->context, &global_class, NULL, NULL);
    JS_InitStandardClasses(vm->context, vm->global);
    JS_SetErrorReporter(vm->context, on_error);
-@@ -160,7 +162,7 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
+@@ -162,7 +164,7 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
    JS_SetContextPrivate(vm->context, state);
-   JSNative *funptr = (JSNative *) *js_log;
+   JSNative funptr = (JSNative) &js_log;
    JS_DefineFunction(vm->context, JS_GetGlobalObject(vm->context), "ejsLog", funptr,
--		    0, JSFUN_FAST_NATIVE);
-+		    0, JSFUN_INTERPRETED);
+-                    0, JSFUN_FAST_NATIVE);
++                    0, JSFUN_INTERPRETED);
    end_request(vm);
  
    return vm;
 diff --git a/c_src/spidermonkey.h b/c_src/spidermonkey.h
-index 2ab583b..44ddc0d 100644
+index e68aecf..ce1bfeb 100644
 --- a/c_src/spidermonkey.h
 +++ b/c_src/spidermonkey.h
 @@ -16,7 +16,8 @@
@@ -71,5 +71,5 @@ index 2ab583b..44ddc0d 100644
  typedef struct _spidermonkey_error_t {
    unsigned int lineno;
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0002-build-fix-for-js-1.8.5.patch b/erlang-js-0002-build-fix-for-js-1.8.5.patch
index 2d80eb7..a30992c 100644
--- a/erlang-js-0002-build-fix-for-js-1.8.5.patch
+++ b/erlang-js-0002-build-fix-for-js-1.8.5.patch
@@ -1,17 +1,17 @@
-From 2ec99ed3dc6e893ec8df7de5155d7870a0f88c40 Mon Sep 17 00:00:00 2001
+From d2acdba41828218b714c246df1d90c69fa221e6a Mon Sep 17 00:00:00 2001
 From: Martin Stransky <stransky at redhat.com>
 Date: Tue, 3 Jul 2012 19:03:44 +0400
-Subject: [PATCH 2/7] build fix for js 1.8.5
+Subject: [PATCH 2/5] build fix for js 1.8.5
 
 ---
- c_src/spidermonkey.c |   53 ++++++++++++++++++++++++++++----------------------
- 1 file changed, 30 insertions(+), 23 deletions(-)
+ c_src/spidermonkey.c | 43 +++++++++++++++++++++++++------------------
+ 1 file changed, 25 insertions(+), 18 deletions(-)
 
 diff --git a/c_src/spidermonkey.c b/c_src/spidermonkey.c
-index 667a8d4..569e2a6 100644
+index 623c109..07ba29e 100644
 --- a/c_src/spidermonkey.c
 +++ b/c_src/spidermonkey.c
-@@ -26,7 +26,7 @@ void free_error(spidermonkey_state *state);
+@@ -28,7 +28,7 @@ void free_error(spidermonkey_state *state);
  /* The class of the global object. */
  static JSClass global_class = {
      "global", JSCLASS_GLOBAL_FLAGS,
@@ -20,7 +20,7 @@ index 667a8d4..569e2a6 100644
      JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub,
      JSCLASS_NO_OPTIONAL_MEMBERS
  };
-@@ -39,9 +39,11 @@ char *copy_string(const char *source) {
+@@ -41,9 +41,11 @@ char *copy_string(const char *source) {
    return retval;
  }
  
@@ -35,7 +35,7 @@ index 667a8d4..569e2a6 100644
  }
  
  void begin_request(spidermonkey_vm *vm) {
-@@ -76,7 +78,7 @@ void on_error(JSContext *context, const char *message, JSErrorReport *report) {
+@@ -78,7 +80,7 @@ void on_error(JSContext *context, const char *message, JSErrorReport *report) {
    }
  }
  
@@ -44,7 +44,7 @@ index 667a8d4..569e2a6 100644
    JSBool return_value = JS_TRUE;
    spidermonkey_state *state = (spidermonkey_state *) JS_GetContextPrivate(context);
    state->branch_count++;
-@@ -114,8 +116,8 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
+@@ -116,8 +118,8 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
      jsval *argv = JS_ARGV(cx, vp);
      jsval jsfilename = argv[0];
      jsval jsoutput = argv[1];
@@ -55,7 +55,7 @@ index 667a8d4..569e2a6 100644
      FILE *fd = fopen(filename, "a+");
      if (fd != NULL) {
        write_timestamp(fd);
-@@ -127,6 +129,8 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
+@@ -129,6 +131,8 @@ JSBool js_log(JSContext *cx, uintN argc, jsval *vp) {
      else {
        JS_SET_RVAL(cx, vp, JSVAL_FALSE);
      }
@@ -64,7 +64,7 @@ index 667a8d4..569e2a6 100644
    }
    return JSVAL_TRUE;
  }
-@@ -153,14 +157,14 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
+@@ -155,14 +159,14 @@ spidermonkey_vm *sm_initialize(long thread_stack, long heap_size) {
    JS_SetOptions(vm->context, JSOPTION_STRICT);
    JS_SetOptions(vm->context, JSOPTION_COMPILE_N_GO);
    JS_SetOptions(vm->context, JSVERSION_LATEST);
@@ -75,15 +75,15 @@ index 667a8d4..569e2a6 100644
 -  JS_SetBranchCallback(vm->context, on_branch);
 +  JS_SetOperationCallback(vm->context, on_branch);
    JS_SetContextPrivate(vm->context, state);
--  JSNative *funptr = (JSNative *) *js_log;
+-  JSNative funptr = (JSNative) &js_log;
 +  JSNative funptr = (JSNative) js_log;
    JS_DefineFunction(vm->context, JS_GetGlobalObject(vm->context), "ejsLog", funptr,
--		    0, JSFUN_FAST_NATIVE);
+-                    0, JSFUN_FAST_NATIVE);
 +                    0, 0);
    end_request(vm);
  
    return vm;
-@@ -256,7 +260,7 @@ void free_error(spidermonkey_state *state) {
+@@ -259,7 +263,7 @@ void free_error(spidermonkey_state *state) {
  
  char *sm_eval(spidermonkey_vm *vm, const char *filename, const char *code, int handle_retval) {
    char *retval = NULL;
@@ -91,26 +91,19 @@ index 667a8d4..569e2a6 100644
 +  JSObject *script;
    jsval result;
  
-   if (code == NULL) { 
-@@ -275,18 +279,21 @@ char *sm_eval(spidermonkey_vm *vm, const char *filename, const char *code, int h
-     state = (spidermonkey_state *) JS_GetContextPrivate(vm->context);
-     if (state->error == NULL) {
+   if (code == NULL) {
+@@ -280,16 +284,19 @@ char *sm_eval(spidermonkey_vm *vm, const char *filename, const char *code, int h
        if (handle_retval) {
--	if (JSVAL_IS_STRING(result)) {
--	  JSString *str = JS_ValueToString(vm->context, result);
--	  retval = copy_jsstring(str);
--	}
--	else if(strcmp(JS_GetStringBytes(JS_ValueToString(vm->context, result)), "undefined") == 0) {
--	  retval = copy_string("{\"error\": \"Expression returned undefined\", \"lineno\": 0, \"source\": \"unknown\"}");
--	}
--	else {
--	  retval = copy_string("{\"error\": \"non-JSON return value\", \"lineno\": 0, \"source\": \"unknown\"}");
--	}
-+        if (JSVAL_IS_STRING(result)) {
-+          JSString *str = JS_ValueToString(vm->context, result);
+         if (JSVAL_IS_STRING(result)) {
+           JSString *str = JS_ValueToString(vm->context, result);
+-          retval = copy_jsstring(str);
+-        }
+-        else if(strcmp(JS_GetStringBytes(JS_ValueToString(vm->context, result)), "undefined") == 0) {
+-          retval = copy_string("{\"error\": \"Expression returned undefined\", \"lineno\": 0, \"source\": \"unknown\"}");
 +          retval = copy_jsstring(vm->context, str);
-+        }
-+        else {
+         }
+         else {
+-          retval = copy_string("{\"error\": \"non-JSON return value\", \"lineno\": 0, \"source\": \"unknown\"}");
 +          char *tmp = JS_EncodeString(vm->context, JS_ValueToString(vm->context, result));
 +	  if(strcmp(tmp, "undefined") == 0) {
 +            retval = copy_string("{\"error\": \"Expression returned undefined\", \"lineno\": 0, \"source\": \"unknown\"}");
@@ -119,12 +112,12 @@ index 667a8d4..569e2a6 100644
 +            retval = copy_string("{\"error\": \"non-JSON return value\", \"lineno\": 0, \"source\": \"unknown\"}");
 +	  }
 +	  JS_free(vm->context, tmp);
-+        }
+         }
        }
 -      JS_DestroyScript(vm->context, script);
      }
      else {
        retval = error_to_json(state->error);
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0004-Use-mochiweb-instead-of-a-bundled-copies.patch b/erlang-js-0003-Use-mochiweb-instead-of-a-bundled-copies.patch
similarity index 98%
rename from erlang-js-0004-Use-mochiweb-instead-of-a-bundled-copies.patch
rename to erlang-js-0003-Use-mochiweb-instead-of-a-bundled-copies.patch
index 3256b70..741b9b0 100644
--- a/erlang-js-0004-Use-mochiweb-instead-of-a-bundled-copies.patch
+++ b/erlang-js-0003-Use-mochiweb-instead-of-a-bundled-copies.patch
@@ -1,28 +1,28 @@
-From 0b2b8c5882d546c4f101c410e5ca8b954c11c39b Mon Sep 17 00:00:00 2001
+From 1a03398f33afce6cae5a3df89d2097539faf97dd Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 3 Jul 2012 22:50:21 +0400
-Subject: [PATCH 4/7] Use mochiweb instead of a bundled copies
+Subject: [PATCH 3/5] Use mochiweb instead of a bundled copies
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
- ebin/erlang_js.app    |    2 +-
- src/js.erl            |    6 +-
- src/js_driver.erl     |    6 +-
- src/js_mochijson2.erl |  782 -------------------------------------------------
- src/js_mochinum.erl   |  290 ------------------
- tests/eval_tests.erl  |    2 +-
+ ebin/erlang_js.app    |   2 +-
+ src/js.erl            |   6 +-
+ src/js_driver.erl     |   6 +-
+ src/js_mochijson2.erl | 782 --------------------------------------------------
+ src/js_mochinum.erl   | 290 -------------------
+ tests/eval_tests.erl  |   2 +-
  6 files changed, 8 insertions(+), 1080 deletions(-)
  delete mode 100644 src/js_mochijson2.erl
  delete mode 100644 src/js_mochinum.erl
 
 diff --git a/ebin/erlang_js.app b/ebin/erlang_js.app
-index 65707cd..cf20f1d 100644
+index 16bdcad..d3a44ed 100644
 --- a/ebin/erlang_js.app
 +++ b/ebin/erlang_js.app
 @@ -2,7 +2,7 @@
  {application, erlang_js,
   [{description,  "Interface between BEAM and JS"},
-   {vsn,          "1.0.2"},
+   {vsn,          "1.2.1"},
 -  {modules,      [erlang_js, erlang_js_sup, js, js_benchmark, js_cache, js_driver, js_drv_comm, js_memory, js_mochijson2, js_mochinum]},
 +  {modules,      [erlang_js, erlang_js_sup, js, js_benchmark, js_cache, js_driver, js_drv_comm, js_memory]},
    {registered,   [erlang_js_sup, js_cache]},
@@ -1157,7 +1157,7 @@ index ca09ca6..0000000
 -    {0.99999999999999989, 1024} = frexp(LargeNorm),
 -    ok.
 diff --git a/tests/eval_tests.erl b/tests/eval_tests.erl
-index ee9b45d..9133cf2 100644
+index bee664f..83db9e9 100644
 --- a/tests/eval_tests.erl
 +++ b/tests/eval_tests.erl
 @@ -79,7 +79,7 @@ charset_test_() ->
@@ -1167,8 +1167,8 @@ index ee9b45d..9133cf2 100644
 -       ?assertMatch(Struct, js_mochijson2:decode(js_mochijson2:encode(Struct))) end].
 +       ?assertMatch(Struct, mochijson2:decode(mochijson2:encode(Struct))) end].
  
- error_test_() ->
+ ejslog_test_() ->
      [{setup, fun test_util:port_setup/0,
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0005-Use-standard-layout-for-rebar.patch b/erlang-js-0004-Use-standard-layout-for-rebar.patch
similarity index 91%
rename from erlang-js-0005-Use-standard-layout-for-rebar.patch
rename to erlang-js-0004-Use-standard-layout-for-rebar.patch
index 1a089b6..687d77d 100644
--- a/erlang-js-0005-Use-standard-layout-for-rebar.patch
+++ b/erlang-js-0004-Use-standard-layout-for-rebar.patch
@@ -1,22 +1,22 @@
-From 59af93df4e924db6e2652a7e8775977b34fb6b33 Mon Sep 17 00:00:00 2001
+From b5d3494c5f389f3dc6533b51bdddbd0ecfaafb79 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Tue, 3 Jul 2012 22:58:22 +0400
-Subject: [PATCH 5/7] Use standard layout for rebar
+Subject: [PATCH 4/5] Use standard layout for rebar
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
- ebin/erlang_js.app     |    8 ----
- src/erlang_js.app.src  |    8 ++++
- test/driver_tests.erl  |   34 +++++++++++++
- test/eval_tests.erl    |  124 ++++++++++++++++++++++++++++++++++++++++++++++++
- test/test_suite.erl    |    7 +++
- test/test_util.erl     |   54 +++++++++++++++++++++
- tests/Emakefile        |    4 --
- tests/driver_tests.erl |   34 -------------
- tests/eval_tests.erl   |  124 ------------------------------------------------
- tests/test_suite.erl   |    7 ---
- tests/test_util.erl    |   54 ---------------------
- 11 files changed, 227 insertions(+), 231 deletions(-)
+ ebin/erlang_js.app     |   8 ---
+ src/erlang_js.app.src  |   8 +++
+ test/driver_tests.erl  |  34 ++++++++++++
+ test/eval_tests.erl    | 137 +++++++++++++++++++++++++++++++++++++++++++++++++
+ test/test_suite.erl    |   7 +++
+ test/test_util.erl     |  54 +++++++++++++++++++
+ tests/Emakefile        |   4 --
+ tests/driver_tests.erl |  34 ------------
+ tests/eval_tests.erl   | 137 -------------------------------------------------
+ tests/test_suite.erl   |   7 ---
+ tests/test_util.erl    |  54 -------------------
+ 11 files changed, 240 insertions(+), 244 deletions(-)
  delete mode 100644 ebin/erlang_js.app
  create mode 100644 src/erlang_js.app.src
  create mode 100644 test/driver_tests.erl
@@ -31,28 +31,28 @@ Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 
 diff --git a/ebin/erlang_js.app b/ebin/erlang_js.app
 deleted file mode 100644
-index cf20f1d..0000000
+index d3a44ed..0000000
 --- a/ebin/erlang_js.app
 +++ /dev/null
 @@ -1,8 +0,0 @@
 -% -*- mode: erlang -*-
 -{application, erlang_js,
 - [{description,  "Interface between BEAM and JS"},
--  {vsn,          "1.0.2"},
+-  {vsn,          "1.2.1"},
 -  {modules,      [erlang_js, erlang_js_sup, js, js_benchmark, js_cache, js_driver, js_drv_comm, js_memory]},
 -  {registered,   [erlang_js_sup, js_cache]},
 -  {applications, [kernel, stdlib, sasl]},
 -  {mod, {erlang_js, []}}]}.
 diff --git a/src/erlang_js.app.src b/src/erlang_js.app.src
 new file mode 100644
-index 0000000..7ebc7b6
+index 0000000..c4779c7
 --- /dev/null
 +++ b/src/erlang_js.app.src
 @@ -0,0 +1,8 @@
 +% -*- mode: erlang -*-
 +{application, erlang_js,
 + [{description,  "Interface between BEAM and JS"},
-+  {vsn,          "1.0.2"},
++  {vsn,          "1.2.1"},
 +  {modules,      []},
 +  {registered,   [erlang_js_sup, js_cache]},
 +  {applications, [kernel, stdlib, sasl]},
@@ -99,10 +99,10 @@ index 0000000..a8e9c70
 +       [F(P) || P <- Ports] end].
 diff --git a/test/eval_tests.erl b/test/eval_tests.erl
 new file mode 100644
-index 0000000..9133cf2
+index 0000000..83db9e9
 --- /dev/null
 +++ b/test/eval_tests.erl
-@@ -0,0 +1,124 @@
+@@ -0,0 +1,137 @@
 +-module(eval_tests).
 +
 +-include_lib("eunit/include/eunit.hrl").
@@ -186,6 +186,19 @@ index 0000000..9133cf2
 +       Struct = {struct, [{<<"test">>, <<"1">>}]},
 +       ?assertMatch(Struct, mochijson2:decode(mochijson2:encode(Struct))) end].
 +
++ejslog_test_() ->
++    [{setup, fun test_util:port_setup/0,
++      fun test_util:port_teardown/1,
++      [fun() ->
++               P = test_util:get_thing(),
++               [] = os:cmd("rm -f /tmp/eval_tests.log"),
++               ?assertEqual({ok, true},
++                            js_driver:eval_js(P, <<"ejsLog('/tmp/eval_tests.log', 'Hello')">>)),
++               ?assert(filelib:is_file("/tmp/eval_tests.log")),
++               erlang:unlink(P)
++       end]}].
++
++
 +error_test_() ->
 +    [{setup, fun test_util:port_setup/0,
 +      fun test_util:port_teardown/1,
@@ -352,10 +365,10 @@ index a8e9c70..0000000
 -       [F(P) || P <- Ports] end].
 diff --git a/tests/eval_tests.erl b/tests/eval_tests.erl
 deleted file mode 100644
-index 9133cf2..0000000
+index 83db9e9..0000000
 --- a/tests/eval_tests.erl
 +++ /dev/null
-@@ -1,124 +0,0 @@
+@@ -1,137 +0,0 @@
 --module(eval_tests).
 -
 --include_lib("eunit/include/eunit.hrl").
@@ -439,6 +452,19 @@ index 9133cf2..0000000
 -       Struct = {struct, [{<<"test">>, <<"1">>}]},
 -       ?assertMatch(Struct, mochijson2:decode(mochijson2:encode(Struct))) end].
 -
+-ejslog_test_() ->
+-    [{setup, fun test_util:port_setup/0,
+-      fun test_util:port_teardown/1,
+-      [fun() ->
+-               P = test_util:get_thing(),
+-               [] = os:cmd("rm -f /tmp/eval_tests.log"),
+-               ?assertEqual({ok, true},
+-                            js_driver:eval_js(P, <<"ejsLog('/tmp/eval_tests.log', 'Hello')">>)),
+-               ?assert(filelib:is_file("/tmp/eval_tests.log")),
+-               erlang:unlink(P)
+-       end]}].
+-
+-
 -error_test_() ->
 -    [{setup, fun test_util:port_setup/0,
 -      fun test_util:port_teardown/1,
@@ -554,5 +580,5 @@ index aeed391..0000000
 -      ok
 -  end.
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0007-Start-erlang_js-explicitly.patch b/erlang-js-0005-Start-erlang_js-explicitly.patch
similarity index 75%
rename from erlang-js-0007-Start-erlang_js-explicitly.patch
rename to erlang-js-0005-Start-erlang_js-explicitly.patch
index 0e03040..184e279 100644
--- a/erlang-js-0007-Start-erlang_js-explicitly.patch
+++ b/erlang-js-0005-Start-erlang_js-explicitly.patch
@@ -1,11 +1,11 @@
-From f41c5d10f9322fe07685e542b00f7491f3ed3982 Mon Sep 17 00:00:00 2001
+From 054fcb43f537e88365bede4e7c5026cf513cb687 Mon Sep 17 00:00:00 2001
 From: Peter Lemenkov <lemenkov at gmail.com>
 Date: Wed, 4 Jul 2012 17:19:39 +0400
-Subject: [PATCH 7/7] Start erlang_js explicitly
+Subject: [PATCH 5/5] Start erlang_js explicitly
 
 Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
 ---
- test/test_suite.erl |    1 +
+ test/test_suite.erl | 1 +
  1 file changed, 1 insertion(+)
 
 diff --git a/test/test_suite.erl b/test/test_suite.erl
@@ -20,5 +20,5 @@ index ecaff99..634252b 100644
      [{module, driver_tests},
       {module, eval_tests}].
 -- 
-1.7.10.4
+1.7.12
 
diff --git a/erlang-js-0006-Fix-warning-treated-as-error-about-unused-variable.patch b/erlang-js-0006-Fix-warning-treated-as-error-about-unused-variable.patch
new file mode 100644
index 0000000..ff54640
--- /dev/null
+++ b/erlang-js-0006-Fix-warning-treated-as-error-about-unused-variable.patch
@@ -0,0 +1,24 @@
+From a8f144f88bc9c968b345fc5aebfeef73cb3d203a Mon Sep 17 00:00:00 2001
+From: Peter Lemenkov <lemenkov at gmail.com>
+Date: Sat, 22 Sep 2012 23:57:43 +0400
+Subject: [PATCH 6/6] Fix warning (treated as error) about unused variable
+
+Signed-off-by: Peter Lemenkov <lemenkov at gmail.com>
+---
+ test/driver_tests.erl | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/test/driver_tests.erl b/test/driver_tests.erl
+index a8e9c70..c30557f 100644
+--- a/test/driver_tests.erl
++++ b/test/driver_tests.erl
+@@ -30,5 +30,5 @@ destroy_test_() ->
+ spinup_test_() ->
+   [fun() ->
+        F = fun({ok, P}) -> js_driver:destroy(P) end,
+-       Ports = [js_driver:new() || X <- lists:seq(1, 16)],
++       Ports = [js_driver:new() || _X <- lists:seq(1, 16)],
+        [F(P) || P <- Ports] end].
+-- 
+1.7.12
+
diff --git a/erlang-js.spec b/erlang-js.spec
index 601da39..4433340 100644
--- a/erlang-js.spec
+++ b/erlang-js.spec
@@ -1,6 +1,6 @@
 %global realname erlang_js
 %global upstream basho
-%global git_tag 16bc10d
+%global git_tag cd520bf
 %global patchnumber 0
 %{?filter_setup:
 %filter_provides_in %{_libdir}/erlang/lib/.*\.so$
@@ -9,21 +9,26 @@
 
 
 Name:		erlang-js
-Version:	1.0.2
-Release:	4%{?dist}
+Version:	1.2.1
+Release:	1%{?dist}
 Summary:	A Friendly Erlang to Javascript Binding
 Group:		Development/Libraries
 License:	ASL 2.0
 URL:		https://github.com/basho/erlang_js
-# wget --content-disposition https://github.com/basho/erlang_js/tarball/1.0.2
+# wget --content-disposition https://github.com/basho/erlang_js/tarball/1.2.0
 Source0:	%{upstream}-%{realname}-%{version}-%{patchnumber}-g%{git_tag}.tar.gz
+# Fedora-specific
 Patch1:		erlang-js-0001-Fix-building-of-linked-in-driver.patch
 Patch2:		erlang-js-0002-build-fix-for-js-1.8.5.patch
-Patch3:		erlang-js-0003-Fix-deprecation-warning.patch
-Patch4:		erlang-js-0004-Use-mochiweb-instead-of-a-bundled-copies.patch
-Patch5:		erlang-js-0005-Use-standard-layout-for-rebar.patch
-Patch6:		erlang-js-0006-Dont-treat-warnings-as-errors.patch
-Patch7:		erlang-js-0007-Start-erlang_js-explicitly.patch
+# Fedora-specific
+Patch3:		erlang-js-0003-Use-mochiweb-instead-of-a-bundled-copies.patch
+# Sent upstream - https://github.com/basho/erlang_js/pull/31
+Patch4:		erlang-js-0004-Use-standard-layout-for-rebar.patch
+# Sent upstream - https://github.com/basho/erlang_js/pull/31
+Patch5:		erlang-js-0005-Start-erlang_js-explicitly.patch
+# Sent upstream - https://github.com/basho/erlang_js/pull/31
+Patch6:		erlang-js-0006-Fix-warning-treated-as-error-about-unused-variable.patch
+# EPEL-specific
 Patch9999:	erlang-js-0002-Build-with-js-1.7.0.patch
 BuildRequires:	erlang-rebar
 BuildRequires:	erlang-mochiweb
@@ -39,18 +44,17 @@ A Friendly Erlang to Javascript Binding.
 
 
 %prep
-%setup -q -n %{upstream}-%{realname}-0bf5965
+%setup -q -n %{upstream}-%{realname}-183aea8
 %patch1 -p1 -b .bundled_libs
 %if 0%{?fedora}
-%patch2 -p1 -b .building_with_js_1_8_0
+%patch2 -p1 -b .building_with_js_1_8_5
 %else
 %patch9999 -p1 -b .building_with_js_1_7_0
 %endif
-%patch3	-p1 -b .fix_deprecation_warning
-%patch4 -p1 -b .use_globally_available_mochiweb
-%patch5 -p1 -b .standard_layout_for_rebar
-%patch6 -p1 -b .warnings
-%patch7 -p1 -b .start_erlang_js_during_tests
+%patch3 -p1 -b .use_globally_available_mochiweb
+%patch4 -p1 -b .standard_layout_for_rebar
+%patch5 -p1 -b .start_erlang_js_during_tests
+%patch6 -p1 -b .warn_unused_variable
 
 
 %build
@@ -86,6 +90,13 @@ rebar eunit -v
 
 
 %changelog
+* Sat Sep 22 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.2.1-1
+- Ver. 1.2.1
+- Drop upstreamed patches
+
+* Wed Sep 05 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.2.0-1
+- Ver. 1.2.0
+
 * Fri Jul 20 2012 Peter Lemenkov <lemenkov at gmail.com> - 1.0.2-4
 - Fix building releases using rebar
 - Fix dependencides (add _isa)
diff --git a/sources b/sources
index 2b2b2ce..b6c60bd 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-399240d01afa4bf07d91db848badc023  basho-erlang_js-1.0.2-0-g16bc10d.tar.gz
+4464a55ab6c9ac9a7f4e5a8ca1c03537  basho-erlang_js-1.2.1-0-gcd520bf.tar.gz


More information about the scm-commits mailing list