0001-pacrunner_mozjs-Also-support-mozjs-17.0.patch 3.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. From cccc44ce0c8a251d987d0d83f05e93d31aa659d7 Mon Sep 17 00:00:00 2001
  2. From: Colin Walters <walters@verbum.org>
  3. Date: Mon, 3 Jun 2013 17:09:25 -0400
  4. Subject: [PATCH] pacrunner_mozjs: Also support mozjs-17.0
  5. GNOME 3.10 is moving to hard require mozjs-17.0, so we should support
  6. it too. See also:
  7. https://bugs.freedesktop.org/show_bug.cgi?id=59830
  8. https://bugzilla.gnome.org/show_bug.cgi?id=690982
  9. ---
  10. libproxy/cmake/modules/pacrunner_mozjs.cmk | 8 +++++++-
  11. libproxy/modules/pacrunner_mozjs.cpp | 16 +++++++++++++---
  12. 2 files changed, 20 insertions(+), 4 deletions(-)
  13. diff --git a/libproxy/cmake/modules/pacrunner_mozjs.cmk b/libproxy/cmake/modules/pacrunner_mozjs.cmk
  14. index 21072db..49856a6 100644
  15. --- a/libproxy/cmake/modules/pacrunner_mozjs.cmk
  16. +++ b/libproxy/cmake/modules/pacrunner_mozjs.cmk
  17. @@ -14,7 +14,13 @@ elseif(NOT APPLE)
  18. include_directories(${MOZJS_INCLUDE_DIRS})
  19. link_directories(${MOZJS_LIBRARY_DIRS})
  20. else()
  21. - set(MOZJS_FOUND 0)
  22. + pkg_search_module(MOZJS mozjs-17.0)
  23. + if(MOZJS_FOUND)
  24. + include_directories(${MOZJS_INCLUDE_DIRS})
  25. + link_directories(${MOZJS_LIBRARY_DIRS})
  26. + else()
  27. + set(MOZJS_FOUND 0)
  28. + endif()
  29. endif()
  30. else()
  31. set(MOZJS_FOUND 0)
  32. diff --git a/libproxy/modules/pacrunner_mozjs.cpp b/libproxy/modules/pacrunner_mozjs.cpp
  33. index abb4b9d..f5e678c 100644
  34. --- a/libproxy/modules/pacrunner_mozjs.cpp
  35. +++ b/libproxy/modules/pacrunner_mozjs.cpp
  36. @@ -19,6 +19,7 @@
  37. #include <cstring> // ?
  38. #include <unistd.h> // gethostname
  39. +#include <stdint.h>
  40. #include "../extension_pacrunner.hpp"
  41. using namespace libproxy;
  42. @@ -76,12 +77,12 @@ static JSBool dnsResolve_(JSContext *cx, jsval hostname, jsval *vp) {
  43. return true;
  44. }
  45. -static JSBool dnsResolve(JSContext *cx, uintN /*argc*/, jsval *vp) {
  46. +static JSBool dnsResolve(JSContext *cx, uint32_t /*argc*/, jsval *vp) {
  47. jsval *argv = JS_ARGV(cx, vp);
  48. return dnsResolve_(cx, argv[0], vp);
  49. }
  50. -static JSBool myIpAddress(JSContext *cx, uintN /*argc*/, jsval *vp) {
  51. +static JSBool myIpAddress(JSContext *cx, uint32_t /*argc*/, jsval *vp) {
  52. char *hostname = (char *) JS_malloc(cx, 1024);
  53. if (!gethostname(hostname, 1023)) {
  54. JSString *myhost = JS_NewStringCopyN(cx, hostname, strlen(hostname));
  55. @@ -98,7 +99,12 @@ static JSBool myIpAddress(JSContext *cx, uintN /*argc*/, jsval *vp) {
  56. static JSClass cls = {
  57. "global", JSCLASS_GLOBAL_FLAGS,
  58. JS_PropertyStub, JS_PropertyStub, JS_PropertyStub, JS_StrictPropertyStub,
  59. - JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub, JS_FinalizeStub,
  60. + JS_EnumerateStub, JS_ResolveStub, JS_ConvertStub,
  61. +#if JS_VERSION == 186
  62. + NULL,
  63. +#else
  64. + JS_FinalizeStub,
  65. +#endif
  66. NULL, NULL, NULL, NULL, NULL, NULL, NULL, NULL
  67. };
  68. @@ -117,7 +123,11 @@ public:
  69. //JS_SetOptions(this->jsctx, JSOPTION_VAROBJFIX);
  70. //JS_SetVersion(this->jsctx, JSVERSION_LATEST);
  71. //JS_SetErrorReporter(cx, reportError);
  72. +#if JS_VERSION == 186
  73. + if (!(this->jsglb = JS_NewGlobalObject(this->jsctx, &cls, NULL))) goto error;
  74. +#else
  75. if (!(this->jsglb = JS_NewCompartmentAndGlobalObject(this->jsctx, &cls, NULL))) goto error;
  76. +#endif
  77. if (!JS_InitStandardClasses(this->jsctx, this->jsglb)) goto error;
  78. // Define Javascript functions
  79. --
  80. 1.7.1