summaryrefslogtreecommitdiff
path: root/kde-base
diff options
context:
space:
mode:
authorJonathan Callen <abcd@gentoo.org>2009-11-20 04:30:49 -0500
committerJonathan Callen <abcd@gentoo.org>2009-11-20 07:10:49 -0500
commit6f233d4f31febbd222cfa123d9b7fa68a276ab31 (patch)
tree147195a8c2b2d90b463b9a4dd6945eaba16c9a3b /kde-base
parentc2321218d93715618904a52f901d5b5308822bdd (diff)
downloadkde-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/Manifest3
-rw-r--r--kde-base/pykde4/files/pykde4-python3.patch21
-rw-r--r--kde-base/pykde4/pykde4-9999.ebuild57
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
}