diff options
Diffstat (limited to 'kde-base')
-rw-r--r-- | kde-base/pykde4/files/kpythonpluginfactorywrapper.c-r1 | 60 | ||||
-rw-r--r-- | kde-base/pykde4/pykde4-4.14.3.ebuild | 165 |
2 files changed, 0 insertions, 225 deletions
diff --git a/kde-base/pykde4/files/kpythonpluginfactorywrapper.c-r1 b/kde-base/pykde4/files/kpythonpluginfactorywrapper.c-r1 deleted file mode 100644 index b5d152f4b5cd..000000000000 --- a/kde-base/pykde4/files/kpythonpluginfactorywrapper.c-r1 +++ /dev/null @@ -1,60 +0,0 @@ -#include <dlfcn.h> -#include <stdio.h> -#include <stdlib.h> -#include <string.h> -#include <unistd.h> - -#define VERSION_LEN 10 - -#define FORMAT EPREFIX PLUGIN_DIR "/kpython%spluginfactory.so" - -static void *handle; -static void *(*wrapped_qt_plugin_instance)(); - -static void get_python_version(char* out) { - int pipefd[2]; - pipe(pipefd); - pid_t cpid = fork(); - if (cpid == 0) { - close(pipefd[1]); - read(pipefd[0], out, VERSION_LEN); - } else { - close(pipefd[0]); - close(1); - dup2(pipefd[1], 1); - close(pipefd[1]); - close(0); - char *args[] = { "eselect", "python", "show", "--ABI", "--python2", 0 }; - execv(EPREFIX "/usr/bin/eselect", args); - } -} - -__attribute__((constructor)) -static void init() { - char buf[VERSION_LEN + 1]; - memset(buf, 0, VERSION_LEN + 1); - get_python_version(buf); - char *s = buf; - while(*s != '\0') { - if(*s == '\n') { - *s = '\0'; - break; - } - ++s; - } - int length = strlen(FORMAT) + strlen(buf) + 1; - char *name = malloc(length + 1); - snprintf(name, length, FORMAT, buf); - handle = dlopen(name, RTLD_NOW); - free(name); - wrapped_qt_plugin_instance = dlsym(handle, "qt_plugin_instance"); -} - -__attribute__((destructor)) -static void fini() { - dlclose(handle); -} - -void *qt_plugin_instance() { - return wrapped_qt_plugin_instance(); -} diff --git a/kde-base/pykde4/pykde4-4.14.3.ebuild b/kde-base/pykde4/pykde4-4.14.3.ebuild deleted file mode 100644 index 4df93e7f8775..000000000000 --- a/kde-base/pykde4/pykde4-4.14.3.ebuild +++ /dev/null @@ -1,165 +0,0 @@ -# Copyright 1999-2016 Gentoo Foundation -# Distributed under the terms of the GNU General Public License v2 -# $Id$ - -EAPI=5 - -PYTHON_COMPAT=( python{2_7,3_3,3_4} ) -PYTHON_REQ_USE="threads" -OPENGL_REQUIRED="always" -CMAKE_MAKEFILE_GENERATOR="emake" -inherit python-r1 portability kde4-base multilib eutils - -DESCRIPTION="Python bindings for KDE4" -KEYWORDS="amd64 ~arm ~ppc ~ppc64 x86 ~amd64-linux ~x86-linux" -IUSE="akonadi debug doc examples test" -HOMEPAGE="https://techbase.kde.org/Development/Languages/Python" - -REQUIRED_USE="${PYTHON_REQUIRED_USE}" - -RDEPEND=" - ${PYTHON_DEPS} - >=dev-python/PyQt4-4.11.1[${PYTHON_USEDEP},dbus,declarative,script,sql,svg,webkit,X] - >=dev-python/sip-4.16.2:=[${PYTHON_USEDEP}] - $(add_kdebase_dep kdelibs 'opengl') - akonadi? ( $(add_kdeapps_dep kdepimlibs) ) -" -DEPEND="${RDEPEND} - dev-lang/python-exec:2[${PYTHON_USEDEP}] - sys-devel/libtool -" - -PATCHES=( "${FILESDIR}/${P}-gcc-5.patch" ) - -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-r1" "${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 - $(cmake-utils_use_with akonadi KdepimLibs) - -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 -} |