14
0
forked from pool/python-pycurl

Accepting request 486190 from devel:languages:python:singlespec

- update for multipython build
- merge python3 project
- update and apply pycurl-no-runtime-curlvercheck.patch
- run test suite
- single doc package for all pythons

- update to version 7.43.0:
  * Highlights of this release:
    + Binary wheels are now built for Windows systems.
    + setopt_string method added to Curl objects to permit setting
      string libcurl options that PycURL does not know about.
    + curl module can now be imported on Windows again.
    + OPENSOCKETFUNCTION callback is now invoked with the address as
      bytes on Python 3 as was documented.
    + Support for many libcurl options and constants was added.

- specfile:
  * update copyright year
  * update patch
- update to version 7.21.5:
  * Highlights of this release:
    + Socket callbacks are now fully implemented
      ("CURLOPT_OPENSOCKETFUNCTION", "CURLOPT_SOCKOPTFUNCTION",
      "CURLOPT_CLOSESOCKETFUNCTION"). Unfortunately this required
      changing "OPENSOCKETFUNCTION" API once again in a
      backwards-incompatible manner. Support for "SOCKOPTFUNCTION" and
      "CLOSESOCKETFUNCTION" was added in this
      release. "OPENSOCKETFUNCTION" now supports Unix sockets.
    + Many other libcurl options and constants have been added to
      PycURL.

OBS-URL: https://build.opensuse.org/request/show/486190
OBS-URL: https://build.opensuse.org/package/show/devel:languages:python/python-pycurl?expand=0&rev=25
This commit is contained in:
Jan Matejek
2017-04-06 15:49:32 +00:00
committed by Git OBS Bridge
parent de9105ba7b
commit 6a7bfb0850
5 changed files with 169 additions and 34 deletions

View File

@@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:6e9770f80459757f73bd71af82fbb29cd398b38388cdf1beab31ea91a331bc6c
size 142140

3
pycurl-7.43.0.tar.gz Normal file
View File

@@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:aa975c19b79b6aa6c0518c0cc2ae33528900478f0b500531dbcdbf05beec584c
size 182522

View File

@@ -1,11 +1,13 @@
--- a/src/pycurl.c 2014-02-06 10:27:56.000000000 +0100 Index: pycurl-7.19.5/src/module.c
+++ b/src/pycurl.c 2014-05-20 16:09:57.513592172 +0200 ===================================================================
@@ -4526,7 +4526,7 @@ --- pycurl-7.19.5.orig/src/module.c
+++ pycurl-7.19.5/src/module.c
@@ -416,7 +416,7 @@ initpycurl(void)
#undef PYCURL_VERSION_PREFIX_SIZE #undef PYCURL_VERSION_PREFIX_SIZE
insobj2(d, NULL, "version", PyText_FromString(g_pycurl_useragent)); insstr_modinit(d, "version", g_pycurl_useragent);
- insstr(d, "COMPILE_DATE", __DATE__ " " __TIME__); - insstr_modinit(d, "COMPILE_DATE", __DATE__ " " __TIME__);
+ //insstr(d, "COMPILE_DATE", __DATE__ " " __TIME__); + //insstr_modinit(d, "COMPILE_DATE", __DATE__ " " __TIME__);
insint(d, "COMPILE_PY_VERSION_HEX", PY_VERSION_HEX); insint(d, "COMPILE_PY_VERSION_HEX", PY_VERSION_HEX);
insint(d, "COMPILE_LIBCURL_VERSION_NUM", LIBCURL_VERSION_NUM); insint(d, "COMPILE_LIBCURL_VERSION_NUM", LIBCURL_VERSION_NUM);

View File

