# Copyright 1999-2017 Gentoo Foundation # Copyright 2017-2018 Jan Chren (rindeal) # Distributed under the terms of the GNU General Public License v2 EAPI=7 inherit rindeal ## git-hosting.eclass: GH_RN="github" GH_REF="REL_${PV//./_}" ## python-*.eclass: # The selftests fail with pypy, and urlgrabber segfaults for me. PYTHON_COMPAT=( py{py3,thon{2_7,3_{5..7}}} ) ## EXPORT_FUNCTIONS: src_unpack ## variables: GH_HOMEPAGE inherit git-hosting ## EXPORT_FUNCTIONS: src_prepare src_configure src_compile src_test src_install ## functions: distutils-r1_python_prepare_all, distutils-r1_python_compile, distutils-r1_python_install_all ## variables: PYTHON_DEPS, PYTHON_REQUIRED_USE inherit distutils-r1 DESCRIPTION="Python interface to libcurl" HOMEPAGE=" ${GH_HOMEPAGE} https://pypi.python.org/pypi/pycurl http://pycurl.io/" LICENSE="LGPL-2.1" SLOT="0" KEYWORDS="amd64 arm arm64" IUSE_A=( doc test examples ssl ssl_gnutls ssl_nss +ssl_openssl ) CDEPEND_A=( "${PYTHON_DEPS}" # If the libcurl ssl backend changes pycurl should be recompiled. "net-misc/curl:0=[ssl=]" "ssl? (" # Depend on a curl with ssl_* USE flags. # libcurl must not be using an ssl backend we do not support. "net-misc/curl[ssl_gnutls(-)?,ssl_nss(-)?,ssl_openssl(-)?]" # If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl # does not need to initialize gcrypt threading and we do not need to # explicitly link to libgcrypt. "ssl_gnutls? ( >=net-libs/gnutls-2.11.0 )" ")" ) DEPEND_A=( "${CDEPEND_A[@]}" ) RDEPEND_A=( "${CDEPEND_A[@]}" ) REQUIRED_USE_A=( "${PYTHON_REQUIRED_USE}" "ssl? ( ^^ ( ssl_openssl ssl_gnutls ssl_nss ) )" ) inherit arrays python_prepare_all() { # do not install docs, examples and other unneeded stuff rsed -e "/setup_args\['data_files'\] = /d" -i -- setup.py distutils-r1_python_prepare_all } python_compile() { python_is_python3 || local -x CFLAGS="${CFLAGS} -fno-strict-aliasing" # prepares headers and fixes docstrings emake gen local mydistutilsargs=( $(usex ssl_openssl "--with-openssl" "") $(usex ssl_gnutls "--withgnutls" "") $(usex ssl_nss "--with-nss" "") ) distutils-r1_python_compile } python_install_all() { use doc && local HTML_DOCS=( doc/. ) use examples && local EXAMPLES=( examples/. ) distutils-r1_python_install_all }