commit:     60e59f03b62e262dc5056d77fadb9cfe321e06c6
Author:     Sam James <sam <AT> gentoo <DOT> org>
AuthorDate: Tue Dec 15 04:50:17 2020 +0000
Commit:     Sam James <sam <AT> gentoo <DOT> org>
CommitDate: Tue Dec 15 04:50:17 2020 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=60e59f03

net-libs/libproxy: security bump to 0.4.16

Bug: https://bugs.gentoo.org/741538
Package-Manager: Portage-3.0.9, Repoman-3.0.2
Signed-off-by: Sam James <sam <AT> gentoo.org>

 net-libs/libproxy/Manifest                         |  1 +
 .../files/libproxy-0.4.16-avoid-nm-build-dep.patch | 85 ++++++++++++++++++++++
 net-libs/libproxy/libproxy-0.4.16.ebuild           | 81 +++++++++++++++++++++
 3 files changed, 167 insertions(+)

diff --git a/net-libs/libproxy/Manifest b/net-libs/libproxy/Manifest
index a35afe3e315..d879cde8cee 100644
--- a/net-libs/libproxy/Manifest
+++ b/net-libs/libproxy/Manifest
@@ -1 +1,2 @@
 DIST libproxy-0.4.15.tar.gz 93084 BLAKE2B 
9aa86403eaf4e1791958013c2739e251c61f11da40e66b3296b33a7f380828895f621175add5efb3cd17222ff016941801c25c2d70c19ef3a6652510268a0b3d
 SHA512 
8f68bd56e44aeb3f553f4657bef82a5d14302780508dafa32454d6f724b724c884ceed6042f8df53a081d26ea0b05598cf35eab44823257c47c5ef8afb36442b
+DIST libproxy-0.4.16.tar.gz 95534 BLAKE2B 
163f4fa359758a2186802683005b7d2bbd68933d2512f2c4a284912b6d07e3aa288613e3b473d1bd8d9fe941033da634490c78367692a489da31184dd4dc3cb8
 SHA512 
28bca7c86e486d08ddc1699e562dd98366b569ec9a7a965f7d15d265ede508575e6eae43abde1778f46d55c3304d32218d891d01ba6a8c360820412748ed5ca1