@@ -1,3 +1,117 @@
-------------------------------------------------------------------
Tue Dec 20 15:55:00 UTC 2016 - jmatejek@suse.com
- update for multipython build
- merge python3 project
- update and apply pycurl-no-runtime-curlvercheck.patch
- run test suite
- single doc package for all pythons
-------------------------------------------------------------------
Sat Feb 6 04:43:19 UTC 2016 - arun@gmx.de
- update to version 7.43.0:
* Highlights of this release:
+ Binary wheels are now built for Windows systems.
+ setopt_string method added to Curl objects to permit setting
string libcurl options that PycURL does not know about.
+ curl module can now be imported on Windows again.
+ OPENSOCKETFUNCTION callback is now invoked with the address as
bytes on Python 3 as was documented.
+ Support for many libcurl options and constants was added.
-------------------------------------------------------------------
Sat Jan 30 17:57:48 UTC 2016 - arun@gmx.de
- specfile:
* update copyright year
* update patch
- update to version 7.21.5:
* Highlights of this release:
+ Socket callbacks are now fully implemented
("CURLOPT_OPENSOCKETFUNCTION", "CURLOPT_SOCKOPTFUNCTION",
"CURLOPT_CLOSESOCKETFUNCTION"). Unfortunately this required
changing "OPENSOCKETFUNCTION" API once again in a
backwards-incompatible manner. Support for "SOCKOPTFUNCTION" and
"CLOSESOCKETFUNCTION" was added in this
release. "OPENSOCKETFUNCTION" now supports Unix sockets.
+ Many other libcurl options and constants have been added to
PycURL.
+ When "pycurl" module initialization fails, "ImportError" is
raised instead of a fatal error terminating the process.
+ Usability of official Windows builds has been greatly improved
-------------------------------------------------------------------
Tue Nov 3 16:59:19 UTC 2015 - arun@gmx.de
- update to version 7.19.5.3:
* python and nosetests binaries can now be overridden when running
the test suite (patch by Kamil Dudka).
* Files needed to run the test suite are distributed in sdist
(patch by Kamil Dudka).
-------------------------------------------------------------------
Mon Nov 2 17:03:47 UTC 2015 - arun@gmx.de
- update to version 7.19.5.2:
* C sources made 64-bit clean on Windows.
* Support for building against Python 3.5 added to winbuild.py.
* Fixed build on Windows when using MS SDK 8.1+ or MSVC 14/2015
(patch by Gisle Vanem).
* Added automatic SSL library detection on CentOS 6 by loading
libcurl shared library in setup.py. This automatic detection is
meant to permit installing pycurl seamlessly via `pip install pycurl`
on CentOS; as such, it is only employed when no other configuration
options or configuration environment variables are given to setup.py
(original patch by Francisco Alves).
* Added --libcurl-dll option to setup.py to take SSL library
information out of libcurl shared library (original patch by
Francisco Alves). This option is only usable
with Python 2.5 or higher.
* --with-ssl, --with-gnutls and --with-nss options to setup.py now
result in PycURL explicitly linking against the respective SSL
library. Previously setup.py relied on curl-config to supply the
needed libraries in this case.
* List and tuples are now accepted in all positions of HTTPPOST
option values.
* Tuples are now accepted for options taking list values (e.g.
HTTPHEADER).
* Fixed a use after free in HTTPPOST when using FORM_BUFFERPTR with
a Unicode string (patch by Clint Clayton).
* Fixed a memory leak in HTTPPOST for multiple FORM_BUFFERPTR
(patch by Clint Clayton).
* CURLMOPT_* option constants were mistakenly defined on Curl
instances but not on CurlMulti instances. These option constants
are now defined on CurlMulti instances and on pycurl module,
but not on Curl instances.
* Fixed several memory leaks when setting string options to
Unicode values failed.
* Fixed a memory leak when using POSTFIELDS with unicode objects
on Python 2 (patch by Clint Clayton).
* Official support for Python 2.4 and 2.5 dropped. PycURL is no
longer tested against these Python versions on Travis.
* Added CURLAUTH_NEGOTIATE (libcurl 7.38.0+), CURLAUTH_NTLM_WB
(libcurl 7.22.0+), CURLAUTH_ONLY (libcurl 7.21.3+),
* Added CURLOPT_SERVICE_NAME (libcurl 7.43.0+).
* Added CURLOPT_PROXY_SERVICE_NAME (libcurl 7.43.0+).
* Added CURLE_SSL_CRL_BADFILE, CURLE_SSL_INVALIDCERTSTATUS
(libcurl 7.41.0+), CURLE_SSL_ISSUER_ERROR and
CURLE_SSL_PINNEDPUBKEYNOTMATCH (libcurl 7.39.0+).
* Added CURLOPT_SSL_VERIFYSTATUS (libcurl 7.41.0+).
* Added CURL_SSLVERSION_TLSv1_0, CURL_SSLVERSION_TLSv1_1
and CURL_SSLVERSION_TLSv1_2 (libcurl 7.34.0+).
* The second argument of DEBUGFUNCTION callback is now of type bytes on
Python 3. When response body contains non-ASCII data and
DEBUGFUNCTION is enabled, this argument would receive non-ASCII data.
Which encoding this data is in is unknown by PycURL, and e.g. in
the case of HTTP requires parsing response headers. GitHub issue
#210, patch by Barry Warsaw with help from Gregory Petukhov.
* Fixed build on GCC 4.4.5 (patch by Travis Jensen).
* Added CURLOPT_GSSAPI_DELEGATION, CURLGSSAPI_DELEGATION_FLAG,
CURLGSSAPI_DELEGATION_NONE and CURLGSSAPI_DELEGATION_POLICY_FLAG
(libcurl 7.22.0+, patch by Dmitry Ketov).
------------------------------------------------------------------- -------------------------------------------------------------------
Wed Mar 25 13:54:46 UTC 2015 - mcihar@suse.cz Wed Mar 25 13:54:46 UTC 2015 - mcihar@suse.cz

View File

