commit: 0569b8570eb3acd5388438ca392b4b820dfd7f70
Author: Davide Pesavento <pesa <AT> gentoo <DOT> org>
AuthorDate: Sun Jul 10 15:05:02 2016 +0000
Commit: Davide Pesavento <pesa <AT> gentoo <DOT> org>
CommitDate: Sun Jul 10 15:58:54 2016 +0000
URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=0569b857
dev-python/PyQt4: introduce USE=compat to install deprecated pyqtconfig
A few PyQt4 revdeps still require the deprecated pyqtconfig module at
build time. USE=compat re-enables the installation of pyqtconfig, so that
those packages continue to build against newer versions of PyQt4.
Gentoo-Bug: 526524
Gentoo-Bug: 527572
Gentoo-Bug: 536948
Package-Manager: portage-2.3.0
...pre1606101416.ebuild => PyQt4-4.11.4-r1.ebuild} | 74 ++++++++++++++++------
...6.ebuild => PyQt4-4.12_pre1606101416-r1.ebuild} | 54 +++++++++++++---
dev-python/PyQt4/metadata.xml | 1 +
3 files changed, 100 insertions(+), 29 deletions(-)
diff --git a/dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
b/dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild
similarity index 71%
copy from dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
copy to dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild
index 929d3d1..da8bfd5 100644
--- a/dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
+++ b/dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild
@@ -2,16 +2,16 @@
# Distributed under the terms of the GNU General Public License v2
# $Id$
-EAPI=6
+EAPI=5
PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
-inherit multibuild python-r1 qmake-utils
+inherit eutils multibuild python-r1 qmake-utils toolchain-funcs
DESCRIPTION="Python bindings for the Qt framework"
HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
https://pypi.python.org/pypi/PyQt4"
-MY_P=${PN}_gpl_x11-${PV/_pre/.dev}
+MY_P=PyQt-x11-gpl-${PV/_pre/.dev}
if [[ ${PV} == *_pre* ]]; then
SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz"
else
@@ -22,7 +22,7 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux
~x86-linux"
-IUSE="X dbus debug declarative designer doc examples help kde multimedia
+IUSE="X compat dbus debug declarative designer doc examples help kde multimedia
opengl phonon script scripttools sql svg testlib webkit xmlpatterns"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -35,7 +35,7 @@ QT_PV="4.8.5:4"
RDEPEND="
${PYTHON_DEPS}
- >=dev-python/sip-4.18:=[${PYTHON_USEDEP}]
+ >=dev-python/sip-4.16.6:=[${PYTHON_USEDEP}]
>=dev-qt/qtcore-${QT_PV}
X? ( >=dev-qt/qtgui-${QT_PV} )
dbus? (
@@ -65,17 +65,17 @@ DEPEND="${RDEPEND}
S=${WORKDIR}/${MY_P}
-DOCS=( "${S}"/{ChangeLog,NEWS,THANKS} )
-PATCHES=(
- # Allow building against KDE's phonon (bug 525354)
- "${FILESDIR}/${PN}-4.11.2-phonon.patch"
-)
-
src_prepare() {
- # Support qreal on arm architecture (bug 322349)
- use arm &&
PATCHES+=("${FILESDIR}/${PN}-4.7.3-qreal_float_support.patch")
+ # Support qreal on arm architecture (bug 322349).
+ use arm && epatch "${FILESDIR}/${PN}-4.7.3-qreal_float_support.patch"
+
+ # Allow building against KDE's phonon (bug 525354).
+ epatch "${FILESDIR}/${PN}-4.11.2-phonon.patch"
+}
- default
+pyqt_run() {
+ echo "$@"
+ "${PYTHON}" "$@"
}
pyqt_use_enable() {
@@ -87,22 +87,18 @@ pyqt_use_enable() {
src_configure() {
configuration() {
local myconf=(
- "${PYTHON}"
- "${S}"/configure-ng.py
$(usex debug '--debug --trace' '')
--verbose
--confirm-license
--qmake="$(qt4_get_bindir)"/qmake
--bindir="${EPREFIX}/usr/bin"
--destdir="$(python_get_sitedir)"
- --sip-incdir="$(python_get_includedir)"
--qsci-api
--enable=QtCore
--enable=QtNetwork
--enable=QtXml
$(pyqt_use_enable X QtGui)
$(pyqt_use_enable dbus QtDBus)
- $(usex dbus '' --no-python-dbus)
$(pyqt_use_enable declarative)
$(pyqt_use_enable designer)
$(usex designer '' --no-designer-plugin)
@@ -118,8 +114,37 @@ src_configure() {
$(pyqt_use_enable webkit QtWebKit)
$(pyqt_use_enable xmlpatterns QtXmlPatterns)
)
- echo "${myconf[@]}"
- "${myconf[@]}" || die
+
+ if use compat; then
+ local compat_build_dir=${BUILD_DIR%/}-compat
+ cp -Rp "${S}" "${compat_build_dir}" || die
+ pushd "${compat_build_dir}" >/dev/null || die
+
+ local mycompatconf=(
+ "${myconf[@]}"
+ 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=
+ )
+ pyqt_run configure.py "${mycompatconf[@]}" || die
+
+ popd >/dev/null || die
+ fi
+
+ myconf+=(
+ $(usex dbus '' --no-python-dbus)
+ )
+ pyqt_run "${S}"/configure-ng.py "${myconf[@]}" || die
eqmake4 -recursive ${PN}.pro
}
@@ -146,11 +171,18 @@ src_install() {
rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 || die
multibuild_merge_root "${tmp_root}" "${D}"
+
+ if use compat; then
+ local compat_build_dir=${BUILD_DIR%/}-compat
+ python_moduleinto ${PN}
+ python_domodule "${compat_build_dir}"/pyqtconfig.py
+ fi
+
python_optimize
}
python_foreach_impl run_in_build_dir installation
- einstalldocs
+ dodoc ChangeLog NEWS THANKS
use doc && dodoc -r doc/html
if use examples; then
diff --git a/dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
b/dev-python/PyQt4/PyQt4-4.12_pre1606101416-r1.ebuild
similarity index 79%
rename from dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
rename to dev-python/PyQt4/PyQt4-4.12_pre1606101416-r1.ebuild
index 929d3d1..aa0be01 100644
--- a/dev-python/PyQt4/PyQt4-4.12_pre1606101416.ebuild
+++ b/dev-python/PyQt4/PyQt4-4.12_pre1606101416-r1.ebuild
@@ -5,7 +5,7 @@
EAPI=6
PYTHON_COMPAT=( python2_7 python3_{3,4,5} )
-inherit multibuild python-r1 qmake-utils
+inherit multibuild python-r1 qmake-utils toolchain-funcs
DESCRIPTION="Python bindings for the Qt framework"
HOMEPAGE="http://www.riverbankcomputing.com/software/pyqt/intro
@@ -22,7 +22,7 @@ LICENSE="GPL-3"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux
~x86-linux"
-IUSE="X dbus debug declarative designer doc examples help kde multimedia
+IUSE="X compat dbus debug declarative designer doc examples help kde multimedia
opengl phonon script scripttools sql svg testlib webkit xmlpatterns"
REQUIRED_USE="
${PYTHON_REQUIRED_USE}
@@ -78,6 +78,11 @@ src_prepare() {
default
}
+pyqt_run() {
+ echo "$@"
+ "${PYTHON}" "$@"
+}
+
pyqt_use_enable() {
use "$1" || return
@@ -87,22 +92,18 @@ pyqt_use_enable() {
src_configure() {
configuration() {
local myconf=(
- "${PYTHON}"
- "${S}"/configure-ng.py
$(usex debug '--debug --trace' '')
--verbose
--confirm-license
--qmake="$(qt4_get_bindir)"/qmake
--bindir="${EPREFIX}/usr/bin"
--destdir="$(python_get_sitedir)"
- --sip-incdir="$(python_get_includedir)"
--qsci-api
--enable=QtCore
--enable=QtNetwork
--enable=QtXml
$(pyqt_use_enable X QtGui)
$(pyqt_use_enable dbus QtDBus)
- $(usex dbus '' --no-python-dbus)
$(pyqt_use_enable declarative)
$(pyqt_use_enable designer)
$(usex designer '' --no-designer-plugin)
@@ -118,8 +119,38 @@ src_configure() {
$(pyqt_use_enable webkit QtWebKit)
$(pyqt_use_enable xmlpatterns QtXmlPatterns)
)
- echo "${myconf[@]}"
- "${myconf[@]}" || die
+
+ if use compat; then
+ local compat_build_dir=${BUILD_DIR%/}-compat
+ cp -Rp "${S}" "${compat_build_dir}" || die
+ pushd "${compat_build_dir}" >/dev/null || die
+
+ local mycompatconf=(
+ "${myconf[@]}"
+ 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=
+ )
+ pyqt_run configure.py "${mycompatconf[@]}" || die
+
+ popd >/dev/null || die
+ fi
+
+ myconf+=(
+ --sip-incdir="$(python_get_includedir)"
+ $(usex dbus '' --no-python-dbus)
+ )
+ pyqt_run "${S}"/configure-ng.py "${myconf[@]}" || die
eqmake4 -recursive ${PN}.pro
}
@@ -146,6 +177,13 @@ src_install() {
rm "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 || die
multibuild_merge_root "${tmp_root}" "${D}"
+
+ if use compat; then
+ local compat_build_dir=${BUILD_DIR%/}-compat
+ python_moduleinto ${PN}
+ python_domodule "${compat_build_dir}"/pyqtconfig.py
+ fi
+
python_optimize
}
python_foreach_impl run_in_build_dir installation
diff --git a/dev-python/PyQt4/metadata.xml b/dev-python/PyQt4/metadata.xml
index 1c9b581..9fe84c5 100644
--- a/dev-python/PyQt4/metadata.xml
+++ b/dev-python/PyQt4/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<use>
<flag name="X">Build bindings for the QtGui module</flag>
+ <flag name="compat">Install the deprecated pyqtconfig module
for backward compatibility</flag>
<flag name="dbus">Build bindings for the QtDBus module</flag>
<flag name="declarative">Build bindings for the QtDeclarative
module</flag>
<flag name="designer">Build bindings for the QtDesigner module
and enable the designer plugin</flag>