dev-python/PyQt5-sip: new package
authorDavide Pesavento <pesa@gentoo.org>
Thu, 27 Dec 2018 19:24:39 +0000 (20:24 +0100)
committerDavide Pesavento <pesa@gentoo.org>
Thu, 27 Dec 2018 19:49:08 +0000 (20:49 +0100)
This is the private SIP module (sip.so) for PyQt5, required since PyQt5-5.11.

Bug: https://bugs.gentoo.org/668014
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Davide Pesavento <pesa@gentoo.org>
dev-python/PyQt5-sip/Manifest [new file with mode: 0644]
dev-python/PyQt5-sip/PyQt5-sip-4.19.14_pre1812231555.ebuild [new file with mode: 0644]
dev-python/PyQt5-sip/metadata.xml [new file with mode: 0644]

diff --git a/dev-python/PyQt5-sip/Manifest b/dev-python/PyQt5-sip/Manifest
new file mode 100644 (file)
index 0000000..b9720f7
--- /dev/null
@@ -0,0 +1 @@
+DIST sip-4.19.14.dev1812231555.tar.gz 1020224 BLAKE2B e3df5a8b7829278987c5b368b8b6c28c04fc0b3bb3847451e48411ef9ba5cda932007613ad31f34381446ea02d62281b27ae4951babca5ec8b75f065aa296365 SHA512 decf2f7baacede27c42d359eb875a895c9a92b36a8e8a29f4666b3f98f570d821e80dbb32fd946ce230f726fafc4000af9b167df8cfd188bcd7f85fbc71bd4b1
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-4.19.14_pre1812231555.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-4.19.14_pre1812231555.ebuild
new file mode 100644 (file)
index 0000000..457acbf
--- /dev/null
@@ -0,0 +1,91 @@
+# Copyright 1999-2018 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python2_7 python3_{4,5,6,7} )
+inherit python-r1 toolchain-funcs
+
+DESCRIPTION="Private sip module for PyQt5"
+HOMEPAGE="https://www.riverbankcomputing.com/software/sip/intro"
+
+MY_P=sip-${PV/_pre/.dev}
+if [[ ${PV} == *_pre* ]]; then
+       SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
+else
+       SRC_URI="mirror://sourceforge/pyqt/${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="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86"
+IUSE="debug"
+
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="${PYTHON_DEPS}"
+RDEPEND="${DEPEND}"
+
+S=${WORKDIR}/${MY_P}
+
+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 myconf=(
+                       "${PYTHON}"
+                       "${S}"/configure.py
+                       $(usex debug --debug '')
+                       --sip-module PyQt5.sip
+                       --no-tools
+                       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_foreach_impl run_in_build_dir installation
+
+       einstalldocs
+}
diff --git a/dev-python/PyQt5-sip/metadata.xml b/dev-python/PyQt5-sip/metadata.xml
new file mode 100644 (file)
index 0000000..9b8cb51
--- /dev/null
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+       <maintainer type="project">
+               <email>qt@gentoo.org</email>
+               <name>Gentoo Qt Project</name>
+       </maintainer>
+       <upstream>
+               <maintainer status="active">
+                       <email>phil@riverbankcomputing.com</email>
+                       <name>Phil Thompson</name>
+               </maintainer>
+               <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+               <doc>http://pyqt.sourceforge.net/Docs/sip4/</doc>
+               <remote-id type="pypi">SIP</remote-id>
+               <remote-id type="sourceforge">pyqt</remote-id>
+       </upstream>
+</pkgmetadata>