@@ -1,7 +1,7 @@
# #
# spec file for package python-pycurl # spec file for package python-pycurl
# #
# Copyright (c) 2015 SUSE LINUX GmbH, Nuernberg, Germany. # Copyright (c) 2017 SUSE LINUX GmbH, Nuernberg, Germany.
# #
# All modifications and additions to the file contributed by third parties # All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed # remain the property of their copyright owners, unless otherwise agreed
@@ -16,68 +16,87 @@
# #
%define oldpython python
%{?!python_module:%define python_module() python-%{**} python3-%{**}}
Name: python-pycurl Name: python-pycurl
Version: 7.19.5.1 Version: 7.43.0
Release: 0 Release: 0
Url: http://pycurl.sourceforge.net/
Summary: PycURL -- cURL library module Summary: PycURL -- cURL library module
License: LGPL-2.1+ and MIT License: LGPL-2.1+ and MIT
Group: Development/Languages/Python Group: Development/Languages/Python
Source: https://pypi.python.org/packages/source/p/pycurl/pycurl-%{version}.tar.gz Url: http://pycurl.sourceforge.net/
Source: https://files.pythonhosted.org/packages/source/p/pycurl/pycurl-%{version}.tar.gz
# PATCH-FIX-UPSTREAM remove __DATE__ and __TIME__
Patch0: pycurl-no-runtime-curlvercheck.patch Patch0: pycurl-no-runtime-curlvercheck.patch
BuildRoot: %{_tmppath}/%{name}-%{version}-build BuildRequires: %{python_module CherryPy}
BuildRequires: %{python_module bottle}
BuildRequires: %{python_module devel}
BuildRequires: %{python_module flaky}
BuildRequires: %{python_module nose}
BuildRequires: %{python_module pyflakes}
BuildRequires: %{python_module simplejson}
BuildRequires: libcurl-devel >= 7.19.0 BuildRequires: libcurl-devel >= 7.19.0
BuildRequires: openssl-devel BuildRequires: openssl-devel
BuildRequires: python-CherryPy BuildRequires: python-rpm-macros
BuildRequires: python-bottle
BuildRequires: python-devel
BuildRequires: python-nose
BuildRequires: python-simplejson
Requires: python-CherryPy Requires: python-CherryPy
Requires: python-bottle Requires: python-bottle
Requires: python-simplejson Requires: python-simplejson
%if 0%{?suse_version} %ifpython2
%py_requires Provides: %{oldpython}-curl = %{version}
Obsoletes: %{oldpython}-curl < %{version}
%endif %endif
Provides: python-curl = %{version} BuildRoot: %{_tmppath}/%{name}-%{version}-build
Obsoletes: python-curl < %{version}
%{!?python_sitearch: %global python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")} %python_subpackages
%description %description
This module provides bindings for the cURL library. This module provides bindings for the cURL library.
%package doc %package -n %{name}-doc
Summary: Documentation for python-curl Summary: Documentation for python-curl
Group: Development/Libraries/Python Group: Development/Libraries/Python
Requires: %{name} = %{version} Requires: %{name} = %{version}
Provides: %{python_module pycurl-doc = %{version}}
BuildArch: noarch
%description doc %description -n %{name}-doc
This module provides bindings for the cURL library. This module provides bindings for the cURL library.
This package contains documentation and examples. This package contains documentation and examples.
%prep %prep
%setup -q -n pycurl-%{version} %setup -q -n pycurl-%{version}
# %patch0 -p1 %patch0 -p1
%build %build
CFLAGS="%{optflags}" python setup.py build --with-ssl export CFLAGS="%{optflags}"
%python_build --with-ssl
%install %install
python setup.py install --prefix=%{_prefix} --root=%{buildroot} --with-ssl %python_install
rm -rf %{buildroot}%{_datadir}/doc # Remove wrongly installed junk rm -rf %{buildroot}%{_datadir}/doc # Remove wrongly installed junk
%check %check
%if 0%{?suse_version} >= 1320 # taken from "make test" because we only need to run nosetests,
make test # not the rest of the mess in the upstream runner
pushd tests/fake-curl/libcurl
rm -f *.so
make
popd
EXCLUDES=""
%if 0%{?suse_version} < 1320
# CURL too old to know HTTP/2
EXCLUDES="-e test_http_version_2_0"
%endif %endif
%{python_expand PYTHONPATH=$(ls -d build/lib.*) \
nosetests-%$python_bin_suffix --with-flaky -a '!online' $EXCLUDES}
%files %files %{python_files}
%defattr(-,root,root,-) %defattr(-,root,root,-)
%doc AUTHORS ChangeLog COPYING-LGPL COPYING-MIT README.rst %doc AUTHORS ChangeLog COPYING-LGPL COPYING-MIT README.rst
%{python_sitearch}/* %{python_sitearch}/*
%files doc %files -n %{name}-doc
%defattr(-,root,root) %defattr(-,root,root)
%doc examples doc/*.rst %doc examples doc/*.rst