summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch')
-rw-r--r--net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch60
1 files changed, 60 insertions, 0 deletions
diff --git a/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch b/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch
new file mode 100644
index 000000000000..59e368b696eb
--- /dev/null
+++ b/net-libs/libproxy/files/libproxy-0.4.11-avoid-nm-build-dep.patch
@@ -0,0 +1,60 @@
+From 518214ee85e10c5bc99d3b115ae7ac9cc3fc14fc Mon Sep 17 00:00:00 2001
+From: Alexandre Rostovtsev <tetromino@gentoo.org>
+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
+---
+ libproxy/cmake/modules/network_networkmanager.cmk | 4 ++--
+ libproxy/modules/network_networkmanager.cpp | 21 ++++++++++++++++++++-
+ 2 files changed, 22 insertions(+), 3 deletions(-)
+
+diff --git a/libproxy/cmake/modules/network_networkmanager.cmk b/libproxy/cmake/modules/network_networkmanager.cmk
+index d9f9588..2586bbd 100644
+--- a/libproxy/cmake/modules/network_networkmanager.cmk
++++ b/libproxy/cmake/modules/network_networkmanager.cmk
+@@ -1,3 +1,3 @@
+ if (NOT WIN32 AND NOT APPLE)
+- px_check_modules(NM NetworkManager dbus-1)
+-endif()
+\ No newline at end of file
++ px_check_modules(NM dbus-1)
++endif()
+diff --git a/libproxy/modules/network_networkmanager.cpp b/libproxy/modules/network_networkmanager.cpp
+index 564c275..a03425b 100644
+--- a/libproxy/modules/network_networkmanager.cpp
++++ b/libproxy/modules/network_networkmanager.cpp
+@@ -23,7 +23,26 @@
+ using namespace libproxy;
+
+ #include <dbus/dbus.h>
+-#include <NetworkManager/NetworkManager.h>
++
++
++/*
++ * copy-pasted from NetworkManager-0.9.6.4'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:
+--
+1.8.2.1
+