diff --git a/dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild b/dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild new file mode 100644 index 0000000000000..da8bfd59df93c --- /dev/null +++ b/dev-python/PyQt4/PyQt4-4.11.4-r1.ebuild @@ -0,0 +1,192 @@ +# Copyright 1999-2016 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Id$ + +EAPI=5 +PYTHON_COMPAT=( python2_7 python3_{3,4,5} ) + +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=PyQt-x11-gpl-${PV/_pre/.dev} +if [[ ${PV} == *_pre* ]]; then + SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.xz" +else + SRC_URI="mirror://sourceforge/pyqt/${MY_P}.tar.gz" +fi + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux" + +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} + sql? ( X ) + testlib? ( X ) +" + +# Minimal supported version of Qt. +QT_PV="4.8.5:4" + +RDEPEND=" + ${PYTHON_DEPS} + >=dev-python/sip-4.16.6:=[${PYTHON_USEDEP}] + >=dev-qt/qtcore-${QT_PV} + X? ( >=dev-qt/qtgui-${QT_PV} ) + dbus? ( + dev-python/dbus-python[${PYTHON_USEDEP}] + >=dev-qt/qtdbus-${QT_PV} + ) + declarative? ( >=dev-qt/qtdeclarative-${QT_PV} ) + designer? ( >=dev-qt/designer-${QT_PV} ) + help? ( >=dev-qt/qthelp-${QT_PV} ) + multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} ) + opengl? ( >=dev-qt/qtopengl-${QT_PV} ) + phonon? ( + kde? ( >=media-libs/phonon-4.7[qt4] ) + !kde? ( || ( >=dev-qt/qtphonon-${QT_PV} >=media-libs/phonon-4.7[qt4] ) ) + ) + script? ( >=dev-qt/qtscript-${QT_PV} ) + scripttools? ( >=dev-qt/qtgui-${QT_PV} ) + sql? ( >=dev-qt/qtsql-${QT_PV} ) + svg? ( >=dev-qt/qtsvg-${QT_PV} ) + testlib? ( >=dev-qt/qttest-${QT_PV} ) + webkit? ( >=dev-qt/qtwebkit-${QT_PV} ) + xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} ) +" +DEPEND="${RDEPEND} + dbus? ( virtual/pkgconfig ) +" + +S=${WORKDIR}/${MY_P} + +src_prepare() { + # 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" +} + +pyqt_run() { + echo "$@" + "${PYTHON}" "$@" +} + +pyqt_use_enable() { + use "$1" || return + + echo --enable=${2:-Qt$(tr 'a-z' 'A-Z' <<< ${1:0:1})${1:1}} +} + +src_configure() { + configuration() { + local myconf=( + $(usex debug '--debug --trace' '') + --verbose + --confirm-license + --qmake="$(qt4_get_bindir)"/qmake + --bindir="${EPREFIX}/usr/bin" + --destdir="$(python_get_sitedir)" + --qsci-api + --enable=QtCore + --enable=QtNetwork + --enable=QtXml + $(pyqt_use_enable X QtGui) + $(pyqt_use_enable dbus QtDBus) + $(pyqt_use_enable declarative) + $(pyqt_use_enable designer) + $(usex designer '' --no-designer-plugin) + $(pyqt_use_enable help) + $(pyqt_use_enable multimedia) + $(pyqt_use_enable opengl QtOpenGL) + $(pyqt_use_enable phonon phonon) + $(pyqt_use_enable script) + $(pyqt_use_enable scripttools QtScriptTools) + $(pyqt_use_enable sql) + $(pyqt_use_enable svg) + $(pyqt_use_enable testlib QtTest) + $(pyqt_use_enable webkit QtWebKit) + $(pyqt_use_enable xmlpatterns QtXmlPatterns) + ) + + 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 + } + python_foreach_impl run_in_build_dir configuration +} + +src_compile() { + python_foreach_impl run_in_build_dir default +} + +src_install() { + installation() { + local tmp_root=${D%/}/tmp + emake INSTALL_ROOT="${tmp_root}" install + + local uic_dir=${tmp_root}$(python_get_sitedir)/${PN}/uic + if python_is_python3; then + rm -r "${uic_dir}"/port_v2 || die + else + rm -r "${uic_dir}"/port_v3 || die + fi + + python_doexe "${tmp_root}${EPREFIX}"/usr/bin/pyuic4 + 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 + + dodoc ChangeLog NEWS THANKS + use doc && dodoc -r doc/html + + if use examples; then + insinto /usr/share/doc/${PF} + doins -r examples + fi +} 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 929d3d100337b..aa0be0134c6aa 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 1c9b581c55e8c..9fe84c585da5c 100644 --- a/dev-python/PyQt4/metadata.xml +++ b/dev-python/PyQt4/metadata.xml @@ -7,6 +7,7 @@ Build bindings for the QtGui module + Install the deprecated pyqtconfig module for backward compatibility Build bindings for the QtDBus module Build bindings for the QtDeclarative module Build bindings for the QtDesigner module and enable the designer plugin