diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-09-24 22:13:20 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2024-09-24 22:14:06 +0900 |
commit | 2950a7d84514b9b2d9916afb06ff05fdabab3be7 (patch) | |
tree | ce0c4a4c1e3f8afa91e607f549b3374558d680c1 | |
parent | aa74ecdba9cebc28208b75d5c40d4b8b3f29b726 (diff) | |
download | extra-dependencies-2950a7d84514b9b2d9916afb06ff05fdabab3be7.tar.gz extra-dependencies-2950a7d84514b9b2d9916afb06ff05fdabab3be7.zip |
Removed compizconfig-python-trinity, which is based on python2 and has been FTBFS for a long time
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
25 files changed, 0 insertions, 2231 deletions
diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/AUTHORS b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/AUTHORS deleted file mode 100644 index e69de29b..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/AUTHORS +++ /dev/null diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/COPYING b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/COPYING deleted file mode 100644 index d60c31a9..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/COPYING +++ /dev/null @@ -1,340 +0,0 @@ - GNU GENERAL PUBLIC LICENSE - Version 2, June 1991 - - Copyright (C) 1989, 1991 Free Software Foundation, Inc. - 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - Everyone is permitted to copy and distribute verbatim copies - of this license document, but changing it is not allowed. - - Preamble - - The licenses for most software are designed to take away your -freedom to share and change it. By contrast, the GNU General Public -License is intended to guarantee your freedom to share and change free -software--to make sure the software is free for all its users. This -General Public License applies to most of the Free Software -Foundation's software and to any other program whose authors commit to -using it. (Some other Free Software Foundation software is covered by -the GNU Library General Public License instead.) You can apply it to -your programs, too. - - When we speak of free software, we are referring to freedom, not -price. Our General Public Licenses are designed to make sure that you -have the freedom to distribute copies of free software (and charge for -this service if you wish), that you receive source code or can get it -if you want it, that you can change the software or use pieces of it -in new free programs; and that you know you can do these things. - - To protect your rights, we need to make restrictions that forbid -anyone to deny you these rights or to ask you to surrender the rights. -These restrictions translate to certain responsibilities for you if you -distribute copies of the software, or if you modify it. - - For example, if you distribute copies of such a program, whether -gratis or for a fee, you must give the recipients all the rights that -you have. You must make sure that they, too, receive or can get the -source code. And you must show them these terms so they know their -rights. - - We protect your rights with two steps: (1) copyright the software, and -(2) offer you this license which gives you legal permission to copy, -distribute and/or modify the software. - - Also, for each author's protection and ours, we want to make certain -that everyone understands that there is no warranty for this free -software. If the software is modified by someone else and passed on, we -want its recipients to know that what they have is not the original, so -that any problems introduced by others will not reflect on the original -authors' reputations. - - Finally, any free program is threatened constantly by software -patents. We wish to avoid the danger that redistributors of a free -program will individually obtain patent licenses, in effect making the -program proprietary. To prevent this, we have made it clear that any -patent must be licensed for everyone's free use or not licensed at all. - - The precise terms and conditions for copying, distribution and -modification follow. - - GNU GENERAL PUBLIC LICENSE - TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION - - 0. This License applies to any program or other work which contains -a notice placed by the copyright holder saying it may be distributed -under the terms of this General Public License. The "Program", below, -refers to any such program or work, and a "work based on the Program" -means either the Program or any derivative work under copyright law: -that is to say, a work containing the Program or a portion of it, -either verbatim or with modifications and/or translated into another -language. (Hereinafter, translation is included without limitation in -the term "modification".) Each licensee is addressed as "you". - -Activities other than copying, distribution and modification are not -covered by this License; they are outside its scope. The act of -running the Program is not restricted, and the output from the Program -is covered only if its contents constitute a work based on the -Program (independent of having been made by running the Program). -Whether that is true depends on what the Program does. - - 1. You may copy and distribute verbatim copies of the Program's -source code as you receive it, in any medium, provided that you -conspicuously and appropriately publish on each copy an appropriate -copyright notice and disclaimer of warranty; keep intact all the -notices that refer to this License and to the absence of any warranty; -and give any other recipients of the Program a copy of this License -along with the Program. - -You may charge a fee for the physical act of transferring a copy, and -you may at your option offer warranty protection in exchange for a fee. - - 2. You may modify your copy or copies of the Program or any portion -of it, thus forming a work based on the Program, and copy and -distribute such modifications or work under the terms of Section 1 -above, provided that you also meet all of these conditions: - - a) You must cause the modified files to carry prominent notices - stating that you changed the files and the date of any change. - - b) You must cause any work that you distribute or publish, that in - whole or in part contains or is derived from the Program or any - part thereof, to be licensed as a whole at no charge to all third - parties under the terms of this License. - - c) If the modified program normally reads commands interactively - when run, you must cause it, when started running for such - interactive use in the most ordinary way, to print or display an - announcement including an appropriate copyright notice and a - notice that there is no warranty (or else, saying that you provide - a warranty) and that users may redistribute the program under - these conditions, and telling the user how to view a copy of this - License. (Exception: if the Program itself is interactive but - does not normally print such an announcement, your work based on - the Program is not required to print an announcement.) - -These requirements apply to the modified work as a whole. If -identifiable sections of that work are not derived from the Program, -and can be reasonably considered independent and separate works in -themselves, then this License, and its terms, do not apply to those -sections when you distribute them as separate works. But when you -distribute the same sections as part of a whole which is a work based -on the Program, the distribution of the whole must be on the terms of -this License, whose permissions for other licensees extend to the -entire whole, and thus to each and every part regardless of who wrote it. - -Thus, it is not the intent of this section to claim rights or contest -your rights to work written entirely by you; rather, the intent is to -exercise the right to control the distribution of derivative or -collective works based on the Program. - -In addition, mere aggregation of another work not based on the Program -with the Program (or with a work based on the Program) on a volume of -a storage or distribution medium does not bring the other work under -the scope of this License. - - 3. You may copy and distribute the Program (or a work based on it, -under Section 2) in object code or executable form under the terms of -Sections 1 and 2 above provided that you also do one of the following: - - a) Accompany it with the complete corresponding machine-readable - source code, which must be distributed under the terms of Sections - 1 and 2 above on a medium customarily used for software interchange; or, - - b) Accompany it with a written offer, valid for at least three - years, to give any third party, for a charge no more than your - cost of physically performing source distribution, a complete - machine-readable copy of the corresponding source code, to be - distributed under the terms of Sections 1 and 2 above on a medium - customarily used for software interchange; or, - - c) Accompany it with the information you received as to the offer - to distribute corresponding source code. (This alternative is - allowed only for noncommercial distribution and only if you - received the program in object code or executable form with such - an offer, in accord with Subsection b above.) - -The source code for a work means the preferred form of the work for -making modifications to it. For an executable work, complete source -code means all the source code for all modules it contains, plus any -associated interface definition files, plus the scripts used to -control compilation and installation of the executable. However, as a -special exception, the source code distributed need not include -anything that is normally distributed (in either source or binary -form) with the major components (compiler, kernel, and so on) of the -operating system on which the executable runs, unless that component -itself accompanies the executable. - -If distribution of executable or object code is made by offering -access to copy from a designated place, then offering equivalent -access to copy the source code from the same place counts as -distribution of the source code, even though third parties are not -compelled to copy the source along with the object code. - - 4. You may not copy, modify, sublicense, or distribute the Program -except as expressly provided under this License. Any attempt -otherwise to copy, modify, sublicense or distribute the Program is -void, and will automatically terminate your rights under this License. -However, parties who have received copies, or rights, from you under -this License will not have their licenses terminated so long as such -parties remain in full compliance. - - 5. You are not required to accept this License, since you have not -signed it. However, nothing else grants you permission to modify or -distribute the Program or its derivative works. These actions are -prohibited by law if you do not accept this License. Therefore, by -modifying or distributing the Program (or any work based on the -Program), you indicate your acceptance of this License to do so, and -all its terms and conditions for copying, distributing or modifying -the Program or works based on it. - - 6. Each time you redistribute the Program (or any work based on the -Program), the recipient automatically receives a license from the -original licensor to copy, distribute or modify the Program subject to -these terms and conditions. You may not impose any further -restrictions on the recipients' exercise of the rights granted herein. -You are not responsible for enforcing compliance by third parties to -this License. - - 7. If, as a consequence of a court judgment or allegation of patent -infringement or for any other reason (not limited to patent issues), -conditions are imposed on you (whether by court order, agreement or -otherwise) that contradict the conditions of this License, they do not -excuse you from the conditions of this License. If you cannot -distribute so as to satisfy simultaneously your obligations under this -License and any other pertinent obligations, then as a consequence you -may not distribute the Program at all. For example, if a patent -license would not permit royalty-free redistribution of the Program by -all those who receive copies directly or indirectly through you, then -the only way you could satisfy both it and this License would be to -refrain entirely from distribution of the Program. - -If any portion of this section is held invalid or unenforceable under -any particular circumstance, the balance of the section is intended to -apply and the section as a whole is intended to apply in other -circumstances. - -It is not the purpose of this section to induce you to infringe any -patents or other property right claims or to contest validity of any -such claims; this section has the sole purpose of protecting the -integrity of the free software distribution system, which is -implemented by public license practices. Many people have made -generous contributions to the wide range of software distributed -through that system in reliance on consistent application of that -system; it is up to the author/donor to decide if he or she is willing -to distribute software through any other system and a licensee cannot -impose that choice. - -This section is intended to make thoroughly clear what is believed to -be a consequence of the rest of this License. - - 8. If the distribution and/or use of the Program is restricted in -certain countries either by patents or by copyrighted interfaces, the -original copyright holder who places the Program under this License -may add an explicit geographical distribution limitation excluding -those countries, so that distribution is permitted only in or among -countries not thus excluded. In such case, this License incorporates -the limitation as if written in the body of this License. - - 9. The Free Software Foundation may publish revised and/or new versions -of the General Public License from time to time. Such new versions will -be similar in spirit to the present version, but may differ in detail to -address new problems or concerns. - -Each version is given a distinguishing version number. If the Program -specifies a version number of this License which applies to it and "any -later version", you have the option of following the terms and conditions -either of that version or of any later version published by the Free -Software Foundation. If the Program does not specify a version number of -this License, you may choose any version ever published by the Free Software -Foundation. - - 10. If you wish to incorporate parts of the Program into other free -programs whose distribution conditions are different, write to the author -to ask for permission. For software which is copyrighted by the Free -Software Foundation, write to the Free Software Foundation; we sometimes -make exceptions for this. Our decision will be guided by the two goals -of preserving the free status of all derivatives of our free software and -of promoting the sharing and reuse of software generally. - - NO WARRANTY - - 11. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY -FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN -OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES -PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED -OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF -MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS -TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE -PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, -REPAIR OR CORRECTION. - - 12. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING -WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR -REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, -INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING -OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED -TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY -YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER -PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE -POSSIBILITY OF SUCH DAMAGES. - - END OF TERMS AND CONDITIONS - - How to Apply These Terms to Your New Programs - - If you develop a new program, and you want it to be of the greatest -possible use to the public, the best way to achieve this is to make it -free software which everyone can redistribute and change under these terms. - - To do so, attach the following notices to the program. It is safest -to attach them to the start of each source file to most effectively -convey the exclusion of warranty; and each file should have at least -the "copyright" line and a pointer to where the full notice is found. - - <one line to give the program's name and a brief idea of what it does.> - Copyright (C) <year> <name of author> - - This program is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This program is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this program; if not, write to the Free Software - Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA - - -Also add information on how to contact you by electronic and paper mail. - -If the program is interactive, make it output a short notice like this -when it starts in an interactive mode: - - Gnomovision version 69, Copyright (C) year name of author - Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'. - This is free software, and you are welcome to redistribute it - under certain conditions; type `show c' for details. - -The hypothetical commands `show w' and `show c' should show the appropriate -parts of the General Public License. Of course, the commands you use may -be called something other than `show w' and `show c'; they could even be -mouse-clicks or menu items--whatever suits your program. - -You should also get your employer (if you work as a programmer) or your -school, if any, to sign a "copyright disclaimer" for the program, if -necessary. Here is a sample; alter the names: - - Yoyodyne, Inc., hereby disclaims all copyright interest in the program - `Gnomovision' (which makes passes at compilers) written by James Hacker. - - <signature of Ty Coon>, 1 April 1989 - Ty Coon, President of Vice - -This General Public License does not permit incorporating your program into -proprietary programs. If your program is a subroutine library, you may -consider it more useful to permit linking proprietary applications with the -library. If this is what you want to do, use the GNU Library General -Public License instead of this License. diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/ChangeLog b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/ChangeLog deleted file mode 100644 index e69de29b..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/ChangeLog +++ /dev/null diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/Makefile.am b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/Makefile.am deleted file mode 100644 index b5275f75..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/Makefile.am +++ /dev/null @@ -1,8 +0,0 @@ -SUBDIRS = src - -EXTRA_DIST = \ - compizconfig-python.pc.in \ - VERSION - -pkgconfigdir = $(libdir)/pkgconfig -pkgconfig_DATA = compizconfig-python.pc diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/NEWS b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/NEWS deleted file mode 100644 index e69de29b..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/NEWS +++ /dev/null diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/README b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/README deleted file mode 100644 index e69de29b..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/README +++ /dev/null diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/TODO b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/TODO deleted file mode 100644 index e69de29b..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/TODO +++ /dev/null diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/VERSION b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/VERSION deleted file mode 100644 index e4184f46..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/VERSION +++ /dev/null @@ -1 +0,0 @@ -VERSION=0.8.4 diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/acinclude.m4 b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/acinclude.m4 deleted file mode 100644 index 7afdd152..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/acinclude.m4 +++ /dev/null @@ -1,141 +0,0 @@ -# Copyright 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc. - -# This program is free software; you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation; either version 2, or (at your option) -# any later version. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA -# 02111-1307, USA. - -# AM_PATH_PYTHON_VERSION(ABI-VERSION1, [MINIMUM-VERSION1 [, ABI-VERSION2, [MINIMUM-VERSION2 ...]]]) -# -# An alternative to AM_PATH_PYTHON that checks for specific python ABI/version pairs. -# Example: -# AM_PATH_PYTHON_VERSION(2.3, 2.3.5, 2.4, 2.4.0) -# checks for a python2.3 binary returning python version >= 2.3.5, and -# if that fails it looks for python2.4 containing version >= 2.4.0 -# It aborts configure with an error if no statisfying version is found. -# Env. var. PYTHON can be used to point a specific/laternate version to configure. - -AC_DEFUN([AM_PATH_PYTHON_VERSION], - [ - m4_pattern_allow([m4_shift]) - _python_save="$PYTHON" - dnl Find a Python interpreter with corresponding ABI version. - - m4_define(PYTHON_var, PYTHON[]m4_translit($1,[.],[_])) - - if test -z "$PYTHON"; then - AC_PATH_PROG(PYTHON_var, python$1, []) - else - PYTHON_var="$PYTHON" - fi - - PYTHON="$PYTHON_var" - AC_SUBST(PYTHON) - - if test -n "$PYTHON"; then - - m4_if([$2],[],[ - ], [ - dnl A version check is needed. - AC_MSG_CHECKING([whether $PYTHON version is >= $2]) - AM_PYTHON_CHECK_VERSION([$PYTHON], [$2], - [AC_MSG_RESULT(yes)], - [AC_MSG_RESULT([no]); PYTHON=""]) - ]) - - fi - - if test -z "$PYTHON"; then - dnl if more arguments, shift/recurse, else fail - m4_if([$3],[],[ - AC_MSG_ERROR([no suitable Python interpreter found]) - ], [ - PYTHON="$_python_save" - AM_PATH_PYTHON_VERSION(m4_shift(m4_shift($@))) - ]) - - else - - dnl Query Python for its version number. Getting [:3] seems to be - dnl the best way to do this; it's what "site.py" does in the standard - dnl library. - - AC_CACHE_CHECK([for $am_display_PYTHON version], [am_cv_python_version], - [am_cv_python_version=`$PYTHON -c "import sys; print sys.version[[:3]]"`]) - AC_SUBST([PYTHON_VERSION], [$am_cv_python_version]) - - dnl Use the values of $prefix and $exec_prefix for the corresponding - dnl values of PYTHON_PREFIX and PYTHON_EXEC_PREFIX. These are made - dnl distinct variables so they can be overridden if need be. However, - dnl general consensus is that you shouldn't need this ability. - - AC_SUBST([PYTHON_PREFIX], ['${prefix}']) - AC_SUBST([PYTHON_EXEC_PREFIX], ['${exec_prefix}']) - - dnl At times (like when building shared libraries) you may want - dnl to know which OS platform Python thinks this is. - - AC_CACHE_CHECK([for $am_display_PYTHON platform], [am_cv_python_platform], - [am_cv_python_platform=`$PYTHON -c "import sys; print sys.platform"`]) - AC_SUBST([PYTHON_PLATFORM], [$am_cv_python_platform]) - - - dnl Set up 4 directories: - - dnl pythondir -- where to install python scripts. This is the - dnl site-packages directory, not the python standard library - dnl directory like in previous automake betas. This behavior - dnl is more consistent with lispdir.m4 for example. - dnl Query distutils for this directory. distutils does not exist in - dnl Python 1.5, so we fall back to the hardcoded directory if it - dnl doesn't work. - AC_CACHE_CHECK([for $am_display_PYTHON script directory], - [am_cv_python_pythondir], - [am_cv_python_pythondir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(0,0,prefix='$PYTHON_PREFIX')" 2>/dev/null || - echo "$PYTHON_PREFIX/lib/python$PYTHON_VERSION/site-packages"`]) - AC_SUBST([pythondir], [$am_cv_python_pythondir]) - - dnl pkgpythondir -- $PACKAGE directory under pythondir. Was - dnl PYTHON_SITE_PACKAGE in previous betas, but this naming is - dnl more consistent with the rest of automake. - - AC_SUBST([pkgpythondir], [\${pythondir}/$PACKAGE]) - - dnl pyexecdir -- directory for installing python extension modules - dnl (shared libraries) - dnl Query distutils for this directory. distutils does not exist in - dnl Python 1.5, so we fall back to the hardcoded directory if it - dnl doesn't work. - AC_CACHE_CHECK([for $am_display_PYTHON extension module directory], - [am_cv_python_pyexecdir], - [am_cv_python_pyexecdir=`$PYTHON -c "from distutils import sysconfig; print sysconfig.get_python_lib(1,0,prefix='$PYTHON_EXEC_PREFIX')" 2>/dev/null || - echo "${PYTHON_EXEC_PREFIX}/lib/python${PYTHON_VERSION}/site-packages"`]) - AC_SUBST([pyexecdir], [$am_cv_python_pyexecdir]) - - dnl pkgpyexecdir -- $(pyexecdir)/$(PACKAGE) - - AC_SUBST([pkgpyexecdir], [\${pyexecdir}/$PACKAGE]) - - fi - -dnl deduce PYTHON_INCLUDES -py_prefix=`$PYTHON -c "import sys; print sys.prefix"` -py_exec_prefix=`$PYTHON -c "import sys; print sys.exec_prefix"` -PYTHON_INCLUDES="-I${py_prefix}/include/python${PYTHON_VERSION}" -if test "$py_prefix" != "$py_exec_prefix"; then - PYTHON_INCLUDES="$PYTHON_INCLUDES -I${py_exec_prefix}/include/python${PYTHON_VERSION}" -fi -AC_SUBST(PYTHON_INCLUDES) - -]) - diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/autogen.sh b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/autogen.sh deleted file mode 100755 index 8e9f14bd..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/autogen.sh +++ /dev/null @@ -1,16 +0,0 @@ -#! /bin/sh - -srcdir=`dirname $0` -test -z "$srcdir" && srcdir=. - -ORIGDIR=`pwd` -cd $srcdir - -autoreconf -v --install || exit 1 -#glib-gettextize --copy --force || exit 1 -#intltoolize --automake --copy --force || exit 1 - -cd $ORIGDIR || exit $? - -$srcdir/configure --enable-maintainer-mode "$@" - diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/compizconfig-python.pc.in b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/compizconfig-python.pc.in deleted file mode 100644 index 00d26420..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/compizconfig-python.pc.in +++ /dev/null @@ -1,13 +0,0 @@ -prefix=@prefix@ -exec_prefix=@exec_prefix@ -libdir=@libdir@ -includedir=@includedir@ -pyexecdir=@pyexecdir@ - -Name: compizconfig-python -Description: Compiz configuration system bindings -Version: @VERSION@ - -Requires: @CCS_REQUIRES@ -Libs: @CCS_LIBS@ -L@libdir@ -lcompizconfig -Cflags: @CCS_CFLAGS@ -I@includedir@/compizconfig diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/configure.ac b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/configure.ac deleted file mode 100644 index 27fd9823..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/configure.ac +++ /dev/null @@ -1,46 +0,0 @@ -AC_PREREQ(2.57) -AC_INIT([compizconfig-python],esyscmd(. ./VERSION;echo -n $VERSION), [livinglatexkali@gmail.com]) - -AM_INIT_AUTOMAKE([1.9 dist-bzip2]) -AC_CONFIG_HEADER([config.h]) -AM_MAINTAINER_MODE - -AC_ISC_POSIX -AC_PROG_CC -AC_PROG_CPP -AC_PROG_LIBTOOL -AC_HEADER_STDC - -CCS_REQUIRES="\ -libcompizconfig >= 0.6.99 \ -glib-2.0 >= 2.6 " - -PKG_CHECK_MODULES(CCS,$CCS_REQUIRES) - -AC_SUBST(CCS_REQUIRES) - -dnl PYTHON SPECIFIC - -m4_define(required_python_abi,2.4) - -AM_PATH_PYTHON -if test "$PYTHON_VERSION" = "2.4" -then - AM_PATH_PYTHON_VERSION(2.4,2.4.0) -else - AM_PATH_PYTHON_VERSION(2.5,2.5.0) -fi - -AC_CHECK_PROGS(PYREX, pyrexc) -if test -z "$PYREX" -then - AC_MSG_ERROR([Couldn't find Pyrex]) -fi - -AC_CONFIG_FILES([ - compizconfig-python.pc - Makefile - src/Makefile -]) - -AC_OUTPUT diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/changelog b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/changelog deleted file mode 100644 index 9a53ba55..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/changelog +++ /dev/null @@ -1,175 +0,0 @@ -compizconfig-python-trinity (0.8.4-3debian11.0.0+5~a) bullseye; urgency=low - - * Change debhelper compatibility level to 9 - * Replace python-dev dependency with python-all-dev or dh-python - - -- Slávek Banko <slavek.banko@axis.cz> Wed, 08 Apr 2020 01:30:38 +0200 - -compizconfig-python-trinity (0.8.4-3ubuntu20.04.0+4~a) focal; urgency=medium - - * Fixed FTBFS caused by __new__ method in Pyrex. - - -- Michele Calgaro <michele.calgaro@yahoo.it> Sun, 03 Sep 2017 23:54:11 +0900 - -compizconfig-python-trinity (0.8.4-3ubuntu17.04.0+3~a) zesty; urgency=low - - * Change debhelper compatibility level to 7 - - -- Slávek Banko <slavek.banko@axis.cz> Sat, 13 Aug 2016 18:53:28 +0200 - -compizconfig-python-trinity (0.8.4-3ubuntu16.10.0+2~a) yakkety; urgency=low - - * Rebuild without dependency on tdelibs / kdelibs - * Switch from dh_pycentral to dh_python2 - - -- Slávek Banko <slavek.banko@axis.cz> Mon, 05 Aug 2013 21:48:46 +0200 - -compizconfig-python-trinity (0.8.4-2debian8.0.0+0) jessie; urgency=low - - * Fix build with current Python - * Switch to format 3.0 (quilt) - * Switch to xz compression - - -- Slávek Banko <slavek.banko@axis.cz> Fri, 28 Jun 2013 04:25:30 +0200 - -compizconfig-python-trinity (0.8.4-0ubuntu2) maverick; urgency=low - - * Initial Lucid build - - -- Timothy Pearson <kb9vqf@pearsoncomputing.net> Tue, 02 Mar 2010 20:33:00 -0600 - -compizconfig-python-trinity (0.8.4-0ubuntu0) karmic; urgency=low - - * Karmic rebuild - - -- Timothy Pearson <kb9vqf@pearsoncomputing.net> Thu, 02 July 2009 16:08:00 -0600 - -compizconfig-python-trinity (0.7.4-0ubuntu11) jaunty; urgency=low - - * Jaunty rebuild against Python 2.6 - - -- Timothy Pearson <kb9vqf@pearsoncomputing.net> Sun, 26 Apr 2009 13:35:00 -0600 - -compizconfig-python-trinity (0.7.4-0ubuntu9) intrepid; urgency=low - - * Moved KDE3 to /opt/trinity - * Integrated properly with KDE4.2+ - - -- Timothy Pearson <kb9vqf@pearsoncomputing.net> Fri, 06 March 2009 01:35:00 -0600 - -compizconfig-python-trinity (0.7.4-0ubuntu5) intrepid; urgency=low - - * Added -trinity prefix - - -- Timothy Pearson <kb9vqf@pearsoncomputing.net> Mon, 01 Dec 2008 09:59:00 -0600 - -compizconfig-python (0.7.4-0ubuntu1) hardy; urgency=low - - * new upstream release - * build against latest libcompizconfig - - -- Michael Vogt <michael.vogt@ubuntu.com> Sat, 05 Apr 2008 13:06:16 +0200 - -compizconfig-python (0.7.2-0ubuntu1) hardy; urgency=low - - * new upstream release - * updated standards version - * updated section - - -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 07 Mar 2008 15:10:24 +0100 - -compizconfig-python (0.6.99+git20080214-0ubuntu1) hardy; urgency=low - - * new git snpashot to keep track of libcompizconfig changes - with regard to autosave - - -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 14 Feb 2008 17:08:45 +0100 - -compizconfig-python (0.6.99+git20071127-0ubuntu1) hardy; urgency=low - - * new git HEAD snapshot - - -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 05 Dec 2007 22:03:03 +0100 - -compizconfig-python (0.5.2+git20070912-0ubuntu1) gutsy; urgency=low - - * new 0.6 snapshot - * fixes profile reset - - -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 12 Sep 2007 19:41:17 +0200 - -compizconfig-python (0.5.2+git20070829-0ubuntu1) gutsy; urgency=low - - * updated to latest git 0.6.0 branch - - -- Michael Vogt <michael.vogt@ubuntu.com> Wed, 29 Aug 2007 10:42:08 +0200 - -compizconfig-python (0.5.2-0ubuntu1) gutsy; urgency=low - - * update to the 0.5.2 releae - - -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 17 Aug 2007 10:41:18 +0200 - -compizconfig-python (0.0.0+git20070810-0ubuntu2) gutsy; urgency=low - - * Small fixes to packaging (LP #131035) - * debian/rules - - Fix packaging to actually call dh_pycentral - + Generates correct python dependencies - - Remove .a and .la files from package - * debian/control - - We only build a python2.5 package. Make this explicit. - - -- Christopher James Halse Rogers (RAOF) <chalserogers@gmail.com> Wed, 10 Aug 2007 17:56:56 +1000 - -compizconfig-python (0.0.0+git20070810-0ubuntu1) gutsy; urgency=low - - * new git snapshot - * b-d on latest libcompizconfig0-dev - - -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 10 Aug 2007 16:53:51 +0200 - -compizconfig-python (0.0.0+git20070712-0ubuntu1) gutsy; urgency=low - - * new git snapshot (for new compizconfig-settings-manager) - - -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 12 Jul 2007 09:55:34 +0100 - -compizconfig-python (0.0.0+git20070703-0ubuntu1) gutsy; urgency=low - - * new git snapshot - - -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 03 Jul 2007 16:47:16 +0200 - -compizconfig-python (0.0.0+git20070622-0ubuntu1) gutsy; urgency=low - - * new git snapshot - * renamed source package to compizconfig-python to match upstream - name - - -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 22 Jun 2007 09:01:16 +0200 - -compizconfig-bindings (0.0.0+git20070615-0ubuntu2) gutsy; urgency=low - - * fix FTBFS - - -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 19 Jun 2007 17:12:14 +0200 - -compizconfig-bindings (0.0.0+git20070615-0ubuntu1) gutsy; urgency=low - - * new git snapshot - - -- Michael Vogt <michael.vogt@ubuntu.com> Fri, 15 Jun 2007 15:15:58 +0200 - -compizconfig-bindings (0.0.0+git20070613-0ubuntu2) gutsy; urgency=low - - * fix FTBFS by adding missing build-dependencies - - -- Michael Vogt <michael.vogt@ubuntu.com> Thu, 14 Jun 2007 08:57:57 +0200 - -compizconfig-bindings (0.0.0+git20070613-0ubuntu1) gutsy; urgency=low - - * Initial upload of the package to Ubuntu - - -- Sebastien Bacher <seb128@canonical.com> Wed, 13 Jun 2007 15:59:31 +0200 - diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/compat b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/compat deleted file mode 100644 index ec635144..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/compat +++ /dev/null @@ -1 +0,0 @@ -9 diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/control b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/control deleted file mode 100644 index 9ef2931f..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/control +++ /dev/null @@ -1,17 +0,0 @@ -Source: compizconfig-python-trinity -Section: deps-r14/python -Priority: extra -Maintainer: Timothy Pearson <kb9vqf@pearsoncomputing.net> -X-Python-Version: current -Build-Depends: cdbs, debhelper (>= 9~), quilt, autotools-dev, automake, libtool, libglib2.0-dev (>= 2.6), python-pyrex, libcompizconfig0-trinity-dev, python-all-dev (>= 2.3.5-11), python-support | dh-python, libxml2-dev, libxslt1-dev -Standards-Version: 3.7.3 - -Package: python-compizconfig-trinity -Architecture: any -X-Python-Version: ${python:Versions} -Depends: ${shlibs:Depends}, ${misc:Depends}, ${python:Depends} -Description: Compiz configuration system bindings [Trinity] - The OpenCompositing Project brings 3D desktop visual effects that improve - usability of the X Window System and provide increased productivity. - . - This package contains bindings for the compiz configuration system diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/copyright b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/copyright deleted file mode 100644 index fb18e429..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/copyright +++ /dev/null @@ -1,30 +0,0 @@ -This package was debianized by Sebastien Bacher <seb128@canonical.com> on -Wed, 13 Jun 2007 15:59:31 +0200. - -It was downloaded from git://anongit.opencompositing.org/compcomm/compiz-configuration-system/bindings/ccs-python - -Upstream Author: Quinn Storm (quinn@beryl-project.org) - -Copyright: Copyright (C) 2007 Quinn Storm - -License: - - This package is free software; you can redistribute it and/or modify - it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. - - This package is distributed in the hope that it will be useful, - but WITHOUT ANY WARRANTY; without even the implied warranty of - MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - GNU General Public License for more details. - - You should have received a copy of the GNU General Public License - along with this package; if not, write to the Free Software - Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA - -On Debian systems, the complete text of the GNU General -Public License can be found in `/usr/share/common-licenses/GPL'. - -The Debian packaging is (C) 2007, Sebastien Bacher <seb128@canonical.com> and -is licensed under the GPL, see above. diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/02_fix_new_method.diff b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/02_fix_new_method.diff deleted file mode 100644 index 2d1c795f..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/02_fix_new_method.diff +++ /dev/null @@ -1,56 +0,0 @@ ---- a/src/compizconfig.pyx -+++ b/src/compizconfig.pyx -@@ -583,7 +583,7 @@ cdef class Setting: - cdef object extendedStrRestrictions - cdef object baseStrRestrictions - -- def __new__ (self, Plugin plugin, name, isScreen, screenNum = 0): -+ def __cinit__ (self, Plugin plugin, name, isScreen, screenNum = 0): - cdef CCSSettingType t - cdef CCSSettingInfo * i - -@@ -689,7 +689,7 @@ cdef class SSGroup: - cdef object display - cdef object screens - -- def __new__ (self, disp, screen): -+ def __cinit__ (self, disp, screen): - self.display = disp - self.screens = screen - -@@ -715,7 +715,7 @@ cdef class Plugin: - cdef object ranking - cdef object hasExtendedString - -- def __new__ (self, Context context, name): -+ def __cinit__ (self, Context context, name): - self.ccsPlugin = ccsFindPlugin (context.ccsContext, name) - self.context = context - self.screens = [] -@@ -1056,7 +1056,7 @@ cdef class Profile: - cdef Context context - cdef char * name - -- def __new__ (self, Context context, name): -+ def __cinit__ (self, Context context, name): - self.context = context - self.name = strdup (name) - -@@ -1078,7 +1078,7 @@ cdef class Backend: - cdef Bool profileSupport - cdef Bool integrationSupport - -- def __new__ (self, Context context, info): -+ def __cinit__ (self, Context context, info): - self.context = context - self.name = strdup (info[0]) - self.shortDesc = strdup (info[1]) -@@ -1122,7 +1122,7 @@ cdef class Context: - cdef int nScreens - cdef Bool integration - -- def __new__ (self, screens = [0], plugins = [], basic_metadata = False): -+ def __cinit__ (self, screens = [0], plugins = [], basic_metadata = False): - cdef CCSPlugin * pl - cdef CCSList * pll - if basic_metadata: diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/kubuntu_01_configure.diff b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/kubuntu_01_configure.diff deleted file mode 100644 index 6a27f10a..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/kubuntu_01_configure.diff +++ /dev/null @@ -1,15 +0,0 @@ -Index: b/configure.ac -=================================================================== ---- a/configure.ac 2013-06-26 22:29:54.410840066 +0200 -+++ b/configure.ac 2013-06-26 22:30:48.763362173 +0200 -@@ -11,6 +11,10 @@ - AC_PROG_LIBTOOL - AC_HEADER_STDC - -+# Alter PKG_CONFIG_PATH to contain compiz pkgconfig directory -+export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/trinity/lib:/opt/trinity/lib/kde3 -+export PKG_CONFIG_PATH=/opt/trinity/lib/pkgconfig -+ - CCS_REQUIRES="\ - libcompizconfig >= 0.6.99 \ - glib-2.0 >= 2.6 " diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/series b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/series deleted file mode 100644 index a832d111..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/patches/series +++ /dev/null @@ -1,2 +0,0 @@ -kubuntu_01_configure.diff -02_fix_new_method.diff diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/rules b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/rules deleted file mode 100755 index 36774c7a..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/rules +++ /dev/null @@ -1,39 +0,0 @@ -#!/usr/bin/make -f - -DEB_DH_BUILDDEB_ARGS += -- -Z$(shell dpkg-deb --help | grep -q ":.* xz[,.]" \ - && echo xz || echo bzip2) - -O_LD_PATH := $(LD_LIBRARY_PATH) -export LD_LIBRARY_PATH = $(O_LD_PATH):/opt/trinity/lib - -DEB_PYTHON_SYSTEM = $(if $(wildcard /usr/bin/dh_python2),,pysupport) -DH_PYTHON2 = $(if $(wildcard /usr/bin/dh_python2),dh_python2,dh_pysupport) - -DEB_CONFIGURE_EXTRA_FLAGS := --prefix=/opt/trinity --with-extra-libs=/opt/trinity/lib --with-extra-includes=/opt/trinity/include - -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/autotools.mk - -DEB_CONFIGURE_INCLUDEDIR := /opt/trinity/include -DEB_CONFIGURE_MANDIR := /opt/trinity/share/man -DEB_CONFIGURE_PREFIX := /opt/trinity -DEB_CONFIGURE_INFODIR := /opt/trinity/share/info - -cdbs_configure_flags := --with-qt-dir=/usr/share/qt3 --disable-rpath --with-xinerama $(cdbs_kde_enable_final) $(cdbs_kde_enable_debug) - -makebuilddir:: debian/stamp-autoreconf -debian/stamp-autoreconf: - dh_testdir - autoreconf -vi - touch debian/stamp-autoreconf - -install/python-compizconfig-trinity:: -# mkdir -p debian/python-compizconfig-trinity/opt/trinity/lib/ -# cp -Rp debian/python-compizconfig-trinity/usr/lib/* debian/python-compizconfig-trinity/opt/trinity/lib/ -# rm -rf debian/python-compizconfig-trinity/usr/lib/ - # Why are static and libtool libraries even built? - rm debian/python-compizconfig-trinity/opt/trinity/lib/python*/site-packages/*.a - rm debian/python-compizconfig-trinity/opt/trinity/lib/python*/site-packages/*.la - -binary-install/python-compizconfig-trinity:: - ${DH_PYTHON2} diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/format b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/format deleted file mode 100644 index 163aaf8d..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (quilt) diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/options b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/options deleted file mode 100644 index 72f1f545..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/debian/source/options +++ /dev/null @@ -1,6 +0,0 @@ -# Use xz instead of gzip -compression = "xz" -compression-level = 9 - -# Don't run differences -diff-ignore = .* diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/Makefile.am b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/Makefile.am deleted file mode 100644 index 2f792a95..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/Makefile.am +++ /dev/null @@ -1,17 +0,0 @@ -INCLUDES=\ - $(PYTHON_INCLUDES)\ - @CCS_CFLAGS@ - -compizconfig.c: compizconfig.pyx - -pyrexc compizconfig.pyx - -compizconfig_la_LDFLAGS = -module -avoid-version -fPIC -export-symbols-regex initcompizconfig -lX11 -compizconfig_la_LIBADD = @CCS_LIBS@ -compizconfig_la_SOURCES = compizconfig.c -compizconfigdir=$(pyexecdir) -compizconfig_LTLIBRARIES=compizconfig.la - -EXTRA_DIST=compizconfig.pyx - -clean-local: - rm -f compizconfig.c diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/compizconfig.pyx b/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/compizconfig.pyx deleted file mode 100644 index f8ab652c..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity-0.8.4/src/compizconfig.pyx +++ /dev/null @@ -1,1307 +0,0 @@ -''' -This program is free software; you can redistribute it and/or -modify it under the terms of the GNU Lesser General Public License -as published by the Free Software Foundation; either version 2 -of the License, or (at your option) any later version. - -This program is distributed in the hope that it will be useful, -but WITHOUT ANY WARRANTY; without even the implied warranty of -MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -GNU General Public License for more details. - -You should have received a copy of the GNU Lesser General Public License -along with this program; if not, write to the Free Software -Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - -Authors: - Quinn Storm (quinn@beryl-project.org) - Patrick Niklaus (marex@opencompositing.org) - Guillaume Seguin (guillaume@segu.in) -Copyright (C) 2007 Quinn Storm -''' - -import operator -StringSettingKeyFunc = operator.itemgetter (1) - -ctypedef unsigned int Bool - -cdef enum CCSSettingType: - TypeBool - TypeInt - TypeFloat - TypeString - TypeColor - TypeAction - TypeKey - TypeButton - TypeEdge - TypeBell - TypeMatch - TypeList - TypeNum - -cdef enum CCSPluginConflictType: - # produced on plugin activation - ConflictRequiresPlugin, - ConflictRequiresFeature, - ConflictFeature, - ConflictPlugin, - # produced on plugin deactivation - ConflictFeatureNeeded, - ConflictPluginNeeded, - ConflictPluginError - -SettingTypeString = [ - "Bool", - "Int", - "Float", - "String", - "Color", - "Action", - "Key", - "Button", - "Edge", - "Bell", - "Match", - "List", - "Invalid" -] - -ConflictTypeString = [ - "RequiresPlugin", #A - "RequiresFeature", #A - "ConflictFeature", #A - "ConflictPlugin", #A - "FeatureNeeded", #D - "PluginNeeded", #D - "PluginError" -] - -cdef struct CCSList: - void * data - CCSList * next - -ctypedef CCSList CCSSettingList -ctypedef CCSList CCSPluginList -ctypedef CCSList CCSStringList -ctypedef CCSList CCSGroupList -ctypedef CCSList CCSSubGroupList -ctypedef CCSList CCSPluginConflictList -ctypedef CCSList CCSSettingValueList -ctypedef CCSList CCSBackendInfoList -ctypedef CCSList CCSIntDescList -ctypedef CCSList CCSStrRestrictionList -ctypedef CCSList CCSStrExtensionList - -cdef struct CCSBackendInfo: - char * name - char * shortDesc - char * longDesc - Bool integrationSupport - Bool profileSupport - -cdef struct CCSSettingKeyValue: - int keysym - unsigned int keyModMask - -cdef struct CCSSettingButtonValue: - int button - unsigned int buttonModMask - int edgeMask - -cdef struct CCSSettingColorValueColor: - unsigned short red - unsigned short green - unsigned short blue - unsigned short alpha - -cdef union CCSSettingColorValue: - CCSSettingColorValueColor color - unsigned short array[4] - -cdef union CCSSettingValueUnion: - Bool asBool - int asInt - float asFloat - char * asString - char * asMatch - CCSSettingColorValue asColor - CCSSettingValueList * asList - CCSSettingKeyValue asKey - CCSSettingButtonValue asButton - unsigned int asEdge - Bool asBell - -cdef struct CCSIntDesc: - int value - char * name - -cdef struct CCSStrRestriction: - char * value - char * name - -cdef struct CCSSettingIntInfo: - int min - int max - CCSIntDescList * desc - -cdef struct CCSSettingFloatInfo: - float min - float max - float precision - -cdef struct CCSSettingStringInfo: - CCSStrRestrictionList * restriction - int sortStartsAt - Bool extensible - -cdef struct CCSSettingListInfo: - CCSSettingType listType - void * listInfo # actually CCSSettingInfo *, works around pyrex - -cdef struct CCSSettingActionInfo: - Bool internal - -cdef union CCSSettingInfo: - CCSSettingIntInfo forInt - CCSSettingFloatInfo forFloat - CCSSettingStringInfo forString - CCSSettingListInfo forList - CCSSettingActionInfo forAction - -cdef struct CCSSettingValue: - CCSSettingValueUnion value - void * parent - Bool isListChild - -cdef struct CCSGroup: - char * name - CCSSubGroupList * subGroups - -cdef struct CCSSubGroup: - char * name - CCSSettingList * settings - -cdef struct CCSPluginCategory: - char * name - char * shortDesc - char * longDesc - CCSStringList * plugins - -cdef struct CCSContext: - CCSPluginList * plugins - CCSPluginCategory * categories - - void * priv - void * ccsPrivate - - CCSSettingList * changedSettings - - unsigned int * screens - unsigned int numScreens - -cdef struct CCSPlugin - -cdef struct CCSSetting: - char * name - char * shortDesc - char * longDesc - - CCSSettingType type - - Bool isScreen - unsigned int screenNum - - CCSSettingInfo info - char * group - char * subGroup - char * hints - - CCSSettingValue defaultValue - CCSSettingValue * value - Bool isDefault - - CCSPlugin * parent - void * priv - -cdef struct CCSStrExtension: - char * basePlugin - CCSSettingList * baseSettings - CCSStrRestrictionList * restriction - Bool isScreen - -cdef struct CCSPlugin: - char * name - char * shortDesc - char * longDesc - char * hints - char * category - - CCSStringList * loadAfter - CCSStringList * loadBefore - CCSStringList * requiresPlugin - CCSStringList * conflictPlugin - CCSStringList * conflictFeature - CCSStringList * providesFeature - CCSStringList * requiresFeature - - void * priv - CCSContext * context - void * ccsPrivate - -cdef struct CCSPluginConflict: - char * value - CCSPluginConflictType type - CCSPluginList * plugins - -'''Context functions''' -cdef extern void ccsSetBasicMetadata (Bool value) -cdef extern CCSContext * ccsContextNew (unsigned int * screens, - unsigned int numScreens) -cdef extern CCSContext * ccsEmptyContextNew (unsigned int * screens, - unsigned int numScreens) -cdef extern void ccsContextDestroy (CCSContext * context) - -'''Plugin functions''' -cdef extern Bool ccsLoadPlugin (CCSContext * context, char * name) -cdef extern CCSPlugin * ccsFindPlugin (CCSContext * context, char * name) -cdef extern CCSSetting * ccsFindSetting (CCSPlugin * plugin, - char * name, - Bool isScreen, - int screenNum) -cdef extern CCSSettingList * ccsGetPluginSettings (CCSPlugin * plugin) -cdef extern CCSGroupList * ccsGetPluginGroups (CCSPlugin * plugin) - -'''Action => String''' -cdef extern char * ccsModifiersToString (unsigned int modMask) -cdef extern char * ccsEdgesToString (unsigned int edge) -cdef extern char * ccsEdgesToModString (unsigned int edge) -cdef extern char * ccsKeyBindingToString (CCSSettingKeyValue *key) -cdef extern char * ccsButtonBindingToString (CCSSettingButtonValue *button) - -'''String utils''' -cdef extern from 'string.h': - ctypedef int size_t - cdef extern char * strdup (char * s) - cdef extern void memset (void * s, int c, size_t n) - cdef extern void free (void * f) - cdef extern void * malloc (size_t s) - -'''String => Action''' -cdef extern unsigned int ccsStringToModifiers (char *binding) -cdef extern unsigned int ccsStringToEdges (char *edge) -cdef extern unsigned int ccsModStringToEdges (char *edge) -cdef extern Bool ccsStringToKeyBinding (char * binding, - CCSSettingKeyValue * key) -cdef extern Bool ccsStringToButtonBinding (char * binding, - CCSSettingButtonValue * button) - -'''General settings handling''' -cdef extern Bool ccsSetValue (CCSSetting * setting, - CCSSettingValue * value) -cdef extern void ccsFreeSettingValue (CCSSettingValue * value) -cdef extern CCSSettingValueList * ccsSettingValueListAppend ( - CCSSettingValueList * l, - CCSSettingValue * v) -cdef extern CCSSettingList *ccsSettingListFree (CCSSettingList * list, - Bool freeObj) - -'''Profiles''' -cdef extern CCSStringList * ccsGetExistingProfiles (CCSContext * context) -cdef extern void ccsDeleteProfile (CCSContext * context, char * name) -cdef extern void ccsSetProfile (CCSContext * context, char * name) -cdef extern char* ccsGetProfile (CCSContext * context) - -'''Backends''' -cdef extern CCSBackendInfoList * ccsGetExistingBackends () -cdef extern Bool ccsSetBackend (CCSContext * context, char * name) -cdef extern char* ccsGetBackend (CCSContext * context) - -'''Sorting''' -cdef extern void ccsSetPluginListAutoSort (CCSContext *context, Bool value) -cdef extern Bool ccsGetPluginListAutoSort (CCSContext *context) - -'''Integration''' -cdef extern void ccsSetIntegrationEnabled (CCSContext * context, Bool value) -cdef extern Bool ccsGetIntegrationEnabled (CCSContext * context) - -'''IO handling''' -cdef extern void ccsReadSettings (CCSContext * c) -cdef extern void ccsWriteSettings (CCSContext * c) -cdef extern void ccsWriteChangedSettings (CCSContext * c) -cdef extern void ccsResetToDefault (CCSSetting * s) - -'''Event loop''' -ProcessEventsNoGlibMainLoopMask = (1 << 0) -cdef extern void ccsProcessEvents (CCSContext * context, unsigned int flags) - -'''Import/export''' -cdef extern Bool ccsExportToFile (CCSContext * context, char * fileName, Bool skipDefaults) -cdef extern Bool ccsImportFromFile (CCSContext * context, - char * fileName, - Bool overwrite) - -'''Misc. Plugin/Setting utils''' -cdef extern Bool ccsSettingIsReadOnly (CCSSetting * setting) -cdef extern Bool ccsSettingIsIntegrated (CCSSetting * setting) - -cdef extern void ccsPluginConflictListFree (CCSPluginConflictList * l, - Bool freeObj) -cdef extern CCSPluginConflictList * ccsCanEnablePlugin (CCSContext * c, - CCSPlugin * p) -cdef extern CCSPluginConflictList * ccsCanDisablePlugin (CCSContext * c, - CCSPlugin * p) - -cdef extern Bool ccsPluginSetActive (CCSPlugin * p, Bool v) -cdef extern Bool ccsPluginIsActive (CCSContext * c, char * n) - -cdef extern CCSStrExtensionList * ccsGetPluginStrExtensions (CCSPlugin * plugin) - -cdef class Context -cdef class Plugin -cdef class Setting - -cdef CCSSettingType GetType (CCSSettingValue * value): - if value.isListChild: - return (<CCSSetting *> value.parent).info.forList.listType - else: - return (<CCSSetting *> value.parent).type - -cdef CCSStringList * ListToStringList (object list): - if len (list) <= 0: - return NULL - - cdef CCSStringList * listStart - cdef CCSStringList * stringList - cdef CCSStringList * prev - listStart = <CCSStringList *> malloc (sizeof (CCSStringList)) - listStart.data = <char *> strdup (list[0]) - listStart.next = NULL - prev = listStart - - for l in list[1:]: - stringList = <CCSStringList *> malloc (sizeof (CCSStringList)) - stringList.data = <char *> strdup (l) - stringList.next = NULL - prev.next = stringList - prev = stringList - - return listStart - -cdef object StringListToList (CCSList * stringList): - list = [] - while stringList: - item = <char *> stringList.data - list.append (item) - stringList = stringList.next - return list - -cdef CCSSettingList * ListToSettingList (object list): - if len (list) <= 0: - return NULL - - cdef CCSSettingList * listStart - cdef CCSSettingList * settingList - cdef CCSSettingList * prev - cdef Setting setting - - listStart = <CCSSettingList *> malloc (sizeof (CCSSettingList)) - setting = <Setting> list[0] - listStart.data = <CCSSetting *> setting.ccsSetting - listStart.next = NULL - prev = listStart - - for l in list[1:]: - settingList = <CCSSettingList *> malloc (sizeof (CCSSettingList)) - setting = <Setting> l - settingList.data = <CCSSetting *> setting.ccsSetting - settingList.next = NULL - prev.next = settingList - prev = settingList - - return listStart - -cdef object SettingListToList (Context context, CCSList * settingList): - cdef CCSSetting * ccsSetting - list = [] - - while settingList: - ccsSetting = <CCSSetting *> settingList.data - setting = None - plugin = context.Plugins[ccsSetting.parent.name] - if ccsSetting.isScreen: - setting = plugin.Screens[ccsSetting.screenNum][ccsSetting.name] - else: - setting = plugin.Display[ccsSetting.name] - list.append (setting) - settingList = settingList.next - - return list - -cdef object IntDescListToDict (CCSIntDescList * intDescList): - cdef CCSIntDesc * desc - dict = {} - while intDescList: - desc = <CCSIntDesc *> intDescList.data - dict[desc.name] = desc.value - intDescList = intDescList.next - return dict - -cdef object StrRestrictionListToDict (CCSStrRestrictionList * restrictionList, - object initialDict): - cdef CCSStrRestriction * restriction - dict = initialDict - listOfAddedItems = [] - while restrictionList: - restriction = <CCSStrRestriction *> restrictionList.data - dict[restriction.name] = restriction.value - listOfAddedItems.append ((restriction.name, restriction.value)) - restrictionList = restrictionList.next - return (dict, listOfAddedItems) - -cdef CCSSettingValue * EncodeValue (object data, - CCSSetting * setting, - Bool isListChild): - cdef CCSSettingValue * bv - cdef CCSSettingType t - cdef CCSList * l - bv = <CCSSettingValue *> malloc (sizeof (CCSSettingValue)) - memset (bv, 0, sizeof (CCSSettingValue)) - bv.isListChild = isListChild - bv.parent = setting - if isListChild: - t = setting.info.forList.listType - else: - t = setting.type - if t == TypeString: - bv.value.asString = strdup (data) - elif t == TypeMatch: - bv.value.asMatch = strdup (data) - elif t == TypeInt: - bv.value.asInt = data - elif t == TypeFloat: - bv.value.asFloat = data - elif t == TypeBool: - if data: - bv.value.asBool = 1 - else: - bv.value.asBool = 0 - elif t == TypeColor: - bv.value.asColor.color.red = data[0] - bv.value.asColor.color.green = data[1] - bv.value.asColor.color.blue = data[2] - bv.value.asColor.color.alpha = data[3] - elif t == TypeKey: - ccsStringToKeyBinding (data, &bv.value.asKey) - elif t == TypeButton: - ccsStringToButtonBinding (data, &bv.value.asButton) - elif t == TypeEdge: - bv.value.asEdge = ccsStringToEdges (data) - elif t == TypeBell: - if (data): - bv.value.asBell = 1 - else: - bv.value.asBell = 0 - elif t == TypeList: - l = NULL - for item in data: - l = ccsSettingValueListAppend (l, EncodeValue (item, setting, 1)) - bv.value.asList = l - return bv - -cdef object DecodeValue (CCSSettingValue * value): - cdef CCSSettingType t - cdef char * s - cdef CCSList * l - cdef object cs - cdef object ks - cdef object bs - cdef object es - cdef object eb - t = GetType (value) - if t == TypeString: - return value.value.asString - elif t == TypeMatch: - return value.value.asMatch - elif t == TypeBool: - if value.value.asBool: - return True - return False - elif t == TypeInt: - return value.value.asInt - elif t == TypeFloat: - return value.value.asFloat - elif t == TypeColor: - return [value.value.asColor.color.red, - value.value.asColor.color.green, - value.value.asColor.color.blue, - value.value.asColor.color.alpha] - elif t == TypeKey: - s = ccsKeyBindingToString (&value.value.asKey) - if s != NULL: - ks = s - free (s) - else: - ks = "None" - return ks - elif t == TypeButton: - s = ccsButtonBindingToString (&value.value.asButton) - if s != NULL: - bs = s - free (s) - else: - bs = "None" - if bs == "Button0": - bs = "None" - return bs - elif t == TypeEdge: - s = ccsEdgesToString (value.value.asEdge) - if s != NULL: - es = s - free (s) - else: - es = "None" - return es - elif t == TypeBell: - bb = False - if value.value.asBell: - bb = True - return bb - elif t == TypeList: - lret = [] - l = value.value.asList - while l != NULL: - lret.append (DecodeValue (<CCSSettingValue *> l.data)) - l = l.next - return lret - return "Unhandled" - -cdef class Setting: - cdef CCSSetting * ccsSetting - cdef object info - cdef Plugin plugin - cdef object extendedStrRestrictions - cdef object baseStrRestrictions - - def __new__ (self, Plugin plugin, name, isScreen, screenNum = 0): - cdef CCSSettingType t - cdef CCSSettingInfo * i - - self.ccsSetting = ccsFindSetting (plugin.ccsPlugin, - name, isScreen, screenNum) - self.plugin = plugin - - self.extendedStrRestrictions = None - self.baseStrRestrictions = None - info = () - t = self.ccsSetting.type - i = &self.ccsSetting.info - if t == TypeList: - t = self.ccsSetting.info.forList.listType - i = <CCSSettingInfo *> self.ccsSetting.info.forList.listInfo - if t == TypeInt: - desc = IntDescListToDict (i.forInt.desc) - info = (i.forInt.min, i.forInt.max, desc) - elif t == TypeFloat: - info = (i.forFloat.min, i.forFloat.max, - i.forFloat.precision) - elif t == TypeString: - # info is filled later in Plugin.SortSingleStringSetting - info = ({}, {}, []) - self.baseStrRestrictions = [] - self.extendedStrRestrictions = {} - elif t in (TypeKey, TypeButton, TypeEdge, TypeBell): - info = (bool (i.forAction.internal),) - if self.ccsSetting.type == TypeList: - info = (SettingTypeString[t], info) - self.info = info - - def Reset (self): - ccsResetToDefault (self.ccsSetting) - - property Plugin: - def __get__ (self): - return self.plugin - - property Name: - def __get__ (self): - return self.ccsSetting.name - - property ShortDesc: - def __get__ (self): - return self.ccsSetting.shortDesc - - property LongDesc: - def __get__ (self): - return self.ccsSetting.longDesc - - property Group: - def __get__ (self): - return self.ccsSetting.group - - property SubGroup: - def __get__ (self): - return self.ccsSetting.subGroup - - property Type: - def __get__ (self): - return SettingTypeString[self.ccsSetting.type] - - property Info: - def __get__ (self): - return self.info - - property Hints: - def __get__ (self): - if self.ccsSetting.hints == '': - return [] - else: - return str (self.ccsSetting.hints).split (";")[:-1] - - property IsDefault: - def __get__ (self): - if self.ccsSetting.isDefault: - return True - return False - - property DefaultValue: - def __get__ (self): - return DecodeValue (&self.ccsSetting.defaultValue) - - property Value: - def __get__ (self): - return DecodeValue (self.ccsSetting.value) - def __set__ (self, value): - cdef CCSSettingValue * sv - sv = EncodeValue (value, self.ccsSetting, 0) - ccsSetValue (self.ccsSetting, sv) - ccsFreeSettingValue (sv) - - property Integrated: - def __get__ (self): - return bool (ccsSettingIsIntegrated (self.ccsSetting)) - - property ReadOnly: - def __get__ (self): - return bool (ccsSettingIsReadOnly (self.ccsSetting)) - -cdef class SSGroup: - cdef object display - cdef object screens - - def __new__ (self, disp, screen): - self.display = disp - self.screens = screen - - property Display: - def __get__ (self): - return self.display - def __set__ (self, value): - self.display = value - - property Screens: - def __get__ (self): - return self.screens - def __set__ (self, value): - self.screens = value - -cdef class Plugin: - cdef CCSPlugin * ccsPlugin - cdef Context context - cdef object screens - cdef object display - cdef object groups - cdef object loaded - cdef object ranking - cdef object hasExtendedString - - def __new__ (self, Context context, name): - self.ccsPlugin = ccsFindPlugin (context.ccsContext, name) - self.context = context - self.screens = [] - self.display = {} - self.groups = {} - self.loaded = False - self.ranking = {} - self.hasExtendedString = False - - for n in range (0, context.NScreens): - self.screens.append ({}) - - def Update (self): - cdef CCSList * setlist - cdef CCSList * glist - cdef CCSList * sglist - cdef CCSSetting * sett - cdef CCSGroup * gr - cdef CCSSubGroup * sgr - cdef CCSSettingType t - cdef CCSSettingInfo * i - - groupIndex = 0 - glist = ccsGetPluginGroups (self.ccsPlugin) - while glist != NULL: - gr = <CCSGroup *> glist.data - self.groups[gr.name] = (groupIndex, {}) - subGroupIndex = 0 - sglist = gr.subGroups - while sglist != NULL: - sgr = <CCSSubGroup *> sglist.data - scr = [] - for n in range (0, self.context.NScreens): - scr.append ({}) - self.groups[gr.name][1][sgr.name] = (subGroupIndex, - SSGroup ({}, scr)) - subGroupIndex = subGroupIndex + 1 - sglist = sglist.next - groupIndex = groupIndex + 1 - glist = glist.next - setlist = ccsGetPluginSettings (self.ccsPlugin) - - self.hasExtendedString = False - rank = 0 - while setlist != NULL: - sett = <CCSSetting *> setlist.data - - subgroup = self.groups[sett.group][1][sett.subGroup][1] - - if sett.isScreen: - setting = Setting (self, sett.name, True, sett.screenNum) - self.screens[sett.screenNum][sett.name] = setting - subgroup.Screens[sett.screenNum][sett.name] = setting - else: - setting = Setting (self, sett.name, False) - self.display[sett.name] = setting - subgroup.Display[sett.name] = setting - - t = sett.type - i = &sett.info - if t == TypeList: - t = i.forList.listType - i = <CCSSettingInfo *> i.forList.listInfo - if t == TypeString and i.forString.extensible: - self.hasExtendedString = True - - if not self.ranking.has_key (sett.name): - self.ranking[sett.name] = rank - rank = rank + 1 - - setlist = setlist.next - - self.loaded = True - - self.ApplyStringExtensions (True, self.Enabled) - self.SortStringSettings () - - def SortStringSettings (self): - for i in xrange (self.context.nScreens): - for name, setting in self.Screens[i].items (): - self.SortSingleStringSetting (setting) - for name, setting in self.Display.items (): - self.SortSingleStringSetting (setting) - - def SortSingleStringSetting (self, Setting setting): - cdef CCSSettingType t - cdef CCSSettingInfo * i - - t = setting.ccsSetting.type - i = &setting.ccsSetting.info - if t == TypeList: - t = i.forList.listType - i = <CCSSettingInfo *> i.forList.listInfo - if t != TypeString: - return - - (itemsByName, listOfAddedItems) = \ - StrRestrictionListToDict (i.forString.restriction, - setting.extendedStrRestrictions) - - # Let base string restrictions be the ones given in the option metadata - # in the base plugin plus the ones found in the extensions in the same - # plugin. - setting.baseStrRestrictions = \ - listOfAddedItems + setting.baseStrRestrictions - - if i.forString.sortStartsAt < 0: - # don't sort - sortedItems = itemsByName.items () - elif i.forString.sortStartsAt == 0: - # Sort all items by value - sortedItems = sorted (itemsByName.items (), - key=StringSettingKeyFunc) - else: - # Sort first sortStartsAt many items by value and - # the remaining ones by name - itemsNotSorted = \ - setting.baseStrRestrictions[:i.forString.sortStartsAt] - itemsNotSortedSet = set (itemsNotSorted) - allItemsSet = set (itemsByName.items ()) - itemsSortedByName = sorted (list (allItemsSet - itemsNotSortedSet), - key=operator.itemgetter (0)) - sortedItems = itemsNotSorted + itemsSortedByName - - itemsByValue = {} - for (index, (name, value)) in enumerate (sortedItems): - itemsByValue[value] = (name, index) - - # Insert itemsByName and sortedItems into setting.info - if setting.ccsSetting.type == TypeList: - setting.info = (setting.info[0], (itemsByName, - itemsByValue, - sortedItems)) - else: - setting.info = (itemsByName, itemsByValue, sortedItems) - - def ApplyStringExtensions (self, sortBaseSetting, extendOthersToo): - cdef CCSStrExtensionList * extList - cdef CCSStrExtension * ext - cdef char * baseSettingName - cdef CCSStringList * baseSettingList - cdef CCSSettingType t - cdef CCSSettingInfo * i - cdef CCSStrRestrictionList * restrictionList - cdef CCSStrRestriction * restriction - cdef Plugin basePlugin - cdef Setting setting - - extList = ccsGetPluginStrExtensions (self.ccsPlugin) - while extList: - ext = <CCSStrExtension *> extList.data - - # If not extending others and extension base is not self, skip - if (not (extendOthersToo or ext.basePlugin == self.Name)) or \ - ext.basePlugin not in self.context.Plugins: - extList = extList.next - continue - - basePlugin = self.context.Plugins[ext.basePlugin] - - baseSettingList = ext.baseSettings - while baseSettingList: - baseSettingName = <char *> baseSettingList.data - - if ext.isScreen: - settings = [] - for x in xrange (self.context.nScreens): - settings.append (basePlugin.Screens[x][baseSettingName]) - else: - settings = [basePlugin.Display[baseSettingName]] - - for settingItem in settings: - setting = settingItem - t = setting.ccsSetting.type - i = &setting.ccsSetting.info - if t == TypeList: - t = i.forList.listType - i = <CCSSettingInfo *> i.forList.listInfo - if not (t == TypeString and i.forString.extensible): - return - - restrictionList = ext.restriction - - # Add each item in restriction list to the setting - while restrictionList != NULL: - restriction = <CCSStrRestriction *> restrictionList.data - setting.extendedStrRestrictions[restriction.name] = \ - restriction.value - if ext.basePlugin == self.Name: - setting.baseStrRestrictions.append ((restriction.name, - restriction.value)) - restrictionList = restrictionList.next - - if sortBaseSetting: - basePlugin.SortSingleStringSetting (setting) - - baseSettingList = baseSettingList.next - - extList = extList.next - - def GetExtensionBasePlugins (self): - cdef CCSStrExtensionList * extList - cdef CCSStrExtension * ext - - basePlugins = set ([]) - extList = ccsGetPluginStrExtensions (self.ccsPlugin) - while extList: - ext = <CCSStrExtension *> extList.data - basePlugins.add (self.context.Plugins[ext.basePlugin]) - extList = extList.next - - return list (basePlugins) - - property Context: - def __get__ (self): - return self.context - - property Groups: - def __get__ (self): - if not self.loaded: - self.Update () - return self.groups - - property Display: - def __get__ (self): - if not self.loaded: - self.Update () - return self.display - - property Screens: - def __get__ (self): - if not self.loaded: - self.Update () - return self.screens - - property Ranking: - def __get__ (self): - if not self.loaded: - self.Update () - return self.ranking - - property Name: - def __get__ (self): - return self.ccsPlugin.name - - property ShortDesc: - def __get__ (self): - return self.ccsPlugin.shortDesc - - property LongDesc: - def __get__ (self): - return self.ccsPlugin.longDesc - - property Category: - def __get__ (self): - return self.ccsPlugin.category - - property Features: - def __get__ (self): - features = StringListToList (self.ccsPlugin.providesFeature) - return features - - property Initialized: - def __get__ (self): - return bool (self.loaded) - - property Enabled: - def __get__ (self): - return bool (ccsPluginIsActive (self.context.ccsContext, - self.ccsPlugin.name)) - def __set__ (self, val): - if val: - if len (self.EnableConflicts): - return - ccsPluginSetActive (self.ccsPlugin, True) - else: - if len (self.DisableConflicts): - return - ccsPluginSetActive (self.ccsPlugin, False) - - property EnableConflicts: - def __get__ (self): - cdef CCSPluginConflictList * pl, * pls - cdef CCSPluginConflict * pc - cdef CCSPluginList * ppl - cdef CCSPlugin * plg - - if self.Enabled: - return [] - - ret = [] - pl = ccsCanEnablePlugin (self.context.ccsContext, - self.ccsPlugin) - pls = pl - while pls != NULL: - pc = <CCSPluginConflict *> pls.data - rpl = [] - ppl = pc.plugins - while ppl != NULL: - plg = <CCSPlugin *> ppl.data - rpl.append (self.context.Plugins[plg.name]) - ppl = ppl.next - ret.append ((ConflictTypeString[pc.type], pc.value, rpl)) - pls = pls.next - if pl != NULL: - ccsPluginConflictListFree (pl, True) - return ret - - property DisableConflicts: - def __get__ (self): - cdef CCSPluginConflictList * pl, * pls - cdef CCSPluginConflict * pc - cdef CCSPluginList * ppl - cdef CCSPlugin * plg - - if not self.Enabled: - return [] - - ret = [] - pl = ccsCanDisablePlugin (self.context.ccsContext, - self.ccsPlugin) - pls = pl - while pls != NULL: - pc = <CCSPluginConflict *> pls.data - rpl = [] - ppl = pc.plugins - while ppl != NULL: - plg = <CCSPlugin *> ppl.data - rpl.append (self.context.Plugins[plg.name]) - ppl = ppl.next - ret.append ((ConflictTypeString[pc.type], pc.value, rpl)) - pls = pls.next - if pl != NULL: - ccsPluginConflictListFree (pl, True) - return ret - -cdef class Profile: - cdef Context context - cdef char * name - - def __new__ (self, Context context, name): - self.context = context - self.name = strdup (name) - - def __dealloc (self): - free (self.name) - - def Delete (self): - ccsDeleteProfile (self.context.ccsContext, self.name) - - property Name: - def __get__ (self): - return self.name - -cdef class Backend: - cdef Context context - cdef char * name - cdef char * shortDesc - cdef char * longDesc - cdef Bool profileSupport - cdef Bool integrationSupport - - def __new__ (self, Context context, info): - self.context = context - self.name = strdup (info[0]) - self.shortDesc = strdup (info[1]) - self.longDesc = strdup (info[2]) - self.profileSupport = bool (info[3]) - self.integrationSupport = bool (info[4]) - - def __dealloc__ (self): - free (self.name) - free (self.shortDesc) - free (self.longDesc) - - property Name: - def __get__ (self): - return self.name - - property ShortDesc: - def __get__ (self): - return self.shortDesc - - property LongDesc: - def __get__ (self): - return self.longDesc - - property IntegrationSupport: - def __get__ (self): - return self.integrationSupport - - property ProfileSupport: - def __get__ (self): - return self.profileSupport - -cdef class Context: - cdef CCSContext * ccsContext - cdef object plugins - cdef object categories - cdef object profiles - cdef object currentProfile - cdef object backends - cdef object currentBackend - cdef int nScreens - cdef Bool integration - - def __new__ (self, screens = [0], plugins = [], basic_metadata = False): - cdef CCSPlugin * pl - cdef CCSList * pll - if basic_metadata: - ccsSetBasicMetadata (True) - self.nScreens = nScreens = len (screens) - self.plugins = {} - cdef unsigned int * screensBuf - screensBuf = <unsigned int *> malloc (sizeof (unsigned int) * nScreens) - for i in range (nScreens): - screensBuf[i] = screens[i] - if not len (plugins): - self.ccsContext = ccsContextNew (screensBuf, nScreens) - else: - self.ccsContext = ccsEmptyContextNew (screensBuf, nScreens) - free (screensBuf) - - for plugin in plugins: - self.LoadPlugin (plugin) - - ccsReadSettings (self.ccsContext) - pll = self.ccsContext.plugins - self.categories = {} - while pll != NULL: - pl = <CCSPlugin *> pll.data - self.plugins[pl.name] = Plugin (self, pl.name) - if pl.category == NULL: - cat = '' - else: - cat = pl.category - if not self.categories.has_key (cat): - self.categories[cat] = [] - self.categories[cat].append (self.plugins[pl.name]) - pll = pll.next - - self.integration = ccsGetIntegrationEnabled (self.ccsContext) - - self.UpdateProfiles () - - def UpdateExtensiblePlugins (self): - cdef Plugin plugin - - # Reset all extensible plugins - for name, pluginItem in self.plugins.items (): - plugin = pluginItem - if plugin.hasExtendedString: - plugin.Update () - - # Apply restricted string extensions - for name, pluginItem in self.plugins.items (): - plugin = pluginItem - if plugin.Enabled: - plugin.ApplyStringExtensions (False, True) - - # Sort restricted string settings - for name, pluginItem in self.plugins.items (): - plugin = pluginItem - if plugin.Enabled and plugin.hasExtendedString: - plugin.SortStringSettings () - - def __dealloc__ (self): - ccsContextDestroy (self.ccsContext) - - def LoadPlugin (self, plugin): - return ccsLoadPlugin (self.ccsContext, plugin) - - # Returns the settings that should be updated - def ProcessEvents (self, flags = 0): - ccsProcessEvents (self.ccsContext, flags) - if len (self.ChangedSettings): - self.Read () - return True - return False - - def Write (self, onlyChanged = True): - if onlyChanged: - ccsWriteChangedSettings (self.ccsContext) - else: - ccsWriteSettings (self.ccsContext) - - def Read (self): - ccsReadSettings (self.ccsContext) - - def UpdateProfiles (self): - self.profiles = {} - self.currentProfile = Profile (self, ccsGetProfile (self.ccsContext)) - cdef CCSStringList * profileList - cdef char * profileName - profileList = ccsGetExistingProfiles (self.ccsContext) - while profileList != NULL: - profileName = <char *> profileList.data - self.profiles[profileName] = Profile (self, profileName) - profileList = profileList.next - - self.backends = {} - cdef CCSBackendInfoList * backendList - cdef CCSBackendInfo * backendInfo - backendList = ccsGetExistingBackends () - while backendList != NULL: - backendInfo = <CCSBackendInfo *> backendList.data - info = (backendInfo.name, backendInfo.shortDesc, - backendInfo.longDesc, backendInfo.profileSupport, - backendInfo.integrationSupport) - self.backends[backendInfo.name] = Backend (self, info) - backendList = backendList.next - self.currentBackend = self.backends[ccsGetBackend (self.ccsContext)] - - def ResetProfile (self): - self.currentProfile = Profile (self, "") - ccsSetProfile (self.ccsContext, "") - ccsReadSettings (self.ccsContext) - - def Import (self, path, autoSave = True): - ret = bool (ccsImportFromFile (self.ccsContext, path, True)) - if autoSave: - ccsWriteSettings (self.ccsContext) - return ret - - def Export (self, path, skipDefaults = False): - return bool (ccsExportToFile (self.ccsContext, path, skipDefaults)) - - property Plugins: - def __get__ (self): - return self.plugins - - property Categories: - def __get__ (self): - return self.categories - - property CurrentProfile: - def __get__ (self): - return self.currentProfile - def __set__ (self, profile): - self.currentProfile = profile - ccsSetProfile (self.ccsContext, profile.Name) - ccsReadSettings (self.ccsContext) - - property Profiles: - def __get__ (self): - return self.profiles - - property CurrentBackend: - def __get__ (self): - return self.currentBackend - def __set__ (self, backend): - self.currentBackend = backend - ccsSetBackend (self.ccsContext, backend.Name) - ccsReadSettings (self.ccsContext) - - property Backends: - def __get__ (self): - return self.backends - - property ChangedSettings: - def __get__ (self): - return SettingListToList (self, self.ccsContext.changedSettings) - def __set__ (self, value): - cdef CCSSettingList * settingList - if self.ccsContext.changedSettings != NULL: - self.ccsContext.changedSettings = \ - ccsSettingListFree (self.ccsContext.changedSettings, False) - if value != None and len (value) != 0: - settingList = ListToSettingList (value) - self.ccsContext.changedSettings = settingList - - property AutoSort: - def __get__ (self): - return bool (ccsGetPluginListAutoSort (self.ccsContext)) - def __set__ (self, value): - ccsSetPluginListAutoSort (self.ccsContext, bool (value)) - - property NScreens: - def __get__ (self): - return self.nScreens - - property Integration: - def __get__ (self): - return bool (self.integration) - def __set__ (self, value): - self.integration = value - ccsSetIntegrationEnabled (self.ccsContext, value) - ccsReadSettings (self.ccsContext) - diff --git a/debian/compizconfig-python-trinity/compizconfig-python-trinity_0.8.4.orig.tar.xz b/debian/compizconfig-python-trinity/compizconfig-python-trinity_0.8.4.orig.tar.xz Binary files differdeleted file mode 100644 index 2c178e16..00000000 --- a/debian/compizconfig-python-trinity/compizconfig-python-trinity_0.8.4.orig.tar.xz +++ /dev/null |