diff options
author | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
---|---|---|
committer | BlackNoxis <steven.darklight@gmail.com> | 2014-02-15 23:24:26 +0200 |
commit | 7224c1253228e5c29c78cb3f0f26ce34770f2356 (patch) | |
tree | 1684924656132935256e034f35f92abee6623265 /dev-python |
Added ebuilds for kogaion desktop
Diffstat (limited to 'dev-python')
18 files changed, 772 insertions, 0 deletions
diff --git a/dev-python/gdk-pixbuf/GENTOO b/dev-python/gdk-pixbuf/GENTOO new file mode 100644 index 00000000..e69de29b --- /dev/null +++ b/dev-python/gdk-pixbuf/GENTOO diff --git a/dev-python/gdk-pixbuf/Manifest b/dev-python/gdk-pixbuf/Manifest new file mode 100644 index 00000000..0862a829 --- /dev/null +++ b/dev-python/gdk-pixbuf/Manifest @@ -0,0 +1,5 @@ +AUX gdk-pixbuf-2.21.4-fix-automagic-x11.patch 715 RMD160 efeaa25e97e7620018ae3ca5b62d74ff6e0fd0d1 SHA1 d67d28548ce340034f5afb0ca07b699fd1a0619e SHA256 e977da6d4731a0164b7346a790dfabb95a951f9986fa623abd171bce79f63bcb +DIST gdk-pixbuf-2.24.0.tar.xz 1176324 RMD160 38e9896dd9a1ed6bf207509cd635828cebe674b8 SHA1 6a78751630a54fdef9a6a3928322c98e6c1ef60c SHA256 67c11d3aa40441c1cea42c365bf2d6a9a9dd52fae2d359a707ad5e8abb4d28a7 +EBUILD gdk-pixbuf-2.24.0-r1.ebuild 2845 RMD160 ccc538a207cd1dafbd668c3e94f14444a3fd8984 SHA1 64581e96f97860094003d33adb637cbc5fd83c86 SHA256 d125f224debd09c13f841a59d09c9db6c385907e897534173a8736c144a2e798 +MISC GENTOO 0 RMD160 9c1185a5c5e9fc54612808977ee8f548b2258d31 SHA1 da39a3ee5e6b4b0d3255bfef95601890afd80709 SHA256 e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 +MISC metadata.xml 285 RMD160 829826c3a3edd13d82bf87a4e6c1c08719f1549f SHA1 03e8b2cfc1956cfea91e8cedfa2451e68b2bf8e5 SHA256 8400998fc578bc9661b57a27ed3226941e4f75ef5bf7d9f929ed9de2d97ba8b0 diff --git a/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch b/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch new file mode 100644 index 00000000..ae7ec2c9 --- /dev/null +++ b/dev-python/gdk-pixbuf/files/gdk-pixbuf-2.21.4-fix-automagic-x11.patch @@ -0,0 +1,24 @@ +Adds a new configure option to remove the automagic dependency on libX11. + +--- configure.ac ++++ configure.ac +@@ -929,7 +929,18 @@ GDK_PIXBUF_XLIB_PACKAGES= + GDK_PIXBUF_XLIB_EXTRA_CFLAGS= + GDK_PIXBUF_XLIB_EXTRA_LIBS= + +-if $PKG_CONFIG --exists x11; then ++AC_ARG_WITH(x11, ++ AC_HELP_STRING([--with-x11=@<:@no/auto/yes@:>@], ++ [build X11 support @<:@default=auto@:>@]),, ++ [ ++ if $PKG_CONFIG --exists x11; then ++ with_x11=yes ++ else ++ with_x11=no ++ fi ++ ]) ++ ++if test x$with_x11 = xyes; then + AM_CONDITIONAL(USE_X11, true) + PKG_CHECK_MODULES(GDK_PIXBUF_XLIB_DEP, x11 gobject-2.0) + else diff --git a/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild b/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild new file mode 100644 index 00000000..f48dc30f --- /dev/null +++ b/dev-python/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild @@ -0,0 +1,93 @@ +# Copyright 1999-2011 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: /var/cvsroot/gentoo-x86/x11-libs/gdk-pixbuf/gdk-pixbuf-2.24.0-r1.ebuild,v 1.1 2011/09/15 19:40:37 ssuominen Exp $ + +EAPI="4" + +inherit gnome.org multilib libtool autotools + +DESCRIPTION="Image loading library for GTK+" +HOMEPAGE="http://www.gtk.org/" + +LICENSE="LGPL-2" +SLOT="2" +KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd ~x86-freebsd ~x86-interix ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x86-macos ~sparc-solaris ~sparc64-solaris ~x64-solaris ~x86-solaris" +IUSE="+X debug doc +introspection jpeg jpeg2k tiff test" + +COMMON_DEPEND=" + >=dev-libs/glib-2.27.2:2 + >=media-libs/libpng-1.4:0 + introspection? ( >=dev-libs/gobject-introspection-0.9.3 ) + jpeg? ( virtual/jpeg ) + jpeg2k? ( media-libs/jasper ) + tiff? ( >=media-libs/tiff-3.9.2 ) + X? ( x11-libs/libX11 )" +DEPEND="${COMMON_DEPEND} + >=dev-util/pkgconfig-0.9 + >=sys-devel/gettext-0.17 + >=dev-util/gtk-doc-am-1.11 + doc? ( + >=dev-util/gtk-doc-1.11 + ~app-text/docbook-xml-dtd-4.1.2 )" +# librsvg blocker is for the new pixbuf loader API, you lose icons otherwise +RDEPEND="${COMMON_DEPEND} + !<gnome-base/gail-1000 + !<gnome-base/librsvg-2.31.0 + !<x11-libs/gtk+-2.21.3:2 + !<x11-libs/gtk+-2.90.4:3" + +src_prepare() { + # Only build against libX11 if the user wants to do so, upstream bug #657569 + epatch "${FILESDIR}"/${PN}-2.21.4-fix-automagic-x11.patch + + # This will avoid polluting the pkg-config file with versioned libpng, + # which is causing problems with libpng14 -> libpng15 upgrade + sed -i -e 's:libpng15:libpng libpng15:' configure.ac || die + + elibtoolize + eautoreconf +} + +src_configure() { + # png always on to display icons (foser) + local myconf=" + $(use_enable doc gtk-doc) + $(use_with jpeg libjpeg) + $(use_with jpeg2k libjasper) + $(use_with tiff libtiff) + $(use_enable introspection) + $(use_with X x11) + --with-libpng" + + # Passing --disable-debug is not recommended for production use + use debug && myconf="${myconf} --enable-debug=yes" + + econf ${myconf} +} + +src_install() { + emake DESTDIR="${D}" install + dodoc AUTHORS NEWS* README* + + # New library, remove .la files + find "${D}" -name '*.la' -exec rm -f '{}' + || die +} + +pkg_postinst() { + # causes segfault if set + unset __GL_NO_DSO_FINALIZER + + tmp_file=$(mktemp --suffix=gdk_pixbuf_ebuild) + # be atomic! + gdk-pixbuf-query-loaders > "${tmp_file}" + if [ "${?}" = "0" ]; then + cat "${tmp_file}" > "${EROOT}usr/$(get_libdir)/gdk-pixbuf-2.0/2.10.0/loaders.cache" + fi + rm "${tmp_file}" + + if [ -e "${EROOT}"usr/lib/gtk-2.0/2.*/loaders ]; then + elog "You need to rebuild ebuilds that installed into" "${EROOT}"usr/lib/gtk-2.0/2.*/loaders + elog "to do that you can use qfile from portage-utils:" + elog "emerge -va1 \$(qfile -qC ${EPREFIX}/usr/lib/gtk-2.0/2.*/loaders)" + fi +} diff --git a/dev-python/gdk-pixbuf/metadata.xml b/dev-python/gdk-pixbuf/metadata.xml new file mode 100644 index 00000000..e86947c9 --- /dev/null +++ b/dev-python/gdk-pixbuf/metadata.xml @@ -0,0 +1,9 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd"> +<pkgmetadata> + <herd>gnome</herd> + <use> + <flag name="introspection">Use <pkg>dev-libs/gobject-introspection</pkg> + for introspection</flag> + </use> +</pkgmetadata> diff --git a/dev-python/pymaxe/Manifest b/dev-python/pymaxe/Manifest new file mode 100644 index 00000000..2cbcfe25 --- /dev/null +++ b/dev-python/pymaxe/Manifest @@ -0,0 +1,2 @@ +DIST pymaxe.tar.gz 195654 SHA256 3532b56bf3fbf9188f81684cb4148099ea9fbb870234495dcdef095933724c36 SHA512 6f9bbdf2fe3b63cd1186c64716303a75dc1a69378cddca76abb5003ccd95d01741d637a36f6272c5377149c3517e2fb1fa105977e9b46bedf1e1ea81e9394471 WHIRLPOOL e7ce1674aa0cb5ed521beb04117d81401f9e6cd461eb7d60c3e5d4daaff3269abecedd95403fa924b3242a3b94b4331819e7e2478c891f7ba83c1139701f0d84 +EBUILD pymaxe-20130303.ebuild 476 SHA256 1c40a47ef9c64f6614bb65d970d455d3e7bc71127f07116fd8bfe18a5592dd3a SHA512 e87a3f5e375b1011839cb8642dd4b2459c2c898b12086945dcdd8aba58268a326e4dc22046de9b7f25dd0cb4e2cd990eaff8f974054533687e0e03d9fd9fec60 WHIRLPOOL 2fb9835b84c0a6bb51b0e9ee04e8e7ec2e5f0ba6c7e25aaa6e259d78a54970c53160f3447fc0046e4fa795d5220c39343d1bece6004a0dae73ef100d4cce13eb diff --git a/dev-python/pymaxe/pymaxe-20130303.ebuild b/dev-python/pymaxe/pymaxe-20130303.ebuild new file mode 100644 index 00000000..f84c8c1b --- /dev/null +++ b/dev-python/pymaxe/pymaxe-20130303.ebuild @@ -0,0 +1,30 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=4 + +inherit eutils + +RP="pymaxe" + +DESCRIPTION="Python support for Maxe" +HOMEPAGE="http://pymaxe.com" +SRC_URI="http://pymaxe.com/files/latest/${RP}.tar.gz -> ${PN}.tar.gz" + +LICENSE="GPL-3" +SLOT="0" +KEYWORDS="-* ~amd64 ~x86" + +RDEPEND="x11-libs/pango" +DEPEND="" + +S="${WORKDIR}" + +src_compile() { + cd "${S}" +} + +src_install() { + doins -r "${S}"/usr || die +} diff --git a/dev-python/pysmbc/Manifest b/dev-python/pysmbc/Manifest new file mode 100644 index 00000000..d96b52a1 --- /dev/null +++ b/dev-python/pysmbc/Manifest @@ -0,0 +1,2 @@ +DIST pysmbc-1.0.13.tar.bz2 20795 RMD160 ed573822da34210aa6e0f9c09159de75db0aa505 SHA1 bf37346af4a6b543f7f91c46d0d1d0cc6020db32 SHA256 479fbb70d97fb64208d95975dc745f06f75661f954a8cbb988fe8b5bce4f379b +EBUILD pysmbc-1.0.13.ebuild 409 RMD160 07a0d9727c3300ec4f57f1e00a9a865d71e52fb6 SHA1 995ae53230058273e1ea62f016be22608efc5d96 SHA256 2a863812aa96941b867446de0aea974bce5a8b9fa51144f395d5df66b9524e02 diff --git a/dev-python/pysmbc/pysmbc-1.0.13.ebuild b/dev-python/pysmbc/pysmbc-1.0.13.ebuild new file mode 100644 index 00000000..42d7bb73 --- /dev/null +++ b/dev-python/pysmbc/pysmbc-1.0.13.ebuild @@ -0,0 +1,21 @@ +# Copyright 1999-2012 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=3 + +PYTHON_DEPEND="2" + +inherit distutils + +DESCRIPTION="Python bindings for libsmbclient" +HOMEPAGE="https://fedorahosted.org/pysmbc" +SRC_URI="http://cyberelk.net/tim/data/${PN}/${P}.tar.bz2" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="~amd64 ~x86" + +pkg_setup() { + python_set_active_version 2 +}
\ No newline at end of file diff --git a/dev-python/pyvlc/Manifest b/dev-python/pyvlc/Manifest new file mode 100644 index 00000000..0ab08d99 --- /dev/null +++ b/dev-python/pyvlc/Manifest @@ -0,0 +1,2 @@ +EBUILD pyvlc-1.0.ebuild 854 SHA256 4bc104f41d0b9efdca7c0c064e4160dc8ab0da58777cac8e6c95d9f02ce980ef SHA512 c41f96dbad375d9859d3cd9825b2ca6b053228f4e9291b9e2b3e6c71df022d074c1dd2c96934812950f4843d556fdcbc977d1a4c614be6f9064c3c5ad17f2852 WHIRLPOOL 6755d10ae194fbba7a47cf390755dd11bf774f6e7b389b53f18b341b66327d7e543ddc8758f6007f6119fab8750c3ab2f433df2ebc40bbdacf28c4fea35688ca +EBUILD pyvlc-9999.ebuild 854 SHA256 4bc104f41d0b9efdca7c0c064e4160dc8ab0da58777cac8e6c95d9f02ce980ef SHA512 c41f96dbad375d9859d3cd9825b2ca6b053228f4e9291b9e2b3e6c71df022d074c1dd2c96934812950f4843d556fdcbc977d1a4c614be6f9064c3c5ad17f2852 WHIRLPOOL 6755d10ae194fbba7a47cf390755dd11bf774f6e7b389b53f18b341b66327d7e543ddc8758f6007f6119fab8750c3ab2f433df2ebc40bbdacf28c4fea35688ca diff --git a/dev-python/pyvlc/pyvlc-1.0.ebuild b/dev-python/pyvlc/pyvlc-1.0.ebuild new file mode 100644 index 00000000..472927cc --- /dev/null +++ b/dev-python/pyvlc/pyvlc-1.0.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit git-2 + +DESCRIPTION="Python binding to VLC library" +HOMEPAGE="http://wiki.videolan.org/Python_bindings" +EGIT_REPO_URI="git://git.videolan.org/vlc/bindings/python.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="generated examples wxwidgets qt4 gtk" + +DEPEND="media-video/vlc" +RDEPEND="${DEPEND} + examples? ( dev-python/pygtk )" +DOCS="README" + +S="${WORKDIR}"/${PN}-${PV} + +src_compile() { + cd "${EGIT_STORE_DIR}" + cd "${S}" +} + +src_install() { + cd "${S}" + + if use examples ; then + cd "${S}"/examples + ls -la + if use wxwidgets ; then + dodoc wxvlc.py + fi + if use qt4 ; then + dodoc qtvlc.py + fi + if use gtk ; then + dodoc gtkvlc.py + fi + fi + if use generated ; then + insinto "${S}"/generated + dodoc vlc.py + fi +} diff --git a/dev-python/pyvlc/pyvlc-9999.ebuild b/dev-python/pyvlc/pyvlc-9999.ebuild new file mode 100644 index 00000000..472927cc --- /dev/null +++ b/dev-python/pyvlc/pyvlc-9999.ebuild @@ -0,0 +1,50 @@ +# Copyright 1999-2009 Gentoo Foundation +# Distributed under the terms of the GNU General Public License v2 +# $Header: $ + +EAPI=5 + +inherit git-2 + +DESCRIPTION="Python binding to VLC library" +HOMEPAGE="http://wiki.videolan.org/Python_bindings" +EGIT_REPO_URI="git://git.videolan.org/vlc/bindings/python.git" + +LICENSE="GPL-2" +SLOT="0" +KEYWORDS="" +IUSE="generated examples wxwidgets qt4 gtk" + +DEPEND="media-video/vlc" +RDEPEND="${DEPEND} + examples? ( dev-python/pygtk )" +DOCS="README" + +S="${WORKDIR}"/${PN}-${PV} + +src_compile() { + cd "${EGIT_STORE_DIR}" + cd "${S}" +} + +src_install() { + cd "${S}" + + if use examples ; then + cd "${S}"/examples + ls -la + if use wxwidgets ; then + dodoc wxvlc.py + fi + if use qt4 ; then + dodoc qtvlc.py + fi + if use gtk ; then + dodoc gtkvlc.py + fi + fi + if use generated ; then + insinto "${S}"/generated + dodoc vlc.py + fi +} diff --git a/dev-python/qtstatemachine/Manifest b/dev-python/qtstatemachine/Manifest new file mode 100644 index 00000000..aada8f2b --- /dev/null +++ b/dev-python/qtstatemachine/Manifest @@ -0,0 +1,6 @@ +AUX qstatemachines_add_CMake_support.patch_003 4827 RMD160 b462cf9d1c91cc6af0dfe0ffe1d4c1df68ec51ad SHA1 3323225f77d9fba7ec3431f53775883f0d15b439 SHA256 4822daf62e6e266e00220da108300e8c4cafadf2bcb08e973d9f721d004d357e +AUX qstatemachines_fix_compound_state.patch_002 2809 RMD160 87788328b902681f10c736f0a39d7b828509429a SHA1 ffed349fa3087f435b92eeb8c8c08074f9865f35 SHA256 58d9330eec0d22f9f54fb18276ea86fbaeee95a762a33a2d95c011270bbe3b40 +AUX qstatemachines_fix_history.patch_001 7507 RMD160 2417563f065816d8012587633e7fa921009676ee SHA1 e03a79b912a305ac0c8c3467994845a970fe0aaf SHA256 eec10835e5733dc9554cf7dd814bdad02f8183b28a32f949004059ce6ce30771 +DIST qtstatemachine-1.1-opensource.tar.gz 1339216 RMD160 102189d7bbb9d2260b1b15020f37f5a078dd8098 SHA1 25a748433bf1807165d176957710739a653c51a4 SHA256 141b78bccb709c203c62bb16c7a328b024d71e83263438e3e65d49c49d9486bd +EBUILD qtstatemachine-1.1-r1.ebuild 925 RMD160 1064b64d8dae03aa6b82bb2f85d5be32fdc96086 SHA1 73b7efa14d2af213faf4fb7d4696e3a0a523cea9 SHA256 0876be0b8faea518b038a5d880b8f9b55bdf61f4f1701ea0b36a821eb61d4fad +EBUILD qtstatemachine-1.1.ebuild 1024 RMD160 eced99f95ad1f4d24a9334acdcb73ebe37864b54 SHA1 64d9b1d191a6243bf14a889b8a0b5cbf65b6cbbb SHA256 da925a8b35bc4ca53f31486d03942192074ebd877798ad41dc0e51d5a8e5a188 diff --git a/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 b/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 new file mode 100644 index 00000000..d21e0126 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_add_CMake_support.patch_003 @@ -0,0 +1,154 @@ +--- /dev/null 2009-07-25 12:29:44.706468311 +0200 ++++ CMakeLists.txt 2009-07-27 17:39:53.000000000 +0200 +@@ -0,0 +1,151 @@ ++cmake_minimum_required(VERSION 2.6) ++project(QtStateMachines) ++ ++# Setup Cmake ++set(CMAKE_MODULE_PATH ++ ${PyQtStateMachines_SOURCE_DIR}/cmake/Modules ++ ) ++ ++# Setup Qt4 ++find_package(Qt4 REQUIRED) ++set(QT_USE_QTDBUS 1) ++set(QT_USE_QTGUI 1) ++set(QT_USE_QTSHARED 1) ++set(QT_USE_QTSCRIPT 1) ++include(${QT_USE_FILE}) ++ ++add_definitions(-DQT_STATEMACHINE_SOLUTION -DQT_NO_ANIMATION -DQT_SCRIPT_LIB -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED) ++ ++include_directories( ++ ${CMAKE_CURRENT_SOURCE_DIR} ++ ${CMAKE_SOURCE_DIR}/src ++ ${QT_INCLUDE_DIR} ++ ${QT_QT_INCLUDE_DIR} ++ ${QT_QTCORE_INCLUDE_DIR} ++ ${CMAKE_CURRENT_BINARY_DIR}/src ++ ${CMAKE_CURRENT_BINARY_DIR} ++ ) ++ ++link_directories(${CMAKE_CURRENT_SOURCE_DIR}) ++ ++set(QtStateMachines_SOURCES ++ src/qabstractstate.cpp ++ src/qabstracttransition.cpp ++ src/qactionstate.cpp ++ src/qeventtransition.cpp ++ src/qfinalstate.cpp ++ src/qguistatemachine.cpp ++ src/qhistorystate.cpp ++ src/qscriptedstatemachine.cpp ++ src/qsignaltransition.cpp ++ src/qssmguiinvokers.cpp ++ src/qstateaction.cpp ++ src/qstate.cpp ++ src/qstatefinishedtransition.cpp ++ src/qstatemachine.cpp ++ src/qtransition.cpp ++) ++ ++ ++set(QtStateMachines_HEADERS ++ src/qabstractstate.h ++ src/qabstracttransition.h ++ src/qactionstate.h ++ src/qeventtransition.h ++ src/qfinalstate.h ++ src/qhistorystate.h ++ src/qscriptedstatemachine.h ++ src/qsignalevent.h ++ src/qsignaltransition.h ++ src/qstateaction.h ++ src/qstatefinishedevent.h ++ src/qstatefinishedtransition.h ++ src/qstate.h ++ src/qstatemachine.h ++ src/qtransition.h ++ src/qtstatemachineglobal.h ++) ++ ++MACRO(QT4_AUTOMOC_MY) ++ QT4_GET_MOC_FLAGS(_moc_INCS) ++ ++ SET(_matching_FILES ) ++ FOREACH (_current_FILE ${ARGN}) ++ ++ GET_FILENAME_COMPONENT(_abs_FILE ${_current_FILE} ABSOLUTE) ++ # if "SKIP_AUTOMOC" is set to true, we will not handle this file here. ++ # This is required to make uic work correctly: ++ # we need to add generated .cpp files to the sources (to compile them), ++ # but we cannot let automoc handle them, as the .cpp files don't exist yet when ++ # cmake is run for the very first time on them -> however the .cpp files might ++ # exist at a later run. at that time we need to skip them, so that we don't add two ++ # different rules for the same moc file ++ GET_SOURCE_FILE_PROPERTY(_skip ${_abs_FILE} SKIP_AUTOMOC) ++ ++ IF ( NOT _skip AND EXISTS ${_abs_FILE} ) ++ ++ FILE(READ ${_abs_FILE} _contents) ++ ++ GET_FILENAME_COMPONENT(_abs_PATH ${_abs_FILE} PATH) ++ ++ STRING(REGEX MATCHALL "# *include +[^ ]+\\.moc[\">]" ++ _match ++ "${_contents}") ++ IF(_match) ++ FOREACH (_current_MOC_INC ${_match}) ++ STRING(REGEX MATCH "[^ <\"]+\\.moc" _current_MOC "${_current_MOC_INC}") ++ GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE) ++ IF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.hpp) ++ ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.h) ++ ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/${_current_MOC}) ++ QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "") ++ MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) ++ message("DEPS: ${_abs_FILE} -> ${_moc}") ++ ENDFOREACH (_current_MOC_INC) ++ ENDIF(_match) ++ STRING(REGEX MATCHALL "# *include [\"<]moc_+[^ ]+\\.cpp[\">]" ++ _match ++ "${_contents}" ++ ) ++ IF(_match) ++ FOREACH (_current_MOC_INC ${_match}) ++ STRING(REGEX MATCH "[^ <\"_]+\\.cpp" _current_MOC "${_current_MOC_INC}") ++ GET_FILENAME_COMPONENT(_basename ${_current_MOC} NAME_WE) ++ IF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.hpp) ++ ELSE(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_header ${_abs_PATH}/${_basename}.h) ++ ENDIF(EXISTS ${_abs_PATH}/${_basename}.hpp) ++ SET(_moc ${CMAKE_CURRENT_BINARY_DIR}/moc_${_current_MOC}) ++ QT4_CREATE_MOC_COMMAND(${_header} ${_moc} "${_moc_INCS}" "") ++ MACRO_ADD_FILE_DEPENDENCIES(${_abs_FILE} ${_moc}) ++ ENDFOREACH (_current_MOC_INC) ++ ENDIF(_match) ++ ENDIF ( NOT _skip AND EXISTS ${_abs_FILE} ) ++ ENDFOREACH (_current_FILE) ++ENDMACRO(QT4_AUTOMOC_MY) ++ ++add_library(StateMachineFramework SHARED ++ ${QtStateMachines_SOURCES} ++ ) ++ ++QT4_AUTOMOC_MY(${QtStateMachines_SOURCES}) ++ ++target_link_libraries(StateMachineFramework ++ ${QT_QTCORE_LIBRARY} ++ ${QT_QTGUI_LIBRARY} ++ ${QT_QTSCRIPT_LIBRARY} ++ ) ++ ++set_target_properties(StateMachineFramework ++ PROPERTIES ++ OUTPUT_NAME ++ QtSolutions_StateMachineFramework-1.1 ++ VERSION 1.0.0 ++ SOVERSION 1.0.0) ++ ++install(TARGETS StateMachineFramework DESTINATION lib${LIB_SUFFIX}) ++install(FILES ${QtStateMachines_HEADERS} DESTINATION include/QtStateMachines/) diff --git a/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 b/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 new file mode 100644 index 00000000..917bbf43 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_fix_compound_state.patch_002 @@ -0,0 +1,82 @@ +--- src/qstatemachine_history_fixed.cpp 2009-07-26 18:21:12.000000000 +0200 ++++ src/qstatemachine.cpp 2009-07-27 15:46:45.000000000 +0200 +@@ -273,6 +273,27 @@ + } + } + ++QtState *QtStateMachinePrivate::findActiveLCA(const QList<QtAbstractState*> &states) ++{ ++ if (states.isEmpty()) ++ return rootState; ++ QList<QtState*> ancestors = properAncestors(states.at(0), 0); ++ for (int i = 0; i < ancestors.size(); ++i) { ++ QtState *anc = ancestors.at(i); ++ if (!configuration.contains(anc)) ++ continue; ++ bool ok = true; ++ for (int j = states.size() - 1; (j > 0) && ok; --j) { ++ const QtAbstractState *s = states.at(j); ++ if (!isDescendantOf(s, anc)) ++ ok = false; ++ } ++ if (ok) ++ return anc; ++ } ++ return rootState; ++} ++ + QtState *QtStateMachinePrivate::findLCA(const QList<QtAbstractState*> &states) + { + if (states.isEmpty()) +@@ -378,8 +399,18 @@ + QList<QtAbstractState*> lst = t->targetStates(); + if (lst.isEmpty()) + continue; +- lst.prepend(t->sourceState()); +- QtAbstractState *lca = findLCA(lst); ++ QtAbstractState *lca; ++ if (isDescendantOf(t->targetState(), t->sourceState())) ++ { ++ lst.prepend(t->targetState()); ++ lca = findActiveLCA(lst); ++ } ++ else ++ { ++ lst.prepend(t->sourceState()); ++ lca = findLCA(lst); ++ } ++ + { + QSet<QtAbstractState*>::const_iterator it; + for (it = configuration.constBegin(); it != configuration.constEnd(); ++it) { +@@ -451,8 +482,17 @@ + QList<QtAbstractState*> lst = t->targetStates(); + if (lst.isEmpty()) + continue; +- lst.prepend(t->sourceState()); +- QtState *lca = findLCA(lst); ++ QtState *lca; ++ if (isDescendantOf(t->targetState(), t->sourceState())) ++ { ++ lst.prepend(t->targetState()); ++ lca = findActiveLCA(lst); ++ } ++ else ++ { ++ lst.prepend(t->sourceState()); ++ lca = findLCA(lst); ++ } + for (int j = 1; j < lst.size(); ++j) { + QtAbstractState *s = lst.at(j); + addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); +diff -ru src_old/qstatemachine_p.h src/qstatemachine_p.h +--- src_old/qstatemachine_p.h 2009-07-26 18:38:06.000000000 +0200 ++++ src/qstatemachine_p.h 2009-07-26 18:37:15.000000000 +0200 +@@ -109,6 +109,7 @@ + + static QtStateMachinePrivate *get(QtStateMachine *q); + ++ QtState *findActiveLCA(const QList<QtAbstractState*> &states); + static QtState *findLCA(const QList<QtAbstractState*> &states); + + static bool stateEntryLessThan(QtAbstractState *s1, QtAbstractState *s2); diff --git a/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 b/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 new file mode 100644 index 00000000..fff31346 --- /dev/null +++ b/dev-python/qtstatemachine/files/qstatemachines_fix_history.patch_001 @@ -0,0 +1,155 @@ +--- src/qstatemachine_orig.cpp 2009-07-26 11:41:00.000000000 +0200 ++++ src/qstatemachine.cpp 2009-07-26 12:41:26.000000000 +0200 +@@ -455,37 +455,7 @@ + QtState *lca = findLCA(lst); + for (int j = 1; j < lst.size(); ++j) { + QtAbstractState *s = lst.at(j); +- if (QtHistoryState *h = qobject_cast<QtHistoryState*>(s)) { +- QList<QtAbstractState*> hconf = QtHistoryStatePrivate::get(h)->configuration; +- if (!hconf.isEmpty()) { +- for (int k = 0; k < hconf.size(); ++k) { +- QtAbstractState *s0 = hconf.at(k); +- addStatesToEnter(s0, lca, statesToEnter, statesForDefaultEntry); +- } +-#ifdef QSTATEMACHINE_DEBUG +- qDebug() << q << ": restoring" +- << ((QtHistoryStatePrivate::get(h)->historyType == QtState::DeepHistory) ? "deep" : "shallow") +- << "history from" << s << ":" << hconf; +-#endif +- } else { +- QList<QtAbstractState*> hlst; +- if (QtHistoryStatePrivate::get(h)->defaultState) +- hlst.append(QtHistoryStatePrivate::get(h)->defaultState); +- if (hlst.isEmpty()) { +- setError(QtStateMachine::NoDefaultStateInHistoryState, h); +- } else { +- for (int k = 0; k < hlst.size(); ++k) { +- QtAbstractState *s0 = hlst.at(k); +- addStatesToEnter(s0, lca, statesToEnter, statesForDefaultEntry); +- } +-#ifdef QSTATEMACHINE_DEBUG +- qDebug() << q << ": initial history targets for" << s << ":" << hlst; +-#endif +- } +- } +- } else { +- addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); +- } ++ addStatesToEnter(s, lca, statesToEnter, statesForDefaultEntry); + if (isParallel(lca)) { + QList<QtAbstractState*> lcac = QtStatePrivate::get(lca)->childStates(); + foreach (QtAbstractState* child,lcac) { +@@ -566,45 +536,78 @@ + QSet<QtAbstractState*> &statesToEnter, + QSet<QtAbstractState*> &statesForDefaultEntry) + { +- statesToEnter.insert(s); +- if (isParallel(s)) { +- QtState *grp = qobject_cast<QtState*>(s); +- QList<QtAbstractState*> lst = QtStatePrivate::get(grp)->childStates(); +- for (int i = 0; i < lst.size(); ++i) { +- QtAbstractState *child = lst.at(i); +- addStatesToEnter(child, grp, statesToEnter, statesForDefaultEntry); +- } +- } else if (isCompound(s)) { +- statesForDefaultEntry.insert(s); +- QtState *grp = qobject_cast<QtState*>(s); +- QtAbstractState *initial = grp->initialState(); +- if (initial != 0) { +- addStatesToEnter(initial, grp, statesToEnter, statesForDefaultEntry); ++#ifdef QSTATEMACHINE_DEBUG ++ Q_Q(QtStateMachine); ++#endif ++ if (QtHistoryState *h = qobject_cast<QtHistoryState*>(s)) { ++ QList<QtAbstractState*> hconf = QtHistoryStatePrivate::get(h)->configuration; ++ if (!hconf.isEmpty()) { ++ for (int k = 0; k < hconf.size(); ++k) { ++ QtAbstractState *s0 = hconf.at(k); ++ addStatesToEnter(s0, root, statesToEnter, statesForDefaultEntry); ++ } ++#ifdef QSTATEMACHINE_DEBUG ++ qDebug() << q << ": restoring" ++ << ((QtHistoryStatePrivate::get(h)->historyType == QtState::DeepHistory) ? "deep" : "shallow") ++ << "history from" << s << ":" << hconf; ++#endif + } else { +- setError(QtStateMachine::NoInitialStateError, grp); +- return; ++ QList<QtAbstractState*> hlst; ++ if (QtHistoryStatePrivate::get(h)->defaultState) ++ hlst.append(QtHistoryStatePrivate::get(h)->defaultState); ++ if (hlst.isEmpty()) { ++ setError(QtStateMachine::NoDefaultStateInHistoryState, h); ++ } else { ++ for (int k = 0; k < hlst.size(); ++k) { ++ QtAbstractState *s0 = hlst.at(k); ++ addStatesToEnter(s0, root, statesToEnter, statesForDefaultEntry); ++ } ++#ifdef QSTATEMACHINE_DEBUG ++ qDebug() << q << ": initial history targets for" << s << ":" << hlst; ++#endif ++ } + } +- } +- QList<QtState*> ancs = properAncestors(s, root); +- for (int i = 0; i < ancs.size(); ++i) { +- QtState *anc = ancs.at(i); +- if (!anc->parentState()) +- continue; +- statesToEnter.insert(anc); +- if (isParallel(anc)) { +- QList<QtAbstractState*> lst = QtStatePrivate::get(anc)->childStates(); +- for (int j = 0; j < lst.size(); ++j) { +- QtAbstractState *child = lst.at(j); +- bool hasDescendantInList = false; +- QSet<QtAbstractState*>::const_iterator it; +- for (it = statesToEnter.constBegin(); it != statesToEnter.constEnd(); ++it) { +- if (isDescendantOf(*it, child)) { +- hasDescendantInList = true; +- break; ++ } else { ++ statesToEnter.insert(s); ++ if (isParallel(s)) { ++ QtState *grp = qobject_cast<QtState*>(s); ++ QList<QtAbstractState*> lst = QtStatePrivate::get(grp)->childStates(); ++ for (int i = 0; i < lst.size(); ++i) { ++ QtAbstractState *child = lst.at(i); ++ addStatesToEnter(child, grp, statesToEnter, statesForDefaultEntry); ++ } ++ } else if (isCompound(s)) { ++ statesForDefaultEntry.insert(s); ++ QtState *grp = qobject_cast<QtState*>(s); ++ QtAbstractState *initial = grp->initialState(); ++ if (initial != 0) { ++ addStatesToEnter(initial, grp, statesToEnter, statesForDefaultEntry); ++ } else { ++ setError(QtStateMachine::NoInitialStateError, grp); ++ return; ++ } ++ } ++ QList<QtState*> ancs = properAncestors(s, root); ++ for (int i = 0; i < ancs.size(); ++i) { ++ QtState *anc = ancs.at(i); ++ if (!anc->parentState()) ++ continue; ++ statesToEnter.insert(anc); ++ if (isParallel(anc)) { ++ QList<QtAbstractState*> lst = QtStatePrivate::get(anc)->childStates(); ++ for (int j = 0; j < lst.size(); ++j) { ++ QtAbstractState *child = lst.at(j); ++ bool hasDescendantInList = false; ++ QSet<QtAbstractState*>::const_iterator it; ++ for (it = statesToEnter.constBegin(); it != statesToEnter.constEnd(); ++it) { ++ if (isDescendantOf(*it, child)) { ++ hasDescendantInList = true; ++ break; ++ } + } ++ if (!hasDescendantInList) ++ addStatesToEnter(child, anc, statesToEnter, statesForDefaultEntry); + } +- if (!hasDescendantInList) +- addStatesToEnter(child, anc, statesToEnter, statesForDefaultEntry); + } + } + } diff --git a/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild b/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild new file mode 100644 index 00000000..a1aaa525 --- /dev/null +++ b/dev-python/qtstatemachine/qtstatemachine-1.1-r1.ebuild @@ -0,0 +1,38 @@ +# Copyright 2004-2009 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" +inherit eutils cmake-utils + +DESCRIPTION="Qt State Machine Framework" +SLOT="4" +KEYWORDS="~amd64 ~x86" +IUSE="" +SRC_URI="ftp://ftp.trolltech.com/qt/solutions/lgpl/qtstatemachine-1.1-opensource.tar.gz" +RESTRICT="mirror" +LICENSE="|| ( LGPL-2.1 GPL-3 QPL-1.0 )" + +RDEPEND="dev-libs/glib + media-libs/libpng + x11-libs/qt-core:4 + x11-libs/qt-gui:4" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${P}-opensource" + +src_prepare() { + # Add some bugfix patches + epatch "${FILESDIR}/"qstatemachines*.patch_* +} + +pkg_postinst() { + + ewarn "This package is VERY EXPERIMENTAL." + ewarn "Its build system is utterly broken (see CMake patch)." + ewarn "No examples are installed because of the issue above" + ewarn "...and your cat will be eaten by a black hole!" + einfo "Say thanks to Vincenzo Di Massa for the hard" + einfo "patching work." + +} diff --git a/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild b/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild new file mode 100644 index 00000000..7d222db9 --- /dev/null +++ b/dev-python/qtstatemachine/qtstatemachine-1.1.ebuild @@ -0,0 +1,49 @@ +# Copyright 2004-2009 Sabayon Linux +# Distributed under the terms of the GNU General Public License v2 +# $ + +EAPI="2" +inherit eutils base multilib + +DESCRIPTION="Qt State Machine Framework" +SLOT="4" +KEYWORDS="~amd64 ~x86" +IUSE="" +SRC_URI="ftp://ftp.trolltech.com/qt/solutions/lgpl/qtstatemachine-1.1-opensource.tar.gz" +RESTRICT="mirror" +LICENSE="|| ( LGPL-2.1 GPL-3 QPL-1.0 )" + +RDEPEND="dev-libs/glib + media-libs/libpng + x11-libs/qt-core:4 + x11-libs/qt-gui:4" +DEPEND="${RDEPEND}" + +S="${WORKDIR}/${P}-opensource" + +src_configure() { + + # build system is utterly broken + echo "yes" | ./configure -library || die "configure failed" + +} + +src_compile() { + qmake -makefile -nocache || die "qmake failed" + emake || "make failed" +} + +src_install() { + + # build system is broken + dolib.so lib/* + +} + +pkg_postinst() { + ewarn "This package is VERY EXPERIMENTAL." + ewarn "Its build system is utterly broken." + ewarn "No examples are installed because of the issue above" + ewarn "...and your cat will be eaten by a black hole!" + ewarn "plop!" +} |