[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