Skip site navigation (1)Skip section navigation (2)
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>