From d0a4a0cd02a2993f494476bee1eaebae344ce165 Mon Sep 17 00:00:00 2001 From: Rmys Date: Tue, 16 Apr 2019 15:24:48 +0300 Subject: [PATCH] libproxy:rebuild mozjs --- network/misc/libproxy/actions.py | 1 + .../files/libproxy-0.4.15-mozjs52.patch | 124 ++++++++++++++++++ network/misc/libproxy/pspec.xml | 11 +- 3 files changed, 135 insertions(+), 1 deletion(-) create mode 100644 network/misc/libproxy/files/libproxy-0.4.15-mozjs52.patch diff --git a/network/misc/libproxy/actions.py b/network/misc/libproxy/actions.py index ae7ce7c7f0..98a328c4fd 100644 --- a/network/misc/libproxy/actions.py +++ b/network/misc/libproxy/actions.py @@ -15,6 +15,7 @@ def setup(): -DPERL_VENDORINSTALL=yes \ -DCMAKE_BUILD_TYPE=Release \ -DWITH_WEBKIT=ON \ + -DWITH_VALA=yes \ -DWITH_MOZJS=ON") def build(): diff --git a/network/misc/libproxy/files/libproxy-0.4.15-mozjs52.patch b/network/misc/libproxy/files/libproxy-0.4.15-mozjs52.patch new file mode 100644 index 0000000000..a9e2ce921a --- /dev/null +++ b/network/misc/libproxy/files/libproxy-0.4.15-mozjs52.patch @@ -0,0 +1,124 @@ +From f594720280b2e40d81fa6e286a0ef8868687ef7e Mon Sep 17 00:00:00 2001 +From: Pierre Lejeune +Date: Sat, 30 Jun 2018 21:10:06 +0200 +Subject: [PATCH] Build with mozjs-52 + +Fixes #71 +--- + libproxy/cmake/modules/pacrunner_mozjs.cmk | 2 +- + libproxy/modules/pacrunner_mozjs.cpp | 19 +++++++------------ + 2 files changed, 8 insertions(+), 13 deletions(-) + +diff --git a/libproxy/cmake/modules/pacrunner_mozjs.cmk b/libproxy/cmake/modules/pacrunner_mozjs.cmk +index c2ae3db..20857fb 100644 +--- a/libproxy/cmake/modules/pacrunner_mozjs.cmk ++++ b/libproxy/cmake/modules/pacrunner_mozjs.cmk +@@ -9,7 +9,7 @@ if(WIN32) + elseif(NOT APPLE) + option(WITH_MOZJS "Search for MOZJS package" ON) + if (WITH_MOZJS) +- pkg_search_module(MOZJS mozjs-38) ++ pkg_search_module(MOZJS mozjs-52) + if(MOZJS_FOUND) + include_directories(${MOZJS_INCLUDE_DIRS}) + link_directories(${MOZJS_LIBRARY_DIRS}) +diff --git a/libproxy/modules/pacrunner_mozjs.cpp b/libproxy/modules/pacrunner_mozjs.cpp +index a70b2e9..ed07c69 100644 +--- a/libproxy/modules/pacrunner_mozjs.cpp ++++ b/libproxy/modules/pacrunner_mozjs.cpp +@@ -35,6 +35,7 @@ using namespace libproxy; + #pragma GCC diagnostic ignored "-Winvalid-offsetof" + #include + #pragma GCC diagnostic error "-Winvalid-offsetof" ++#include + #include + + #include "pacutils.h" +@@ -111,17 +112,14 @@ class mozjs_pacrunner : public pacrunner { + mozjs_pacrunner(string pac, const url& pacurl) throw (bad_alloc) : pacrunner(pac, pacurl) { + + // Set defaults +- this->jsrun = nullptr; + this->jsctx = nullptr; + JS_Init(); + +- // Initialize Javascript runtime environment +- if (!(this->jsrun = JS_NewRuntime(1024 * 1024))) goto error; +- if (!(this->jsctx = JS_NewContext(this->jsrun, 1024 * 1024))) goto error; ++ // Initialize Javascript context ++ if (!(this->jsctx = JS_NewContext(1024 * 1024))) goto error; + { + JS::RootedValue rval(this->jsctx); + JS::CompartmentOptions compart_opts; +- compart_opts.setVersion(JSVERSION_LATEST); + + this->jsglb = new JS::Heap(JS_NewGlobalObject( + this->jsctx, &cls, +@@ -139,16 +137,15 @@ class mozjs_pacrunner : public pacrunner { + JS::CompileOptions options(this->jsctx); + options.setUTF8(true); + +- JS::Evaluate(this->jsctx, global, options, JAVASCRIPT_ROUTINES, +- strlen(JAVASCRIPT_ROUTINES), &rval); ++ JS::Evaluate(this->jsctx, options, JAVASCRIPT_ROUTINES, ++ strlen(JAVASCRIPT_ROUTINES), JS::MutableHandleValue(&rval)); + + // Add PAC to the environment +- JS::Evaluate(this->jsctx, global, options, pac.c_str(), pac.length(), &rval); ++ JS::Evaluate(this->jsctx, options, pac.c_str(), pac.length(), JS::MutableHandleValue(&rval)); + return; + } + error: + if (this->jsctx) JS_DestroyContext(this->jsctx); +- if (this->jsrun) JS_DestroyRuntime(this->jsrun); + throw bad_alloc(); + } + +@@ -156,7 +153,6 @@ class mozjs_pacrunner : public pacrunner { + if (this->jsac) delete this->jsac; + if (this->jsglb) delete this->jsglb; + if (this->jsctx) JS_DestroyContext(this->jsctx); +- if (this->jsrun) JS_DestroyRuntime(this->jsrun); + JS_ShutDown(); + } + +@@ -178,7 +174,7 @@ class mozjs_pacrunner : public pacrunner { + JS::RootedObject global(this->jsctx,this->jsglb->get()); + bool result = JS_CallFunctionName(this->jsctx, global, "FindProxyForURL", args, &rval); + if (!result) return ""; +- ++ + char * tmpanswer = JS_EncodeString(this->jsctx, rval.toString()); + string answer = string(tmpanswer); + JS_free(this->jsctx, tmpanswer); +@@ -188,7 +184,6 @@ class mozjs_pacrunner : public pacrunner { + } + + private: +- JSRuntime *jsrun; + JSContext *jsctx; + JS::Heap *jsglb; + JSAutoCompartment *jsac; +From a9b052c6e30101fb0b702917f245a3e2a2f08366 Mon Sep 17 00:00:00 2001 +From: Laurent Bigonville +Date: Tue, 2 Oct 2018 10:22:56 +0200 +Subject: [PATCH] Add call to JS::InitSelfHostedCode() + +This is needed otherwise mozjs crashes +--- + libproxy/modules/pacrunner_mozjs.cpp | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/libproxy/modules/pacrunner_mozjs.cpp b/libproxy/modules/pacrunner_mozjs.cpp +index ed07c69..38e7d46 100644 +--- a/libproxy/modules/pacrunner_mozjs.cpp ++++ b/libproxy/modules/pacrunner_mozjs.cpp +@@ -118,6 +118,8 @@ class mozjs_pacrunner : public pacrunner { + // Initialize Javascript context + if (!(this->jsctx = JS_NewContext(1024 * 1024))) goto error; + { ++ if (!JS::InitSelfHostedCode(this->jsctx)) goto error; ++ + JS::RootedValue rval(this->jsctx); + JS::CompartmentOptions compart_opts; + diff --git a/network/misc/libproxy/pspec.xml b/network/misc/libproxy/pspec.xml index 9e6fa1c226..48992d0d79 100644 --- a/network/misc/libproxy/pspec.xml +++ b/network/misc/libproxy/pspec.xml @@ -24,6 +24,7 @@ libproxy-pac-modules.patch + libproxy-0.4.15-mozjs52.patch @@ -38,6 +39,7 @@ /usr/lib /usr/libexec/ /usr/share/doc + /usr/share/vala @@ -102,6 +104,13 @@ + + 2019-04-16 + 0.4.15 + Rebuild bump + Mustafa Cinasl + muscnsl@gmail.com + 2018-07-30 0.4.15 @@ -109,7 +118,7 @@ Ertuğrul Erata ertugrulerata@gmail.com - + 2017-07-30 0.4.10 Rebuild