diff options
| author | Jonathan Callen <abcd@gentoo.org> | 2009-11-20 04:30:49 -0500 |
|---|---|---|
| committer | Jonathan Callen <abcd@gentoo.org> | 2009-11-20 07:10:49 -0500 |
| commit | 6f233d4f31febbd222cfa123d9b7fa68a276ab31 (patch) | |
| tree | 147195a8c2b2d90b463b9a4dd6945eaba16c9a3b /kde-base | |
| parent | c2321218d93715618904a52f901d5b5308822bdd (diff) | |
| download | kde-6f233d4f31febbd222cfa123d9b7fa68a276ab31.tar.gz kde-6f233d4f31febbd222cfa123d9b7fa68a276ab31.tar.bz2 kde-6f233d4f31febbd222cfa123d9b7fa68a276ab31.zip | |
[kde-base/pykde4] Add support for multiple python versions
Diffstat (limited to 'kde-base')
| -rw-r--r-- | kde-base/pykde4/Manifest | 3 | ||||
| -rw-r--r-- | kde-base/pykde4/files/pykde4-python3.patch | 21 | ||||
| -rw-r--r-- | kde-base/pykde4/pykde4-9999.ebuild | 57 |
3 files changed, 72 insertions, 9 deletions
diff --git a/kde-base/pykde4/Manifest b/kde-base/pykde4/Manifest index 50db73b7350..b8138318be0 100644 --- a/kde-base/pykde4/Manifest +++ b/kde-base/pykde4/Manifest @@ -1,6 +1,7 @@ AUX pykde4-kcategorydrawer.patch 1541 RMD160 ee66e94ab47b8b909178bb356ef670d75d1dd0a8 SHA1 6381e830e91d9c5982113845cd05e0e6931e2917 SHA256 7b00127541d1f01b93d0a5a09916fba75da8396ac297fda74a81d38a9ff18e43 +AUX pykde4-python3.patch 1042 RMD160 e0016186fb1af6d5fa36ff7cbccd0e0e4dd003a1 SHA1 7b82f60cd984358ed9c4fe7a81adf2c489d06757 SHA256 0d025591c33a73dc5a96c9127b1fc17e28c7fceddd6a19f29aea4f4d712ea610 DIST kdebindings-4.3.75.tar.xz 4021736 RMD160 de3c7654f864f0061015c548516e03f559e87253 SHA1 771fd072a5280f681b8909743f72652d0a5c6cda SHA256 5cc6fb6434dd9d0a90c1218af9c5cc2e5792c2364d0a4881e19f07ce99667f59 EBUILD pykde4-4.3.75.ebuild 1831 RMD160 30b43f352c12320774b86a87b6f56eede021d3a8 SHA1 1c8d20b380eb33f59387ebce1239fc786351734f SHA256 789406f08e3e4054443a25d1f63b27bd78028c183b79905448fdcfd2f7cd0d72 EBUILD pykde4-4.3.9999.ebuild 1789 RMD160 de7d64bf1d10c8f30ff3418ece57c760bcab6dd8 SHA1 c7c2ed654fc3224ede20e1a12f51a6ffd1ca5ad6 SHA256 e0613c4ea865be273132d9b9a683c8cf4e23f6b52ec8d22fa01b87742068383c -EBUILD pykde4-9999.ebuild 1789 RMD160 de7d64bf1d10c8f30ff3418ece57c760bcab6dd8 SHA1 c7c2ed654fc3224ede20e1a12f51a6ffd1ca5ad6 SHA256 e0613c4ea865be273132d9b9a683c8cf4e23f6b52ec8d22fa01b87742068383c +EBUILD pykde4-9999.ebuild 2471 RMD160 913953d2edad024cc844266690d95017f3ab9799 SHA1 d33610abf826eed19032e470d9f0192d4f0b9352 SHA256 20e8dda33c321b03654724768ea20629175080982a7b7cc4e9b23cfaa8ff9961 MISC metadata.xml 329 RMD160 6424cd6e9a3dffa1ef07462160d03733beff3e02 SHA1 3a06ca30f6526a47772713084e9e36ca8a83e41b SHA256 e449422e44fd1a613b5810fe876de7fbdd4ff9ad97b40057af758061bb2607f8 diff --git a/kde-base/pykde4/files/pykde4-python3.patch b/kde-base/pykde4/files/pykde4-python3.patch new file mode 100644 index 00000000000..52c205b1253 --- /dev/null +++ b/kde-base/pykde4/files/pykde4-python3.patch @@ -0,0 +1,21 @@ +--- trunk/KDE/kdebindings/python/pykde4/CMakeLists.txt ++++ trunk/KDE/kdebindings/python/pykde4/CMakeLists.txt +@@ -231,7 +231,7 @@ INSTALL(DIRECTORY sip/ DESTINATION ${SIP + ADD_SUBDIRECTORY(tools) + #ADD_SUBDIRECTORY(docs) + ADD_SUBDIRECTORY(examples) +-IF (NOT ${PYTHON_3}) ++IF (NOT PYTHON_3) + ADD_SUBDIRECTORY(kpythonpluginfactory) +-ENDIF (NOT ${PYTHON_3}) ++ENDIF (NOT PYTHON_3) + #ADD_SUBDIRECTORY(pykdedocs) +--- trunk/KDE/kdebindings/python/pykde4/tools/pykdeuic4/CMakeLists.txt ++++ trunk/KDE/kdebindings/python/pykde4/tools/pykdeuic4/CMakeLists.txt +@@ -2,4 +2,6 @@ + PYTHON_INSTALL(kde4.py ${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/widget-plugins/) + PYTHON_INSTALL(pykdeuic4.py ${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/) + find_path(cmake_module_dir create_exe_symlink.cmake ${CMAKE_MODULE_PATH}) ++IF (NOT PYTHON_3) + INSTALL(CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_COMMAND} -DTARGET=${PYTHON_SITE_PACKAGES_DIR}/PyQt4/uic/pykdeuic4.py -DLINK_NAME=${BIN_INSTALL_DIR}/pykdeuic4 -P ${cmake_module_dir}/create_exe_symlink.cmake)" ) ++ENDIF (NOT PYTHON_3) diff --git a/kde-base/pykde4/pykde4-9999.ebuild b/kde-base/pykde4/pykde4-9999.ebuild index 118f105c1b3..3193acb2664 100644 --- a/kde-base/pykde4/pykde4-9999.ebuild +++ b/kde-base/pykde4/pykde4-9999.ebuild @@ -8,6 +8,7 @@ KMNAME="kdebindings" KMMODULE="python/${PN}" OPENGL_REQUIRED="always" PYTHON_USE_WITH="threads" +SUPPORT_PYTHON_ABIS="1" inherit python kde4-meta DESCRIPTION="Python bindings for KDE4" @@ -26,6 +27,10 @@ RDEPEND="${COMMON_DEPEND} !dev-python/pykde " +PATCHES=( + "${FILESDIR}/${PN}-python3.patch" +) + pkg_setup() { python_pkg_setup kde4-meta_pkg_setup @@ -38,10 +43,12 @@ src_prepare() { sed -e '/^ADD_SUBDIRECTORY(examples)/s/^/# DISABLED /' -i python/${PN}/CMakeLists.txt \ || die "Failed to disable examples" fi + + python_copy_sources } src_configure() { - mycmakeargs="${mycmakeargs} + savedcmakeargs="${mycmakeargs} -DWITH_QScintilla=OFF $(cmake-utils_use_with semantic-desktop Soprano) $(cmake-utils_use_with semantic-desktop Nepomuk) @@ -50,21 +57,55 @@ src_configure() { $(cmake-utils_use_with policykit PolkitQt) " - kde4-meta_src_configure + do_src_configure() { + mycmakeargs="${savedcmakeargs}" + + CMAKE_USE_DIR="${S}-${PYTHON_ABI}" + kde4-meta_src_configure + + export savedcmakeargs_${PYTHON_ABI//./_}="${mycmakeargs}" + } + + python_execute_function -s do_src_configure +} + +src_compile() { + do_src_compile() { + CMAKE_USE_DIR="${S}-${PYTHON_ABI}" + kde4-meta_src_compile + } + + python_execute_function -s do_src_compile +} + +src_test() { + do_src_test() { + local var="savedcmakeargs_${PYTHON_ABI//./_}" + mycmakeargs="${!var}" + + CMAKE_USE_DIR="${S}-${PYTHON_ABI}" + kde4-meta_src_test + export ${var}="${mycmakeargs}" + } + + python_execute_function -s do_src_test } src_install() { - kde4-meta_src_install + do_src_install() { + CMAKE_USE_DIR="${S}-${PYTHON_ABI}" + kde4-meta_src_install + + rm -f "${D}$(python_get_sitedir)"/PyKDE4/*.py[co] + } - rm -f \ - "${D}$(python_get_sitedir)"/PyKDE4/*.py[co] \ - "${D}${PREFIX}"/share/apps/"${PN}"/*.py[co] + python_execute_function -s do_src_install } pkg_postinst() { kde4-meta_pkg_postinst - python_mod_optimize "${ROOT}$(python_get_sitedir)"/PyKDE4 + python_mod_optimize PyKDE4 if use examples; then echo @@ -77,5 +118,5 @@ pkg_postinst() { pkg_postrm() { kde4-meta_pkg_postrm - python_mod_cleanup "${ROOT}$(python_get_sitedir)"/PyKDE4 + python_mod_cleanup PyKDE4 } |
