From 066fb2cd1b4cf9f2d90342a048a01d9a3e686bc5 Mon Sep 17 00:00:00 2001 From: Andreas Sturmlechner Date: Sat, 4 Mar 2017 16:17:56 +0100 Subject: [PATCH] kde-apps/pykde4: Drop USE=akonadi and Qt4WebKit dependency Gentoo-bug: 610650 Package-Manager: Portage-2.3.3, Repoman-2.3.1 --- .../pykde4/files/pykde4-4.14.3-nokio.patch | 46 +++++ .../pykde4/files/pykde4-4.14.3-noplasma.patch | 27 +++ kde-apps/pykde4/pykde4-4.14.3-r3.ebuild | 170 ++++++++++++++++++ 3 files changed, 243 insertions(+) create mode 100644 kde-apps/pykde4/files/pykde4-4.14.3-nokio.patch create mode 100644 kde-apps/pykde4/files/pykde4-4.14.3-noplasma.patch create mode 100644 kde-apps/pykde4/pykde4-4.14.3-r3.ebuild diff --git a/kde-apps/pykde4/files/pykde4-4.14.3-nokio.patch b/kde-apps/pykde4/files/pykde4-4.14.3-nokio.patch new file mode 100644 index 000000000000..795bb5ebc37f --- /dev/null +++ b/kde-apps/pykde4/files/pykde4-4.14.3-nokio.patch @@ -0,0 +1,46 @@ +--- a/CMakeLists.txt 2017-03-04 13:39:59.460248598 +0100 ++++ b/CMakeLists.txt 2017-03-04 13:56:47.391748964 +0100 +@@ -89,7 +89,6 @@ + ${QT_QTSVG_INCLUDE_DIR} + ${KDE4_INCLUDE_DIR} + ${KDE4_INCLUDE_DIR}/solid +- ${KDE4_INCLUDE_DIR}/kio + ${KDE4_INCLUDE_DIR}/dom + ${KDE4_INCLUDE_DIR}/ksettings + ${KDE4_INCLUDE_DIR}/knewstuff2 +@@ -163,26 +162,10 @@ + set(SIP_EXTRA_FILES_DEPEND ${kdeui_files_sip}) + add_sip_python_module(PyKDE4.kdeui sip/kdeui/kdeuimod.sip ${KDE4_KDEUI_LIBS} ${QT_QTXML_LIBRARY}) + +-file(GLOB kio_files_sip sip/kio/*.sip) +-set(SIP_EXTRA_FILES_DEPEND ${kio_files_sip}) +-add_sip_python_module(PyKDE4.kio sip/kio/kiomod.sip ${KDE4_SOLID_LIBS} ${KDE4_KIO_LIBS} ${KDE4_KFILE_LIBS}) +- + file(GLOB kutils_files_sip sip/kutils/*.sip) + set(SIP_EXTRA_FILES_DEPEND ${kutils_files_sip}) + add_sip_python_module(PyKDE4.kutils sip/kutils/kutilsmod.sip ${KDE4_KUTILS_LIBS} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY} ${KDE4_KDEUI_LIBS}) + +-file(GLOB kparts_files_sip sip/kparts/*.sip) +-set(SIP_EXTRA_FILES_DEPEND ${kparts_files_sip}) +-add_sip_python_module(PyKDE4.kparts sip/kparts/kpartsmod.sip ${KDE4_KPARTS_LIBS}) +- +-file(GLOB ktexteditor_files_sip sip/ktexteditor/*.sip) +-set(SIP_EXTRA_FILES_DEPEND ${ktexteditor_files_sip}) +-add_sip_python_module(PyKDE4.ktexteditor sip/ktexteditor/ktexteditormod.sip ${KDE4_KTEXTEDITOR_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) +- +-file(GLOB khtml_files_sip sip/khtml/*.sip) +-set(SIP_EXTRA_FILES_DEPEND ${khtml_files_sip}) +-add_sip_python_module(PyKDE4.khtml sip/khtml/khtmlmod.sip ${KDE4_KHTML_LIBS}) +- + file(GLOB knewstuff_files_sip sip/knewstuff/*.sip) + set(SIP_EXTRA_FILES_DEPEND ${knewstuff_files_sip}) + add_sip_python_module(PyKDE4.knewstuff sip/knewstuff/knewstuffmod.sip ${KDE4_KNEWSTUFF2_LIBS} ${KDE4_KNEWSTUFF3_LIBS} ${QT_QTCORE_LIBRARY}) +@@ -199,7 +182,7 @@ + set(SIP_EXTRA_FILES_DEPEND ${kterminal_files_sip}) + add_sip_python_module(PyKDE4.kterminal sip/kterminal/kterminalmod.sip ${KDE4_TERMINAL_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) + +-set(PYKDE_MODULES "kdecore solid kdeui kio kutils kparts ktexteditor dnssd phonon kterminal") ++set(PYKDE_MODULES "kdecore solid kdeui kutils dnssd phonon kterminal") + + if(Soprano_FOUND) + include_directories(${SOPRANO_INCLUDE_DIR}) diff --git a/kde-apps/pykde4/files/pykde4-4.14.3-noplasma.patch b/kde-apps/pykde4/files/pykde4-4.14.3-noplasma.patch new file mode 100644 index 000000000000..30c29340914b --- /dev/null +++ b/kde-apps/pykde4/files/pykde4-4.14.3-noplasma.patch @@ -0,0 +1,27 @@ +--- a/CMakeLists.txt 2017-03-04 13:20:17.605591238 +0100 ++++ b/CMakeLists.txt 2017-03-04 13:39:59.460248598 +0100 +@@ -87,7 +87,6 @@ + ${QT_QTSQL_INCLUDE_DIR} + ${QT_QTXML_INCLUDE_DIR} + ${QT_QTSVG_INCLUDE_DIR} +- ${QT_QTWEBKIT_INCLUDE_DIR} + ${KDE4_INCLUDE_DIR} + ${KDE4_INCLUDE_DIR}/solid + ${KDE4_INCLUDE_DIR}/kio +@@ -196,15 +195,11 @@ + set(SIP_EXTRA_FILES_DEPEND ${phonon_files_sip}) + add_sip_python_module(PyKDE4.phonon sip/phonon/phononmod.sip ${PHONON_LIBS} ${QT_QTDBUS_LIBRARY} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) + +-file(GLOB plasma_files_sip sip/plasma/*.sip) +-set(SIP_EXTRA_FILES_DEPEND ${plasma_files_sip}) +-add_sip_python_module(PyKDE4.plasma sip/plasma/plasmamod.sip ${KDE4_PLASMA_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY} ${QT_QTUITOOLS_LIBRARY} ${KDE4_KIO_LIBRARY} ${KDE4_KDECORE_LIBRARY} ${KDE4_KDEUI_LIBRARY}) +- + file(GLOB kterminal_files_sip sip/kterminal/*.sip) + set(SIP_EXTRA_FILES_DEPEND ${kterminal_files_sip}) + add_sip_python_module(PyKDE4.kterminal sip/kterminal/kterminalmod.sip ${KDE4_TERMINAL_LIBS} ${KDE4_KPARTS_LIBS} ${KDE4_KDEUI_LIBS} ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY}) + +-set(PYKDE_MODULES "kdecore solid kdeui kio kutils kparts ktexteditor dnssd phonon plasma kterminal") ++set(PYKDE_MODULES "kdecore solid kdeui kio kutils kparts ktexteditor dnssd phonon kterminal") + + if(Soprano_FOUND) + include_directories(${SOPRANO_INCLUDE_DIR}) diff --git a/kde-apps/pykde4/pykde4-4.14.3-r3.ebuild b/kde-apps/pykde4/pykde4-4.14.3-r3.ebuild new file mode 100644 index 000000000000..a45d84c6ea92 --- /dev/null +++ b/kde-apps/pykde4/pykde4-4.14.3-r3.ebuild @@ -0,0 +1,170 @@ +# Copyright 1999-2017 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 + +EAPI=5 + +PYTHON_COMPAT=( python{2_7,3_4,3_5} ) +PYTHON_REQ_USE="threads" +OPENGL_REQUIRED="always" +CMAKE_MAKEFILE_GENERATOR="emake" +WEBKIT_REQUIRED="never" +inherit python-r1 portability kde4-base multilib eutils + +DESCRIPTION="Python bindings for kdelibs-4" +KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux" +IUSE="debug doc examples test" +HOMEPAGE="https://techbase.kde.org/Development/Languages/Python" + +SRC_URI+=" https://dev.gentoo.org/~johu/distfiles/${P}-sip419.patch.bz2" + +REQUIRED_USE="${PYTHON_REQUIRED_USE}" + +RDEPEND="${PYTHON_DEPS} + >=dev-python/PyQt4-4.12[${PYTHON_USEDEP},dbus,declarative,script,sql,svg,X] + >=dev-python/sip-4.19:=[${PYTHON_USEDEP}] + kde-frameworks/kdelibs:4[opengl] +" +DEPEND="${RDEPEND} + dev-lang/python-exec:2[${PYTHON_USEDEP}] + sys-devel/libtool +" + +PATCHES=( + "${FILESDIR}/${P}-gcc-5.patch" + "${FILESDIR}/${P}-noplasma.patch" + "${FILESDIR}/${P}-nokio.patch" + "${DISTDIR}/${P}-sip419.patch.bz2" +) + +pkg_setup() { + kde4-base_pkg_setup + + have_python2=false + + scan_python_versions() { + if [[ ${EPYTHON} == python2.* ]]; then + have_python2=true + fi + } + python_foreach_impl scan_python_versions + + if ! ${have_python2}; then + ewarn "You do not have a Python 2 version selected." + ewarn "kpythonpluginfactory will not be built" + fi +} + +src_prepare() { + kde4-base_src_prepare + + if ! use examples; then + sed -e '/^ADD_SUBDIRECTORY(examples)/s/^/# DISABLED /' -i CMakeLists.txt \ + || die "Failed to disable examples" + fi + + # See bug 322351 + use arm && epatch "${FILESDIR}/${PN}-4.14.0-arm-sip.patch" + + sed -e 's/kpythonpluginfactory /kpython${PYTHON_SHORT_VERSION}pluginfactory /g' \ + -i kpythonpluginfactory/CMakeLists.txt || die + + if ${have_python2}; then + mkdir -p "${WORKDIR}/wrapper" || die "failed to copy wrapper" + cp "${FILESDIR}/kpythonpluginfactorywrapper.c-r2" "${WORKDIR}/wrapper/kpythonpluginfactorywrapper.c" || die "failed to copy wrapper" + fi + python_copy_sources + +} + +src_configure() { + configuration() { + local mycmakeargs=( + -DWITH_PolkitQt=OFF + -DWITH_QScintilla=OFF + -DPYKDEUIC4_ALTINSTALL=TRUE + -DWITH_Nepomuk=OFF + -DWITH_Soprano=OFF + -DWITH_KdepimLibs=OFF + -DPYTHON_EXECUTABLE=${PYTHON} + ) + local CMAKE_BUILD_DIR=${S}_build-${PYTHON_ABI} + kde4-base_src_configure + } + + python_foreach_impl run_in_build_dir configuration +} + +echo_and_run() { + echo "$@" + "$@" +} + +src_compile() { + compilation() { + local CMAKE_BUILD_DIR=${S}_build-${PYTHON_ABI} + kde4-base_src_compile + } + python_foreach_impl run_in_build_dir compilation + + if ${have_python2}; then + pushd "${WORKDIR}/wrapper" > /dev/null + echo_and_run libtool --tag=CC --mode=compile $(tc-getCC) \ + -shared \ + ${CFLAGS} ${CPPFLAGS} \ + -DEPREFIX="\"${EPREFIX}\"" \ + -DPLUGIN_DIR="\"/usr/$(get_libdir)/kde4\"" -c \ + -o kpythonpluginfactorywrapper.lo \ + kpythonpluginfactorywrapper.c + echo_and_run libtool --tag=CC --mode=link $(tc-getCC) \ + -shared -module -avoid-version \ + ${CFLAGS} ${LDFLAGS} \ + -o kpythonpluginfactory.la \ + -rpath "${EPREFIX}/usr/$(get_libdir)/kde4" \ + kpythonpluginfactorywrapper.lo \ + $(dlopen_lib) + popd > /dev/null + fi +} + +src_test() { + python_foreach_impl run_in_build_dir kde4-base_src_test +} + +src_install() { + installation() { + emake DESTDIR="${D}" install + + mkdir -p "${D%/}$(python_get_scriptdir)" || die + mv "${ED%/}/usr/bin/pykdeuic4-${EPYTHON/python/}" \ + "${D%/}$(python_get_scriptdir)"/pykdeuic4 || die + + python_fix_shebang "${D%/}$(python_get_scriptdir)"/pykdeuic4 + python_optimize + } + python_foreach_impl run_in_build_dir installation + + dosym ../lib/python-exec/python-exec2 /usr/bin/pykdeuic4 + + # As we don't call the eclass's src_install, we have to install the docs manually + DOCS=("${S}"/{AUTHORS,NEWS,README}) + use doc && HTML_DOCS=("${S}/docs/html/") + einstalldocs + + if ${have_python2}; then + pushd "${WORKDIR}/wrapper" > /dev/null + echo_and_run libtool --mode=install install kpythonpluginfactory.la "${ED}/usr/$(get_libdir)/kde4/kpythonpluginfactory.la" + rm "${ED}/usr/$(get_libdir)/kde4/kpythonpluginfactory.la" + popd > /dev/null + fi +} + +pkg_postinst() { + kde4-base_pkg_postinst + + if use examples; then + echo + elog "PyKDE4 examples have been installed to" + elog "${EPREFIX}/usr/share/apps/${PN}/examples" + echo + fi +} -- 2.26.2