public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Davide Pesavento" <pesa@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt4/
Date: Sun, 10 Jul 2016 16:00:36 +0000 (UTC)	[thread overview]
Message-ID: <1468166334.0569b8570eb3acd5388438ca392b4b820dfd7f70.pesa@gentoo> (raw)

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>


             reply	other threads:[~2016-07-10 16:01 UTC|newest]

Thread overview: 29+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-07-10 16:00 Davide Pesavento [this message]
  -- strict thread matches above, loose matches on Subject: below --
2018-05-10 14:23 [gentoo-commits] repo/gentoo:master commit in: dev-python/PyQt4/ Andreas Sturmlechner
2018-01-22 18:49 Davide Pesavento
2018-01-22 18:24 Markus Meier
2017-12-16 17:24 Tobias Klausmann
2017-11-30 20:19 Tobias Klausmann
2017-11-28 22:58 Sergei Trofimovich
2017-11-27  0:20 Thomas Deutschmann
2017-11-25 18:29 Sergei Trofimovich
2017-08-30 14:05 Michael Palimaka
2017-07-11 16:05 Davide Pesavento
2017-06-25 14:42 Alexis Ballier
2017-06-11  5:19 Davide Pesavento
2017-06-10 15:10 Agostino Sarubbo
2017-03-17 10:15 Agostino Sarubbo
2017-03-16 10:13 Michael Weber
2017-03-10 20:54 Zac Medico
2017-01-25  0:54 Davide Pesavento
2017-01-01 14:20 Michael Palimaka
2016-12-31  6:00 Andrey Grozin
2016-10-02 10:08 Jeroen Roovers
2016-08-05 17:15 Markus Meier
2016-07-29  5:43 Davide Pesavento
2016-07-13 21:22 Michael Palimaka
2016-06-11 11:32 Davide Pesavento
2016-05-09 23:29 Davide Pesavento
2016-04-29  1:29 Davide Pesavento
2016-04-23 22:36 Davide Pesavento
2015-10-19 16:29 Justin Lecher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1468166334.0569b8570eb3acd5388438ca392b4b820dfd7f70.pesa@gentoo \
    --to=pesa@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox