Gentoo Archives: gentoo-commits

From: Sam James <sam@g.o>
To: gentoo-commits@l.g.o
Subject: [gentoo-commits] repo/gentoo:master commit in: net-libs/libproxy/, net-libs/libproxy/files/
Date: Fri, 01 Jan 2021 00:22:10
Message-Id: 1609460510.010d992874cfb87e8f32d610f4ea18f1a169eb13.sam@gentoo
1 commit: 010d992874cfb87e8f32d610f4ea18f1a169eb13
2 Author: John Helmert III <jchelmert3 <AT> posteo <DOT> net>
3 AuthorDate: Thu Dec 31 18:15:34 2020 +0000
4 Commit: Sam James <sam <AT> gentoo <DOT> org>
5 CommitDate: Fri Jan 1 00:21:50 2021 +0000
6 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=010d9928
7
8 net-libs/libproxy: security cleanup (drop <0.4.16)
9
10 Bug: https://bugs.gentoo.org/741538
11 Package-Manager: Portage-3.0.12, Repoman-3.0.2
12 Signed-off-by: John Helmert III <jchelmert3 <AT> posteo.net>
13 Closes: https://github.com/gentoo/gentoo/pull/18889
14 Signed-off-by: Sam James <sam <AT> gentoo.org>
15
16 net-libs/libproxy/Manifest | 1 -
17 .../libproxy/files/libproxy-0.4.15-gcc-11.patch | 118 ---------------------
18 .../files/libproxy-0.4.15-mozjs-52-1.patch | 101 ------------------
19 .../files/libproxy-0.4.15-mozjs-52-2.patch | 23 ----
20 .../files/libproxy-0.4.15-python-3.7.patch | 23 ----
21 net-libs/libproxy/libproxy-0.4.15-r1.ebuild | 85 ---------------
22 net-libs/libproxy/libproxy-0.4.15-r2.ebuild | 86 ---------------
23 7 files changed, 437 deletions(-)
24
25 diff --git a/net-libs/libproxy/Manifest b/net-libs/libproxy/Manifest
26 index fbf9cd36718..42ddcd2569f 100644
27 --- a/net-libs/libproxy/Manifest
28 +++ b/net-libs/libproxy/Manifest
29 @@ -1,3 +1,2 @@
30 -DIST libproxy-0.4.15.tar.gz 93084 BLAKE2B 9aa86403eaf4e1791958013c2739e251c61f11da40e66b3296b33a7f380828895f621175add5efb3cd17222ff016941801c25c2d70c19ef3a6652510268a0b3d SHA512 8f68bd56e44aeb3f553f4657bef82a5d14302780508dafa32454d6f724b724c884ceed6042f8df53a081d26ea0b05598cf35eab44823257c47c5ef8afb36442b
31 DIST libproxy-0.4.16.tar.gz 95534 BLAKE2B 163f4fa359758a2186802683005b7d2bbd68933d2512f2c4a284912b6d07e3aa288613e3b473d1bd8d9fe941033da634490c78367692a489da31184dd4dc3cb8 SHA512 28bca7c86e486d08ddc1699e562dd98366b569ec9a7a965f7d15d265ede508575e6eae43abde1778f46d55c3304d32218d891d01ba6a8c360820412748ed5ca1
32 DIST libproxy-0.4.17.tar.gz 95542 BLAKE2B 70b78c90aebb0ea308d105ec6d2c61bb54dea36df2d99db835f29c6ffa91168c15e73e01823b799a37fa89a9cb6fca51013ea057006b608fa2a79f4056a5d3c5 SHA512 589045538a78dc7453335ed61c60adad3352b840b224885d4a58ae284e52224ae3ff2eebd77df57aebbc3ae75d7b6d69a825f24f01c19e75bf0a3345dce53126
33
34 diff --git a/net-libs/libproxy/files/libproxy-0.4.15-gcc-11.patch b/net-libs/libproxy/files/libproxy-0.4.15-gcc-11.patch
35 deleted file mode 100644
36 index 2d40a6c1600..00000000000
37 --- a/net-libs/libproxy/files/libproxy-0.4.15-gcc-11.patch
38 +++ /dev/null
39 @@ -1,118 +0,0 @@
40 -https://bugs.gentoo.org/732700
41 -https://github.com/libproxy/libproxy/issues/127
42 -
43 ---- a/libproxy/extension_config.hpp
44 -+++ b/libproxy/extension_config.hpp
45 -@@ -31,7 +31,7 @@ using namespace libmodman;
46 - class DLL_PUBLIC config_extension : public extension<config_extension> {
47 - public:
48 - // Abstract methods
49 -- virtual vector<url> get_config(const url &dst) throw (runtime_error)=0;
50 -+ virtual vector<url> get_config(const url &dst)=0;
51 -
52 - // Virtual methods
53 - virtual string get_ignore(const url &dst);
54 ---- a/libproxy/extension_pacrunner.cpp
55 -+++ b/libproxy/extension_pacrunner.cpp
56 -@@ -30,7 +30,7 @@ pacrunner_extension::~pacrunner_extension() {
57 - if (this->pr) delete this->pr;
58 - }
59 -
60 --pacrunner* pacrunner_extension::get(string pac, const url& pacurl) throw (bad_alloc) {
61 -+pacrunner* pacrunner_extension::get(string pac, const url& pacurl) {
62 - if (this->pr) {
63 - if (this->last == pac)
64 - return this->pr;
65 ---- a/libproxy/extension_pacrunner.hpp
66 -+++ b/libproxy/extension_pacrunner.hpp
67 -@@ -26,7 +26,7 @@
68 - #define PX_PACRUNNER_MODULE_EZ(name, symb, smod) \
69 - class name ## _pacrunner_extension : public pacrunner_extension { \
70 - protected: \
71 -- virtual pacrunner* create(string pac, const url& pacurl) throw (bad_alloc) { \
72 -+ virtual pacrunner* create(string pac, const url& pacurl) { \
73 - return new name ## _pacrunner(pac, pacurl); \
74 - } \
75 - }; \
76 -@@ -41,13 +41,13 @@ class DLL_PUBLIC pacrunner {
77 - public:
78 - pacrunner(string pac, const url& pacurl);
79 - virtual ~pacrunner() {};
80 -- virtual string run(const url& url) throw (bad_alloc)=0;
81 -+ virtual string run(const url& url)=0;
82 - };
83 -
84 - class DLL_PUBLIC pacrunner_extension : public extension<pacrunner_extension, true> {
85 - public:
86 - // Virtual methods
87 -- virtual pacrunner* get(string pac, const url& pacurl) throw (bad_alloc);
88 -+ virtual pacrunner* get(string pac, const url& pacurl);
89 - virtual ~pacrunner_extension();
90 -
91 - // Final methods
92 -@@ -55,7 +55,7 @@ public:
93 -
94 - protected:
95 - // Abstract methods
96 -- virtual pacrunner* create(string pac, const url& pacurl) throw (bad_alloc)=0;
97 -+ virtual pacrunner* create(string pac, const url& pacurl)=0;
98 -
99 - private:
100 - pacrunner* pr;
101 ---- a/libproxy/modules/config_envvar.cpp
102 -+++ b/libproxy/modules/config_envvar.cpp
103 -@@ -24,7 +24,7 @@ using namespace libproxy;
104 -
105 - class envvar_config_extension : public config_extension {
106 - public:
107 -- vector<url> get_config(const url &dst) throw (runtime_error) {
108 -+ vector<url> get_config(const url &dst) {
109 - const char *proxy = NULL;
110 - vector<url> response;
111 -
112 ---- a/libproxy/modules/config_sysconfig.cpp
113 -+++ b/libproxy/modules/config_sysconfig.cpp
114 -@@ -124,7 +124,7 @@ public:
115 - ~sysconfig_config_extension() {
116 - }
117 -
118 -- vector<url> get_config(const url &dst) throw (runtime_error) {
119 -+ vector<url> get_config(const url &dst) {
120 - map<string,string>::const_iterator it = _data.find("PROXY_ENABLED");
121 - vector<url> response;
122 -
123 ---- a/libproxy/url.cpp
124 -+++ b/libproxy/url.cpp
125 -@@ -115,7 +115,7 @@ string url::encode(const string &data, const string &valid_reserved) {
126 - return encoded.str();
127 - }
128 -
129 --url::url(const string &url) throw(parse_error)
130 -+url::url(const string &url)
131 - : m_orig(url), m_port(0), m_ips(NULL) {
132 - size_t idx = 0;
133 - size_t hier_part_start, hier_part_end;
134 -@@ -298,7 +298,7 @@ url& url::operator=(const url& url) {
135 - return *this;
136 - }
137 -
138 --url& url::operator=(string strurl) throw (parse_error) {
139 -+url& url::operator=(string strurl) {
140 - url tmp(strurl);
141 - *this = tmp;
142 - return *this;
143 ---- a/libproxy/url.hpp
144 -+++ b/libproxy/url.hpp
145 -@@ -50,10 +50,10 @@ public:
146 -
147 - ~url();
148 - url(const url& url);
149 -- url(const string& url) throw (parse_error);
150 -+ url(const string& url);
151 - bool operator==(const url& url) const;
152 - url& operator=(const url& url);
153 -- url& operator=(string url) throw (parse_error);
154 -+ url& operator=(string url);
155 -
156 - string get_host() const;
157 - sockaddr const* const* get_ips(bool usedns);
158
159 diff --git a/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-1.patch b/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-1.patch
160 deleted file mode 100644
161 index c2d0257d437..00000000000
162 --- a/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-1.patch
163 +++ /dev/null
164 @@ -1,101 +0,0 @@
165 -From f594720280b2e40d81fa6e286a0ef8868687ef7e Mon Sep 17 00:00:00 2001
166 -From: Pierre Lejeune <superheron@×××××.com>
167 -Date: Sat, 30 Jun 2018 21:10:06 +0200
168 -Subject: [PATCH] Build with mozjs-52
169 -
170 -Fixes #71
171 ----
172 - libproxy/cmake/modules/pacrunner_mozjs.cmk | 2 +-
173 - libproxy/modules/pacrunner_mozjs.cpp | 19 +++++++------------
174 - 2 files changed, 8 insertions(+), 13 deletions(-)
175 -
176 -diff --git a/libproxy/cmake/modules/pacrunner_mozjs.cmk b/libproxy/cmake/modules/pacrunner_mozjs.cmk
177 -index c2ae3db..20857fb 100644
178 ---- a/libproxy/cmake/modules/pacrunner_mozjs.cmk
179 -+++ b/libproxy/cmake/modules/pacrunner_mozjs.cmk
180 -@@ -9,7 +9,7 @@ if(WIN32)
181 - elseif(NOT APPLE)
182 - option(WITH_MOZJS "Search for MOZJS package" ON)
183 - if (WITH_MOZJS)
184 -- pkg_search_module(MOZJS mozjs-38)
185 -+ pkg_search_module(MOZJS mozjs-52 mozjs-60)
186 - if(MOZJS_FOUND)
187 - include_directories(${MOZJS_INCLUDE_DIRS})
188 - link_directories(${MOZJS_LIBRARY_DIRS})
189 -diff --git a/libproxy/modules/pacrunner_mozjs.cpp b/libproxy/modules/pacrunner_mozjs.cpp
190 -index a70b2e9..ed07c69 100644
191 ---- a/libproxy/modules/pacrunner_mozjs.cpp
192 -+++ b/libproxy/modules/pacrunner_mozjs.cpp
193 -@@ -35,6 +35,7 @@ using namespace libproxy;
194 - #pragma GCC diagnostic ignored "-Winvalid-offsetof"
195 - #include <jsapi.h>
196 - #pragma GCC diagnostic error "-Winvalid-offsetof"
197 -+#include <js/Initialization.h>
198 - #include <js/CallArgs.h>
199 -
200 - #include "pacutils.h"
201 -@@ -111,17 +112,14 @@ class mozjs_pacrunner : public pacrunner {
202 - mozjs_pacrunner(string pac, const url& pacurl) throw (bad_alloc) : pacrunner(pac, pacurl) {
203 -
204 - // Set defaults
205 -- this->jsrun = nullptr;
206 - this->jsctx = nullptr;
207 - JS_Init();
208 -
209 -- // Initialize Javascript runtime environment
210 -- if (!(this->jsrun = JS_NewRuntime(1024 * 1024))) goto error;
211 -- if (!(this->jsctx = JS_NewContext(this->jsrun, 1024 * 1024))) goto error;
212 -+ // Initialize Javascript context
213 -+ if (!(this->jsctx = JS_NewContext(1024 * 1024))) goto error;
214 - {
215 - JS::RootedValue rval(this->jsctx);
216 - JS::CompartmentOptions compart_opts;
217 -- compart_opts.setVersion(JSVERSION_LATEST);
218 -
219 - this->jsglb = new JS::Heap<JSObject*>(JS_NewGlobalObject(
220 - this->jsctx, &cls,
221 -@@ -139,16 +137,15 @@ class mozjs_pacrunner : public pacrunner {
222 - JS::CompileOptions options(this->jsctx);
223 - options.setUTF8(true);
224 -
225 -- JS::Evaluate(this->jsctx, global, options, JAVASCRIPT_ROUTINES,
226 -- strlen(JAVASCRIPT_ROUTINES), &rval);
227 -+ JS::Evaluate(this->jsctx, options, JAVASCRIPT_ROUTINES,
228 -+ strlen(JAVASCRIPT_ROUTINES), JS::MutableHandleValue(&rval));
229 -
230 - // Add PAC to the environment
231 -- JS::Evaluate(this->jsctx, global, options, pac.c_str(), pac.length(), &rval);
232 -+ JS::Evaluate(this->jsctx, options, pac.c_str(), pac.length(), JS::MutableHandleValue(&rval));
233 - return;
234 - }
235 - error:
236 - if (this->jsctx) JS_DestroyContext(this->jsctx);
237 -- if (this->jsrun) JS_DestroyRuntime(this->jsrun);
238 - throw bad_alloc();
239 - }
240 -
241 -@@ -156,7 +153,6 @@ class mozjs_pacrunner : public pacrunner {
242 - if (this->jsac) delete this->jsac;
243 - if (this->jsglb) delete this->jsglb;
244 - if (this->jsctx) JS_DestroyContext(this->jsctx);
245 -- if (this->jsrun) JS_DestroyRuntime(this->jsrun);
246 - JS_ShutDown();
247 - }
248 -
249 -@@ -178,7 +174,7 @@ class mozjs_pacrunner : public pacrunner {
250 - JS::RootedObject global(this->jsctx,this->jsglb->get());
251 - bool result = JS_CallFunctionName(this->jsctx, global, "FindProxyForURL", args, &rval);
252 - if (!result) return "";
253 --
254 -+
255 - char * tmpanswer = JS_EncodeString(this->jsctx, rval.toString());
256 - string answer = string(tmpanswer);
257 - JS_free(this->jsctx, tmpanswer);
258 -@@ -188,7 +184,6 @@ class mozjs_pacrunner : public pacrunner {
259 - }
260 -
261 - private:
262 -- JSRuntime *jsrun;
263 - JSContext *jsctx;
264 - JS::Heap<JSObject*> *jsglb;
265 - JSAutoCompartment *jsac;
266
267 diff --git a/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-2.patch b/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-2.patch
268 deleted file mode 100644
269 index fc23ef2cf8e..00000000000
270 --- a/net-libs/libproxy/files/libproxy-0.4.15-mozjs-52-2.patch
271 +++ /dev/null
272 @@ -1,23 +0,0 @@
273 -From a9b052c6e30101fb0b702917f245a3e2a2f08366 Mon Sep 17 00:00:00 2001
274 -From: Laurent Bigonville <bigon@×××××.be>
275 -Date: Tue, 2 Oct 2018 10:22:56 +0200
276 -Subject: [PATCH] Add call to JS::InitSelfHostedCode()
277 -
278 -This is needed otherwise mozjs crashes
279 ----
280 - libproxy/modules/pacrunner_mozjs.cpp | 2 ++
281 - 1 file changed, 2 insertions(+)
282 -
283 -diff --git a/libproxy/modules/pacrunner_mozjs.cpp b/libproxy/modules/pacrunner_mozjs.cpp
284 -index ed07c69..38e7d46 100644
285 ---- a/libproxy/modules/pacrunner_mozjs.cpp
286 -+++ b/libproxy/modules/pacrunner_mozjs.cpp
287 -@@ -118,6 +118,8 @@ class mozjs_pacrunner : public pacrunner {
288 - // Initialize Javascript context
289 - if (!(this->jsctx = JS_NewContext(1024 * 1024))) goto error;
290 - {
291 -+ if (!JS::InitSelfHostedCode(this->jsctx)) goto error;
292 -+
293 - JS::RootedValue rval(this->jsctx);
294 - JS::CompartmentOptions compart_opts;
295 -
296
297 diff --git a/net-libs/libproxy/files/libproxy-0.4.15-python-3.7.patch b/net-libs/libproxy/files/libproxy-0.4.15-python-3.7.patch
298 deleted file mode 100644
299 index 95e56c2fe25..00000000000
300 --- a/net-libs/libproxy/files/libproxy-0.4.15-python-3.7.patch
301 +++ /dev/null
302 @@ -1,23 +0,0 @@
303 -From 2d6da65598b90480b4a62c4633eda035ea51681f Mon Sep 17 00:00:00 2001
304 -From: David King <amigadave@×××××××××.com>
305 -Date: Wed, 27 Jun 2018 06:36:00 +0100
306 -Subject: [PATCH] python: support Python 3.7 and 3.8
307 -
308 -Add 3.7 and 3.8 to the list of accepted Python 3 versions.
309 ----
310 - cmake/FindPython3Interp.cmake | 2 +-
311 - 1 file changed, 1 insertion(+), 1 deletion(-)
312 -
313 -diff --git a/cmake/FindPython3Interp.cmake b/cmake/FindPython3Interp.cmake
314 -index c6cbe3d..8e5e409 100644
315 ---- a/cmake/FindPython3Interp.cmake
316 -+++ b/cmake/FindPython3Interp.cmake
317 -@@ -39,7 +39,7 @@
318 -
319 - unset(_Python3_NAMES)
320 -
321 --set(_Python3_VERSIONS 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
322 -+set(_Python3_VERSIONS 3.8 3.7 3.6 3.5 3.4 3.3 3.2 3.1 3.0)
323 -
324 - if(Python3Interp_FIND_VERSION)
325 - if(Python3Interp_FIND_VERSION_COUNT GREATER 1)
326
327 diff --git a/net-libs/libproxy/libproxy-0.4.15-r1.ebuild b/net-libs/libproxy/libproxy-0.4.15-r1.ebuild
328 deleted file mode 100644
329 index 3f5663f6894..00000000000
330 --- a/net-libs/libproxy/libproxy-0.4.15-r1.ebuild
331 +++ /dev/null
332 @@ -1,85 +0,0 @@
333 -# Copyright 1999-2020 Gentoo Authors
334 -# Distributed under the terms of the GNU General Public License v2
335 -
336 -EAPI=7
337 -
338 -CMAKE_ECLASS=cmake
339 -inherit cmake-multilib flag-o-matic mono-env
340 -
341 -DESCRIPTION="Library for automatic proxy configuration management"
342 -HOMEPAGE="https://github.com/libproxy/libproxy"
343 -SRC_URI="https://github.com/libproxy/libproxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
344 -
345 -LICENSE="LGPL-2.1+"
346 -SLOT="0"
347 -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
348 -IUSE="gnome kde mono networkmanager spidermonkey test webkit"
349 -
350 -RESTRICT="!test? ( test )"
351 -
352 -BDEPEND="
353 - virtual/pkgconfig
354 -"
355 -DEPEND="
356 - gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
357 - mono? ( dev-lang/mono )
358 - networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] )
359 - spidermonkey? ( >=dev-lang/spidermonkey-52.0.0:= )
360 - webkit? ( net-libs/webkit-gtk:4 )
361 -"
362 -RDEPEND="${DEPEND}
363 - kde? ( kde-frameworks/kconfig:5 )
364 -"
365 -# avoid dependency loop, bug #467696
366 -PDEPEND="networkmanager? ( net-misc/networkmanager )"
367 -
368 -PATCHES=(
369 - # get-pac-test freezes when run by the ebuild, succeeds when building
370 - # manually; virtualx.eclass doesn't help :(
371 - "${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch"
372 -
373 - # https://github.com/libproxy/libproxy/issues/27
374 - "${FILESDIR}/${PN}-0.4.12-macosx.patch"
375 -
376 - # prevent dependency loop with networkmanager, libsoup, glib-networking; bug #467696
377 - # https://github.com/libproxy/libproxy/issues/28
378 - "${FILESDIR}/${P}-avoid-nm-build-dep.patch"
379 -
380 - # backports from git master:
381 - "${FILESDIR}"/${P}-python-3.7.patch # find python-3.7 and 3.8 as well
382 - "${FILESDIR}"/${P}-mozjs-52-{1,2}.patch
383 -)
384 -
385 -multilib_src_configure() {
386 - local mycmakeargs=(
387 - -DCMAKE_C_FLAGS="${CFLAGS}"
388 - -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
389 - -DWITH_NATUS=OFF
390 - -DWITH_PYTHON2=OFF
391 - # WITH_VALA just copies the .vapi file over and needs no deps,
392 - # hence always enable it unconditionally
393 - -DWITH_VALA=ON
394 - -DWITH_WEBKIT=OFF
395 - $(multilib_is_native_abi && usex mono -DGMCS_EXECUTABLE="${EPREFIX}"/usr/bin/mcs)
396 - -DWITH_GNOME3=$(usex gnome)
397 - -DWITH_KDE=$(usex kde)
398 - -DWITH_DOTNET=$(multilib_is_native_abi && usex mono || echo OFF)
399 - -DWITH_NM=$(usex networkmanager)
400 - -DWITH_PERL=OFF # bug 705410, uses reserved target name "test"
401 - -DWITH_PYTHON3=OFF # Major issue: https://github.com/libproxy/libproxy/issues/65
402 - -DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || echo OFF)
403 - -DBUILD_TESTING=$(usex test)
404 - -DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo OFF)
405 - )
406 - cmake_src_configure
407 -}
408 -
409 -src_configure() {
410 - [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
411 -
412 - multilib-minimal_src_configure
413 -}
414 -
415 -multilib_src_install_all() {
416 - doman "${FILESDIR}"/proxy.1
417 -}
418
419 diff --git a/net-libs/libproxy/libproxy-0.4.15-r2.ebuild b/net-libs/libproxy/libproxy-0.4.15-r2.ebuild
420 deleted file mode 100644
421 index cbec1147443..00000000000
422 --- a/net-libs/libproxy/libproxy-0.4.15-r2.ebuild
423 +++ /dev/null
424 @@ -1,86 +0,0 @@
425 -# Copyright 1999-2020 Gentoo Authors
426 -# Distributed under the terms of the GNU General Public License v2
427 -
428 -EAPI=7
429 -
430 -CMAKE_ECLASS=cmake
431 -inherit cmake-multilib flag-o-matic mono-env
432 -
433 -DESCRIPTION="Library for automatic proxy configuration management"
434 -HOMEPAGE="https://github.com/libproxy/libproxy"
435 -SRC_URI="https://github.com/libproxy/libproxy/archive/${PV}.tar.gz -> ${P}.tar.gz"
436 -
437 -LICENSE="LGPL-2.1+"
438 -SLOT="0"
439 -KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
440 -IUSE="gnome kde mono networkmanager spidermonkey test webkit"
441 -
442 -RESTRICT="!test? ( test )"
443 -
444 -BDEPEND="
445 - virtual/pkgconfig
446 -"
447 -DEPEND="
448 - gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
449 - mono? ( dev-lang/mono )
450 - networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] )
451 - spidermonkey? ( >=dev-lang/spidermonkey-52.0.0:= )
452 - webkit? ( net-libs/webkit-gtk:4 )
453 -"
454 -RDEPEND="${DEPEND}
455 - kde? ( kde-frameworks/kconfig:5 )
456 -"
457 -# avoid dependency loop, bug #467696
458 -PDEPEND="networkmanager? ( net-misc/networkmanager )"
459 -
460 -PATCHES=(
461 - # get-pac-test freezes when run by the ebuild, succeeds when building
462 - # manually; virtualx.eclass doesn't help :(
463 - "${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch"
464 -
465 - # https://github.com/libproxy/libproxy/issues/27
466 - "${FILESDIR}/${PN}-0.4.12-macosx.patch"
467 -
468 - # prevent dependency loop with networkmanager, libsoup, glib-networking; bug #467696
469 - # https://github.com/libproxy/libproxy/issues/28
470 - "${FILESDIR}/${P}-avoid-nm-build-dep.patch"
471 -
472 - # backports from git master:
473 - "${FILESDIR}"/${P}-python-3.7.patch # find python-3.7 and 3.8 as well
474 - "${FILESDIR}"/${P}-mozjs-52-{1,2}.patch
475 - "${FILESDIR}"/${P}-gcc-11.patch
476 -)
477 -
478 -multilib_src_configure() {
479 - local mycmakeargs=(
480 - -DCMAKE_C_FLAGS="${CFLAGS}"
481 - -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
482 - -DWITH_NATUS=OFF
483 - -DWITH_PYTHON2=OFF
484 - # WITH_VALA just copies the .vapi file over and needs no deps,
485 - # hence always enable it unconditionally
486 - -DWITH_VALA=ON
487 - -DWITH_WEBKIT=OFF
488 - $(multilib_is_native_abi && usex mono -DGMCS_EXECUTABLE="${EPREFIX}"/usr/bin/mcs)
489 - -DWITH_GNOME3=$(usex gnome)
490 - -DWITH_KDE=$(usex kde)
491 - -DWITH_DOTNET=$(multilib_is_native_abi && usex mono || echo OFF)
492 - -DWITH_NM=$(usex networkmanager)
493 - -DWITH_PERL=OFF # bug 705410, uses reserved target name "test"
494 - -DWITH_PYTHON3=OFF # Major issue: https://github.com/libproxy/libproxy/issues/65
495 - -DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || echo OFF)
496 - -DBUILD_TESTING=$(usex test)
497 - -DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo OFF)
498 - )
499 - cmake_src_configure
500 -}
501 -
502 -src_configure() {
503 - [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
504 -
505 - multilib-minimal_src_configure
506 -}
507 -
508 -multilib_src_install_all() {
509 - doman "${FILESDIR}"/proxy.1
510 -}