diff options
author | Pacho Ramos <pacho@gentoo.org> | 2011-06-05 12:04:46 +0000 |
---|---|---|
committer | Pacho Ramos <pacho@gentoo.org> | 2011-06-05 12:04:46 +0000 |
commit | 1254272176e9dad04e50ab373902ddc6b81e5b77 (patch) | |
tree | 4530ebf791c9fa5ba2066327f1195aa6fa9c83fa /net-libs/libproxy | |
parent | Add missing gnome-common to DEPEND, bug #369677. (diff) | |
download | historical-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/ChangeLog | 15 | ||||
-rw-r--r-- | net-libs/libproxy/Manifest | 15 | ||||
-rw-r--r-- | net-libs/libproxy/files/libproxy-0.4.6-backports.patch | 152 | ||||
-rw-r--r-- | net-libs/libproxy/files/libproxy-0.4.6-flags-mixing.patch | 12 | ||||
-rw-r--r-- | net-libs/libproxy/libproxy-0.4.6-r3.ebuild | 78 |
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 +} |