!29 [sync] PR-28: delete mozjs-52 dependency
From: @openeuler-sync-bot Reviewed-by: @zengwefeng Signed-off-by: @zengwefeng
This commit is contained in:
commit
7caed36273
@ -1,101 +0,0 @@
|
||||
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;
|
||||
@ -1,6 +1,6 @@
|
||||
Name: libproxy
|
||||
Version: 0.4.15
|
||||
Release: 16
|
||||
Release: 17
|
||||
Summary: Libproxy is a library that provides automatic proxy configuration management
|
||||
|
||||
License: LGPLv2+
|
||||
@ -13,15 +13,14 @@ Patch0: 0001-Add-config-module-for-querying-PacRunner-d-mon.patch
|
||||
Patch1: libproxy-0.4.11-crash.patch
|
||||
# Patch 2 and 3 are backported from upstream commuity
|
||||
Patch2: libproxy-0.4.15-python3738.patch
|
||||
Patch3: libproxy-0.4.15-mozjs52.patch
|
||||
Patch4: Fix-buffer-overflow-when-PAC-is-enabled.patch
|
||||
Patch5: backport-Fix-mismatched-new-delete-in-proxy.cpp.patch
|
||||
Patch3: Fix-buffer-overflow-when-PAC-is-enabled.patch
|
||||
Patch4: backport-Fix-mismatched-new-delete-in-proxy.cpp.patch
|
||||
|
||||
BuildRequires: cmake >= 2.6.0 gcc-c++
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.26 pkgconfig(mozjs-52) pkgconfig(libnm) python2-devel python3-devel
|
||||
BuildRequires: pkgconfig(gio-2.0) >= 2.26 pkgconfig(libnm) python2-devel python3-devel
|
||||
BuildRequires: pkgconfig(dbus-1) pkgconfig(javascriptcoregtk-4.0)
|
||||
|
||||
Provides: %{name}-bin %{name}-gnome %{name}-kde %{name}-mozjs %{name}-networkmanager %{name}-pacrunner
|
||||
Provides: %{name}-bin %{name}-gnome %{name}-kde %{name}-networkmanager %{name}-pacrunner
|
||||
Obsoletes: %{name}-bin %{name}-gnome %{name}-kde %{name}-mozjs %{name}-networkmanager %{name}-pacrunner
|
||||
|
||||
%description
|
||||
@ -74,8 +73,9 @@ This package contains libraries and header files for developing applications.
|
||||
%build
|
||||
%{cmake} \
|
||||
-DMODULE_INSTALL_DIR=%{_libdir}/%{name}/%{version}/modules \
|
||||
-DBIPR=OFF \
|
||||
-DWITH_PERL=OFF -DWITH_GNOME3=ON -DWITH_PYTHON2=ON -DPYTHON2_EXECUTABLE=%{__python2} \
|
||||
-DWITH_PYTHON3=ON -DWITH_WEBKIT3=ON -DWITH_MOZJS=ON .
|
||||
-DWITH_PYTHON3=ON -DWITH_WEBKIT3=ON -DWITH_MOZJS=OFF .
|
||||
%make_build
|
||||
|
||||
%install
|
||||
@ -124,6 +124,12 @@ make test
|
||||
%{_mandir}/man1/proxy.1*
|
||||
|
||||
%changelog
|
||||
* Tue May 25 xinghe <xinghe2@huawei.com> - 0.4.15-17
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:delete mozjs-52 dependency
|
||||
|
||||
* Mon Mar 29 yuboyun <yuboyun@huawei.com> - 0.4.15-16
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user