Date: Thu, 23 May 2019 09:41:16 +0000 (UTC) From: Baptiste Daroussin <bapt@FreeBSD.org> To: ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org Subject: svn commit: r502332 - in head/net: libproxy-mozjs libproxy/files Message-ID: <201905230941.x4N9fGJV086671@repo.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: bapt Date: Thu May 23 09:41:16 2019 New Revision: 502332 URL: https://svnweb.freebsd.org/changeset/ports/502332 Log: Use the most recent spidermonkey in ports Patch obtained from fedora project Approved by: kwm (maintainer) Added: head/net/libproxy/files/libproxy-0.4.15-mozjs52.patch (contents, props changed) Modified: head/net/libproxy-mozjs/Makefile Modified: head/net/libproxy-mozjs/Makefile ============================================================================== --- head/net/libproxy-mozjs/Makefile Thu May 23 09:35:07 2019 (r502331) +++ head/net/libproxy-mozjs/Makefile Thu May 23 09:41:16 2019 (r502332) @@ -1,7 +1,7 @@ # Created by: Joe Marcus Clarke <marcus@FreeBSD.org> # $FreeBSD$ -PORTREVISION= 2 +PORTREVISION= 3 CATEGORIES= net www PKGNAMESUFFIX= -${LIBPROXY_SLAVE} @@ -10,7 +10,9 @@ COMMENT= Mozilla JavaScript plug-in for libproxy USES= compiler:c++11-lib USE_CXXSTD= gnu++11 -LIB_DEPENDS= libmozjs-38.so:lang/spidermonkey38 +LIB_DEPENDS= libmozjs-52.so:lang/spidermonkey52 + +EXTRA_PATCHES= ${FILESDIR}/libproxy-0.4.15-mozjs52.patch:-p1 LIBPROXY_SLAVE= mozjs MASTERDIR= ${.CURDIR}/../libproxy Added: head/net/libproxy/files/libproxy-0.4.15-mozjs52.patch ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/net/libproxy/files/libproxy-0.4.15-mozjs52.patch Thu May 23 09:41:16 2019 (r502332) @@ -0,0 +1,124 @@ +From f594720280b2e40d81fa6e286a0ef8868687ef7e Mon Sep 17 00:00:00 2001 +From: Pierre Lejeune <superheron@gmail.com> +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 <jsapi.h> + #pragma GCC diagnostic error "-Winvalid-offsetof" ++#include <js/Initialization.h> + #include <js/CallArgs.h> + + #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<JSObject*>(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<JSObject*> *jsglb; + JSAutoCompartment *jsac; +From a9b052c6e30101fb0b702917f245a3e2a2f08366 Mon Sep 17 00:00:00 2001 +From: Laurent Bigonville <bigon@bigon.be> +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; +
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201905230941.x4N9fGJV086671>