diff --git a/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch 
b/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch
new file mode 100644
index 00000000000..4a287955bba
--- /dev/null
+++ b/net-libs/libproxy/files/libproxy-0.4.16-avoid-nm-build-dep.patch
@@ -0,0 +1,85 @@
+From 703ac16ea2b508dc16d433b3fd597fcd496d05c1 Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <[email protected]>
+Date: Mon, 29 Apr 2013 23:02:25 -0400
+Subject: [PATCH] Avoid build-time dependency on NetworkManager
+
+Needed to prevent a dependency loop:
+nm -> libsoup -> glib-networking -> libproxy -> nm
+
+https://bugs.gentoo.org/467696
+
+* [email protected]: Rebased on top of 0.4.15
+  also revert 423801295921ab1ec0d98565fcbc2635088d45da
+* [email protected]: Rebased on top of 0.4.16
+  (same revert included)
+---
+ libproxy/cmake/modules.cmk                    |  6 ++---
+ .../cmake/modules/network_networkmanager.cmk  |  5 +---
+ libproxy/modules/network_networkmanager.cpp   | 23 ++++++++++++++-----
+ 3 files changed, 21 insertions(+), 13 deletions(-)
+
+diff --git a/libproxy/cmake/modules.cmk b/libproxy/cmake/modules.cmk
+index 11d2d43..cc2b58f 100644
+--- a/libproxy/cmake/modules.cmk
++++ b/libproxy/cmake/modules.cmk
+@@ -40,10 +40,10 @@ px_module(config_w32reg            "${WIN32}"        1)
+ px_module(ignore_domain            1                 1)
+ px_module(ignore_hostname          1                 1)
+ px_module(ignore_ip                1                 1)
+-if(NM_FOUND OR NMold_FOUND)
++if(NM_FOUND)
+   set(NM_BUILD 1)
+-endif(NM_FOUND OR NMold_FOUND)
+-px_module(network_networkmanager   "${NM_BUILD}"     0       
${NM_LIBRARIES}${NMold_LIBRARIES})
++endif(NM_FOUND)
++px_module(network_networkmanager   "${NM_BUILD}"     0       ${NM_LIBRARIES})
+ px_module(pacrunner_mozjs          0                 ${BIPR} 
${MOZJS_LIBRARIES})
+ px_module(pacrunner_natus          "${NATUS_FOUND}"  ${BIPR} 
${NATUS_LIBRARIES})
+ px_module(pacrunner_webkit         "${WEBKIT_FOUND}" ${BIPR} 
${WEBKIT_LIBRARIES})
+diff --git a/libproxy/cmake/modules/network_networkmanager.cmk 
b/libproxy/cmake/modules/network_networkmanager.cmk
+index 6ef6ead..2586bbd 100644
+--- a/libproxy/cmake/modules/network_networkmanager.cmk
++++ b/libproxy/cmake/modules/network_networkmanager.cmk
+@@ -1,6 +1,3 @@
+ if (NOT WIN32 AND NOT APPLE)
+-  px_check_modules(NM libnm dbus-1)
+-  if (NOT NM_FOUND)
+-    px_check_modules(NMold NetworkManager dbus-1)
+-  endif (NOT NM_FOUND)
++  px_check_modules(NM dbus-1)
+ endif()
+diff --git a/libproxy/modules/network_networkmanager.cpp 
b/libproxy/modules/network_networkmanager.cpp
+index 546a8ee..317f1ab 100644
+--- a/libproxy/modules/network_networkmanager.cpp
++++ b/libproxy/modules/network_networkmanager.cpp
+@@ -23,13 +23,24 @@
+ using namespace libproxy;
+ 
+ #include <dbus/dbus.h>
+-#include <NetworkManager.h>
+ 
+-// Backwards compatibility: with the switch to libnm, NM_STATE_CONNECTED is no
+-// longer defined. NM_STATE_CONNECTED_GLOBAL appeared with NM 0.9 and was 
aliased
+-#ifndef NM_STATE_CONNECTED
+-  #define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL
+-#endif
++/*
++ * copy-pasted from NetworkManager-1.26.0's NetworkManager.h to prevent
++ * a circular dependency; https://bugs.gentoo.org/467696
++ */
++#define NM_DBUS_PATH                           
"/org/freedesktop/NetworkManager"
++#define NM_DBUS_INTERFACE                      
"org.freedesktop.NetworkManager"
++typedef enum {
++      NM_STATE_UNKNOWN          = 0,
++      NM_STATE_ASLEEP           = 10,
++      NM_STATE_DISCONNECTED     = 20,
++      NM_STATE_DISCONNECTING    = 30,
++      NM_STATE_CONNECTING       = 40,
++      NM_STATE_CONNECTED_LOCAL  = 50,
++      NM_STATE_CONNECTED_SITE   = 60,
++      NM_STATE_CONNECTED_GLOBAL = 70,
++} NMState;
++#define NM_STATE_CONNECTED NM_STATE_CONNECTED_GLOBAL
+ 
+ class networkmanager_network_extension : public network_extension {
+ public:

diff --git a/net-libs/libproxy/libproxy-0.4.16.ebuild 
b/net-libs/libproxy/libproxy-0.4.16.ebuild
new file mode 100644
index 00000000000..1373ea5f58a
--- /dev/null
+++ b/net-libs/libproxy/libproxy-0.4.16.ebuild
@@ -0,0 +1,81 @@
+# Copyright 1999-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+CMAKE_ECLASS=cmake
+inherit cmake-multilib flag-o-matic mono-env
+
+DESCRIPTION="Library for automatic proxy configuration management"
+HOMEPAGE="https://github.com/libproxy/libproxy";
+SRC_URI="https://github.com/libproxy/libproxy/archive/${PV}.tar.gz -> 
${P}.tar.gz"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sparc ~x86 
~amd64-linux ~x86-linux ~x64-macos ~x86-macos ~sparc-solaris ~x86-solaris"
+IUSE="gnome kde mono networkmanager spidermonkey test webkit"
+
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+       virtual/pkgconfig
+"
+DEPEND="
+       gnome? ( dev-libs/glib:2[${MULTILIB_USEDEP}] )
+       mono? ( dev-lang/mono )
+       networkmanager? ( sys-apps/dbus:0[${MULTILIB_USEDEP}] )
+       spidermonkey? ( >=dev-lang/spidermonkey-52.0.0:= )
+       webkit? ( net-libs/webkit-gtk:4 )
+"
+RDEPEND="${DEPEND}
+       kde? ( kde-frameworks/kconfig:5 )
+"
+# avoid dependency loop, bug #467696
+PDEPEND="networkmanager? ( net-misc/networkmanager )"
+
+PATCHES=(
+       # get-pac-test freezes when run by the ebuild, succeeds when building
+       # manually; virtualx.eclass doesn't help :(
+       "${FILESDIR}/${PN}-0.4.10-disable-pac-test.patch"
+
+       # https://github.com/libproxy/libproxy/issues/27
+       "${FILESDIR}/${PN}-0.4.12-macosx.patch"
+
+       # prevent dependency loop with networkmanager, libsoup, 
glib-networking; bug #467696
+       # https://github.com/libproxy/libproxy/issues/28
+       "${FILESDIR}/${P}-avoid-nm-build-dep.patch"
+)
+
+multilib_src_configure() {
+       local mycmakeargs=(
+               -DCMAKE_C_FLAGS="${CFLAGS}"
+               -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
+               -DWITH_NATUS=OFF
+               -DWITH_PYTHON2=OFF
+               # WITH_VALA just copies the .vapi file over and needs no deps,
+               # hence always enable it unconditionally
+               -DWITH_VALA=ON
+               -DWITH_WEBKIT=OFF
+               $(multilib_is_native_abi && usex mono 
-DGMCS_EXECUTABLE="${EPREFIX}"/usr/bin/mcs)
+               -DWITH_GNOME3=$(usex gnome)
+               -DWITH_KDE=$(usex kde)
+               -DWITH_DOTNET=$(multilib_is_native_abi && usex mono || echo OFF)
+               -DWITH_NM=$(usex networkmanager)
+               -DWITH_PERL=OFF # bug 705410, uses reserved target name "test"
+               -DWITH_PYTHON3=OFF # Major issue: 
https://github.com/libproxy/libproxy/issues/65
+               -DWITH_MOZJS=$(multilib_is_native_abi && usex spidermonkey || 
echo OFF)
+               -DBUILD_TESTING=$(usex test)
+               -DWITH_WEBKIT3=$(multilib_is_native_abi && usex webkit || echo 
OFF)
+       )
+       cmake_src_configure
+}
+
+src_configure() {
+       [[ ${CHOST} == *-solaris* ]] && append-libs -lsocket -lnsl
+
+       multilib-minimal_src_configure
+}
+
+multilib_src_install_all() {
+       doman "${FILESDIR}"/proxy.1
+}

Reply via email to