summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPacho Ramos <pacho@gentoo.org>2011-06-05 12:04:46 +0000
committerPacho Ramos <pacho@gentoo.org>2011-06-05 12:04:46 +0000
commit1254272176e9dad04e50ab373902ddc6b81e5b77 (patch)
tree4530ebf791c9fa5ba2066327f1195aa6fa9c83fa /net-libs/libproxy
parentAdd missing gnome-common to DEPEND, bug #369677. (diff)
downloadhistorical-1254272176e9dad04e50ab373902ddc6b81e5b77.tar.gz
historical-1254272176e9dad04e50ab373902ddc6b81e5b77.tar.bz2
historical-1254272176e9dad04e50ab373902ddc6b81e5b77.zip
Revision bump disabling webkit support as it causes problems like bug #366791 (we will be able to recover this with webkit-1.6), do the same for xulrunner support because of important problems like bug #360893 giving unresolved symbols due problems to use proper mozjs. Thanks a lot to Nirbheek for his assistance with this. Also include and old upstream patch to stop mixing CFLAGS and CXXFLAGS (bug #338125 by Justin Lecher) and an opensuse patch including some more fixes from upstream.
Package-Manager: portage-2.1.9.50/cvs/Linux x86_64
Diffstat (limited to 'net-libs/libproxy')
-rw-r--r--net-libs/libproxy/ChangeLog15
-rw-r--r--net-libs/libproxy/Manifest15
-rw-r--r--net-libs/libproxy/files/libproxy-0.4.6-backports.patch152
-rw-r--r--net-libs/libproxy/files/libproxy-0.4.6-flags-mixing.patch12
-rw-r--r--net-libs/libproxy/libproxy-0.4.6-r3.ebuild78
5 files changed, 270 insertions, 2 deletions
diff --git a/net-libs/libproxy/ChangeLog b/net-libs/libproxy/ChangeLog
index f8ae658444ef..e771da93d430 100644
--- a/net-libs/libproxy/ChangeLog
+++ b/net-libs/libproxy/ChangeLog
@@ -1,6 +1,19 @@
# ChangeLog for net-libs/libproxy
# Copyright 1999-2011 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-libs/libproxy/ChangeLog,v 1.57 2011/03/27 18:05:44 ssuominen Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libproxy/ChangeLog,v 1.58 2011/06/05 12:04:46 pacho Exp $
+
+*libproxy-0.4.6-r3 (05 Jun 2011)
+
+ 05 Jun 2011; Pacho Ramos <pacho@gentoo.org> +libproxy-0.4.6-r3.ebuild,
+ +files/libproxy-0.4.6-backports.patch,
+ +files/libproxy-0.4.6-flags-mixing.patch:
+ Revision bump disabling webkit support as it causes problems like bug #366791
+ (we will be able to recover this with webkit-1.6), do the same for xulrunner
+ support because of important problems like bug #360893 giving unresolved
+ symbols due problems to use proper mozjs. Thanks a lot to Nirbheek for his
+ assistance with this. Also include and old upstream patch to stop mixing
+ CFLAGS and CXXFLAGS (bug #338125 by Justin Lecher) and an opensuse patch
+ including some more fixes from upstream.
*libproxy-0.4.6-r2 (27 Mar 2011)
diff --git a/net-libs/libproxy/Manifest b/net-libs/libproxy/Manifest
index 73450f374536..e785dcec8d05 100644
--- a/net-libs/libproxy/Manifest
+++ b/net-libs/libproxy/Manifest
@@ -1,7 +1,20 @@
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA1
+
+AUX libproxy-0.4.6-backports.patch 5508 RMD160 0b508fb85301831ccde12a266aae13b9d6f1e2a1 SHA1 56abab45bd504c53100e2f0b828d4e84e53525cc SHA256 d549840659c19a0d39d208928c1fe67aa7cffec9448b3c123951d3ec59049609
+AUX libproxy-0.4.6-flags-mixing.patch 415 RMD160 41dfeee7ec15c58b3e65326b71f959cb11f65985 SHA1 10dd9c12e16039cff52a2420637353843ba6ad6b SHA256 ac57bb007b3e7fe665e684da51f2fb3c767a3ca3221fa940a97e545061a72b1b
AUX libproxy-0.4.6-mozjs-link_directory.patch 1365 RMD160 4ba7b7f923a8d48575db2f13c86482d78e54ae1c SHA1 0a083243f29571e5e971de6df6e4c81b9cf6444f SHA256 783bc34d685ddf3ba6e6c85003417412f2bb87e9fc87c4ca5c9c56bf5e99aea5
AUX libproxy-0.4.6-xulrunner-2.patch 4763 RMD160 66210bdb6497b14358fd73037b6e9813ffd55de3 SHA1 a0ee71fc9b6cd15176b53601655ee6c0d760651b SHA256 e4bd9cb3c43249593015c1fe2b6630e999627e01ca1091455a70ec32d0233525
DIST libproxy-0.4.6.tar.gz 82483 RMD160 f5f03c84ad2d87fe728869fadc669628737c639e SHA1 6e9745c87b774f34bf53f07a54284c0d72020e94 SHA256 9ad912e63b1efca98fb442240a2bc7302e6021c1d0b1b9363327729f29462f30
EBUILD libproxy-0.4.6-r2.ebuild 2009 RMD160 bebf116c5478345343aa3bd2fbeabeefb6637ab4 SHA1 6ad2056b8efd1beed4495c1fbf283dc454c43acf SHA256 739dbc640d4d58fafe3723f4eda8fc197c52a381aa797e456d2fe426e532b4a7
+EBUILD libproxy-0.4.6-r3.ebuild 2305 RMD160 5d93bac87089f8b711415b76b83817a406476c78 SHA1 819d9a1a33abb99f8e2c7cfe3a88dc29a056fde7 SHA256 63c9c852420bd3c88f14ea666abc2156cb8146261b7f9dcda40aad912b5128fb
EBUILD libproxy-0.4.6.ebuild 2158 RMD160 d43c8c283daea56e53712eda8f498a5be07eaf4c SHA1 41b655075b6ef6bc0b109f1b098857573cb02116 SHA256 a3bcf5ea0df5bc42d30907774ee1745c5b95adfbb7c99364845a19a6103422cf
-MISC ChangeLog 8935 RMD160 e5f7454d8ee7052e2bda4353f02e10216c3a502e SHA1 5f210cea79d4526647207062b386508a9099f329 SHA256 6644a670bccce59359e80254aab937447d972ed6ffc2c0158c123b0f95dd3cd5
+MISC ChangeLog 9628 RMD160 22b8cf284fca11e5d6051d80f33eda9d54a48a26 SHA1 b9d8484189c739f115127ec96e71792d5b361427 SHA256 131ced837bfb07de1db1bfca10f81d9f2c6b99722cbe8729732102e1097963cb
MISC metadata.xml 733 RMD160 877172f5073bdd58cf76bdb152503d6080027191 SHA1 1d5eb42d45cafddd1af934c3a7bcfea3bd4d9c1e SHA256 7c806aa9aee9a1b529b0353ed05898466be659ea3fde84007ff614e935742b34
+-----BEGIN PGP SIGNATURE-----
+Version: GnuPG v2.0.17 (GNU/Linux)
+
+iEYEARECAAYFAk3rcOQACgkQCaWpQKGI+9RVWQCdG6QP9EWHqZBycLf6jZicFffD
+QW4An2O+rgPtD/b++CorXwAdsDYGO1Wj
+=whln
+-----END PGP SIGNATURE-----
diff --git a/net-libs/libproxy/files/libproxy-0.4.6-backports.patch b/net-libs/libproxy/files/libproxy-0.4.6-backports.patch
new file mode 100644
index 000000000000..bf76350eaede
--- /dev/null
+++ b/net-libs/libproxy/files/libproxy-0.4.6-backports.patch
@@ -0,0 +1,152 @@
+# Backport from upstream source: svn revs: 769,771,776,777,778,780,781,782
+Index: libproxy/url.cpp
+===================================================================
+--- libproxy/url.cpp.orig
++++ libproxy/url.cpp
+@@ -36,12 +36,9 @@
+
+ #ifdef WIN32
+ #include <io.h>
+-#define pfsize(st) (st.st_size)
+ #define close _close
+ #define read _read
+ #define SHUT_RDWR SD_BOTH
+-#else
+-#define pfsize(st) (st.st_blksize * st.st_blocks)
+ #endif
+
+ #include "url.hpp"
+@@ -56,13 +53,6 @@ using namespace std;
+ // This is the maximum pac size (to avoid memory attacks)
+ #define PAC_MAX_SIZE 102400
+
+-const string url::GENERIC_DELIMITERS(":/?#[]@");
+-const string url::SUBCOMPONENT_DELIMITERS("!$&'()*+,;=");
+-const string url::ALLOWED_IN_USERINFO_ELEMENT(url::SUBCOMPONENT_DELIMITERS);
+-const string url::ALLOWED_IN_USERINFO(url::ALLOWED_IN_USERINFO_ELEMENT + ":");
+-const string url::ALLOWED_IN_PATH_ELEMENT(url::SUBCOMPONENT_DELIMITERS + ":@");
+-const string url::ALLOWED_IN_PATH(url::ALLOWED_IN_PATH_ELEMENT + "/");
+-
+ static inline int get_default_port(string scheme) {
+ struct servent *serv;
+ size_t plus = scheme.find('+');
+@@ -109,8 +99,8 @@ bool url::is_valid(const string url_) {
+
+ string url::encode(const string &data, const string &valid_reserved) {
+ ostringstream encoded;
+- for (int i=0; data[i]; i++) {
+- if (isalnum(data[i])
++ for (unsigned int i=0; i < data.size(); i++) {
++ if (isalnum((unsigned char)data[i])
+ || valid_reserved.find(data[i]) != string::npos
+ || string("-._~").find(data[i]) != string::npos)
+ encoded << data[i];
+@@ -211,7 +201,8 @@ url::url(const string &url) throw(parse_
+ host_start = userinfo_end + 1;
+
+ /* Check for IPv6 IP */
+- if (hier_part[host_start] == '[') {
++ if (host_start < hier_part.size()
++ && hier_part[host_start] == '[') {
+ host_end = hier_part.find(']', host_start);
+ if (host_end == string::npos)
+ throw parse_error("Invalid URL: " + url);
+@@ -232,7 +223,7 @@ url::url(const string &url) throw(parse_
+ /* Get port */
+ m_port = get_default_port(m_scheme);
+
+- if (host_end != hier_part.size()
++ if (host_end < hier_part.size()
+ && hier_part[host_end] == ':') {
+ size_t port_start = host_end + 1;
+ m_port = atoi(hier_part.c_str() + port_start);
+@@ -400,10 +391,12 @@ char* url::get_pac() {
+ struct stat st;
+ if ((sock = ::open(m_path.c_str(), O_RDONLY)) < 0)
+ return NULL;
+- if (!fstat(sock, &st) && pfsize(st) < PAC_MAX_SIZE) {
+- buffer = new char[pfsize(st)+1];
+- if (read(sock, buffer, pfsize(st)) == 0) {
+- delete buffer;
++
++ if (!fstat(sock, &st) && st.st_size < PAC_MAX_SIZE) {
++ buffer = new char[st.st_size+1];
++ memset(buffer, 0, st.st_size+1);
++ if (read(sock, buffer, st.st_size) == 0) {
++ delete[] buffer;
+ buffer = NULL;
+ }
+ }
+Index: libproxy/modules/config_gnome.cpp
+===================================================================
+--- libproxy/modules/config_gnome.cpp.orig
++++ libproxy/modules/config_gnome.cpp
+@@ -102,10 +102,8 @@ static int popen2(const char *program, F
+ if (dup2(rpipe[1], STDOUT_FILENO) != STDOUT_FILENO) _exit(2);
+
+ // Close unneeded fds
+- close(rpipe[0]);
+- close(rpipe[1]);
+- close(wpipe[0]);
+- close(wpipe[1]);
++ for (int i = 3; i < sysconf(_SC_OPEN_MAX); i++)
++ close(i);
+
+ // Exec
+ execl("/bin/sh", "sh", "-c", program, (char*) NULL);
+@@ -194,8 +192,8 @@ public:
+ else if (this->data[PROXY_MODE] == "manual") {
+ string type, host, port;
+ bool auth = this->data[PROXY_USE_AUTHENTICATION] == "true";
+- string username = url::encode(this->data[PROXY_AUTH_USER], url::ALLOWED_IN_USERINFO_ELEMENT);
+- string password = url::encode(this->data[PROXY_AUTH_PASSWORD], url::ALLOWED_IN_USERINFO_ELEMENT);
++ string username = url::encode(this->data[PROXY_AUTH_USER], URL_ALLOWED_IN_USERINFO_ELEMENT);
++ string password = url::encode(this->data[PROXY_AUTH_PASSWORD], URL_ALLOWED_IN_USERINFO_ELEMENT);
+ bool same_proxy = this->data[PROXY_SAME_FOR_ALL] == "true";
+
+ // If socks is set use it (except when same_proxy is set)
+Index: libproxy/proxy.cpp
+===================================================================
+--- libproxy/proxy.cpp.orig
++++ libproxy/proxy.cpp
+@@ -164,7 +164,7 @@ proxy_factory::proxy_factory() {
+ proxy_factory::~proxy_factory() {
+ lock();
+
+- if (this->pac) delete this->pac;
++ if (this->pac) delete[] this->pac;
+ if (this->pacurl) delete this->pacurl;
+
+ unlock();
+Index: libproxy/url.hpp
+===================================================================
+--- libproxy/url.hpp.orig
++++ libproxy/url.hpp
+@@ -27,6 +27,13 @@
+
+ #include "config.hpp"
+
++#define URL_GENERIC_DELIMITERS ":/?#[]@"
++#define URL_SUBCOMPONENT_DELIMITERS "!$&'()*+,;="
++#define URL_ALLOWED_IN_USERINFO_ELEMENT URL_SUBCOMPONENT_DELIMITERS
++#define URL_ALLOWED_IN_USERINFO URL_ALLOWED_IN_USERINFO_ELEMENT ":"
++#define URL_ALLOWED_IN_PATH_ELEMENT URL_SUBCOMPONENT_DELIMITERS ":@"
++#define URL_ALLOWED_IN_PATH URL_ALLOWED_IN_PATH_ELEMENT "/"
++
+ namespace libproxy {
+
+ using namespace std;
+@@ -38,13 +45,6 @@ public:
+
+ class DLL_PUBLIC url {
+ public:
+- static const string ALLOWED_IN_PATH;
+- static const string ALLOWED_IN_PATH_ELEMENT;
+- static const string ALLOWED_IN_USERINFO;
+- static const string ALLOWED_IN_USERINFO_ELEMENT;
+- static const string GENERIC_DELIMITERS;
+- static const string SUBCOMPONENT_DELIMITERS;
+-
+ static bool is_valid(const string url);
+ static string encode(const string &data, const string &valid_reserved = "");
+
diff --git a/net-libs/libproxy/files/libproxy-0.4.6-flags-mixing.patch b/net-libs/libproxy/files/libproxy-0.4.6-flags-mixing.patch
new file mode 100644
index 000000000000..47bd96f22cfc
--- /dev/null
+++ b/net-libs/libproxy/files/libproxy-0.4.6-flags-mixing.patch
@@ -0,0 +1,12 @@
+--- bindings/perl/src/CMakeLists.txt~ 2010-09-01 22:23:34.000000000 +0200
++++ bindings/perl/src/CMakeLists.txt 2011-06-05 12:04:19.000000000 +0200
+@@ -10,9 +10,6 @@
+
+ set(Libproxy_LIB_SRCS Libproxy.c)
+
+-set(CMAKE_C_COMPILER ${CMAKE_CXX_COMPILER})
+-set(CMAKE_C_FLAGS ${PERL_CXX_FLAGS} )
+-
+ set(LIBRARY_OUTPUT_PATH ${CMAKE_BINARY_DIR}/perl/blib/arch/auto/Net)
+ add_library(PLlibproxy SHARED ${Libproxy_LIB_SRCS})
+
diff --git a/net-libs/libproxy/libproxy-0.4.6-r3.ebuild b/net-libs/libproxy/libproxy-0.4.6-r3.ebuild
new file mode 100644
index 000000000000..b3c2b18402c4
--- /dev/null
+++ b/net-libs/libproxy/libproxy-0.4.6-r3.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2011 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-libs/libproxy/libproxy-0.4.6-r3.ebuild,v 1.1 2011/06/05 12:04:46 pacho Exp $
+
+EAPI=3
+PYTHON_DEPEND="python? 2:2.6"
+
+inherit cmake-utils mono python
+
+DESCRIPTION="Library for automatic proxy configuration management"
+HOMEPAGE="http://code.google.com/p/libproxy/"
+SRC_URI="http://${PN}.googlecode.com/files/${P}.tar.gz"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
+IUSE="gnome kde mono networkmanager perl python test vala"
+
+# FIXME: Disable webkit support due problems like bug #366791
+# FIXME: Also disable xulrunner support due bug #360893, will be readded
+# in the future when only spidermonkey mozjs is provided.
+
+RDEPEND="gnome? ( gnome-base/gconf:2 )
+ kde? ( >=kde-base/kdelibs-4.4.5 )
+ mono? ( dev-lang/mono )
+ networkmanager? ( net-misc/networkmanager )
+ perl? ( dev-lang/perl )
+ vala? ( dev-lang/vala:0.10 )"
+# xulrunner? ( >=net-libs/xulrunner-1.9.1:1.9 )
+# webkit? ( net-libs/webkit-gtk:2 )
+DEPEND="${RDEPEND}
+ dev-util/pkgconfig"
+
+pkg_setup() {
+ PATCHES=( "${FILESDIR}"/${P}-mozjs-link_directory.patch
+ "${FILESDIR}"/${P}-flags-mixing.patch
+ "${FILESDIR}"/${P}-backports.patch )
+
+ # http://code.google.com/p/libproxy/source/detail?r=791
+# has_version ">=net-libs/xulrunner-2" && \
+# PATCHES+=( "${FILESDIR}"/${P}-xulrunner-2.patch )
+
+ DOCS="AUTHORS ChangeLog NEWS README"
+
+ if use python; then
+ python_set_active_version 2
+ python_pkg_setup
+ fi
+}
+
+src_configure() {
+ local mycmakeargs=(
+ -DPERL_VENDORINSTALL=ON
+ -DCMAKE_C_FLAGS="${CFLAGS}"
+ -DCMAKE_CXX_FLAGS="${CXXFLAGS}"
+ $(cmake-utils_use_with gnome GNOME)
+ $(cmake-utils_use_with kde KDE4)
+ $(cmake-utils_use_with mono DOTNET)
+ $(cmake-utils_use_with networkmanager NM)
+ $(cmake-utils_use_with perl PERL)
+ $(cmake-utils_use_with python PYTHON)
+ $(cmake-utils_use_with vala VALA)
+ -DWITH_WEBKIT=OFF
+ -DWITH_MOZJS=OFF
+ $(cmake-utils_use test BUILD_TESTING)
+ )
+ #$(cmake-utils_use_with webkit WEBKIT)
+ #$(cmake-utils_use_with xulrunner MOZJS)
+ cmake-utils_src_configure
+}
+
+pkg_postinst() {
+ use python && python_mod_optimize ${PN}.py
+}
+
+pkg_postrm() {
+ use python && python_mod_cleanup ${PN}.py
+}