diff options
Diffstat (limited to 'dev-python/sip/sip-4.19.20.ebuild')
-rw-r--r-- | dev-python/sip/sip-4.19.20.ebuild | 98 |
1 files changed, 98 insertions, 0 deletions
diff --git a/dev-python/sip/sip-4.19.20.ebuild b/dev-python/sip/sip-4.19.20.ebuild new file mode 100644 index 000000000000..320cc98ec4f1 --- /dev/null +++ b/dev-python/sip/sip-4.19.20.ebuild @@ -0,0 +1,98 @@ +# Copyright 1999-2020 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=7 + +PYTHON_COMPAT=( python2_7 python3_{6,7,8} ) +inherit python-r1 toolchain-funcs + +DESCRIPTION="Python extension module generator for C and C++ libraries" +HOMEPAGE="https://www.riverbankcomputing.com/software/sip/intro" + +MY_PN=sip +MY_P=${MY_PN}-${PV/_pre/.dev} +if [[ ${PV} == *_pre* ]]; then + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz" +else + SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz" +fi + +# Sub-slot based on SIP_API_MAJOR_NR from siplib/sip.h +SLOT="0/12" +LICENSE="|| ( GPL-2 GPL-3 SIP )" +KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~sparc ~x86" +IUSE="doc" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +DEPEND="${PYTHON_DEPS}" +RDEPEND="${DEPEND}" + +S=${WORKDIR}/${MY_P} + +PATCHES=( "${FILESDIR}"/${PN}-4.18-darwin.patch ) + +src_prepare() { + # Sub-slot sanity check + local sub_slot=${SLOT#*/} + local sip_api_major_nr=$(sed -nre 's:^#define SIP_API_MAJOR_NR\s+([0-9]+):\1:p' siplib/sip.h || die) + if [[ ${sub_slot} != ${sip_api_major_nr} ]]; then + eerror + eerror "Ebuild sub-slot (${sub_slot}) does not match SIP_API_MAJOR_NR (${sip_api_major_nr})" + eerror "Please update SLOT variable as follows:" + eerror " SLOT=\"${SLOT%%/*}/${sip_api_major_nr}\"" + eerror + die "sub-slot sanity check failed" + fi + + default +} + +src_configure() { + configuration() { + if ! python_is_python3; then + local CFLAGS="${CFLAGS} -fno-strict-aliasing" + fi + + local incdir=$(python_get_includedir) + local myconf=( + "${PYTHON}" + "${S}"/configure.py + --sysroot="${ESYSROOT}/usr" + --bindir="${EPREFIX}/usr/bin" + --destdir="$(python_get_sitedir)" + --incdir="${incdir#${SYSROOT}}" + AR="$(tc-getAR) cqs" + CC="$(tc-getCC)" + CFLAGS="${CFLAGS}" + CFLAGS_RELEASE= + CXX="$(tc-getCXX)" + CXXFLAGS="${CXXFLAGS}" + CXXFLAGS_RELEASE= + LINK="$(tc-getCXX)" + LINK_SHLIB="$(tc-getCXX)" + LFLAGS="${LDFLAGS}" + LFLAGS_RELEASE= + RANLIB= + STRIP= + ) + echo "${myconf[@]}" + "${myconf[@]}" || die + } + python_foreach_impl run_in_build_dir configuration +} + +src_compile() { + python_foreach_impl run_in_build_dir default +} + +src_install() { + installation() { + emake DESTDIR="${D}" install + python_optimize + } + python_foreach_impl run_in_build_dir installation + + einstalldocs + use doc && dodoc -r doc/html +} |